From ee0cf37f98b25fb28fe3be8e281a4ef4993c222f Mon Sep 17 00:00:00 2001 From: Hakase Date: Thu, 7 Mar 2019 13:14:32 +0900 Subject: [PATCH] Latest update --- CHANGES | 17 + Configurations/10-main.conf | 2 +- Configurations/90-team.norelease.conf | 10 +- Configurations/unix-Makefile.tmpl | 8 +- Configure | 150 +- INSTALL | 26 +- NEWS | 2 + apps/apps.c | 14 +- apps/ca.c | 2 +- apps/include/apps.h | 13 +- apps/include/platform.h | 32 + apps/openssl.c | 119 +- apps/pkeyutl.c | 172 +- apps/s_client.c | 6 +- apps/vms_decc_argv.c | 67 + apps/vms_decc_init.c | 38 - apps/x509.c | 27 +- crypto/asn1/a_dup.c | 4 +- crypto/asn1/a_i2d_fp.c | 8 +- crypto/asn1/asn1_locl.h | 10 +- crypto/asn1/asn_mime.c | 2 + crypto/asn1/bio_ndef.c | 1 + crypto/asn1/i2d_pr.c | 2 +- crypto/asn1/i2d_pu.c | 2 +- crypto/asn1/n_pkey.c | 12 +- crypto/asn1/tasn_dec.c | 6 +- crypto/asn1/tasn_enc.c | 90 +- crypto/asn1/tasn_fre.c | 2 +- crypto/asn1/tasn_prn.c | 52 +- crypto/asn1/tasn_typ.c | 4 +- crypto/asn1/tasn_utl.c | 82 +- crypto/asn1/x_bignum.c | 8 +- crypto/asn1/x_int64.c | 16 +- crypto/asn1/x_long.c | 8 +- crypto/bn/bn_ctx.c | 72 +- crypto/bn/bn_lib.c | 21 + crypto/build.info | 1 + crypto/cms/cms_dd.c | 4 +- crypto/cms/cms_enc.c | 2 +- crypto/cms/cms_env.c | 8 +- crypto/cms/cms_io.c | 1 + crypto/cms/cms_kari.c | 2 +- crypto/cms/cms_lcl.h | 14 +- crypto/cms/cms_lib.c | 1 + crypto/cms/cms_pwri.c | 2 +- crypto/dh/dh_ameth.c | 2 +- crypto/dh/dh_asn1.c | 4 +- crypto/dh/dh_pmeth.c | 2 +- crypto/dsa/dsa_asn1.c | 10 +- crypto/dsa/dsa_pmeth.c | 2 +- crypto/ec/ec_ameth.c | 7 +- crypto/ec/ec_asn1.c | 22 +- crypto/ec/ec_lcl.h | 1 - crypto/ec/ec_pmeth.c | 2 +- crypto/ec/ecx_meth.c | 1 + crypto/engine/eng_cnf.c | 19 +- crypto/engine/eng_int.h | 51 +- crypto/engine/eng_table.c | 57 +- crypto/err/openssl.txt | 11 + crypto/ess/ess_asn1.c | 10 +- crypto/evp/e_aes.c | 47 +- crypto/evp/e_chacha20_poly1305.c | 4 +- crypto/evp/encode.c | 2 +- crypto/evp/evp_pkey.c | 2 +- crypto/evp/kdf_lib.c | 3 +- crypto/evp/mac_lib.c | 2 +- crypto/evp/p5_crpt2.c | 41 +- crypto/evp/p_lib.c | 8 +- crypto/evp/pbe_scrypt.c | 1 + crypto/evp/pkey_kdf.c | 1 + crypto/evp/pkey_mac.c | 2 +- crypto/evp/pmeth_lib.c | 8 +- crypto/include/internal/cryptlib_int.h | 2 + crypto/include/internal/evp_int.h | 3 +- crypto/include/internal/sparse_array.h | 23 +- crypto/init.c | 202 +- crypto/kdf/build.info | 2 +- crypto/kdf/hkdf.c | 1 + crypto/kdf/kdf_err.c | 8 + crypto/kdf/sshkdf.c | 289 + crypto/o_str.c | 25 +- crypto/objects/obj_dat.h | 13 +- crypto/objects/obj_mac.num | 3 +- crypto/objects/objects.txt | 3 + crypto/ocsp/v3_ocsp.c | 6 +- crypto/pem/pem_pk8.c | 24 +- crypto/pkcs12/p12_decr.c | 23 +- crypto/pkcs12/p12_key.c | 48 +- crypto/pkcs12/p12_utl.c | 4 +- crypto/pkcs7/pk7_lib.c | 1 + crypto/property/property.c | 10 +- crypto/property/property_parse.c | 2 +- crypto/rand/rand_unix.c | 29 +- crypto/rsa/rsa_asn1.c | 8 +- crypto/rsa/rsa_pmeth.c | 2 +- crypto/sm2/sm2_pmeth.c | 5 +- crypto/sparse_array.c | 28 +- crypto/trace.c | 495 + crypto/ts/ts_asn1.c | 44 +- crypto/x509/x_all.c | 68 +- crypto/x509/x_name.c | 27 +- crypto/x509/x_pubkey.c | 36 +- crypto/x509/x_x509.c | 5 +- crypto/x509v3/pcy_tree.c | 67 +- crypto/x509v3/v3_genn.c | 2 +- doc/internal/man3/DEFINE_SPARSE_ARRAY_OF.pod | 15 +- doc/internal/man3/openssl_ctx_get_data.pod | 16 +- doc/man1/ciphers.pod | 2 +- doc/man1/openssl.pod | 68 + doc/man1/pkeyutl.pod | 45 + doc/man1/x509.pod | 36 +- doc/man3/ASN1_STRING_length.pod | 2 +- doc/man3/ASN1_TIME_set.pod | 64 +- doc/man3/ASN1_generate_nconf.pod | 14 +- doc/man3/BIO_push.pod | 14 +- doc/man3/BIO_s_file.pod | 36 +- doc/man3/BN_bn2bin.pod | 14 +- doc/man3/CONF_modules_load_file.pod | 12 +- doc/man3/CRYPTO_get_ex_new_index.pod | 2 +- doc/man3/EVP_DigestVerifyInit.pod | 4 +- doc/man3/EVP_EncryptInit.pod | 4 +- doc/man3/EVP_PKEY_CTX_ctrl.pod | 3 +- doc/man3/EVP_PKEY_CTX_new.pod | 2 +- doc/man3/EVP_PKEY_set1_RSA.pod | 22 +- doc/man3/OBJ_nid2obj.pod | 22 +- doc/man3/OPENSSL_s390xcap.pod | 8 +- doc/man3/OSSL_PARAM.pod | 302 + doc/man3/OSSL_trace_enabled.pod | 183 + doc/man3/OSSL_trace_get_category_num.pod | 44 + doc/man3/OSSL_trace_set_channel.pod | 288 + doc/man3/PEM_read_bio_PrivateKey.pod | 137 +- doc/man3/SSL_CONF_cmd.pod | 34 +- doc/man3/SSL_CTX_load_verify_locations.pod | 34 +- doc/man3/SSL_CTX_set1_sigalgs.pod | 8 +- doc/man3/SSL_CTX_set_generate_session_id.pod | 16 +- doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod | 8 +- doc/man3/SSL_CTX_set_tmp_dh_callback.pod | 16 +- doc/man3/SSL_SESSION_free.pod | 2 +- doc/man3/SSL_get_error.pod | 13 +- doc/man3/SSL_load_client_CA_file.pod | 30 +- doc/man3/SSL_new.pod | 3 +- doc/man3/SSL_shutdown.pod | 4 + doc/man3/X509_NAME_add_entry_by_txt.pod | 18 +- doc/man3/X509_NAME_get_index_by_NID.pod | 24 +- doc/man3/X509_PUBKEY_new.pod | 6 +- doc/man3/X509_dup.pod | 4 +- doc/man3/d2i_PKCS8PrivateKey_bio.pod | 8 +- doc/man3/d2i_PrivateKey.pod | 4 +- doc/man3/d2i_X509.pod | 29 +- doc/man7/EVP_KDF_SSHKDF.pod | 175 + doc/man7/openssl-core.h.pod | 96 + e_os.h | 9 +- engines/build.info | 28 +- engines/e_dasync.c | 16 + engines/e_devcrypto.c | 85 +- engines/e_padlock.c | 107 +- include/openssl/asn1.h | 105 +- include/openssl/asn1t.h | 75 +- include/openssl/bn.h | 2 + include/openssl/cms.h | 2 +- include/openssl/core.h | 143 + include/openssl/dh.h | 12 +- include/openssl/dsa.h | 17 +- include/openssl/ec.h | 15 +- include/openssl/ess.h | 47 +- include/openssl/evp.h | 54 +- include/openssl/kdf.h | 10 + include/openssl/kdferr.h | 7 + include/openssl/obj_mac.h | 6 +- include/openssl/objects.h | 2 +- include/openssl/ocsp.h | 2 +- include/openssl/ossl_typ.h | 5 + include/openssl/pem.h | 16 +- include/openssl/pkcs12.h | 4 +- include/openssl/pkcs7.h | 6 +- include/openssl/rsa.h | 8 +- include/openssl/ssl.h | 4 +- include/openssl/sslerr.h | 8 +- include/openssl/trace.h | 291 + include/openssl/ts.h | 72 +- include/openssl/x509.h | 98 +- include/openssl/x509v3.h | 4 +- ms/uplink.c | 2 +- ssl/record/ssl3_record.c | 61 +- ssl/s3_lib.c | 36 +- ssl/ssl_asn1.c | 10 +- ssl/ssl_ciph.c | 53 +- ssl/ssl_err.c | 7 +- ssl/ssl_init.c | 33 +- ssl/ssl_lib.c | 7 +- ssl/ssl_locl.h | 15 +- ssl/ssl_sess.c | 4 +- ssl/statem/extensions.c | 2 - ssl/statem/extensions_clnt.c | 36 +- ssl/statem/extensions_srvr.c | 4 +- ssl/statem/statem_clnt.c | 12 +- ssl/statem/statem_lib.c | 21 +- ssl/statem/statem_locl.h | 3 - ssl/statem/statem_srvr.c | 17 +- ssl/t1_enc.c | 114 +- test/aesgcmtest.c | 123 + test/build.info | 27 +- test/certs/root-ed25519.privkey.pem | 3 + test/certs/root-ed25519.pubkey.pem | 3 + test/certs/sm2.crt | 13 + test/certs/sm2.key | 5 + test/ecdsatest.c | 530 +- test/ecdsatest.h | 10214 ++++++++++++++++ test/property_test.c | 6 +- test/recipes/02-test_errstr.t | 6 + test/recipes/20-test_pkeyutl.t | 48 + test/recipes/30-test_aesgcm.t | 12 + test/recipes/30-test_evp_data/evpciph.txt | 9 + test/recipes/30-test_evp_data/evpkdf.txt | 4853 ++++++++ test/sparse_array_test.c | 16 +- test/sslapitest.c | 53 + test/testutil/apps_mem.c | 19 + test/testutil/driver.c | 12 + test/x509aux.c | 2 +- util/find-doc-nits | 14 + util/libcrypto.num | 13 +- util/local_shlib.com.in | 6 +- util/perl/OpenSSL/ParseC.pm | 60 +- util/perl/OpenSSL/Util/Pod.pm | 2 +- util/private.num | 2 + util/unlocal_shlib.com.in | 6 +- 226 files changed, 20407 insertions(+), 2210 deletions(-) create mode 100644 apps/include/platform.h create mode 100644 apps/vms_decc_argv.c create mode 100644 crypto/kdf/sshkdf.c create mode 100644 crypto/trace.c create mode 100644 doc/man3/OSSL_PARAM.pod create mode 100644 doc/man3/OSSL_trace_enabled.pod create mode 100644 doc/man3/OSSL_trace_get_category_num.pod create mode 100644 doc/man3/OSSL_trace_set_channel.pod create mode 100644 doc/man7/EVP_KDF_SSHKDF.pod create mode 100644 doc/man7/openssl-core.h.pod create mode 100644 include/openssl/core.h create mode 100644 include/openssl/trace.h create mode 100644 test/aesgcmtest.c create mode 100644 test/certs/root-ed25519.privkey.pem create mode 100644 test/certs/root-ed25519.pubkey.pem create mode 100644 test/certs/sm2.crt create mode 100644 test/certs/sm2.key create mode 100644 test/ecdsatest.h create mode 100644 test/recipes/20-test_pkeyutl.t create mode 100644 test/recipes/30-test_aesgcm.t create mode 100644 test/testutil/apps_mem.c diff --git a/CHANGES b/CHANGES index 5fcf6677..d977c766 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,23 @@ Changes between 1.1.1 and 3.0.0 [xx XXX xxxx] + *) Added support for enabling instrumentation through trace output. + This is left to application control, by allowing it to register BIOs as + channels for a number of tracing and debugging categories. + + The 'openssl' application has been expanded to enable any of the types + available via environment variables defined by the user, and serves as + one possible example on how to use this functionality. + [Richard Levitte & Matthias St. Pierre] + + *) Added build tests for C++. These are generated files that only do one + thing, to include one public OpenSSL head file each. This tests that + the public header files can be usefully included in a C++ application. + + This test isn't enabled by default. It can be enabled with the option + 'enable-buildtest-c++'. + [Richard Levitte] + *) Added property based algorithm implementation selection framework to the core. [Paul Dale] diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index 8b758a02..0e3afd34 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -1725,7 +1725,7 @@ my %targets = ( disable => add('pinshared'), - apps_aux_src => "vms_term_sock.c", + apps_aux_src => "vms_term_sock.c vms_decc_argv.c", apps_init_src => "vms_decc_init.c", }, diff --git a/Configurations/90-team.norelease.conf b/Configurations/90-team.norelease.conf index 7849fdbf..77dad977 100644 --- a/Configurations/90-team.norelease.conf +++ b/Configurations/90-team.norelease.conf @@ -18,7 +18,8 @@ my %targets = ( "debug-erbridge" => { inherit_from => [ 'BASE_unix', "x86_64_asm" ], cc => "gcc", - cflags => combine("$gcc_devteam_warn -DBN_DEBUG -DCONF_DEBUG -m64 -DL_ENDIAN -DTERMIO -g", + cflags => combine(join(' ', @{$gcc_devteam_warn{CFLAGS}}), + "-DBN_DEBUG -DCONF_DEBUG -m64 -DL_ENDIAN -DTERMIO -g", threads("-D_REENTRANT")), ex_libs => add(" ","-ldl"), bn_ops => "SIXTY_FOUR_BIT_LONG", @@ -80,7 +81,8 @@ my %targets = ( "debug-test-64-clang" => { inherit_from => [ 'BASE_unix', "x86_64_asm" ], cc => "clang", - cflags => combine("$gcc_devteam_warn -Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe", + cflags => combine(join(' ', @{$gcc_devteam_warn{CFLAGS}}), + "-Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe", threads("${BSDthreads}")), bn_ops => "SIXTY_FOUR_BIT_LONG", thread_scheme => "pthreads", @@ -92,7 +94,9 @@ my %targets = ( "darwin64-debug-test-64-clang" => { inherit_from => [ 'BASE_unix', "x86_64_asm" ], cc => "clang", - cflags => combine("-arch x86_64 -DL_ENDIAN $gcc_devteam_warn -Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe", + cflags => combine("-arch x86_64 -DL_ENDIAN", + join(' ', @{$gcc_devteam_warn{CFLAGS}}), + "-Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe", threads("${BSDthreads}")), sys_id => "MACOSX", bn_ops => "SIXTY_FOUR_BIT_LONG", diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 1e6709f2..dfae9afd 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -231,8 +231,8 @@ LIB_CPPFLAGS={- our $lib_cppflags = join(' ', $target{lib_cppflags} || (), $target{shared_cppflag} || (), (map { '-D'.$_ } - @{$config{lib_defines}}, - @{$config{shared_defines}}), + @{$config{lib_defines} || ()}, + @{$config{shared_defines} || ()}), @{$config{lib_cppflags}}, @{$config{shared_cppflag}}); join(' ', $lib_cppflags, @@ -256,6 +256,9 @@ LIB_LDFLAGS={- join(' ', $target{shared_ldflag} || (), LIB_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS) DSO_CPPFLAGS={- join(' ', $target{dso_cppflags} || (), $target{module_cppflags} || (), + (map { '-D'.$_ } + @{$config{dso_defines} || ()}, + @{$config{module_defines} || ()}), @{$config{dso_cppflags}}, @{$config{module_cppflags}}, '$(CNF_CPPFLAGS)', '$(CPPFLAGS)') -} @@ -276,6 +279,7 @@ DSO_LDFLAGS={- join(' ', $target{dso_ldflags} || (), '$(CNF_LDFLAGS)', '$(LDFLAGS)') -} DSO_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS) BIN_CPPFLAGS={- join(' ', $target{bin_cppflags} || (), + (map { '-D'.$_ } @{$config{bin_defines} || ()}), @{$config{bin_cppflags}}, '$(CNF_CPPFLAGS)', '$(CPPFLAGS)') -} BIN_CFLAGS={- join(' ', $target{bin_cflags} || (), diff --git a/Configure b/Configure index 03053bc0..b2410a2b 100755 --- a/Configure +++ b/Configure @@ -120,22 +120,27 @@ my $usage="Usage: Configure [no- ...] [enable- ...] [-Dxxx] [-lx # code, so we just tell compiler to be pedantic about everything # but 'long long' type. -my $gcc_devteam_warn = "-DDEBUG_UNUSED" - . " -DPEDANTIC -pedantic -Wno-long-long" - . " -Wall" - . " -Wextra" - . " -Wno-unused-parameter" - . " -Wno-missing-field-initializers" - . " -Wswitch" - . " -Wsign-compare" - . " -Wmissing-prototypes" - . " -Wstrict-prototypes" - . " -Wshadow" - . " -Wformat" - . " -Wtype-limits" - . " -Wundef" - . " -Werror" - ; +my %gcc_devteam_warn = (); +{ + my @common = qw( -DDEBUG_UNUSED + -DPEDANTIC -pedantic -Wno-long-long + -Wall + -Wextra + -Wno-unused-parameter + -Wno-missing-field-initializers + -Wswitch + -Wsign-compare + -Wshadow + -Wformat + -Wtype-limits + -Wundef + -Werror ); + %gcc_devteam_warn = ( + CFLAGS => [ @common, qw( -Wmissing-prototypes + -Wstrict-prototypes ) ], + CXXFLAGS => [ @common ] + ); +} # These are used in addition to $gcc_devteam_warn when the compiler is clang. # TODO(openssl-team): fix problems and investigate if (at least) the @@ -145,19 +150,20 @@ my $gcc_devteam_warn = "-DDEBUG_UNUSED" # -Wlanguage-extension-token -- no, we use asm() # -Wunused-macros -- no, too tricky for BN and _XOPEN_SOURCE etc # -Wextended-offsetof -- no, needed in CMS ASN1 code -# -Wunused-function -- no, it forces header use of safestack et al -# DEFINE macros -my $clang_devteam_warn = "" - . " -Wswitch-default" - . " -Wno-parentheses-equality" - . " -Wno-language-extension-token" - . " -Wno-extended-offsetof" - . " -Wconditional-uninitialized" - . " -Wincompatible-pointer-types-discards-qualifiers" - . " -Wmissing-variable-declarations" - . " -Wno-unknown-warning-option" - . " -Wno-unused-function" - ; +my %clang_devteam_warn = (); +{ + my @common = qw( -Wswitch-default + -Wno-parentheses-equality + -Wno-language-extension-token + -Wno-extended-offsetof + -Wconditional-uninitialized + -Wincompatible-pointer-types-discards-qualifiers + -Wno-unknown-warning-option ); + %clang_devteam_warn = ( + CFLAGS => [ @common, qw( -Wmissing-variable-declarations ) ], + CXXFLAGS => [ @common ] + ); +} # This adds backtrace information to the memory leak info. Is only used # when crypto-mdebug-backtrace is enabled. @@ -335,6 +341,7 @@ my @disablables = ( "autoload-config", "bf", "blake2", + "buildtest-c++", "camellia", "capieng", "cast", @@ -368,7 +375,6 @@ my @disablables = ( "fuzz-afl", "gost", "heartbeats", - "hw(-.+)?", "idea", "makedepend", "md2", @@ -380,6 +386,7 @@ my @disablables = ( "pinshared", "ocb", "ocsp", + "padlockeng", "pic", "poly1305", "posix-io", @@ -410,6 +417,7 @@ my @disablables = ( "tests", "threads", "tls", + "trace", "ts", "ubsan", "ui-console", @@ -428,6 +436,8 @@ foreach my $proto ((@tls, @dtls)) my %deprecated_disablables = ( "ssl2" => undef, "buf-freelists" => undef, + "hw" => "hw", # causes cascade, but no macro + "hw-padlock" => "padlockeng", "ripemd" => "rmd160", "ui" => "ui-console", ); @@ -436,6 +446,7 @@ my %deprecated_disablables = ( our %disabled = ( # "what" => "comment" "asan" => "default", + "buildtest-c++" => "default", "crypto-mdebug" => "default", "crypto-mdebug-backtrace" => "default", "devcryptoeng" => "default", @@ -489,7 +500,9 @@ my @disable_cascades = ( # Without position independent code, there can be no shared libraries or DSOs "pic" => [ "shared" ], "shared" => [ "dynamic-engine" ], - "engine" => [ "afalgeng", "devcryptoeng" ], + + "engine" => [ grep /eng$/, @disablables ], + "hw" => [ "padlockeng" ], # no-autoalginit is only useful when building non-shared "autoalginit" => [ "shared", "apps" ], @@ -548,18 +561,18 @@ my %user = ( AS => undef, ASFLAGS => [], CC => env('CC'), - CFLAGS => [], + CFLAGS => [ env('CFLAGS') || () ], CXX => env('CXX'), - CXXFLAGS => [], + CXXFLAGS => [ env('CXXFLAGS') || () ], CPP => undef, - CPPFLAGS => [], # -D, -I, -Wp, + CPPFLAGS => [ env('CPPFLAGS') || () ], # -D, -I, -Wp, CPPDEFINES => [], # Alternative for -D CPPINCLUDES => [], # Alternative for -I CROSS_COMPILE => env('CROSS_COMPILE'), HASHBANGPERL=> env('HASHBANGPERL') || env('PERL'), LD => undef, - LDFLAGS => [], # -L, -Wl, - LDLIBS => [], # -l + LDFLAGS => [ env('LDFLAGS') || () ], # -L, -Wl, + LDLIBS => [ env('LDLIBS') || () ], # -l MT => undef, MTFLAGS => [], PERL => env('PERL') || ($^O ne "VMS" ? $^X : "perl"), @@ -668,8 +681,9 @@ while (@argvcopy) if (/^(no|disable|enable)-(.+)$/) { my $word = $2; - if (!exists $deprecated_disablables{$word} - && !grep { $word =~ /^${_}$/ } @disablables) + if ($word !~ m|hw(?:-.+)| # special treatment for hw regexp opt + && !exists $deprecated_disablables{$word} + && !grep { $word eq $_ } @disablables) { $unsupported_options{$_} = 1; next; @@ -723,6 +737,10 @@ while (@argvcopy) $disabled{$deprecated_disablables{$1}} = "option"; } } + elsif ($1 =~ m|hw(?:-.+)|) # deprecate hw options in regexp form + { + $deprecated_options{$_} = 1; + } else { $disabled{$1} = "option"; @@ -1187,10 +1205,14 @@ $config{build_file} = env('BUILDFILE') || $target{build_file} || "Makefile"; my %skipdir = (); my %disabled_info = (); # For configdata.pm foreach my $what (sort keys %disabled) { + # There are deprecated disablables that translate to themselves. + # They cause disabling cascades, but should otherwise not regiter. + next if $deprecated_disablables{$what}; + $config{options} .= " no-$what"; - if (!grep { $what eq $_ } ( 'dso', 'threads', 'shared', 'pic', - 'dynamic-engine', 'makedepend', + if (!grep { $what eq $_ } ( 'buildtest-c++', 'dso', 'threads', 'shared', + 'pic', 'dynamic-engine', 'makedepend', 'zlib-dynamic', 'zlib', 'sse2' )) { (my $WHAT = uc $what) =~ s|-|_|g; my $skipdir = $what; @@ -1418,14 +1440,17 @@ unless ($disabled{asm}) { push @{$config{lib_defines}}, "X25519_ASM"; } if ($target{padlock_asm_src} ne $table{DEFAULTS}->{padlock_asm_src}) { - push @{$config{lib_defines}}, "PADLOCK_ASM"; + push @{$config{dso_defines}}, "PADLOCK_ASM"; } if ($target{poly1305_asm_src} ne "") { push @{$config{lib_defines}}, "POLY1305_ASM"; } } -my %predefined = compiler_predefined($config{CROSS_COMPILE}.$config{CC}); +my %predefined_C = compiler_predefined($config{CROSS_COMPILE}.$config{CC}); +my %predefined_CXX = $config{CXX} + ? compiler_predefined($config{CROSS_COMPILE}.$config{CXX}) + : (); # Check for makedepend capabilities. if (!$disabled{makedepend}) { @@ -1433,8 +1458,8 @@ if (!$disabled{makedepend}) { # For VC- and vms- targets, there's nothing more to do here. The # functionality is hard coded in the corresponding build files for # cl (Windows) and CC/DECC (VMS). - } elsif (($predefined{__GNUC__} // -1) >= 3 - && !($predefined{__APPLE_CC__} && !$predefined{__clang__})) { + } elsif (($predefined_C{__GNUC__} // -1) >= 3 + && !($predefined_C{__APPLE_CC__} && !$predefined_C{__clang__})) { # We know that GNU C version 3 and up as well as all clang # versions support dependency generation, but Xcode did not # handle $cc -M before clang support (but claims __GNUC__ = 3) @@ -1447,9 +1472,9 @@ if (!$disabled{makedepend}) { } } -if (!$disabled{asm} && !$predefined{__MACH__} && $^O ne 'VMS') { +if (!$disabled{asm} && !$predefined_C{__MACH__} && $^O ne 'VMS') { # probe for -Wa,--noexecstack option... - if ($predefined{__clang__}) { + if ($predefined_C{__clang__}) { # clang has builtin assembler, which doesn't recognize --help, # but it apparently recognizes the option in question on all # supported platforms even when it's meaningless. In other words @@ -1507,24 +1532,35 @@ $config{openssl_api_defines} = [ "OPENSSL_MIN_API=".($apitable->{$config{api} // ""} // -1) ]; -my @strict_warnings_collection=(); +my %strict_warnings_collection=( CFLAGS => [], CXXFLAGS => []); if ($strict_warnings) { my $wopt; - my $gccver = $predefined{__GNUC__} // -1; + my $gccver = $predefined_C{__GNUC__} // -1; + my $gxxver = $predefined_CXX{__GNUC__} // -1; - die "ERROR --strict-warnings requires gcc[>=4] or gcc-alike" + warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike" unless $gccver >= 4; - push @strict_warnings_collection, (split /\s+/, $gcc_devteam_warn); - push @strict_warnings_collection, (split /\s+/, $clang_devteam_warn) - if (defined($predefined{__clang__})); + warn "WARNING --strict-warnings requires g++[>=4] or g++-alike" + unless $gxxver >= 4; + foreach (qw(CFLAGS CXXFLAGS)) + { + push @{$strict_warnings_collection{$_}}, + @{$gcc_devteam_warn{$_}}; + } + push @{$strict_warnings_collection{CFLAGS}}, + @{$clang_devteam_warn{CFLAGS}} + if (defined($predefined_C{__clang__})); + push @{$strict_warnings_collection{CXXFLAGS}}, + @{$clang_devteam_warn{CXXFLAGS}} + if (defined($predefined_CXX{__clang__})); } -foreach (qw(CFLAGS CXXFLAGS)) +foreach my $idx (qw(CFLAGS CXXFLAGS)) { - $useradd{$_} = [ map { $_ eq '--ossl-strict-warnings' - ? @strict_warnings_collection - : ( $_ ) } - @{$useradd{$_}} ]; + $useradd{$idx} = [ map { $_ eq '--ossl-strict-warnings' + ? @{$strict_warnings_collection{$idx}} + : ( $_ ) } + @{$useradd{$idx}} ]; } unless ($disabled{"crypto-mdebug-backtrace"}) diff --git a/INSTALL b/INSTALL index 11956439..d8c5dc59 100644 --- a/INSTALL +++ b/INSTALL @@ -296,6 +296,19 @@ Typically OpenSSL will automatically load a system config file which configures default ssl options. + enable-buildtest-c++ + While testing, generate C++ buildtest files that + simply check that the public OpenSSL header files + are usable standalone with C++. + + Enabling this option demands extra care. For any + compiler flag given directly as configuration + option, you must ensure that it's valid for both + the C and the C++ compiler. If not, the C++ build + test will most likely break. As an alternative, + you can use the language specific variables, CFLAGS + and CXXFLAGS. + no-capieng Don't build the CAPI engine. This option will be forced if on a platform that does not support CAPI. @@ -396,9 +409,6 @@ available if the GOST algorithms are also available through loading an externally supplied engine. - no-hw-padlock - Don't build the padlock engine. - no-makedepend Don't generate dependencies. @@ -413,6 +423,11 @@ no-ocsp Don't build support for OCSP. + no-padlockeng + no-hw-padlock + Don't build the padlock engine. + ('no-hw-padlock' is deprecated and should not be used) + no-pic Don't build with support for Position Independent Code. @@ -674,6 +689,11 @@ CC=gcc CROSS_COMPILE=x86_64-w64-mingw32- \ ./config -DCOOKIE + If CC is set, it is advisable to also set CXX to ensure + both C and C++ compilers are in the same "family". This + becomes relevant with 'enable-external-tests' and + 'enable-buildtest-c++'. + reconf reconfigure Reconfigure from earlier data. This fetches the previous diff --git a/NEWS b/NEWS index 7ac249e5..c743dbc6 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,8 @@ Major changes between OpenSSL 1.1.1 and OpenSSL 3.0.0 [under development] + o Add support for enabling instrumentation through trace and debug + output. o Changed our version number scheme and set the next major release to 3.0.0 o Added EVP_MAC, an EVP layer MAC API, and a generic EVP_PKEY to EVP_MAC diff --git a/apps/apps.c b/apps/apps.c index 44a90a33..d095dee2 100644 --- a/apps/apps.c +++ b/apps/apps.c @@ -2243,8 +2243,6 @@ BIO *dup_bio_in(int format) BIO_NOCLOSE | (FMT_istext(format) ? BIO_FP_TEXT : 0)); } -static BIO_METHOD *prefix_method = NULL; - BIO *dup_bio_out(int format) { BIO *b = BIO_new_fp(stdout, @@ -2256,10 +2254,9 @@ BIO *dup_bio_out(int format) b = BIO_push(BIO_new(BIO_f_linebuffer()), b); #endif - if (FMT_istext(format) && (prefix = getenv("HARNESS_OSSL_PREFIX")) != NULL) { - if (prefix_method == NULL) - prefix_method = apps_bf_prefix(); - b = BIO_push(BIO_new(prefix_method), b); + if (FMT_istext(format) + && (prefix = getenv("HARNESS_OSSL_PREFIX")) != NULL) { + b = BIO_push(BIO_new(apps_bf_prefix()), b); BIO_ctrl(b, PREFIX_CTRL_SET_PREFIX, 0, prefix); } @@ -2277,8 +2274,13 @@ BIO *dup_bio_err(int format) return b; } +/* + * Because the prefix method is created dynamically, we must also be able + * to destroy it. + */ void destroy_prefix_method(void) { + BIO_METHOD *prefix_method = apps_bf_prefix(); BIO_meth_free(prefix_method); prefix_method = NULL; } diff --git a/apps/ca.c b/apps/ca.c index b4ac86d4..4464b2ba 100644 --- a/apps/ca.c +++ b/apps/ca.c @@ -722,7 +722,7 @@ end_of_options: /*****************************************************************/ if (req || gencrl) { - if (spkac_file != NULL) { + if (spkac_file != NULL && outfile != NULL) { output_der = 1; batch = 1; } diff --git a/apps/include/apps.h b/apps/include/apps.h index da8eae2d..59e3e928 100644 --- a/apps/include/apps.h +++ b/apps/include/apps.h @@ -32,6 +32,7 @@ # include "apps_ui.h" # include "opt.h" # include "fmt.h" +# include "platform.h" # if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WINCE) # define openssl_fdset(a,b) FD_SET((unsigned int)a, b) @@ -97,18 +98,6 @@ typedef struct args_st { char **argv; } ARGS; -/* - * VMS C only for now, implemented in vms_decc_init.c - * If other C compilers forget to terminate argv with NULL, this function - * can be re-used. - */ -char **copy_argv(int *argc, char *argv[]); -/* - * Win32-specific argv initialization that splits OS-supplied UNICODE - * command line string to array of UTF8-encoded strings. - */ -void win32_utf8argv(int *argc, char **argv[]); - /* We need both wrap and the "real" function because libcrypto uses both. */ int wrap_password_callback(char *buf, int bufsiz, int verify, void *cb_data); diff --git a/apps/include/platform.h b/apps/include/platform.h new file mode 100644 index 00000000..49276b6f --- /dev/null +++ b/apps/include/platform.h @@ -0,0 +1,32 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 + */ + +#ifndef HEADER_PLATFORM_H +# define HEADER_PLATFORM_H + +# include + +# if defined(OPENSSL_SYS_VMS) && defined(__DECC) +/* + * VMS C only for now, implemented in vms_decc_init.c + * If other C compilers forget to terminate argv with NULL, this function + * can be re-used. + */ +char **copy_argv(int *argc, char *argv[]); +# endif + +# ifdef _WIN32 +/* + * Win32-specific argv initialization that splits OS-supplied UNICODE + * command line string to array of UTF8-encoded strings. + */ +void win32_utf8argv(int *argc, char **argv[]); +# endif + +#endif diff --git a/apps/openssl.c b/apps/openssl.c index 3747b1aa..854f943f 100644 --- a/apps/openssl.c +++ b/apps/openssl.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -93,7 +94,6 @@ static int apps_startup(void) static void apps_shutdown(void) { destroy_ui_method(); - destroy_prefix_method(); } static char *make_config_name(void) @@ -117,11 +117,114 @@ static char *make_config_name(void) return p; } +typedef struct tracedata_st { + BIO *bio; + unsigned int ingroup:1; +} tracedata; + +static size_t internal_trace_cb(const char *buf, size_t cnt, + int category, int cmd, void *vdata) +{ + int ret; + tracedata *trace_data = vdata; + int set_prefix = 0; + + switch (cmd) { + case OSSL_TRACE_CTRL_BEGIN: + trace_data->ingroup = 1; + set_prefix = 1; + break; + case OSSL_TRACE_CTRL_DURING: + if (!trace_data->ingroup) + set_prefix = 1; + break; + case OSSL_TRACE_CTRL_END: + trace_data->ingroup = 0; + break; + } + + if (set_prefix) { + union { + CRYPTO_THREAD_ID tid; + unsigned long ltid; + } tid; + char buffer[256]; + + tid.ltid = 0; + tid.tid = CRYPTO_THREAD_get_current_id(); + + BIO_snprintf(buffer, sizeof(buffer), "TRACE[%lx]:%s: ", tid.ltid, + OSSL_trace_get_category_name(category)); + BIO_ctrl(trace_data->bio, PREFIX_CTRL_SET_PREFIX, + strlen(buffer), buffer); + } + ret = BIO_write(trace_data->bio, buf, cnt); + + return ret < 0 ? 0 : ret; +} + +DEFINE_STACK_OF(tracedata) +static STACK_OF(tracedata) *trace_data_stack; + +static void tracedata_free(tracedata *data) +{ + BIO_free_all(data->bio); + OPENSSL_free(data); +} + +static STACK_OF(tracedata) *trace_data_stack; + +static void cleanup_trace(void) +{ + sk_tracedata_pop_free(trace_data_stack, tracedata_free); +} + +static void setup_trace(const char *str) +{ + char *val; + + trace_data_stack = sk_tracedata_new_null(); + val = OPENSSL_strdup(str); + + if (val != NULL) { + char *valp = val; + char *item; + + for (valp = val; (item = strtok(valp, ",")) != NULL; valp = NULL) { + int category = OSSL_trace_get_category_num(item); + + if (category >= 0) { + BIO *channel = BIO_push(BIO_new(apps_bf_prefix()), + dup_bio_err(FORMAT_TEXT)); + tracedata *trace_data = OPENSSL_zalloc(sizeof(*trace_data)); + + if (trace_data == NULL + || (trace_data->bio = channel) == NULL + || OSSL_trace_set_callback(category, internal_trace_cb, + trace_data) == 0 + || sk_tracedata_push(trace_data_stack, trace_data) == 0) { + OSSL_trace_set_callback(category, NULL, NULL); + BIO_free_all(channel); + fprintf(stderr, + "warning: unable to setup trace callback for category '%s'.\n", + item); + } + } else { + fprintf(stderr, + "warning: unknown trace category: '%s'.\n", + item); + } + } + } + + OPENSSL_free(val); + atexit(cleanup_trace); +} + int main(int argc, char *argv[]) { FUNCTION f, *fp; LHASH_OF(FUNCTION) *prog = NULL; - char **copied_argv = NULL; char *p, *pname; char buf[1024]; const char *prompt; @@ -138,7 +241,7 @@ int main(int argc, char *argv[]) bio_err = dup_bio_err(FORMAT_TEXT); #if defined(OPENSSL_SYS_VMS) && defined(__DECC) - copied_argv = argv = copy_argv(&argc, argv); + argv = copy_argv(&argc, argv); #elif defined(_WIN32) /* * Replace argv[] with UTF-8 encoded strings. @@ -146,6 +249,15 @@ int main(int argc, char *argv[]) win32_utf8argv(&argc, &argv); #endif + /* + * We use the prefix method to get the trace output we want. Since some + * trace outputs happen with OPENSSL_cleanup(), which is run automatically + * after exit(), we need to destroy the prefix method as late as possible. + */ + atexit(destroy_prefix_method); + + setup_trace(getenv("OPENSSL_TRACE")); + p = getenv("OPENSSL_DEBUG_MEMORY"); if (p != NULL && strcmp(p, "on") == 0) CRYPTO_set_mem_debug(1); @@ -252,7 +364,6 @@ int main(int argc, char *argv[]) } ret = 1; end: - OPENSSL_free(copied_argv); OPENSSL_free(default_config_file); lh_FUNCTION_free(prog); OPENSSL_free(arg.argv); diff --git a/apps/pkeyutl.c b/apps/pkeyutl.c index 8ee4a304..c084525c 100644 --- a/apps/pkeyutl.c +++ b/apps/pkeyutl.c @@ -22,7 +22,7 @@ static EVP_PKEY_CTX *init_ctx(const char *kdfalg, int *pkeysize, const char *keyfile, int keyform, int key_type, char *passinarg, int pkey_op, ENGINE *e, - const int impl); + const int impl, EVP_PKEY **ppkey); static int setup_peer(EVP_PKEY_CTX *ctx, int peerform, const char *file, ENGINE *e); @@ -31,6 +31,11 @@ static int do_keyop(EVP_PKEY_CTX *ctx, int pkey_op, unsigned char *out, size_t *poutlen, const unsigned char *in, size_t inlen); +static int do_raw_keyop(int pkey_op, EVP_PKEY_CTX *ctx, + const EVP_MD *md, EVP_PKEY *pkey, BIO *in, + unsigned char *sig, int siglen, + unsigned char **out, size_t *poutlen); + typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_ENGINE, OPT_ENGINE_IMPL, OPT_IN, OPT_OUT, @@ -38,12 +43,16 @@ typedef enum OPTION_choice { OPT_VERIFY, OPT_VERIFYRECOVER, OPT_REV, OPT_ENCRYPT, OPT_DECRYPT, OPT_DERIVE, OPT_SIGFILE, OPT_INKEY, OPT_PEERKEY, OPT_PASSIN, OPT_PEERFORM, OPT_KEYFORM, OPT_PKEYOPT, OPT_PKEYOPT_PASSIN, OPT_KDF, - OPT_KDFLEN, OPT_R_ENUM + OPT_KDFLEN, OPT_R_ENUM, + OPT_RAWIN, OPT_DIGEST } OPTION_CHOICE; const OPTIONS pkeyutl_options[] = { {"help", OPT_HELP, '-', "Display this summary"}, {"in", OPT_IN, '<', "Input file - default stdin"}, + {"rawin", OPT_RAWIN, '-', "Indicate the input data is in raw form"}, + {"digest", OPT_DIGEST, 's', + "Specify the digest algorithm when signing the raw input data"}, {"out", OPT_OUT, '>', "Output file - default stdout"}, {"pubin", OPT_PUBIN, '-', "Input is a public key"}, {"certin", OPT_CERTIN, '-', "Input is a cert with a public key"}, @@ -82,6 +91,7 @@ int pkeyutl_main(int argc, char **argv) BIO *in = NULL, *out = NULL; ENGINE *e = NULL; EVP_PKEY_CTX *ctx = NULL; + EVP_PKEY *pkey = NULL; char *infile = NULL, *outfile = NULL, *sigfile = NULL, *passinarg = NULL; char hexdump = 0, asn1parse = 0, rev = 0, *prog; unsigned char *buf_in = NULL, *buf_out = NULL, *sig = NULL; @@ -97,6 +107,8 @@ int pkeyutl_main(int argc, char **argv) int kdflen = 0; STACK_OF(OPENSSL_STRING) *pkeyopts = NULL; STACK_OF(OPENSSL_STRING) *pkeyopts_passin = NULL; + int rawin = 0; + const EVP_MD *md = NULL; prog = opt_init(argc, argv, pkeyutl_options); while ((o = opt_next()) != OPT_EOF) { @@ -203,12 +215,39 @@ int pkeyutl_main(int argc, char **argv) goto end; } break; + case OPT_RAWIN: + rawin = 1; + break; + case OPT_DIGEST: + if (!opt_md(opt_arg(), &md)) + goto end; + break; } } argc = opt_num_rest(); if (argc != 0) goto opthelp; + if (rawin && pkey_op != EVP_PKEY_OP_SIGN && pkey_op != EVP_PKEY_OP_VERIFY) { + BIO_printf(bio_err, + "%s: -rawin can only be used with -sign or -verify\n", + prog); + goto opthelp; + } + + if (md != NULL && !rawin) { + BIO_printf(bio_err, + "%s: -digest can only be used with -rawin\n", + prog); + goto opthelp; + } + + if (rawin && rev) { + BIO_printf(bio_err, "%s: -rev cannot be used with raw input\n", + prog); + goto opthelp; + } + if (kdfalg != NULL) { if (kdflen == 0) { BIO_printf(bio_err, @@ -225,7 +264,7 @@ int pkeyutl_main(int argc, char **argv) goto opthelp; } ctx = init_ctx(kdfalg, &keysize, inkey, keyform, key_type, - passinarg, pkey_op, e, engine_impl); + passinarg, pkey_op, e, engine_impl, &pkey); if (ctx == NULL) { BIO_printf(bio_err, "%s: Error initializing context\n", prog); ERR_print_errors(bio_err); @@ -327,7 +366,8 @@ int pkeyutl_main(int argc, char **argv) } } - if (in != NULL) { + /* Raw input data is handled elsewhere */ + if (in != NULL && !rawin) { /* Read the input data */ buf_inlen = bio_to_mem(&buf_in, keysize * 10, in); if (buf_inlen < 0) { @@ -346,8 +386,9 @@ int pkeyutl_main(int argc, char **argv) } } - /* Sanity check the input */ - if (buf_inlen > EVP_MAX_MD_SIZE + /* Sanity check the input if the input is not raw */ + if (!rawin + && buf_inlen > EVP_MAX_MD_SIZE && (pkey_op == EVP_PKEY_OP_SIGN || pkey_op == EVP_PKEY_OP_VERIFY || pkey_op == EVP_PKEY_OP_VERIFYRECOVER)) { @@ -357,8 +398,13 @@ int pkeyutl_main(int argc, char **argv) } if (pkey_op == EVP_PKEY_OP_VERIFY) { - rv = EVP_PKEY_verify(ctx, sig, (size_t)siglen, - buf_in, (size_t)buf_inlen); + if (rawin) { + rv = do_raw_keyop(pkey_op, ctx, md, pkey, in, sig, siglen, + NULL, 0); + } else { + rv = EVP_PKEY_verify(ctx, sig, (size_t)siglen, + buf_in, (size_t)buf_inlen); + } if (rv == 1) { BIO_puts(out, "Signature Verified Successfully\n"); ret = 0; @@ -371,14 +417,20 @@ int pkeyutl_main(int argc, char **argv) buf_outlen = kdflen; rv = 1; } else { - rv = do_keyop(ctx, pkey_op, NULL, (size_t *)&buf_outlen, - buf_in, (size_t)buf_inlen); - } - if (rv > 0 && buf_outlen != 0) { - buf_out = app_malloc(buf_outlen, "buffer output"); - rv = do_keyop(ctx, pkey_op, - buf_out, (size_t *)&buf_outlen, - buf_in, (size_t)buf_inlen); + if (rawin) { + /* rawin allocates the buffer in do_raw_keyop() */ + rv = do_raw_keyop(pkey_op, ctx, md, pkey, in, NULL, 0, + &buf_out, (size_t *)&buf_outlen); + } else { + rv = do_keyop(ctx, pkey_op, NULL, (size_t *)&buf_outlen, + buf_in, (size_t)buf_inlen); + if (rv > 0 && buf_outlen != 0) { + buf_out = app_malloc(buf_outlen, "buffer output"); + rv = do_keyop(ctx, pkey_op, + buf_out, (size_t *)&buf_outlen, + buf_in, (size_t)buf_inlen); + } + } } if (rv <= 0) { if (pkey_op != EVP_PKEY_OP_DERIVE) { @@ -416,7 +468,7 @@ int pkeyutl_main(int argc, char **argv) static EVP_PKEY_CTX *init_ctx(const char *kdfalg, int *pkeysize, const char *keyfile, int keyform, int key_type, char *passinarg, int pkey_op, ENGINE *e, - const int engine_impl) + const int engine_impl, EVP_PKEY **ppkey) { EVP_PKEY *pkey = NULL; EVP_PKEY_CTX *ctx = NULL; @@ -476,8 +528,26 @@ static EVP_PKEY_CTX *init_ctx(const char *kdfalg, int *pkeysize, } else { if (pkey == NULL) goto end; + +#ifndef OPENSSL_NO_EC + /* SM2 needs a special treatment */ + if (EVP_PKEY_id(pkey) == EVP_PKEY_EC) { + EC_KEY *eckey = NULL; + const EC_GROUP *group = NULL; + int nid; + + if ((eckey = EVP_PKEY_get0_EC_KEY(pkey)) == NULL + || (group = EC_KEY_get0_group(eckey)) == NULL + || (nid = EC_GROUP_get_curve_name(group)) == 0) + goto end; + if (nid == NID_sm2) + EVP_PKEY_set_alias_type(pkey, EVP_PKEY_SM2); + } +#endif *pkeysize = EVP_PKEY_size(pkey); ctx = EVP_PKEY_CTX_new(pkey, impl); + if (ppkey != NULL) + *ppkey = pkey; EVP_PKEY_free(pkey); } @@ -574,3 +644,71 @@ static int do_keyop(EVP_PKEY_CTX *ctx, int pkey_op, } return rv; } + +#define TBUF_MAXSIZE 2048 + +static int do_raw_keyop(int pkey_op, EVP_PKEY_CTX *ctx, + const EVP_MD *md, EVP_PKEY *pkey, BIO *in, + unsigned char *sig, int siglen, + unsigned char **out, size_t *poutlen) +{ + int rv = 0; + EVP_MD_CTX *mctx = NULL; + unsigned char tbuf[TBUF_MAXSIZE]; + int tbuf_len = 0; + + if ((mctx = EVP_MD_CTX_new()) == NULL) { + BIO_printf(bio_err, "Error: out of memory\n"); + return rv; + } + EVP_MD_CTX_set_pkey_ctx(mctx, ctx); + + switch(pkey_op) { + case EVP_PKEY_OP_VERIFY: + if (EVP_DigestVerifyInit(mctx, NULL, md, NULL, pkey) != 1) + goto end; + for (;;) { + tbuf_len = BIO_read(in, tbuf, TBUF_MAXSIZE); + if (tbuf_len == 0) + break; + if (tbuf_len < 0) { + BIO_printf(bio_err, "Error reading raw input data\n"); + goto end; + } + rv = EVP_DigestVerifyUpdate(mctx, tbuf, (size_t)tbuf_len); + if (rv != 1) { + BIO_printf(bio_err, "Error verifying raw input data\n"); + goto end; + } + } + rv = EVP_DigestVerifyFinal(mctx, sig, (size_t)siglen); + break; + case EVP_PKEY_OP_SIGN: + if (EVP_DigestSignInit(mctx, NULL, md, NULL, pkey) != 1) + goto end; + for (;;) { + tbuf_len = BIO_read(in, tbuf, TBUF_MAXSIZE); + if (tbuf_len == 0) + break; + if (tbuf_len < 0) { + BIO_printf(bio_err, "Error reading raw input data\n"); + goto end; + } + rv = EVP_DigestSignUpdate(mctx, tbuf, (size_t)tbuf_len); + if (rv != 1) { + BIO_printf(bio_err, "Error signing raw input data\n"); + goto end; + } + } + rv = EVP_DigestSignFinal(mctx, NULL, poutlen); + if (rv == 1 && out != NULL) { + *out = app_malloc(*poutlen, "buffer output"); + rv = EVP_DigestSignFinal(mctx, *out, poutlen); + } + break; + } + + end: + EVP_MD_CTX_free(mctx); + return rv; +} diff --git a/apps/s_client.c b/apps/s_client.c index 687e7553..7a41d831 100644 --- a/apps/s_client.c +++ b/apps/s_client.c @@ -38,6 +38,7 @@ typedef unsigned int u_int; #include #include #include +#include #include #ifndef OPENSSL_NO_SRP # include @@ -1521,6 +1522,7 @@ int s_client_main(int argc, char **argv) break; } } + if (count4or6 >= 2) { BIO_printf(bio_err, "%s: Can't use both -4 and -6\n", prog); goto opthelp; @@ -3321,8 +3323,7 @@ static void print_stuff(BIO *bio, SSL *s, int full) BIO_printf(bio_err, "Using Kernel TLS for sending\n"); #endif -#ifdef SSL_DEBUG - { + if (OSSL_TRACE_ENABLED(TLS)) { /* Print out local port of connection: useful for debugging */ int sock; union BIO_sock_info_u info; @@ -3335,7 +3336,6 @@ static void print_stuff(BIO *bio, SSL *s, int full) } BIO_ADDR_free(info.addr); } -#endif #if !defined(OPENSSL_NO_NEXTPROTONEG) if (next_proto.status != -1) { diff --git a/apps/vms_decc_argv.c b/apps/vms_decc_argv.c new file mode 100644 index 00000000..932b51a8 --- /dev/null +++ b/apps/vms_decc_argv.c @@ -0,0 +1,67 @@ +/* + * Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 +#include +#include "platform.h" /* for copy_argv() */ +#include "apps.h" /* for app_malloc() */ + +char **newargv = NULL; + +static void cleanup_argv(void) +{ + OPENSSL_free(newargv); + newargv = NULL; +} + +char **copy_argv(int *argc, char *argv[]) +{ + /*- + * The note below is for historical purpose. On VMS now we always + * copy argv "safely." + * + * 2011-03-22 SMS. + * If we have 32-bit pointers everywhere, then we're safe, and + * we bypass this mess, as on non-VMS systems. + * Problem 1: Compaq/HP C before V7.3 always used 32-bit + * pointers for argv[]. + * Fix 1: For a 32-bit argv[], when we're using 64-bit pointers + * everywhere else, we always allocate and use a 64-bit + * duplicate of argv[]. + * Problem 2: Compaq/HP C V7.3 (Alpha, IA64) before ECO1 failed + * to NULL-terminate a 64-bit argv[]. (As this was written, the + * compiler ECO was available only on IA64.) + * Fix 2: Unless advised not to (VMS_TRUST_ARGV), we test a + * 64-bit argv[argc] for NULL, and, if necessary, use a + * (properly) NULL-terminated (64-bit) duplicate of argv[]. + * The same code is used in either case to duplicate argv[]. + * Some of these decisions could be handled in preprocessing, + * but the code tends to get even uglier, and the penalty for + * deciding at compile- or run-time is tiny. + */ + + int i, count = *argc; + char **p = newargv; + + cleanup_argv(); + + newargv = app_malloc(sizeof(*newargv) * (count + 1), "argv copy"); + if (newargv == NULL) + return NULL; + + /* Register automatic cleanup on first use */ + if (p == NULL) + OPENSSL_atexit(cleanup_argv); + + for (i = 0; i < count; i++) + newargv[i] = argv[i]; + newargv[i] = NULL; + *argc = i; + return newargv; +} diff --git a/apps/vms_decc_init.c b/apps/vms_decc_init.c index c26442e4..21481e27 100644 --- a/apps/vms_decc_init.c +++ b/apps/vms_decc_init.c @@ -25,8 +25,6 @@ # include # include -# include "apps.h" - /* Global storage. */ /* Flag to sense if decc_init() was called. */ @@ -63,42 +61,6 @@ decc_feat_t decc_feat_array[] = { }; -char **copy_argv(int *argc, char *argv[]) -{ - /*- - * The note below is for historical purpose. On VMS now we always - * copy argv "safely." - * - * 2011-03-22 SMS. - * If we have 32-bit pointers everywhere, then we're safe, and - * we bypass this mess, as on non-VMS systems. - * Problem 1: Compaq/HP C before V7.3 always used 32-bit - * pointers for argv[]. - * Fix 1: For a 32-bit argv[], when we're using 64-bit pointers - * everywhere else, we always allocate and use a 64-bit - * duplicate of argv[]. - * Problem 2: Compaq/HP C V7.3 (Alpha, IA64) before ECO1 failed - * to NULL-terminate a 64-bit argv[]. (As this was written, the - * compiler ECO was available only on IA64.) - * Fix 2: Unless advised not to (VMS_TRUST_ARGV), we test a - * 64-bit argv[argc] for NULL, and, if necessary, use a - * (properly) NULL-terminated (64-bit) duplicate of argv[]. - * The same code is used in either case to duplicate argv[]. - * Some of these decisions could be handled in preprocessing, - * but the code tends to get even uglier, and the penalty for - * deciding at compile- or run-time is tiny. - */ - - int i, count = *argc; - char **newargv = app_malloc(sizeof(*newargv) * (count + 1), "argv copy"); - - for (i = 0; i < count; i++) - newargv[i] = argv[i]; - newargv[i] = NULL; - *argc = i; - return newargv; -} - /* LIB$INITIALIZE initialization function. */ static void decc_init(void) diff --git a/apps/x509.c b/apps/x509.c index e9de4950..e4d5e079 100644 --- a/apps/x509.c +++ b/apps/x509.c @@ -33,7 +33,7 @@ #define DEF_DAYS 30 static int callb(int ok, X509_STORE_CTX *ctx); -static int sign(X509 *x, EVP_PKEY *pkey, int days, int clrext, +static int sign(X509 *x, EVP_PKEY *pkey, EVP_PKEY *fkey, int days, int clrext, const EVP_MD *digest, CONF *conf, const char *section, int preserve_dates); static int x509_certify(X509_STORE *ctx, const char *CAfile, const EVP_MD *digest, @@ -132,7 +132,7 @@ const OPTIONS x509_options[] = { {"CAform", OPT_CAFORM, 'F', "CA format - default PEM"}, {"CAkeyform", OPT_CAKEYFORM, 'f', "CA key format - default PEM"}, {"sigopt", OPT_SIGOPT, 's', "Signature parameter in n:v form"}, - {"force_pubkey", OPT_FORCE_PUBKEY, '<', "Force the Key to put inside certificate"}, + {"force_pubkey", OPT_FORCE_PUBKEY, '<', "Force the key to put inside certificate"}, {"next_serial", OPT_NEXT_SERIAL, '-', "Increment current certificate serial number"}, {"clrreject", OPT_CLRREJECT, '-', "Clears all the prohibited or rejected uses of the certificate"}, @@ -574,18 +574,16 @@ int x509_main(int argc, char **argv) if (!set_cert_times(x, NULL, NULL, days)) goto end; - if (fkey != NULL) { - X509_set_pubkey(x, fkey); - } else { - pkey = X509_REQ_get0_pubkey(req); - X509_set_pubkey(x, pkey); - } + if (!X509_set_pubkey(x, fkey != NULL ? fkey : X509_REQ_get0_pubkey(req))) + goto end; } else { x = load_cert(infile, informat, "Certificate"); + if (x == NULL) + goto end; + if (fkey != NULL && !X509_set_pubkey(x, fkey)) + goto end; } - if (x == NULL) - goto end; if (CA_flag) { xca = load_cert(CAfile, CAformat, "CA Certificate"); if (xca == NULL) @@ -799,7 +797,8 @@ int x509_main(int argc, char **argv) goto end; } - if (!sign(x, Upkey, days, clrext, digest, extconf, extsect, preserve_dates)) + if (!sign(x, Upkey, fkey, days, clrext, digest, extconf, + extsect, preserve_dates)) goto end; } else if (CA_flag == i) { BIO_printf(bio_err, "Getting CA Private Key\n"); @@ -1054,8 +1053,8 @@ static int callb(int ok, X509_STORE_CTX *ctx) } } -/* self sign */ -static int sign(X509 *x, EVP_PKEY *pkey, int days, int clrext, +/* self-issue; self-sign unless a forced public key (fkey) is given */ +static int sign(X509 *x, EVP_PKEY *pkey, EVP_PKEY *fkey, int days, int clrext, const EVP_MD *digest, CONF *conf, const char *section, int preserve_dates) { @@ -1064,7 +1063,7 @@ static int sign(X509 *x, EVP_PKEY *pkey, int days, int clrext, goto err; if (!preserve_dates && !set_cert_times(x, NULL, NULL, days)) goto err; - if (!X509_set_pubkey(x, pkey)) + if (fkey == NULL && !X509_set_pubkey(x, pkey)) goto err; if (clrext) { while (X509_get_ext_count(x) > 0) diff --git a/crypto/asn1/a_dup.c b/crypto/asn1/a_dup.c index 4d221687..b5df08e3 100644 --- a/crypto/asn1/a_dup.c +++ b/crypto/asn1/a_dup.c @@ -13,7 +13,7 @@ #ifndef NO_OLD_ASN1 -void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x) +void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, const void *x) { unsigned char *b, *p; const unsigned char *p2; @@ -46,7 +46,7 @@ void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x) * decode. */ -void *ASN1_item_dup(const ASN1_ITEM *it, void *x) +void *ASN1_item_dup(const ASN1_ITEM *it, const void *x) { unsigned char *b = NULL; const unsigned char *p; diff --git a/crypto/asn1/a_i2d_fp.c b/crypto/asn1/a_i2d_fp.c index 2527c25a..e718bf4c 100644 --- a/crypto/asn1/a_i2d_fp.c +++ b/crypto/asn1/a_i2d_fp.c @@ -15,7 +15,7 @@ #ifndef NO_OLD_ASN1 # ifndef OPENSSL_NO_STDIO -int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x) +int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, const void *x) { BIO *b; int ret; @@ -31,7 +31,7 @@ int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x) } # endif -int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x) +int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, const void *x) { char *b; unsigned char *p; @@ -68,7 +68,7 @@ int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x) #endif #ifndef OPENSSL_NO_STDIO -int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x) +int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, const void *x) { BIO *b; int ret; @@ -84,7 +84,7 @@ int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x) } #endif -int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x) +int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, const void *x) { unsigned char *b = NULL; int i, j = 0, n, ret = 1; diff --git a/crypto/asn1/asn1_locl.h b/crypto/asn1/asn1_locl.h index e3221d6f..5720c909 100644 --- a/crypto/asn1/asn1_locl.h +++ b/crypto/asn1/asn1_locl.h @@ -9,6 +9,9 @@ /* Internal ASN1 structures and functions: not for application use */ +typedef const ASN1_VALUE const_ASN1_VALUE; +SKM_DEFINE_STACK_OF(const_ASN1_VALUE, const ASN1_VALUE, ASN1_VALUE) + int asn1_time_to_tm(struct tm *tm, const ASN1_TIME *d); int asn1_utctime_to_tm(struct tm *tm, const ASN1_UTCTIME *d); int asn1_generalizedtime_to_tm(struct tm *tm, const ASN1_GENERALIZEDTIME *d); @@ -46,19 +49,22 @@ DEFINE_STACK_OF(MIME_HEADER) void asn1_string_embed_free(ASN1_STRING *a, int embed); int asn1_get_choice_selector(ASN1_VALUE **pval, const ASN1_ITEM *it); +int asn1_get_choice_selector_const(const ASN1_VALUE **pval, const ASN1_ITEM *it); int asn1_set_choice_selector(ASN1_VALUE **pval, int value, const ASN1_ITEM *it); ASN1_VALUE **asn1_get_field_ptr(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); +const ASN1_VALUE **asn1_get_const_field_ptr(const ASN1_VALUE **pval, + const ASN1_TEMPLATE *tt); -const ASN1_TEMPLATE *asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt, +const ASN1_TEMPLATE *asn1_do_adb(const ASN1_VALUE *val, const ASN1_TEMPLATE *tt, int nullerr); int asn1_do_lock(ASN1_VALUE **pval, int op, const ASN1_ITEM *it); void asn1_enc_init(ASN1_VALUE **pval, const ASN1_ITEM *it); void asn1_enc_free(ASN1_VALUE **pval, const ASN1_ITEM *it); -int asn1_enc_restore(int *len, unsigned char **out, ASN1_VALUE **pval, +int asn1_enc_restore(int *len, unsigned char **out, const ASN1_VALUE **pval, const ASN1_ITEM *it); int asn1_enc_save(ASN1_VALUE **pval, const unsigned char *in, int inlen, const ASN1_ITEM *it); diff --git a/crypto/asn1/asn_mime.c b/crypto/asn1/asn_mime.c index d99f0ef3..5c349383 100644 --- a/crypto/asn1/asn_mime.c +++ b/crypto/asn1/asn_mime.c @@ -64,6 +64,7 @@ static void mime_hdr_free(MIME_HEADER *hdr); /* Output an ASN1 structure in BER format streaming if necessary */ +/* unfortunately cannot constify this due to CMS_stream() and PKCS7_stream() */ int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, const ASN1_ITEM *it) { @@ -311,6 +312,7 @@ int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, /* Handle output of ASN1 data */ +/* cannot constify val because of CMS_dataFinal() */ static int asn1_output_data(BIO *out, BIO *data, ASN1_VALUE *val, int flags, const ASN1_ITEM *it) { diff --git a/crypto/asn1/bio_ndef.c b/crypto/asn1/bio_ndef.c index 015c54df..d3be967f 100644 --- a/crypto/asn1/bio_ndef.c +++ b/crypto/asn1/bio_ndef.c @@ -49,6 +49,7 @@ static int ndef_suffix(BIO *b, unsigned char **pbuf, int *plen, void *parg); static int ndef_suffix_free(BIO *b, unsigned char **pbuf, int *plen, void *parg); +/* unfortunately cannot constify this due to CMS_stream() and PKCS7_stream() */ BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it) { NDEF_SUPPORT *ndef_aux = NULL; diff --git a/crypto/asn1/i2d_pr.c b/crypto/asn1/i2d_pr.c index e8b1dd21..7133d3da 100644 --- a/crypto/asn1/i2d_pr.c +++ b/crypto/asn1/i2d_pr.c @@ -14,7 +14,7 @@ #include "internal/asn1_int.h" #include "internal/evp_int.h" -int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp) +int i2d_PrivateKey(const EVP_PKEY *a, unsigned char **pp) { if (a->ameth && a->ameth->old_priv_encode) { return a->ameth->old_priv_encode(a, pp); diff --git a/crypto/asn1/i2d_pu.c b/crypto/asn1/i2d_pu.c index ff152822..8195dda8 100644 --- a/crypto/asn1/i2d_pu.c +++ b/crypto/asn1/i2d_pu.c @@ -16,7 +16,7 @@ #include #include -int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp) +int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp) { switch (EVP_PKEY_id(a)) { #ifndef OPENSSL_NO_RSA diff --git a/crypto/asn1/n_pkey.c b/crypto/asn1/n_pkey.c index 3c83e4bf..12592d09 100644 --- a/crypto/asn1/n_pkey.c +++ b/crypto/asn1/n_pkey.c @@ -43,9 +43,9 @@ ASN1_BROKEN_SEQUENCE(NETSCAPE_ENCRYPTED_PKEY) = { ASN1_SIMPLE(NETSCAPE_ENCRYPTED_PKEY, enckey, X509_SIG) } static_ASN1_BROKEN_SEQUENCE_END(NETSCAPE_ENCRYPTED_PKEY) -DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) -DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY,NETSCAPE_ENCRYPTED_PKEY) -IMPLEMENT_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) +DECLARE_ASN1_FUNCTIONS(NETSCAPE_ENCRYPTED_PKEY) +DECLARE_ASN1_ENCODE_FUNCTIONS_name(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) +IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_ENCRYPTED_PKEY) ASN1_SEQUENCE(NETSCAPE_PKEY) = { ASN1_EMBED(NETSCAPE_PKEY, version, INT32), @@ -53,9 +53,9 @@ ASN1_SEQUENCE(NETSCAPE_PKEY) = { ASN1_SIMPLE(NETSCAPE_PKEY, private_key, ASN1_OCTET_STRING) } static_ASN1_SEQUENCE_END(NETSCAPE_PKEY) -DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) -DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY,NETSCAPE_PKEY) -IMPLEMENT_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) +DECLARE_ASN1_FUNCTIONS(NETSCAPE_PKEY) +DECLARE_ASN1_ENCODE_FUNCTIONS_name(NETSCAPE_PKEY, NETSCAPE_PKEY) +IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_PKEY) # endif /* OPENSSL_NO_RC4 */ diff --git a/crypto/asn1/tasn_dec.c b/crypto/asn1/tasn_dec.c index 03d02b7a..87c01f0b 100644 --- a/crypto/asn1/tasn_dec.c +++ b/crypto/asn1/tasn_dec.c @@ -316,7 +316,7 @@ static int asn1_item_embed_d2i(ASN1_VALUE **pval, const unsigned char **in, if (tt->flags & ASN1_TFLG_ADB_MASK) { const ASN1_TEMPLATE *seqtt; ASN1_VALUE **pseqval; - seqtt = asn1_do_adb(pval, tt, 0); + seqtt = asn1_do_adb(*pval, tt, 0); if (seqtt == NULL) continue; pseqval = asn1_get_field_ptr(pval, seqtt); @@ -328,7 +328,7 @@ static int asn1_item_embed_d2i(ASN1_VALUE **pval, const unsigned char **in, for (i = 0, tt = it->templates; i < it->tcount; i++, tt++) { const ASN1_TEMPLATE *seqtt; ASN1_VALUE **pseqval; - seqtt = asn1_do_adb(pval, tt, 1); + seqtt = asn1_do_adb(*pval, tt, 1); if (seqtt == NULL) goto err; pseqval = asn1_get_field_ptr(pval, seqtt); @@ -394,7 +394,7 @@ static int asn1_item_embed_d2i(ASN1_VALUE **pval, const unsigned char **in, */ for (; i < it->tcount; tt++, i++) { const ASN1_TEMPLATE *seqtt; - seqtt = asn1_do_adb(pval, tt, 1); + seqtt = asn1_do_adb(*pval, tt, 1); if (seqtt == NULL) goto err; if (seqtt->flags & ASN1_TFLG_OPTIONAL) { diff --git a/crypto/asn1/tasn_enc.c b/crypto/asn1/tasn_enc.c index 411b53e0..8ab9c370 100644 --- a/crypto/asn1/tasn_enc.c +++ b/crypto/asn1/tasn_enc.c @@ -16,16 +16,17 @@ #include "internal/asn1_int.h" #include "asn1_locl.h" -static int asn1_i2d_ex_primitive(ASN1_VALUE **pval, unsigned char **out, +static int asn1_i2d_ex_primitive(const ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass); -static int asn1_set_seq_out(STACK_OF(ASN1_VALUE) *sk, unsigned char **out, +static int asn1_set_seq_out(STACK_OF(const_ASN1_VALUE) *sk, + unsigned char **out, int skcontlen, const ASN1_ITEM *item, int do_sort, int iclass); -static int asn1_template_ex_i2d(ASN1_VALUE **pval, unsigned char **out, +static int asn1_template_ex_i2d(const ASN1_VALUE **pval, unsigned char **out, const ASN1_TEMPLATE *tt, int tag, int aclass); -static int asn1_item_flags_i2d(ASN1_VALUE *val, unsigned char **out, +static int asn1_item_flags_i2d(const ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it, int flags); -static int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cout, int *putype, +static int asn1_ex_i2c(const ASN1_VALUE **pval, unsigned char *cout, int *putype, const ASN1_ITEM *it); /* @@ -33,13 +34,13 @@ static int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cout, int *putype, * indefinite length constructed encoding, where appropriate */ -int ASN1_item_ndef_i2d(ASN1_VALUE *val, unsigned char **out, +int ASN1_item_ndef_i2d(const ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it) { return asn1_item_flags_i2d(val, out, it, ASN1_TFLG_NDEF); } -int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it) +int ASN1_item_i2d(const ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it) { return asn1_item_flags_i2d(val, out, it, 0); } @@ -51,7 +52,7 @@ int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it) * allocated and populated with the encoding. */ -static int asn1_item_flags_i2d(ASN1_VALUE *val, unsigned char **out, +static int asn1_item_flags_i2d(const ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it, int flags) { if (out && !*out) { @@ -79,20 +80,22 @@ static int asn1_item_flags_i2d(ASN1_VALUE *val, unsigned char **out, * performs the normal item handling: it can be used in external types. */ -int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, +int ASN1_item_ex_i2d(const ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass) { const ASN1_TEMPLATE *tt = NULL; int i, seqcontlen, seqlen, ndef = 1; const ASN1_EXTERN_FUNCS *ef; const ASN1_AUX *aux = it->funcs; - ASN1_aux_cb *asn1_cb = 0; + ASN1_aux_const_cb *asn1_cb = NULL; if ((it->itype != ASN1_ITYPE_PRIMITIVE) && !*pval) return 0; - if (aux && aux->asn1_cb) - asn1_cb = aux->asn1_cb; + if (aux != NULL) { + asn1_cb = ((aux->flags & ASN1_AFLG_CONST_CB) != 0) ? aux->asn1_const_cb + : (ASN1_aux_const_cb *)aux->asn1_cb; /* backward compatibility */ + } switch (it->itype) { @@ -108,12 +111,12 @@ int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, case ASN1_ITYPE_CHOICE: if (asn1_cb && !asn1_cb(ASN1_OP_I2D_PRE, pval, it, NULL)) return 0; - i = asn1_get_choice_selector(pval, it); + i = asn1_get_choice_selector_const(pval, it); if ((i >= 0) && (i < it->tcount)) { - ASN1_VALUE **pchval; + const ASN1_VALUE **pchval; const ASN1_TEMPLATE *chtt; chtt = it->templates + i; - pchval = asn1_get_field_ptr(pval, chtt); + pchval = asn1_get_const_field_ptr(pval, chtt); return asn1_template_ex_i2d(pchval, out, chtt, -1, aclass); } /* Fixme: error condition if selector out of range */ @@ -154,12 +157,12 @@ int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, /* First work out sequence content length */ for (i = 0, tt = it->templates; i < it->tcount; tt++, i++) { const ASN1_TEMPLATE *seqtt; - ASN1_VALUE **pseqval; + const ASN1_VALUE **pseqval; int tmplen; - seqtt = asn1_do_adb(pval, tt, 1); + seqtt = asn1_do_adb(*pval, tt, 1); if (!seqtt) return 0; - pseqval = asn1_get_field_ptr(pval, seqtt); + pseqval = asn1_get_const_field_ptr(pval, seqtt); tmplen = asn1_template_ex_i2d(pseqval, NULL, seqtt, -1, aclass); if (tmplen == -1 || (tmplen > INT_MAX - seqcontlen)) return -1; @@ -173,11 +176,11 @@ int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, ASN1_put_object(out, ndef, seqcontlen, tag, aclass); for (i = 0, tt = it->templates; i < it->tcount; tt++, i++) { const ASN1_TEMPLATE *seqtt; - ASN1_VALUE **pseqval; - seqtt = asn1_do_adb(pval, tt, 1); + const ASN1_VALUE **pseqval; + seqtt = asn1_do_adb(*pval, tt, 1); if (!seqtt) return 0; - pseqval = asn1_get_field_ptr(pval, seqtt); + pseqval = asn1_get_const_field_ptr(pval, seqtt); /* FIXME: check for errors in enhanced version */ asn1_template_ex_i2d(pseqval, out, seqtt, -1, aclass); } @@ -194,11 +197,11 @@ int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, return 0; } -static int asn1_template_ex_i2d(ASN1_VALUE **pval, unsigned char **out, +static int asn1_template_ex_i2d(const ASN1_VALUE **pval, unsigned char **out, const ASN1_TEMPLATE *tt, int tag, int iclass) { int i, ret, flags, ttag, tclass, ndef; - ASN1_VALUE *tval; + const ASN1_VALUE *tval; flags = tt->flags; /* @@ -250,10 +253,10 @@ static int asn1_template_ex_i2d(ASN1_VALUE **pval, unsigned char **out, if (flags & ASN1_TFLG_SK_MASK) { /* SET OF, SEQUENCE OF */ - STACK_OF(ASN1_VALUE) *sk = (STACK_OF(ASN1_VALUE) *)*pval; + STACK_OF(const_ASN1_VALUE) *sk = (STACK_OF(const_ASN1_VALUE) *)*pval; int isset, sktag, skaclass; int skcontlen, sklen; - ASN1_VALUE *skitem; + const ASN1_VALUE *skitem; if (!*pval) return 0; @@ -283,9 +286,9 @@ static int asn1_template_ex_i2d(ASN1_VALUE **pval, unsigned char **out, /* Determine total length of items */ skcontlen = 0; - for (i = 0; i < sk_ASN1_VALUE_num(sk); i++) { + for (i = 0; i < sk_const_ASN1_VALUE_num(sk); i++) { int tmplen; - skitem = sk_ASN1_VALUE_value(sk, i); + skitem = sk_const_ASN1_VALUE_value(sk, i); tmplen = ASN1_item_ex_i2d(&skitem, NULL, ASN1_ITEM_ptr(tt->item), -1, iclass); if (tmplen == -1 || (skcontlen > INT_MAX - tmplen)) @@ -351,7 +354,7 @@ static int asn1_template_ex_i2d(ASN1_VALUE **pval, unsigned char **out, typedef struct { unsigned char *data; int length; - ASN1_VALUE *field; + const ASN1_VALUE *field; } DER_ENC; static int der_cmp(const void *a, const void *b) @@ -367,20 +370,21 @@ static int der_cmp(const void *a, const void *b) /* Output the content octets of SET OF or SEQUENCE OF */ -static int asn1_set_seq_out(STACK_OF(ASN1_VALUE) *sk, unsigned char **out, +static int asn1_set_seq_out(STACK_OF(const_ASN1_VALUE) *sk, + unsigned char **out, int skcontlen, const ASN1_ITEM *item, int do_sort, int iclass) { int i; - ASN1_VALUE *skitem; + const ASN1_VALUE *skitem; unsigned char *tmpdat = NULL, *p = NULL; DER_ENC *derlst = NULL, *tder; if (do_sort) { /* Don't need to sort less than 2 items */ - if (sk_ASN1_VALUE_num(sk) < 2) + if (sk_const_ASN1_VALUE_num(sk) < 2) do_sort = 0; else { - derlst = OPENSSL_malloc(sk_ASN1_VALUE_num(sk) + derlst = OPENSSL_malloc(sk_const_ASN1_VALUE_num(sk) * sizeof(*derlst)); if (derlst == NULL) return 0; @@ -393,8 +397,8 @@ static int asn1_set_seq_out(STACK_OF(ASN1_VALUE) *sk, unsigned char **out, } /* If not sorting just output each item */ if (!do_sort) { - for (i = 0; i < sk_ASN1_VALUE_num(sk); i++) { - skitem = sk_ASN1_VALUE_value(sk, i); + for (i = 0; i < sk_const_ASN1_VALUE_num(sk); i++) { + skitem = sk_const_ASN1_VALUE_value(sk, i); ASN1_item_ex_i2d(&skitem, out, item, -1, iclass); } return 1; @@ -402,33 +406,33 @@ static int asn1_set_seq_out(STACK_OF(ASN1_VALUE) *sk, unsigned char **out, p = tmpdat; /* Doing sort: build up a list of each member's DER encoding */ - for (i = 0, tder = derlst; i < sk_ASN1_VALUE_num(sk); i++, tder++) { - skitem = sk_ASN1_VALUE_value(sk, i); + for (i = 0, tder = derlst; i < sk_const_ASN1_VALUE_num(sk); i++, tder++) { + skitem = sk_const_ASN1_VALUE_value(sk, i); tder->data = p; tder->length = ASN1_item_ex_i2d(&skitem, &p, item, -1, iclass); tder->field = skitem; } /* Now sort them */ - qsort(derlst, sk_ASN1_VALUE_num(sk), sizeof(*derlst), der_cmp); + qsort(derlst, sk_const_ASN1_VALUE_num(sk), sizeof(*derlst), der_cmp); /* Output sorted DER encoding */ p = *out; - for (i = 0, tder = derlst; i < sk_ASN1_VALUE_num(sk); i++, tder++) { + for (i = 0, tder = derlst; i < sk_const_ASN1_VALUE_num(sk); i++, tder++) { memcpy(p, tder->data, tder->length); p += tder->length; } *out = p; /* If do_sort is 2 then reorder the STACK */ if (do_sort == 2) { - for (i = 0, tder = derlst; i < sk_ASN1_VALUE_num(sk); i++, tder++) - (void)sk_ASN1_VALUE_set(sk, i, tder->field); + for (i = 0, tder = derlst; i < sk_const_ASN1_VALUE_num(sk); i++, tder++) + (void)sk_const_ASN1_VALUE_set(sk, i, tder->field); } OPENSSL_free(derlst); OPENSSL_free(tmpdat); return 1; } -static int asn1_i2d_ex_primitive(ASN1_VALUE **pval, unsigned char **out, +static int asn1_i2d_ex_primitive(const ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass) { int len; @@ -488,7 +492,7 @@ static int asn1_i2d_ex_primitive(ASN1_VALUE **pval, unsigned char **out, /* Produce content octets from a structure */ -static int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cout, int *putype, +static int asn1_ex_i2c(const ASN1_VALUE **pval, unsigned char *cout, int *putype, const ASN1_ITEM *it) { ASN1_BOOLEAN *tbool = NULL; @@ -521,7 +525,7 @@ static int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cout, int *putype, typ = (ASN1_TYPE *)*pval; utype = typ->type; *putype = utype; - pval = &typ->value.asn1_value; + pval = (const ASN1_VALUE **)&typ->value.asn1_value; /* actually is const */ } else utype = *putype; diff --git a/crypto/asn1/tasn_fre.c b/crypto/asn1/tasn_fre.c index 71596d77..bffa6f15 100644 --- a/crypto/asn1/tasn_fre.c +++ b/crypto/asn1/tasn_fre.c @@ -103,7 +103,7 @@ void asn1_item_embed_free(ASN1_VALUE **pval, const ASN1_ITEM *it, int embed) ASN1_VALUE **pseqval; tt--; - seqtt = asn1_do_adb(pval, tt, 0); + seqtt = asn1_do_adb(*pval, tt, 0); if (!seqtt) continue; pseqval = asn1_get_field_ptr(pval, seqtt); diff --git a/crypto/asn1/tasn_prn.c b/crypto/asn1/tasn_prn.c index 73539060..0f56fb09 100644 --- a/crypto/asn1/tasn_prn.c +++ b/crypto/asn1/tasn_prn.c @@ -101,15 +101,15 @@ void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags) /* Main print routines */ -static int asn1_item_print_ctx(BIO *out, ASN1_VALUE **fld, int indent, +static int asn1_item_print_ctx(BIO *out, const ASN1_VALUE **fld, int indent, const ASN1_ITEM *it, const char *fname, const char *sname, int nohdr, const ASN1_PCTX *pctx); -static int asn1_template_print_ctx(BIO *out, ASN1_VALUE **fld, int indent, +static int asn1_template_print_ctx(BIO *out, const ASN1_VALUE **fld, int indent, const ASN1_TEMPLATE *tt, const ASN1_PCTX *pctx); -static int asn1_primitive_print(BIO *out, ASN1_VALUE **fld, +static int asn1_primitive_print(BIO *out, const ASN1_VALUE **fld, const ASN1_ITEM *it, int indent, const char *fname, const char *sname, const ASN1_PCTX *pctx); @@ -118,7 +118,7 @@ static int asn1_print_fsname(BIO *out, int indent, const char *fname, const char *sname, const ASN1_PCTX *pctx); -int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, +int ASN1_item_print(BIO *out, const ASN1_VALUE *ifld, int indent, const ASN1_ITEM *it, const ASN1_PCTX *pctx) { const char *sname; @@ -131,25 +131,25 @@ int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, return asn1_item_print_ctx(out, &ifld, indent, it, NULL, sname, 0, pctx); } -static int asn1_item_print_ctx(BIO *out, ASN1_VALUE **fld, int indent, +static int asn1_item_print_ctx(BIO *out, const ASN1_VALUE **fld, int indent, const ASN1_ITEM *it, const char *fname, const char *sname, int nohdr, const ASN1_PCTX *pctx) { const ASN1_TEMPLATE *tt; const ASN1_EXTERN_FUNCS *ef; - ASN1_VALUE **tmpfld; + const ASN1_VALUE **tmpfld; const ASN1_AUX *aux = it->funcs; - ASN1_aux_cb *asn1_cb; + ASN1_aux_const_cb *asn1_cb = NULL; ASN1_PRINT_ARG parg; int i; - if (aux && aux->asn1_cb) { + if (aux != NULL) { parg.out = out; parg.indent = indent; parg.pctx = pctx; - asn1_cb = aux->asn1_cb; - } else - asn1_cb = 0; + asn1_cb = ((aux->flags & ASN1_AFLG_CONST_CB) != 0) ? aux->asn1_const_cb + : (ASN1_aux_const_cb *)aux->asn1_cb; /* backward compatibility */ + } if (((it->itype != ASN1_ITYPE_PRIMITIVE) || (it->utype != V_ASN1_BOOLEAN)) && *fld == NULL) { @@ -195,7 +195,7 @@ static int asn1_item_print_ctx(BIO *out, ASN1_VALUE **fld, int indent, case ASN1_ITYPE_CHOICE: /* CHOICE type, get selector */ - i = asn1_get_choice_selector(fld, it); + i = asn1_get_choice_selector_const(fld, it); /* This should never happen... */ if ((i < 0) || (i >= it->tcount)) { if (BIO_printf(out, "ERROR: selector [%d] invalid\n", i) <= 0) @@ -203,7 +203,7 @@ static int asn1_item_print_ctx(BIO *out, ASN1_VALUE **fld, int indent, return 1; } tt = it->templates + i; - tmpfld = asn1_get_field_ptr(fld, tt); + tmpfld = asn1_get_const_field_ptr(fld, tt); if (!asn1_template_print_ctx(out, tmpfld, indent, tt, pctx)) return 0; break; @@ -233,10 +233,10 @@ static int asn1_item_print_ctx(BIO *out, ASN1_VALUE **fld, int indent, /* Print each field entry */ for (i = 0, tt = it->templates; i < it->tcount; i++, tt++) { const ASN1_TEMPLATE *seqtt; - seqtt = asn1_do_adb(fld, tt, 1); + seqtt = asn1_do_adb(*fld, tt, 1); if (!seqtt) return 0; - tmpfld = asn1_get_field_ptr(fld, seqtt); + tmpfld = asn1_get_const_field_ptr(fld, seqtt); if (!asn1_template_print_ctx(out, tmpfld, indent + 2, seqtt, pctx)) return 0; @@ -261,12 +261,12 @@ static int asn1_item_print_ctx(BIO *out, ASN1_VALUE **fld, int indent, return 1; } -static int asn1_template_print_ctx(BIO *out, ASN1_VALUE **fld, int indent, +static int asn1_template_print_ctx(BIO *out, const ASN1_VALUE **fld, int indent, const ASN1_TEMPLATE *tt, const ASN1_PCTX *pctx) { int i, flags; const char *sname, *fname; - ASN1_VALUE *tfld; + const ASN1_VALUE *tfld; flags = tt->flags; if (pctx->flags & ASN1_PCTX_FLAGS_SHOW_FIELD_STRUCT_NAME) sname = ASN1_ITEM_ptr(tt->item)->sname; @@ -282,14 +282,14 @@ static int asn1_template_print_ctx(BIO *out, ASN1_VALUE **fld, int indent, * a pointer to a field. */ if (flags & ASN1_TFLG_EMBED) { - tfld = (ASN1_VALUE *)fld; + tfld = (const ASN1_VALUE *)fld; fld = &tfld; } if (flags & ASN1_TFLG_SK_MASK) { char *tname; - ASN1_VALUE *skitem; - STACK_OF(ASN1_VALUE) *stack; + const ASN1_VALUE *skitem; + STACK_OF(const_ASN1_VALUE) *stack; /* SET OF, SEQUENCE OF */ if (fname) { @@ -304,12 +304,12 @@ static int asn1_template_print_ctx(BIO *out, ASN1_VALUE **fld, int indent, } else if (BIO_printf(out, "%*s%s:\n", indent, "", fname) <= 0) return 0; } - stack = (STACK_OF(ASN1_VALUE) *)*fld; - for (i = 0; i < sk_ASN1_VALUE_num(stack); i++) { + stack = (STACK_OF(const_ASN1_VALUE) *)*fld; + for (i = 0; i < sk_const_ASN1_VALUE_num(stack); i++) { if ((i > 0) && (BIO_puts(out, "\n") <= 0)) return 0; - skitem = sk_ASN1_VALUE_value(stack, i); + skitem = sk_const_ASN1_VALUE_value(stack, i); if (!asn1_item_print_ctx(out, &skitem, indent + 2, ASN1_ITEM_ptr(tt->item), NULL, NULL, 1, pctx)) @@ -430,7 +430,7 @@ static int asn1_print_obstring(BIO *out, const ASN1_STRING *str, int indent) return 1; } -static int asn1_primitive_print(BIO *out, ASN1_VALUE **fld, +static int asn1_primitive_print(BIO *out, const ASN1_VALUE **fld, const ASN1_ITEM *it, int indent, const char *fname, const char *sname, const ASN1_PCTX *pctx) @@ -456,9 +456,9 @@ static int asn1_primitive_print(BIO *out, ASN1_VALUE **fld, str = (ASN1_STRING *)*fld; } if (utype == V_ASN1_ANY) { - ASN1_TYPE *atype = (ASN1_TYPE *)*fld; + const ASN1_TYPE *atype = (const ASN1_TYPE *)*fld; utype = atype->type; - fld = &atype->value.asn1_value; + fld = (const ASN1_VALUE **)&atype->value.asn1_value; /* actually is const */ str = (ASN1_STRING *)*fld; if (pctx->flags & ASN1_PCTX_FLAGS_NO_ANY_TYPE) pname = NULL; diff --git a/crypto/asn1/tasn_typ.c b/crypto/asn1/tasn_typ.c index 37a98837..8095e323 100644 --- a/crypto/asn1/tasn_typ.c +++ b/crypto/asn1/tasn_typ.c @@ -80,5 +80,5 @@ ASN1_ITEM_TEMPLATE(ASN1_SET_ANY) = ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SET_OF, 0, ASN1_SET_ANY, ASN1_ANY) ASN1_ITEM_TEMPLATE_END(ASN1_SET_ANY) -IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) -IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(ASN1_SEQUENCE_ANY, ASN1_SET_ANY, ASN1_SET_ANY) +IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) +IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(ASN1_SEQUENCE_ANY, ASN1_SET_ANY, ASN1_SET_ANY) diff --git a/crypto/asn1/tasn_utl.c b/crypto/asn1/tasn_utl.c index 1694bdcf..53dad7af 100644 --- a/crypto/asn1/tasn_utl.c +++ b/crypto/asn1/tasn_utl.c @@ -29,6 +29,14 @@ int asn1_get_choice_selector(ASN1_VALUE **pval, const ASN1_ITEM *it) { int *sel = offset2ptr(*pval, it->utype); + + return *sel; +} + +int asn1_get_choice_selector_const(const ASN1_VALUE **pval, const ASN1_ITEM *it) +{ + int *sel = offset2ptr(*pval, it->utype); + return *sel; } @@ -40,6 +48,7 @@ int asn1_set_choice_selector(ASN1_VALUE **pval, int value, const ASN1_ITEM *it) { int *sel, ret; + sel = offset2ptr(*pval, it->utype); ret = *sel; *sel = value; @@ -66,7 +75,7 @@ int asn1_do_lock(ASN1_VALUE **pval, int op, const ASN1_ITEM *it) && (it->itype != ASN1_ITYPE_NDEF_SEQUENCE)) return 0; aux = it->funcs; - if (!aux || !(aux->flags & ASN1_AFLG_REFCOUNT)) + if (aux == NULL || (aux->flags & ASN1_AFLG_REFCOUNT) == 0) return 0; lck = offset2ptr(*pval, aux->ref_offset); lock = offset2ptr(*pval, aux->ref_lock); @@ -104,19 +113,33 @@ int asn1_do_lock(ASN1_VALUE **pval, int op, const ASN1_ITEM *it) static ASN1_ENCODING *asn1_get_enc_ptr(ASN1_VALUE **pval, const ASN1_ITEM *it) { const ASN1_AUX *aux; - if (!pval || !*pval) + + if (pval == NULL || *pval == NULL) return NULL; aux = it->funcs; - if (!aux || !(aux->flags & ASN1_AFLG_ENCODING)) + if (aux == NULL || (aux->flags & ASN1_AFLG_ENCODING) == 0) + return NULL; + return offset2ptr(*pval, aux->enc_offset); +} + +static const ASN1_ENCODING *asn1_get_const_enc_ptr(const ASN1_VALUE **pval, + const ASN1_ITEM *it) +{ + const ASN1_AUX *aux; + + if (pval == NULL || *pval == NULL) + return NULL; + aux = it->funcs; + if (aux == NULL || (aux->flags & ASN1_AFLG_ENCODING) == 0) return NULL; return offset2ptr(*pval, aux->enc_offset); } void asn1_enc_init(ASN1_VALUE **pval, const ASN1_ITEM *it) { - ASN1_ENCODING *enc; - enc = asn1_get_enc_ptr(pval, it); - if (enc) { + ASN1_ENCODING *enc = asn1_get_enc_ptr(pval, it); + + if (enc != NULL) { enc->enc = NULL; enc->len = 0; enc->modified = 1; @@ -125,9 +148,9 @@ void asn1_enc_init(ASN1_VALUE **pval, const ASN1_ITEM *it) void asn1_enc_free(ASN1_VALUE **pval, const ASN1_ITEM *it) { - ASN1_ENCODING *enc; - enc = asn1_get_enc_ptr(pval, it); - if (enc) { + ASN1_ENCODING *enc = asn1_get_enc_ptr(pval, it); + + if (enc != NULL) { OPENSSL_free(enc->enc); enc->enc = NULL; enc->len = 0; @@ -138,9 +161,9 @@ void asn1_enc_free(ASN1_VALUE **pval, const ASN1_ITEM *it) int asn1_enc_save(ASN1_VALUE **pval, const unsigned char *in, int inlen, const ASN1_ITEM *it) { - ASN1_ENCODING *enc; - enc = asn1_get_enc_ptr(pval, it); - if (!enc) + ASN1_ENCODING *enc = asn1_get_enc_ptr(pval, it); + + if (enc == NULL) return 1; OPENSSL_free(enc->enc); @@ -155,18 +178,18 @@ int asn1_enc_save(ASN1_VALUE **pval, const unsigned char *in, int inlen, return 1; } -int asn1_enc_restore(int *len, unsigned char **out, ASN1_VALUE **pval, +int asn1_enc_restore(int *len, unsigned char **out, const ASN1_VALUE **pval, const ASN1_ITEM *it) { - ASN1_ENCODING *enc; - enc = asn1_get_enc_ptr(pval, it); - if (!enc || enc->modified) + const ASN1_ENCODING *enc = asn1_get_const_enc_ptr(pval, it); + + if (enc == NULL || enc->modified) return 0; if (out) { memcpy(*out, enc->enc, enc->len); *out += enc->len; } - if (len) + if (len != NULL) *len = enc->len; return 1; } @@ -174,8 +197,8 @@ int asn1_enc_restore(int *len, unsigned char **out, ASN1_VALUE **pval, /* Given an ASN1_TEMPLATE get a pointer to a field */ ASN1_VALUE **asn1_get_field_ptr(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt) { - ASN1_VALUE **pvaltmp; - pvaltmp = offset2ptr(*pval, tt->offset); + ASN1_VALUE **pvaltmp = offset2ptr(*pval, tt->offset); + /* * NOTE for BOOLEAN types the field is just a plain int so we can't * return int **, so settle for (int *). @@ -183,31 +206,40 @@ ASN1_VALUE **asn1_get_field_ptr(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt) return pvaltmp; } +/* Given an ASN1_TEMPLATE get a const pointer to a field */ +const ASN1_VALUE **asn1_get_const_field_ptr(const ASN1_VALUE **pval, + const ASN1_TEMPLATE *tt) +{ + return offset2ptr(*pval, tt->offset); +} + /* * Handle ANY DEFINED BY template, find the selector, look up the relevant * ASN1_TEMPLATE in the table and return it. */ -const ASN1_TEMPLATE *asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt, +const ASN1_TEMPLATE *asn1_do_adb(const ASN1_VALUE *val, + const ASN1_TEMPLATE *tt, int nullerr) { const ASN1_ADB *adb; const ASN1_ADB_TABLE *atbl; long selector; - ASN1_VALUE **sfld; + const ASN1_VALUE **sfld; int i; - if (!(tt->flags & ASN1_TFLG_ADB_MASK)) + + if ((tt->flags & ASN1_TFLG_ADB_MASK) == 0) return tt; /* Else ANY DEFINED BY ... get the table */ adb = ASN1_ADB_ptr(tt->item); /* Get the selector field */ - sfld = offset2ptr(*pval, adb->offset); + sfld = offset2ptr(val, adb->offset); /* Check if NULL */ if (*sfld == NULL) { - if (!adb->null_tt) + if (adb->null_tt == NULL) goto err; return adb->null_tt; } @@ -216,7 +248,7 @@ const ASN1_TEMPLATE *asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt, * Convert type to a long: NB: don't check for NID_undef here because it * might be a legitimate value in the table */ - if (tt->flags & ASN1_TFLG_ADB_OID) + if ((tt->flags & ASN1_TFLG_ADB_OID) != 0) selector = OBJ_obj2nid((ASN1_OBJECT *)*sfld); else selector = ASN1_INTEGER_get((ASN1_INTEGER *)*sfld); diff --git a/crypto/asn1/x_bignum.c b/crypto/asn1/x_bignum.c index 11a2eb5a..d7abca6c 100644 --- a/crypto/asn1/x_bignum.c +++ b/crypto/asn1/x_bignum.c @@ -25,13 +25,13 @@ static int bn_new(ASN1_VALUE **pval, const ASN1_ITEM *it); static int bn_secure_new(ASN1_VALUE **pval, const ASN1_ITEM *it); static void bn_free(ASN1_VALUE **pval, const ASN1_ITEM *it); -static int bn_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, +static int bn_i2c(const ASN1_VALUE **pval, unsigned char *cont, int *putype, const ASN1_ITEM *it); static int bn_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it); static int bn_secure_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it); -static int bn_print(BIO *out, ASN1_VALUE **pval, const ASN1_ITEM *it, +static int bn_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM *it, int indent, const ASN1_PCTX *pctx); static ASN1_PRIMITIVE_FUNCS bignum_pf = { @@ -91,7 +91,7 @@ static void bn_free(ASN1_VALUE **pval, const ASN1_ITEM *it) *pval = NULL; } -static int bn_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, +static int bn_i2c(const ASN1_VALUE **pval, unsigned char *cont, int *putype, const ASN1_ITEM *it) { BIGNUM *bn; @@ -135,7 +135,7 @@ static int bn_secure_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, return bn_c2i(pval, cont, len, utype, free_cont, it); } -static int bn_print(BIO *out, ASN1_VALUE **pval, const ASN1_ITEM *it, +static int bn_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM *it, int indent, const ASN1_PCTX *pctx) { if (!BN_print(out, *(BIGNUM **)pval)) diff --git a/crypto/asn1/x_int64.c b/crypto/asn1/x_int64.c index 657e00d7..1b55f4f8 100644 --- a/crypto/asn1/x_int64.c +++ b/crypto/asn1/x_int64.c @@ -46,8 +46,8 @@ static void uint64_clear(ASN1_VALUE **pval, const ASN1_ITEM *it) **(uint64_t **)pval = 0; } -static int uint64_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, - const ASN1_ITEM *it) +static int uint64_i2c(const ASN1_VALUE **pval, unsigned char *cont, int *putype, + const ASN1_ITEM *it) { uint64_t utmp; int neg = 0; @@ -71,7 +71,7 @@ static int uint64_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, } static int uint64_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, - int utype, char *free_cont, const ASN1_ITEM *it) + int utype, char *free_cont, const ASN1_ITEM *it) { uint64_t utmp = 0; char *cp; @@ -111,7 +111,7 @@ static int uint64_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, return 1; } -static int uint64_print(BIO *out, ASN1_VALUE **pval, const ASN1_ITEM *it, +static int uint64_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM *it, int indent, const ASN1_PCTX *pctx) { if ((it->size & INTxx_FLAG_SIGNED) == INTxx_FLAG_SIGNED) @@ -141,8 +141,8 @@ static void uint32_clear(ASN1_VALUE **pval, const ASN1_ITEM *it) **(uint32_t **)pval = 0; } -static int uint32_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, - const ASN1_ITEM *it) +static int uint32_i2c(const ASN1_VALUE **pval, unsigned char *cont, int *putype, + const ASN1_ITEM *it) { uint32_t utmp; int neg = 0; @@ -173,7 +173,7 @@ static int uint32_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, #define ABS_INT32_MIN ((uint32_t)INT32_MAX + 1) static int uint32_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, - int utype, char *free_cont, const ASN1_ITEM *it) + int utype, char *free_cont, const ASN1_ITEM *it) { uint64_t utmp = 0; uint32_t utmp2 = 0; @@ -220,7 +220,7 @@ static int uint32_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, return 1; } -static int uint32_print(BIO *out, ASN1_VALUE **pval, const ASN1_ITEM *it, +static int uint32_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM *it, int indent, const ASN1_PCTX *pctx) { if ((it->size & INTxx_FLAG_SIGNED) == INTxx_FLAG_SIGNED) diff --git a/crypto/asn1/x_long.c b/crypto/asn1/x_long.c index f5da0e07..89d5e838 100644 --- a/crypto/asn1/x_long.c +++ b/crypto/asn1/x_long.c @@ -25,11 +25,11 @@ NON_EMPTY_TRANSLATION_UNIT static int long_new(ASN1_VALUE **pval, const ASN1_ITEM *it); static void long_free(ASN1_VALUE **pval, const ASN1_ITEM *it); -static int long_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, +static int long_i2c(const ASN1_VALUE **pval, unsigned char *cont, int *putype, const ASN1_ITEM *it); static int long_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it); -static int long_print(BIO *out, ASN1_VALUE **pval, const ASN1_ITEM *it, +static int long_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM *it, int indent, const ASN1_PCTX *pctx); static ASN1_PRIMITIVE_FUNCS long_pf = { @@ -86,7 +86,7 @@ static int num_bits_ulong(unsigned long value) return (int)ret; } -static int long_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, +static int long_i2c(const ASN1_VALUE **pval, unsigned char *cont, int *putype, const ASN1_ITEM *it) { long ltmp; @@ -190,7 +190,7 @@ static int long_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, return 1; } -static int long_print(BIO *out, ASN1_VALUE **pval, const ASN1_ITEM *it, +static int long_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM *it, int indent, const ASN1_PCTX *pctx) { long l; diff --git a/crypto/bn/bn_ctx.c b/crypto/bn/bn_ctx.c index d6e7605b..9e908bfb 100644 --- a/crypto/bn/bn_ctx.c +++ b/crypto/bn/bn_ctx.c @@ -7,6 +7,7 @@ * https://www.openssl.org/source/license.html */ +#include #include "internal/cryptlib.h" #include "bn_lcl.h" @@ -87,48 +88,38 @@ struct bignum_ctx { int flags; }; -/* Enable this to find BN_CTX bugs */ -#ifdef BN_CTX_DEBUG -static const char *ctxdbg_cur = NULL; -static void ctxdbg(BN_CTX *ctx) +/* Debugging functionality */ +static void ctxdbg(BIO *channel, const char *text, BN_CTX *ctx) { unsigned int bnidx = 0, fpidx = 0; BN_POOL_ITEM *item = ctx->pool.head; BN_STACK *stack = &ctx->stack; - fprintf(stderr, "(%16p): ", ctx); + + BIO_printf(channel, "%s\n", text); + BIO_printf(channel, " (%16p): ", (void*)ctx); while (bnidx < ctx->used) { - fprintf(stderr, "%03x ", item->vals[bnidx++ % BN_CTX_POOL_SIZE].dmax); + BIO_printf(channel, "%03x ", + item->vals[bnidx++ % BN_CTX_POOL_SIZE].dmax); if (!(bnidx % BN_CTX_POOL_SIZE)) item = item->next; } - fprintf(stderr, "\n"); + BIO_printf(channel, "\n"); bnidx = 0; - fprintf(stderr, " : "); + BIO_printf(channel, " %16s : ", ""); while (fpidx < stack->depth) { while (bnidx++ < stack->indexes[fpidx]) - fprintf(stderr, " "); - fprintf(stderr, "^^^ "); + BIO_printf(channel, " "); + BIO_printf(channel, "^^^ "); bnidx++; fpidx++; } - fprintf(stderr, "\n"); + BIO_printf(channel, "\n"); } -# define CTXDBG_ENTRY(str, ctx) do { \ - ctxdbg_cur = (str); \ - fprintf(stderr,"Starting %s\n", ctxdbg_cur); \ - ctxdbg(ctx); \ - } while(0) -# define CTXDBG_EXIT(ctx) do { \ - fprintf(stderr,"Ending %s\n", ctxdbg_cur); \ - ctxdbg(ctx); \ - } while(0) -# define CTXDBG_RET(ctx,ret) -#else -# define CTXDBG_ENTRY(str, ctx) -# define CTXDBG_EXIT(ctx) -# define CTXDBG_RET(ctx,ret) -#endif +#define CTXDBG(str, ctx) \ + OSSL_TRACE_BEGIN(BN_CTX) { \ + ctxdbg(trc_out, str, ctx); \ + } OSSL_TRACE_END(BN_CTX) BN_CTX *BN_CTX_new(void) @@ -158,21 +149,20 @@ void BN_CTX_free(BN_CTX *ctx) { if (ctx == NULL) return; -#ifdef BN_CTX_DEBUG - { + OSSL_TRACE_BEGIN(BN_CTX) { BN_POOL_ITEM *pool = ctx->pool.head; - fprintf(stderr, "BN_CTX_free, stack-size=%d, pool-bignums=%d\n", - ctx->stack.size, ctx->pool.size); - fprintf(stderr, "dmaxs: "); + BIO_printf(trc_out, + "BN_CTX_free(): stack-size=%d, pool-bignums=%d\n", + ctx->stack.size, ctx->pool.size); + BIO_printf(trc_out, " dmaxs: "); while (pool) { unsigned loop = 0; while (loop < BN_CTX_POOL_SIZE) - fprintf(stderr, "%02x ", pool->vals[loop++].dmax); + BIO_printf(trc_out, "%02x ", pool->vals[loop++].dmax); pool = pool->next; } - fprintf(stderr, "\n"); - } -#endif + BIO_printf(trc_out, "\n"); + } OSSL_TRACE_END(BN_CTX); BN_STACK_finish(&ctx->stack); BN_POOL_finish(&ctx->pool); OPENSSL_free(ctx); @@ -180,7 +170,7 @@ void BN_CTX_free(BN_CTX *ctx) void BN_CTX_start(BN_CTX *ctx) { - CTXDBG_ENTRY("BN_CTX_start", ctx); + CTXDBG("ENTER BN_CTX_start()", ctx); /* If we're already overflowing ... */ if (ctx->err_stack || ctx->too_many) ctx->err_stack++; @@ -189,12 +179,12 @@ void BN_CTX_start(BN_CTX *ctx) BNerr(BN_F_BN_CTX_START, BN_R_TOO_MANY_TEMPORARY_VARIABLES); ctx->err_stack++; } - CTXDBG_EXIT(ctx); + CTXDBG("LEAVE BN_CTX_start()", ctx); } void BN_CTX_end(BN_CTX *ctx) { - CTXDBG_ENTRY("BN_CTX_end", ctx); + CTXDBG("ENTER BN_CTX_end()", ctx); if (ctx->err_stack) ctx->err_stack--; else { @@ -206,14 +196,14 @@ void BN_CTX_end(BN_CTX *ctx) /* Unjam "too_many" in case "get" had failed */ ctx->too_many = 0; } - CTXDBG_EXIT(ctx); + CTXDBG("LEAVE BN_CTX_end()", ctx); } BIGNUM *BN_CTX_get(BN_CTX *ctx) { BIGNUM *ret; - CTXDBG_ENTRY("BN_CTX_get", ctx); + CTXDBG("ENTER BN_CTX_get()", ctx); if (ctx->err_stack || ctx->too_many) return NULL; if ((ret = BN_POOL_get(&ctx->pool, ctx->flags)) == NULL) { @@ -230,7 +220,7 @@ BIGNUM *BN_CTX_get(BN_CTX *ctx) /* clear BN_FLG_CONSTTIME if leaked from previous frames */ ret->flags &= (~BN_FLG_CONSTTIME); ctx->used++; - CTXDBG_RET(ctx, ret); + CTXDBG("LEAVE BN_CTX_get()", ctx); return ret; } diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c index 494ee49b..6de17c3b 100644 --- a/crypto/bn/bn_lib.c +++ b/crypto/bn/bn_lib.c @@ -536,6 +536,24 @@ int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen) return tolen; } +BIGNUM *BN_native2bn(const unsigned char *s, int len, BIGNUM *ret) +{ +#ifdef B_ENDIAN + return BN_bin2bn(s, len, ret); +#else + return BN_lebin2bn(s, len, ret); +#endif +} + +int BN_bn2nativepad(const BIGNUM *a, unsigned char *to, int tolen) +{ +#ifdef B_ENDIAN + return BN_bn2binpad(a, to, tolen); +#else + return BN_bn2lebinpad(a, to, tolen); +#endif +} + int BN_ucmp(const BIGNUM *a, const BIGNUM *b) { int i; @@ -695,6 +713,9 @@ int bn_cmp_words(const BN_ULONG *a, const BN_ULONG *b, int n) int i; BN_ULONG aa, bb; + if (n == 0) + return 0; + aa = a[n - 1]; bb = b[n - 1]; if (aa != bb) diff --git a/crypto/build.info b/crypto/build.info index 94ed06e6..e3e9ceee 100644 --- a/crypto/build.info +++ b/crypto/build.info @@ -13,6 +13,7 @@ SOURCE[../libcrypto]=\ ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fopen.c ctype.c \ threads_pthread.c threads_win.c threads_none.c getenv.c \ o_init.c o_fips.c mem_sec.c init.c context.c sparse_array.c \ + trace.c \ {- $target{cpuid_asm_src} -} {- $target{uplink_aux_src} -} DEPEND[cversion.o]=buildinf.h diff --git a/crypto/cms/cms_dd.c b/crypto/cms/cms_dd.c index 0227180f..8bdbdfde 100644 --- a/crypto/cms/cms_dd.c +++ b/crypto/cms/cms_dd.c @@ -45,14 +45,14 @@ CMS_ContentInfo *cms_DigestedData_create(const EVP_MD *md) return NULL; } -BIO *cms_DigestedData_init_bio(CMS_ContentInfo *cms) +BIO *cms_DigestedData_init_bio(const CMS_ContentInfo *cms) { CMS_DigestedData *dd; dd = cms->d.digestedData; return cms_DigestAlgorithm_init_bio(dd->digestAlgorithm); } -int cms_DigestedData_do_final(CMS_ContentInfo *cms, BIO *chain, int verify) +int cms_DigestedData_do_final(const CMS_ContentInfo *cms, BIO *chain, int verify) { EVP_MD_CTX *mctx = EVP_MD_CTX_new(); unsigned char md[EVP_MAX_MD_SIZE]; diff --git a/crypto/cms/cms_enc.c b/crypto/cms/cms_enc.c index 13d85780..d3a087b3 100644 --- a/crypto/cms/cms_enc.c +++ b/crypto/cms/cms_enc.c @@ -204,7 +204,7 @@ int CMS_EncryptedData_set1_key(CMS_ContentInfo *cms, const EVP_CIPHER *ciph, return cms_EncryptedContent_init(ec, ciph, key, keylen); } -BIO *cms_EncryptedData_init_bio(CMS_ContentInfo *cms) +BIO *cms_EncryptedData_init_bio(const CMS_ContentInfo *cms) { CMS_EncryptedData *enc = cms->d.encryptedData; if (enc->encryptedContentInfo->cipher && enc->unprotectedAttrs) diff --git a/crypto/cms/cms_env.c b/crypto/cms/cms_env.c index 187b7214..acfbf8c5 100644 --- a/crypto/cms/cms_env.c +++ b/crypto/cms/cms_env.c @@ -289,7 +289,7 @@ int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey) /* Encrypt content key in key transport recipient info */ -static int cms_RecipientInfo_ktri_encrypt(CMS_ContentInfo *cms, +static int cms_RecipientInfo_ktri_encrypt(const CMS_ContentInfo *cms, CMS_RecipientInfo *ri) { CMS_KeyTransRecipientInfo *ktri; @@ -610,7 +610,7 @@ int CMS_RecipientInfo_set0_key(CMS_RecipientInfo *ri, /* Encrypt content key in KEK recipient info */ -static int cms_RecipientInfo_kekri_encrypt(CMS_ContentInfo *cms, +static int cms_RecipientInfo_kekri_encrypt(const CMS_ContentInfo *cms, CMS_RecipientInfo *ri) { CMS_EncryptedContentInfo *ec; @@ -755,7 +755,7 @@ int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri) } } -int CMS_RecipientInfo_encrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri) +int CMS_RecipientInfo_encrypt(const CMS_ContentInfo *cms, CMS_RecipientInfo *ri) { switch (ri->type) { case CMS_RECIPINFO_TRANS: @@ -840,7 +840,7 @@ static void cms_env_set_version(CMS_EnvelopedData *env) env->version = 0; } -BIO *cms_EnvelopedData_init_bio(CMS_ContentInfo *cms) +BIO *cms_EnvelopedData_init_bio(const CMS_ContentInfo *cms) { CMS_EncryptedContentInfo *ec; STACK_OF(CMS_RecipientInfo) *rinfos; diff --git a/crypto/cms/cms_io.c b/crypto/cms/cms_io.c index ad418844..f3b58740 100644 --- a/crypto/cms/cms_io.c +++ b/crypto/cms/cms_io.c @@ -14,6 +14,7 @@ #include #include "cms_lcl.h" +/* unfortunately cannot constify BIO_new_NDEF() due to this and PKCS7_stream() */ int CMS_stream(unsigned char ***boundary, CMS_ContentInfo *cms) { ASN1_OCTET_STRING **pos; diff --git a/crypto/cms/cms_kari.c b/crypto/cms/cms_kari.c index 9f1f5d55..866749a1 100644 --- a/crypto/cms/cms_kari.c +++ b/crypto/cms/cms_kari.c @@ -363,7 +363,7 @@ static int cms_wrap_init(CMS_KeyAgreeRecipientInfo *kari, /* Encrypt content key in key agreement recipient info */ -int cms_RecipientInfo_kari_encrypt(CMS_ContentInfo *cms, +int cms_RecipientInfo_kari_encrypt(const CMS_ContentInfo *cms, CMS_RecipientInfo *ri) { CMS_KeyAgreeRecipientInfo *kari; diff --git a/crypto/cms/cms_lcl.h b/crypto/cms/cms_lcl.h index be4f93ea..64b673ac 100644 --- a/crypto/cms/cms_lcl.h +++ b/crypto/cms/cms_lcl.h @@ -368,8 +368,8 @@ BIO *cms_content_bio(CMS_ContentInfo *cms); CMS_ContentInfo *cms_Data_create(void); CMS_ContentInfo *cms_DigestedData_create(const EVP_MD *md); -BIO *cms_DigestedData_init_bio(CMS_ContentInfo *cms); -int cms_DigestedData_do_final(CMS_ContentInfo *cms, BIO *chain, int verify); +BIO *cms_DigestedData_init_bio(const CMS_ContentInfo *cms); +int cms_DigestedData_do_final(const CMS_ContentInfo *cms, BIO *chain, int verify); BIO *cms_SignedData_init_bio(CMS_ContentInfo *cms); int cms_SignedData_final(CMS_ContentInfo *cms, BIO *chain); @@ -382,7 +382,7 @@ int cms_SignerIdentifier_get0_signer_id(CMS_SignerIdentifier *sid, int cms_SignerIdentifier_cert_cmp(CMS_SignerIdentifier *sid, X509 *cert); CMS_ContentInfo *cms_CompressedData_create(int comp_nid); -BIO *cms_CompressedData_init_bio(CMS_ContentInfo *cms); +BIO *cms_CompressedData_init_bio(const CMS_ContentInfo *cms); BIO *cms_DigestAlgorithm_init_bio(X509_ALGOR *digestAlgorithm); int cms_DigestAlgorithm_find_ctx(EVP_MD_CTX *mctx, BIO *chain, @@ -394,7 +394,7 @@ int cms_set1_ias(CMS_IssuerAndSerialNumber **pias, X509 *cert); int cms_set1_keyid(ASN1_OCTET_STRING **pkeyid, X509 *cert); BIO *cms_EncryptedContent_init_bio(CMS_EncryptedContentInfo *ec); -BIO *cms_EncryptedData_init_bio(CMS_ContentInfo *cms); +BIO *cms_EncryptedData_init_bio(const CMS_ContentInfo *cms); int cms_EncryptedContent_init(CMS_EncryptedContentInfo *ec, const EVP_CIPHER *cipher, const unsigned char *key, size_t keylen); @@ -403,18 +403,18 @@ int cms_Receipt_verify(CMS_ContentInfo *cms, CMS_ContentInfo *req_cms); int cms_msgSigDigest_add1(CMS_SignerInfo *dest, CMS_SignerInfo *src); ASN1_OCTET_STRING *cms_encode_Receipt(CMS_SignerInfo *si); -BIO *cms_EnvelopedData_init_bio(CMS_ContentInfo *cms); +BIO *cms_EnvelopedData_init_bio(const CMS_ContentInfo *cms); CMS_EnvelopedData *cms_get0_enveloped(CMS_ContentInfo *cms); int cms_env_asn1_ctrl(CMS_RecipientInfo *ri, int cmd); int cms_pkey_get_ri_type(EVP_PKEY *pk); /* KARI routines */ int cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip, EVP_PKEY *pk, unsigned int flags); -int cms_RecipientInfo_kari_encrypt(CMS_ContentInfo *cms, +int cms_RecipientInfo_kari_encrypt(const CMS_ContentInfo *cms, CMS_RecipientInfo *ri); /* PWRI routines */ -int cms_RecipientInfo_pwri_crypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri, +int cms_RecipientInfo_pwri_crypt(const CMS_ContentInfo *cms, CMS_RecipientInfo *ri, int en_de); DECLARE_ASN1_ITEM(CMS_CertificateChoices) diff --git a/crypto/cms/cms_lib.c b/crypto/cms/cms_lib.c index c092341f..29eacce2 100644 --- a/crypto/cms/cms_lib.c +++ b/crypto/cms/cms_lib.c @@ -104,6 +104,7 @@ BIO *CMS_dataInit(CMS_ContentInfo *cms, BIO *icont) } +/* unfortunately cannot constify SMIME_write_ASN1() due to this function */ int CMS_dataFinal(CMS_ContentInfo *cms, BIO *cmsbio) { ASN1_OCTET_STRING **pos = CMS_get0_content(cms); diff --git a/crypto/cms/cms_pwri.c b/crypto/cms/cms_pwri.c index 980252d1..f0502a45 100644 --- a/crypto/cms/cms_pwri.c +++ b/crypto/cms/cms_pwri.c @@ -273,7 +273,7 @@ static int kek_wrap_key(unsigned char *out, size_t *outlen, /* Encrypt/Decrypt content key in PWRI recipient info */ -int cms_RecipientInfo_pwri_crypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri, +int cms_RecipientInfo_pwri_crypt(const CMS_ContentInfo *cms, CMS_RecipientInfo *ri, int en_de) { CMS_EncryptedContentInfo *ec; diff --git a/crypto/dh/dh_ameth.c b/crypto/dh/dh_ameth.c index e9eace14..1424c41a 100644 --- a/crypto/dh/dh_ameth.c +++ b/crypto/dh/dh_ameth.c @@ -418,7 +418,7 @@ static int int_dh_param_copy(DH *to, const DH *from, int is_x942) return 1; } -DH *DHparams_dup(DH *dh) +DH *DHparams_dup(const DH *dh) { DH *ret; ret = DH_new(); diff --git a/crypto/dh/dh_asn1.c b/crypto/dh/dh_asn1.c index 89acc7dc..aabdfa83 100644 --- a/crypto/dh/dh_asn1.c +++ b/crypto/dh/dh_asn1.c @@ -37,7 +37,7 @@ ASN1_SEQUENCE_cb(DHparams, dh_cb) = { ASN1_OPT_EMBED(DH, length, ZINT32), } ASN1_SEQUENCE_END_cb(DH, DHparams) -IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(DH, DHparams, DHparams) +IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(DH, DHparams, DHparams) /* * Internal only structures for handling X9.42 DH: this gets translated to or @@ -74,7 +74,7 @@ int_dhx942_dh *d2i_int_dhx(int_dhx942_dh **a, const unsigned char **pp, long length); int i2d_int_dhx(const int_dhx942_dh *a, unsigned char **pp); -IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(int_dhx942_dh, DHxparams, int_dhx) +IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(int_dhx942_dh, DHxparams, int_dhx) /* Application public function: read in X9.42 DH parameters into DH structure */ diff --git a/crypto/dh/dh_pmeth.c b/crypto/dh/dh_pmeth.c index 309a176b..34979152 100644 --- a/crypto/dh/dh_pmeth.c +++ b/crypto/dh/dh_pmeth.c @@ -77,7 +77,7 @@ static void pkey_dh_cleanup(EVP_PKEY_CTX *ctx) } -static int pkey_dh_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) +static int pkey_dh_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) { DH_PKEY_CTX *dctx, *sctx; if (!pkey_dh_init(dst)) diff --git a/crypto/dsa/dsa_asn1.c b/crypto/dsa/dsa_asn1.c index 6be9a1e4..acf80c65 100644 --- a/crypto/dsa/dsa_asn1.c +++ b/crypto/dsa/dsa_asn1.c @@ -19,7 +19,7 @@ ASN1_SEQUENCE(DSA_SIG) = { ASN1_SIMPLE(DSA_SIG, s, CBIGNUM) } static_ASN1_SEQUENCE_END(DSA_SIG) -IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(DSA_SIG, DSA_SIG, DSA_SIG) +IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(DSA_SIG, DSA_SIG, DSA_SIG) DSA_SIG *DSA_SIG_new(void) { @@ -83,7 +83,7 @@ ASN1_SEQUENCE_cb(DSAPrivateKey, dsa_cb) = { ASN1_SIMPLE(DSA, priv_key, CBIGNUM) } static_ASN1_SEQUENCE_END_cb(DSA, DSAPrivateKey) -IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(DSA, DSAPrivateKey, DSAPrivateKey) +IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(DSA, DSAPrivateKey, DSAPrivateKey) ASN1_SEQUENCE_cb(DSAparams, dsa_cb) = { ASN1_SIMPLE(DSA, p, BIGNUM), @@ -91,7 +91,7 @@ ASN1_SEQUENCE_cb(DSAparams, dsa_cb) = { ASN1_SIMPLE(DSA, g, BIGNUM), } static_ASN1_SEQUENCE_END_cb(DSA, DSAparams) -IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(DSA, DSAparams, DSAparams) +IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(DSA, DSAparams, DSAparams) ASN1_SEQUENCE_cb(DSAPublicKey, dsa_cb) = { ASN1_SIMPLE(DSA, pub_key, BIGNUM), @@ -100,9 +100,9 @@ ASN1_SEQUENCE_cb(DSAPublicKey, dsa_cb) = { ASN1_SIMPLE(DSA, g, BIGNUM) } static_ASN1_SEQUENCE_END_cb(DSA, DSAPublicKey) -IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(DSA, DSAPublicKey, DSAPublicKey) +IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(DSA, DSAPublicKey, DSAPublicKey) -DSA *DSAparams_dup(DSA *dsa) +DSA *DSAparams_dup(const DSA *dsa) { return ASN1_item_dup(ASN1_ITEM_rptr(DSAparams), dsa); } diff --git a/crypto/dsa/dsa_pmeth.c b/crypto/dsa/dsa_pmeth.c index 0786fc27..cfba91ca 100644 --- a/crypto/dsa/dsa_pmeth.c +++ b/crypto/dsa/dsa_pmeth.c @@ -47,7 +47,7 @@ static int pkey_dsa_init(EVP_PKEY_CTX *ctx) return 1; } -static int pkey_dsa_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) +static int pkey_dsa_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) { DSA_PKEY_CTX *dctx, *sctx; diff --git a/crypto/ec/ec_ameth.c b/crypto/ec/ec_ameth.c index 54d55ad4..2beeb827 100644 --- a/crypto/ec/ec_ameth.c +++ b/crypto/ec/ec_ameth.c @@ -504,7 +504,12 @@ static int ec_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) #endif case ASN1_PKEY_CTRL_DEFAULT_MD_NID: - *(int *)arg2 = NID_sha256; + if (EVP_PKEY_id(pkey) == EVP_PKEY_SM2) { + /* For SM2, the only valid digest-alg is SM3 */ + *(int *)arg2 = NID_sm3; + } else { + *(int *)arg2 = NID_sha256; + } return 1; case ASN1_PKEY_CTRL_SET1_TLS_ENCPT: diff --git a/crypto/ec/ec_asn1.c b/crypto/ec/ec_asn1.c index ff506713..35ff9488 100644 --- a/crypto/ec/ec_asn1.c +++ b/crypto/ec/ec_asn1.c @@ -217,9 +217,9 @@ ASN1_CHOICE(ECPKPARAMETERS) = { ASN1_SIMPLE(ECPKPARAMETERS, value.implicitlyCA, ASN1_NULL) } ASN1_CHOICE_END(ECPKPARAMETERS) -DECLARE_ASN1_FUNCTIONS_const(ECPKPARAMETERS) -DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECPKPARAMETERS, ECPKPARAMETERS) -IMPLEMENT_ASN1_FUNCTIONS_const(ECPKPARAMETERS) +DECLARE_ASN1_FUNCTIONS(ECPKPARAMETERS) +DECLARE_ASN1_ENCODE_FUNCTIONS_name(ECPKPARAMETERS, ECPKPARAMETERS) +IMPLEMENT_ASN1_FUNCTIONS(ECPKPARAMETERS) ASN1_SEQUENCE(EC_PRIVATEKEY) = { ASN1_EMBED(EC_PRIVATEKEY, version, INT32), @@ -228,9 +228,9 @@ ASN1_SEQUENCE(EC_PRIVATEKEY) = { ASN1_EXP_OPT(EC_PRIVATEKEY, publicKey, ASN1_BIT_STRING, 1) } static_ASN1_SEQUENCE_END(EC_PRIVATEKEY) -DECLARE_ASN1_FUNCTIONS_const(EC_PRIVATEKEY) -DECLARE_ASN1_ENCODE_FUNCTIONS_const(EC_PRIVATEKEY, EC_PRIVATEKEY) -IMPLEMENT_ASN1_FUNCTIONS_const(EC_PRIVATEKEY) +DECLARE_ASN1_FUNCTIONS(EC_PRIVATEKEY) +DECLARE_ASN1_ENCODE_FUNCTIONS_name(EC_PRIVATEKEY, EC_PRIVATEKEY) +IMPLEMENT_ASN1_FUNCTIONS(EC_PRIVATEKEY) /* some declarations of internal function */ @@ -968,7 +968,7 @@ EC_KEY *d2i_ECPrivateKey(EC_KEY **a, const unsigned char **in, long len) return NULL; } -int i2d_ECPrivateKey(EC_KEY *a, unsigned char **out) +int i2d_ECPrivateKey(const EC_KEY *a, unsigned char **out) { int ret = 0, ok = 0; unsigned char *priv= NULL, *pub= NULL; @@ -1040,7 +1040,7 @@ int i2d_ECPrivateKey(EC_KEY *a, unsigned char **out) return (ok ? ret : 0); } -int i2d_ECParameters(EC_KEY *a, unsigned char **out) +int i2d_ECParameters(const EC_KEY *a, unsigned char **out) { if (a == NULL) { ECerr(EC_F_I2D_ECPARAMETERS, ERR_R_PASSED_NULL_PARAMETER); @@ -1142,9 +1142,9 @@ ASN1_SEQUENCE(ECDSA_SIG) = { ASN1_SIMPLE(ECDSA_SIG, s, CBIGNUM) } static_ASN1_SEQUENCE_END(ECDSA_SIG) -DECLARE_ASN1_FUNCTIONS_const(ECDSA_SIG) -DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECDSA_SIG, ECDSA_SIG) -IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(ECDSA_SIG, ECDSA_SIG, ECDSA_SIG) +DECLARE_ASN1_FUNCTIONS(ECDSA_SIG) +DECLARE_ASN1_ENCODE_FUNCTIONS_name(ECDSA_SIG, ECDSA_SIG) +IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(ECDSA_SIG, ECDSA_SIG, ECDSA_SIG) ECDSA_SIG *ECDSA_SIG_new(void) { diff --git a/crypto/ec/ec_lcl.h b/crypto/ec/ec_lcl.h index 312b5389..6b90ef3a 100644 --- a/crypto/ec/ec_lcl.h +++ b/crypto/ec/ec_lcl.h @@ -15,7 +15,6 @@ #include #include "internal/refcount.h" #include "internal/ec_int.h" -#include "curve448/curve448_lcl.h" #if defined(__SUNPRO_C) # if __SUNPRO_C >= 0x520 diff --git a/crypto/ec/ec_pmeth.c b/crypto/ec/ec_pmeth.c index 5595edc6..68211ed1 100644 --- a/crypto/ec/ec_pmeth.c +++ b/crypto/ec/ec_pmeth.c @@ -53,7 +53,7 @@ static int pkey_ec_init(EVP_PKEY_CTX *ctx) return 1; } -static int pkey_ec_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) +static int pkey_ec_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) { EC_PKEY_CTX *dctx, *sctx; if (!pkey_ec_init(dst)) diff --git a/crypto/ec/ecx_meth.c b/crypto/ec/ecx_meth.c index fbe97272..7d133a3c 100644 --- a/crypto/ec/ecx_meth.c +++ b/crypto/ec/ecx_meth.c @@ -15,6 +15,7 @@ #include "internal/asn1_int.h" #include "internal/evp_int.h" #include "ec_lcl.h" +#include "curve448/curve448_lcl.h" #define X25519_BITS 253 #define X25519_SECURITY_BITS 128 diff --git a/crypto/engine/eng_cnf.c b/crypto/engine/eng_cnf.c index bece327c..c87a8a14 100644 --- a/crypto/engine/eng_cnf.c +++ b/crypto/engine/eng_cnf.c @@ -9,8 +9,7 @@ #include "eng_int.h" #include - -/* #define ENGINE_CONF_DEBUG */ +#include /* ENGINE config module */ @@ -50,9 +49,7 @@ static int int_engine_configure(const char *name, const char *value, const CONF int soft = 0; name = skip_dot(name); -#ifdef ENGINE_CONF_DEBUG - fprintf(stderr, "Configuring engine %s\n", name); -#endif + OSSL_TRACE1(ENGINE_CONF, "Configuring engine %s\n", name); /* Value is a section containing ENGINE commands */ ecmds = NCONF_get_section(cnf, value); @@ -66,10 +63,8 @@ static int int_engine_configure(const char *name, const char *value, const CONF ecmd = sk_CONF_VALUE_value(ecmds, i); ctrlname = skip_dot(ecmd->name); ctrlvalue = ecmd->value; -#ifdef ENGINE_CONF_DEBUG - fprintf(stderr, "ENGINE conf: doing ctrl(%s,%s)\n", ctrlname, - ctrlvalue); -#endif + OSSL_TRACE2(ENGINE_CONF, "ENGINE conf: doing ctrl(%s,%s)\n", + ctrlname, ctrlvalue); /* First handle some special pseudo ctrls */ @@ -153,10 +148,8 @@ static int int_engine_module_init(CONF_IMODULE *md, const CONF *cnf) STACK_OF(CONF_VALUE) *elist; CONF_VALUE *cval; int i; -#ifdef ENGINE_CONF_DEBUG - fprintf(stderr, "Called engine module: name %s, value %s\n", - CONF_imodule_get_name(md), CONF_imodule_get_value(md)); -#endif + OSSL_TRACE2(ENGINE_CONF, "Called engine module: name %s, value %s\n", + CONF_imodule_get_name(md), CONF_imodule_get_value(md)); /* Value is a section containing ENGINEs to configure */ elist = NCONF_get_section(cnf, CONF_imodule_get_value(md)); diff --git a/crypto/engine/eng_int.h b/crypto/engine/eng_int.h index 2a32411a..d4561756 100644 --- a/crypto/engine/eng_int.h +++ b/crypto/engine/eng_int.h @@ -11,6 +11,7 @@ #ifndef HEADER_ENGINE_INT_H # define HEADER_ENGINE_INT_H +# include # include "internal/cryptlib.h" # include "internal/engine.h" # include "internal/thread_once.h" @@ -19,27 +20,20 @@ extern CRYPTO_RWLOCK *global_engine_lock; /* - * If we compile with this symbol defined, then both reference counts in the - * ENGINE structure will be monitored with a line of output on stderr for - * each change. This prints the engine's pointer address (truncated to - * unsigned int), "struct" or "funct" to indicate the reference type, the - * before and after reference count, and the file:line-number pair. The - * "engine_ref_debug" statements must come *after* the change. + * This prints the engine's pointer address (truncated to unsigned int), + * "struct" or "funct" to indicate the reference type, the before and after + * reference count, and the file:line-number pair. The "engine_ref_debug" + * statements must come *after* the change. */ -# ifdef ENGINE_REF_COUNT_DEBUG - -# define engine_ref_debug(e, isfunct, diff) \ - fprintf(stderr, "engine: %08x %s from %d to %d (%s:%d)\n", \ - (unsigned int)(e), (isfunct ? "funct" : "struct"), \ - ((isfunct) ? ((e)->funct_ref - (diff)) : ((e)->struct_ref - (diff))), \ - ((isfunct) ? (e)->funct_ref : (e)->struct_ref), \ - (OPENSSL_FILE), (OPENSSL_LINE)) - -# else - -# define engine_ref_debug(e, isfunct, diff) - -# endif +# define engine_ref_debug(e, isfunct, diff) \ + OSSL_TRACE6(ENGINE_REF_COUNT, \ + "engine: %p %s from %d to %d (%s:%d)\n", \ + (void *)(e), (isfunct ? "funct" : "struct"), \ + ((isfunct) \ + ? ((e)->funct_ref - (diff)) \ + : ((e)->struct_ref - (diff))), \ + ((isfunct) ? (e)->funct_ref : (e)->struct_ref), \ + (OPENSSL_FILE), (OPENSSL_LINE)) /* * Any code that will need cleanup operations should use these functions to @@ -58,14 +52,6 @@ void engine_cleanup_add_last(ENGINE_CLEANUP_CB *cb); /* We need stacks of ENGINEs for use in eng_table.c */ DEFINE_STACK_OF(ENGINE) -/* - * If this symbol is defined then engine_table_select(), the function that is - * used by RSA, DSA (etc) code to select registered ENGINEs, cache defaults - * and functional references (etc), will display debugging summaries to - * stderr. - */ -/* #define ENGINE_TABLE_DEBUG */ - /* * This represents an implementation table. Dependent code should instantiate * it as a (ENGINE_TABLE *) pointer value set initially to NULL. @@ -76,13 +62,10 @@ int engine_table_register(ENGINE_TABLE **table, ENGINE_CLEANUP_CB *cleanup, int setdefault); void engine_table_unregister(ENGINE_TABLE **table, ENGINE *e); void engine_table_cleanup(ENGINE_TABLE **table); -# ifndef ENGINE_TABLE_DEBUG -ENGINE *engine_table_select(ENGINE_TABLE **table, int nid); -# else -ENGINE *engine_table_select_tmp(ENGINE_TABLE **table, int nid, const char *f, +ENGINE *engine_table_select_int(ENGINE_TABLE **table, int nid, const char *f, int l); -# define engine_table_select(t,n) engine_table_select_tmp(t,n,OPENSSL_FILE,OPENSSL_LINE) -# endif +# define engine_table_select(t,n) \ + engine_table_select_int(t,n,OPENSSL_FILE,OPENSSL_LINE) typedef void (engine_table_doall_cb) (int nid, STACK_OF(ENGINE) *sk, ENGINE *def, void *arg); void engine_table_doall(ENGINE_TABLE *table, engine_table_doall_cb *cb, diff --git a/crypto/engine/eng_table.c b/crypto/engine/eng_table.c index b0e3ebbb..c3afa583 100644 --- a/crypto/engine/eng_table.c +++ b/crypto/engine/eng_table.c @@ -10,6 +10,7 @@ #include "internal/cryptlib.h" #include #include +#include #include "eng_int.h" /* The type of the items in the table */ @@ -189,29 +190,24 @@ void engine_table_cleanup(ENGINE_TABLE **table) } /* return a functional reference for a given 'nid' */ -#ifndef ENGINE_TABLE_DEBUG -ENGINE *engine_table_select(ENGINE_TABLE **table, int nid) -#else -ENGINE *engine_table_select_tmp(ENGINE_TABLE **table, int nid, const char *f, +ENGINE *engine_table_select_int(ENGINE_TABLE **table, int nid, const char *f, int l) -#endif { ENGINE *ret = NULL; ENGINE_PILE tmplate, *fnd = NULL; int initres, loop = 0; if (!(*table)) { -#ifdef ENGINE_TABLE_DEBUG - fprintf(stderr, "engine_table_dbg: %s:%d, nid=%d, nothing " - "registered!\n", f, l, nid); -#endif + OSSL_TRACE3(ENGINE_TABLE, + "%s:%d, nid=%d, nothing registered!\n", + f, l, nid); return NULL; } ERR_set_mark(); CRYPTO_THREAD_write_lock(global_engine_lock); /* * Check again inside the lock otherwise we could race against cleanup - * operations. But don't worry about a fprintf(stderr). + * operations. But don't worry about a debug printout */ if (!int_table_check(table, 0)) goto end; @@ -220,10 +216,9 @@ ENGINE *engine_table_select_tmp(ENGINE_TABLE **table, int nid, const char *f, if (!fnd) goto end; if (fnd->funct && engine_unlocked_init(fnd->funct)) { -#ifdef ENGINE_TABLE_DEBUG - fprintf(stderr, "engine_table_dbg: %s:%d, nid=%d, using " - "ENGINE '%s' cached\n", f, l, nid, fnd->funct->id); -#endif + OSSL_TRACE4(ENGINE_TABLE, + "%s:%d, nid=%d, using ENGINE '%s' cached\n", + f, l, nid, fnd->funct->id); ret = fnd->funct; goto end; } @@ -234,10 +229,10 @@ ENGINE *engine_table_select_tmp(ENGINE_TABLE **table, int nid, const char *f, trynext: ret = sk_ENGINE_value(fnd->sk, loop++); if (!ret) { -#ifdef ENGINE_TABLE_DEBUG - fprintf(stderr, "engine_table_dbg: %s:%d, nid=%d, no " - "registered implementations would initialise\n", f, l, nid); -#endif + OSSL_TRACE3(ENGINE_TABLE, + "%s:%d, nid=%d, " + "no registered implementations would initialise\n", + f, l, nid); goto end; } /* Try to initialise the ENGINE? */ @@ -252,15 +247,13 @@ ENGINE *engine_table_select_tmp(ENGINE_TABLE **table, int nid, const char *f, if (fnd->funct) engine_unlocked_finish(fnd->funct, 0); fnd->funct = ret; -#ifdef ENGINE_TABLE_DEBUG - fprintf(stderr, "engine_table_dbg: %s:%d, nid=%d, " - "setting default to '%s'\n", f, l, nid, ret->id); -#endif + OSSL_TRACE4(ENGINE_TABLE, + "%s:%d, nid=%d, setting default to '%s'\n", + f, l, nid, ret->id); } -#ifdef ENGINE_TABLE_DEBUG - fprintf(stderr, "engine_table_dbg: %s:%d, nid=%d, using " - "newly initialised '%s'\n", f, l, nid, ret->id); -#endif + OSSL_TRACE4(ENGINE_TABLE, + "%s:%d, nid=%d, using newly initialised '%s'\n", + f, l, nid, ret->id); goto end; } goto trynext; @@ -271,14 +264,14 @@ ENGINE *engine_table_select_tmp(ENGINE_TABLE **table, int nid, const char *f, */ if (fnd) fnd->uptodate = 1; -#ifdef ENGINE_TABLE_DEBUG if (ret) - fprintf(stderr, "engine_table_dbg: %s:%d, nid=%d, caching " - "ENGINE '%s'\n", f, l, nid, ret->id); + OSSL_TRACE4(ENGINE_TABLE, + "%s:%d, nid=%d, caching ENGINE '%s'\n", + f, l, nid, ret->id); else - fprintf(stderr, "engine_table_dbg: %s:%d, nid=%d, caching " - "'no matching ENGINE'\n", f, l, nid); -#endif + OSSL_TRACE3(ENGINE_TABLE, + "%s:%d, nid=%d, caching 'no matching ENGINE'\n", + f, l, nid); CRYPTO_THREAD_unlock(global_engine_lock); /* * Whatever happened, any failed init()s are not failures in this diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index 82c33f02..9dc9d183 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -852,6 +852,10 @@ KDF_F_KDF_SCRYPT_CTRL_UINT32:121:kdf_scrypt_ctrl_uint32 KDF_F_KDF_SCRYPT_CTRL_UINT64:122:kdf_scrypt_ctrl_uint64 KDF_F_KDF_SCRYPT_DERIVE:123:kdf_scrypt_derive KDF_F_KDF_SCRYPT_NEW:124:kdf_scrypt_new +KDF_F_KDF_SSHKDF_CTRL:130:kdf_sshkdf_ctrl +KDF_F_KDF_SSHKDF_CTRL_STR:131:kdf_sshkdf_ctrl_str +KDF_F_KDF_SSHKDF_DERIVE:132:kdf_sshkdf_derive +KDF_F_KDF_SSHKDF_NEW:133:kdf_sshkdf_new KDF_F_KDF_TLS1_PRF_CTRL_STR:125:kdf_tls1_prf_ctrl_str KDF_F_KDF_TLS1_PRF_DERIVE:126:kdf_tls1_prf_derive KDF_F_KDF_TLS1_PRF_NEW:127:kdf_tls1_prf_new @@ -2353,6 +2357,9 @@ KDF_R_MISSING_PASS:110:missing pass KDF_R_MISSING_SALT:111:missing salt KDF_R_MISSING_SECRET:107:missing secret KDF_R_MISSING_SEED:106:missing seed +KDF_R_MISSING_SESSION_ID:113:missing session id +KDF_R_MISSING_TYPE:114:missing type +KDF_R_MISSING_XCGHASH:115:missing xcghash KDF_R_UNKNOWN_PARAMETER_TYPE:103:unknown parameter type KDF_R_VALUE_ERROR:108:value error KDF_R_VALUE_MISSING:102:value missing @@ -2798,6 +2805,8 @@ SSL_R_MISSING_TMP_DH_KEY:171:missing tmp dh key SSL_R_MISSING_TMP_ECDH_KEY:311:missing tmp ecdh key SSL_R_MIXED_HANDSHAKE_AND_NON_HANDSHAKE_DATA:293:\ mixed handshake and non handshake data +SSL_R_MIXED_SPECIAL_OPERATOR_WITH_GROUPS:294:mixed special operator with groups +SSL_R_NESTED_GROUP:295:nested group SSL_R_NOT_ON_RECORD_BOUNDARY:182:not on record boundary SSL_R_NOT_REPLACING_CERTIFICATE:289:not replacing certificate SSL_R_NOT_SERVER:284:not server @@ -2906,7 +2915,9 @@ SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES:242:unable to load ssl3 md5 routines SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES:243:unable to load ssl3 sha1 routines SSL_R_UNEXPECTED_CCS_MESSAGE:262:unexpected ccs message SSL_R_UNEXPECTED_END_OF_EARLY_DATA:178:unexpected end of early data +SSL_R_UNEXPECTED_GROUP_CLOSE:296:unexpected group close SSL_R_UNEXPECTED_MESSAGE:244:unexpected message +SSL_R_UNEXPECTED_OPERATOR_IN_GROUP:297:unexpected operator in group SSL_R_UNEXPECTED_RECORD:245:unexpected record SSL_R_UNINITIALIZED:276:uninitialized SSL_R_UNKNOWN_ALERT_TYPE:246:unknown alert type diff --git a/crypto/ess/ess_asn1.c b/crypto/ess/ess_asn1.c index d1074690..0ea08e86 100644 --- a/crypto/ess/ess_asn1.c +++ b/crypto/ess/ess_asn1.c @@ -20,7 +20,7 @@ ASN1_SEQUENCE(ESS_ISSUER_SERIAL) = { ASN1_SIMPLE(ESS_ISSUER_SERIAL, serial, ASN1_INTEGER) } static_ASN1_SEQUENCE_END(ESS_ISSUER_SERIAL) -IMPLEMENT_ASN1_FUNCTIONS_const(ESS_ISSUER_SERIAL) +IMPLEMENT_ASN1_FUNCTIONS(ESS_ISSUER_SERIAL) IMPLEMENT_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) ASN1_SEQUENCE(ESS_CERT_ID) = { @@ -28,7 +28,7 @@ ASN1_SEQUENCE(ESS_CERT_ID) = { ASN1_OPT(ESS_CERT_ID, issuer_serial, ESS_ISSUER_SERIAL) } static_ASN1_SEQUENCE_END(ESS_CERT_ID) -IMPLEMENT_ASN1_FUNCTIONS_const(ESS_CERT_ID) +IMPLEMENT_ASN1_FUNCTIONS(ESS_CERT_ID) IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID) ASN1_SEQUENCE(ESS_SIGNING_CERT) = { @@ -36,7 +36,7 @@ ASN1_SEQUENCE(ESS_SIGNING_CERT) = { ASN1_SEQUENCE_OF_OPT(ESS_SIGNING_CERT, policy_info, POLICYINFO) } static_ASN1_SEQUENCE_END(ESS_SIGNING_CERT) -IMPLEMENT_ASN1_FUNCTIONS_const(ESS_SIGNING_CERT) +IMPLEMENT_ASN1_FUNCTIONS(ESS_SIGNING_CERT) IMPLEMENT_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT) ASN1_SEQUENCE(ESS_CERT_ID_V2) = { @@ -45,7 +45,7 @@ ASN1_SEQUENCE(ESS_CERT_ID_V2) = { ASN1_OPT(ESS_CERT_ID_V2, issuer_serial, ESS_ISSUER_SERIAL) } static_ASN1_SEQUENCE_END(ESS_CERT_ID_V2) -IMPLEMENT_ASN1_FUNCTIONS_const(ESS_CERT_ID_V2) +IMPLEMENT_ASN1_FUNCTIONS(ESS_CERT_ID_V2) IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID_V2) ASN1_SEQUENCE(ESS_SIGNING_CERT_V2) = { @@ -53,5 +53,5 @@ ASN1_SEQUENCE(ESS_SIGNING_CERT_V2) = { ASN1_SEQUENCE_OF_OPT(ESS_SIGNING_CERT_V2, policy_info, POLICYINFO) } static_ASN1_SEQUENCE_END(ESS_SIGNING_CERT_V2) -IMPLEMENT_ASN1_FUNCTIONS_const(ESS_SIGNING_CERT_V2) +IMPLEMENT_ASN1_FUNCTIONS(ESS_SIGNING_CERT_V2) IMPLEMENT_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT_V2) diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c index 3d2068c8..5b473bca 100644 --- a/crypto/evp/e_aes.c +++ b/crypto/evp/e_aes.c @@ -44,6 +44,7 @@ typedef struct { int ivlen; /* IV length */ int taglen; int iv_gen; /* It is OK to generate IVs */ + int iv_gen_rand; /* No IV was specified, so generate a rand IV */ int tls_aad_len; /* TLS AAD length */ uint64_t tls_enc_records; /* Number of TLS records encrypted */ ctr128_f ctr; @@ -1396,7 +1397,7 @@ static int s390x_aes_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, (OPENSSL_s390xcap_P.kma[0] & \ S390X_CAPBIT(S390X_AES_256))) -/* iv + padding length for iv lenghts != 12 */ +/* iv + padding length for iv lengths != 12 */ # define S390X_gcm_ivpadlen(i) ((((i) + 15) >> 4 << 4) + 16) /*- @@ -2890,7 +2891,7 @@ static int aes_gcm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr) return 1; case EVP_CTRL_GET_IV: - if (gctx->iv_gen != 1) + if (gctx->iv_gen != 1 && gctx->iv_gen_rand != 1) return 0; if (gctx->ivlen != arg) return 0; @@ -3202,10 +3203,35 @@ static int aes_gcm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, return rv; } +#ifdef FIPS_MODE +/* + * See SP800-38D (GCM) Section 8 "Uniqueness requirement on IVS and keys" + * + * See also 8.2.2 RBG-based construction. + * Random construction consists of a free field (which can be NULL) and a + * random field which will use a DRBG that can return at least 96 bits of + * entropy strength. (The DRBG must be seeded by the FIPS module). + */ +static int aes_gcm_iv_generate(EVP_AES_GCM_CTX *gctx, int offset) +{ + int sz = gctx->ivlen - offset; + + /* Must be at least 96 bits */ + if (sz <= 0 || gctx->ivlen < 12) + return 0; + + /* Use DRBG to generate random iv */ + if (RAND_bytes(gctx->iv + offset, sz) <= 0) + return 0; + return 1; +} +#endif /* FIPS_MODE */ + static int aes_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t len) { EVP_AES_GCM_CTX *gctx = EVP_C_DATA(EVP_AES_GCM_CTX,ctx); + /* If not set up, return error */ if (!gctx->key_set) return -1; @@ -3213,8 +3239,25 @@ static int aes_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, if (gctx->tls_aad_len >= 0) return aes_gcm_tls_cipher(ctx, out, in, len); +#ifdef FIPS_MODE + /* + * FIPS requires generation of AES-GCM IV's inside the FIPS module. + * The IV can still be set externally (the security policy will state that + * this is not FIPS compliant). There are some applications + * where setting the IV externally is the only option available. + */ + if (!gctx->iv_set) { + if (!ctx->encrypt || !aes_gcm_iv_generate(gctx, 0)) + return -1; + CRYPTO_gcm128_setiv(&gctx->gcm, gctx->iv, gctx->ivlen); + gctx->iv_set = 1; + gctx->iv_gen_rand = 1; + } +#else if (!gctx->iv_set) return -1; +#endif /* FIPS_MODE */ + if (in) { if (out == NULL) { if (CRYPTO_gcm128_aad(&gctx->gcm, in, len)) diff --git a/crypto/evp/e_chacha20_poly1305.c b/crypto/evp/e_chacha20_poly1305.c index 9b1b36f8..56832b63 100644 --- a/crypto/evp/e_chacha20_poly1305.c +++ b/crypto/evp/e_chacha20_poly1305.c @@ -30,6 +30,8 @@ typedef struct { #define data(ctx) ((EVP_CHACHA_KEY *)(ctx)->cipher_data) +#define CHACHA20_POLY1305_MAX_IVLEN 12 + static int chacha_init_key(EVP_CIPHER_CTX *ctx, const unsigned char user_key[CHACHA_KEY_SIZE], const unsigned char iv[CHACHA_CTR_SIZE], int enc) @@ -575,7 +577,7 @@ static int chacha20_poly1305_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, case EVP_CTRL_AEAD_SET_IVLEN: if (actx->draft) return -1; - if (arg <= 0 || arg > CHACHA_CTR_SIZE) + if (arg <= 0 || arg > CHACHA20_POLY1305_MAX_IVLEN) return 0; actx->nonce_len = arg; return 1; diff --git a/crypto/evp/encode.c b/crypto/evp/encode.c index 3519e3b1..ab80267c 100644 --- a/crypto/evp/encode.c +++ b/crypto/evp/encode.c @@ -134,7 +134,7 @@ void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx) OPENSSL_free(ctx); } -int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, EVP_ENCODE_CTX *sctx) +int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, const EVP_ENCODE_CTX *sctx) { memcpy(dctx, sctx, sizeof(EVP_ENCODE_CTX)); diff --git a/crypto/evp/evp_pkey.c b/crypto/evp/evp_pkey.c index 752925f1..bffe2b38 100644 --- a/crypto/evp/evp_pkey.c +++ b/crypto/evp/evp_pkey.c @@ -58,7 +58,7 @@ EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8) /* Turn a private key into a PKCS8 structure */ -PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey) +PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(const EVP_PKEY *pkey) { PKCS8_PRIV_KEY_INFO *p8 = PKCS8_PRIV_KEY_INFO_new(); if (p8 == NULL) { diff --git a/crypto/evp/kdf_lib.c b/crypto/evp/kdf_lib.c index 05f5cec3..811fe727 100644 --- a/crypto/evp/kdf_lib.c +++ b/crypto/evp/kdf_lib.c @@ -29,7 +29,8 @@ static const EVP_KDF_METHOD *standard_methods[] = { &scrypt_kdf_meth, #endif &tls1_prf_kdf_meth, - &hkdf_kdf_meth + &hkdf_kdf_meth, + &sshkdf_kdf_meth, }; DECLARE_OBJ_BSEARCH_CMP_FN(const EVP_KDF_METHOD *, const EVP_KDF_METHOD *, diff --git a/crypto/evp/mac_lib.c b/crypto/evp/mac_lib.c index 0c046439..2f46277b 100644 --- a/crypto/evp/mac_lib.c +++ b/crypto/evp/mac_lib.c @@ -48,7 +48,7 @@ void EVP_MAC_CTX_free(EVP_MAC_CTX *ctx) OPENSSL_free(ctx); } -int EVP_MAC_CTX_copy(EVP_MAC_CTX *dst, EVP_MAC_CTX *src) +int EVP_MAC_CTX_copy(EVP_MAC_CTX *dst, const EVP_MAC_CTX *src) { EVP_MAC_IMPL *macdata; diff --git a/crypto/evp/p5_crpt2.c b/crypto/evp/p5_crpt2.c index 4210e516..ac5b974e 100644 --- a/crypto/evp/p5_crpt2.c +++ b/crypto/evp/p5_crpt2.c @@ -14,16 +14,10 @@ #include #include #include +#include #include "internal/evp_int.h" #include "evp_locl.h" -/* set this to print out info about the keygen algorithm */ -/* #define OPENSSL_DEBUG_PKCS5V2 */ - -#ifdef OPENSSL_DEBUG_PKCS5V2 -static void h__dump(const unsigned char *p, int len); -#endif - int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, const unsigned char *salt, int saltlen, int iter, const EVP_MD *digest, int keylen, unsigned char *out) @@ -55,15 +49,21 @@ int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, EVP_KDF_CTX_free(kctx); -# ifdef OPENSSL_DEBUG_PKCS5V2 - fprintf(stderr, "Password:\n"); - h__dump(pass, passlen); - fprintf(stderr, "Salt:\n"); - h__dump(salt, saltlen); - fprintf(stderr, "Iteration count %d\n", iter); - fprintf(stderr, "Key:\n"); - h__dump(out, keylen); -# endif + OSSL_TRACE_BEGIN(PKCS5V2) { + BIO_printf(trc_out, "Password:\n"); + BIO_hex_string(trc_out, + 0, passlen, pass, passlen); + BIO_printf(trc_out, "\n"); + BIO_printf(trc_out, "Salt:\n"); + BIO_hex_string(trc_out, + 0, saltlen, salt, saltlen); + BIO_printf(trc_out, "\n"); + BIO_printf(trc_out, "Iteration count %d\n", iter); + BIO_printf(trc_out, "Key:\n"); + BIO_hex_string(trc_out, + 0, keylen, out, keylen); + BIO_printf(trc_out, "\n"); + } OSSL_TRACE_END(PKCS5V2); return rv; } @@ -200,12 +200,3 @@ int PKCS5_v2_PBKDF2_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, PBKDF2PARAM_free(kdf); return rv; } - -# ifdef OPENSSL_DEBUG_PKCS5V2 -static void h__dump(const unsigned char *p, int len) -{ - for (; len--; p++) - fprintf(stderr, "%02X ", *p); - fprintf(stderr, "\n"); -} -# endif diff --git a/crypto/evp/p_lib.c b/crypto/evp/p_lib.c index 5f599ab8..9a882e9e 100644 --- a/crypto/evp/p_lib.c +++ b/crypto/evp/p_lib.c @@ -460,7 +460,7 @@ int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, RSA *key) return ret; } -RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey) +RSA *EVP_PKEY_get0_RSA(const EVP_PKEY *pkey) { if (pkey->type != EVP_PKEY_RSA) { EVPerr(EVP_F_EVP_PKEY_GET0_RSA, EVP_R_EXPECTING_AN_RSA_KEY); @@ -487,7 +487,7 @@ int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key) return ret; } -DSA *EVP_PKEY_get0_DSA(EVP_PKEY *pkey) +DSA *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey) { if (pkey->type != EVP_PKEY_DSA) { EVPerr(EVP_F_EVP_PKEY_GET0_DSA, EVP_R_EXPECTING_A_DSA_KEY); @@ -515,7 +515,7 @@ int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, EC_KEY *key) return ret; } -EC_KEY *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey) +EC_KEY *EVP_PKEY_get0_EC_KEY(const EVP_PKEY *pkey) { if (pkey->type != EVP_PKEY_EC) { EVPerr(EVP_F_EVP_PKEY_GET0_EC_KEY, EVP_R_EXPECTING_A_EC_KEY); @@ -543,7 +543,7 @@ int EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *key) return ret; } -DH *EVP_PKEY_get0_DH(EVP_PKEY *pkey) +DH *EVP_PKEY_get0_DH(const EVP_PKEY *pkey) { if (pkey->type != EVP_PKEY_DH && pkey->type != EVP_PKEY_DHX) { EVPerr(EVP_F_EVP_PKEY_GET0_DH, EVP_R_EXPECTING_A_DH_KEY); diff --git a/crypto/evp/pbe_scrypt.c b/crypto/evp/pbe_scrypt.c index 72240252..cad0440e 100644 --- a/crypto/evp/pbe_scrypt.c +++ b/crypto/evp/pbe_scrypt.c @@ -10,6 +10,7 @@ #include #include #include +#include "internal/numbers.h" #ifndef OPENSSL_NO_SCRYPT diff --git a/crypto/evp/pkey_kdf.c b/crypto/evp/pkey_kdf.c index ddb682c1..f983ad2f 100644 --- a/crypto/evp/pkey_kdf.c +++ b/crypto/evp/pkey_kdf.c @@ -12,6 +12,7 @@ #include #include #include +#include "internal/numbers.h" #include "internal/evp_int.h" static int pkey_kdf_init(EVP_PKEY_CTX *ctx) diff --git a/crypto/evp/pkey_mac.c b/crypto/evp/pkey_mac.c index 3f6aa1ce..858ca287 100644 --- a/crypto/evp/pkey_mac.c +++ b/crypto/evp/pkey_mac.c @@ -71,7 +71,7 @@ static int pkey_mac_init(EVP_PKEY_CTX *ctx) static void pkey_mac_cleanup(EVP_PKEY_CTX *ctx); -static int pkey_mac_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) +static int pkey_mac_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) { MAC_PKEY_CTX *sctx, *dctx; diff --git a/crypto/evp/pmeth_lib.c b/crypto/evp/pmeth_lib.c index 51700bf9..28fa047a 100644 --- a/crypto/evp/pmeth_lib.c +++ b/crypto/evp/pmeth_lib.c @@ -250,7 +250,7 @@ EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e) return int_ctx_new(NULL, e, id); } -EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *pctx) +EVP_PKEY_CTX *EVP_PKEY_CTX_dup(const EVP_PKEY_CTX *pctx) { EVP_PKEY_CTX *rctx; if (!pctx->pmeth || !pctx->pmeth->copy) @@ -472,7 +472,7 @@ void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data) ctx->data = data; } -void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx) +void *EVP_PKEY_CTX_get_data(const EVP_PKEY_CTX *ctx) { return ctx->data; } @@ -505,7 +505,7 @@ void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth, int (*copy) (EVP_PKEY_CTX *dst, - EVP_PKEY_CTX *src)) + const EVP_PKEY_CTX *src)) { pmeth->copy = copy; } @@ -675,7 +675,7 @@ void EVP_PKEY_meth_get_init(const EVP_PKEY_METHOD *pmeth, void EVP_PKEY_meth_get_copy(const EVP_PKEY_METHOD *pmeth, int (**pcopy) (EVP_PKEY_CTX *dst, - EVP_PKEY_CTX *src)) + const EVP_PKEY_CTX *src)) { *pcopy = pmeth->copy; } diff --git a/crypto/include/internal/cryptlib_int.h b/crypto/include/internal/cryptlib_int.h index 618dadb7..422ef01d 100644 --- a/crypto/include/internal/cryptlib_int.h +++ b/crypto/include/internal/cryptlib_int.h @@ -32,4 +32,6 @@ int ossl_init_thread_start(uint64_t opts); # define OPENSSL_INIT_THREAD_ERR_STATE 0x02 # define OPENSSL_INIT_THREAD_RAND 0x04 +int ossl_trace_init(void); +void ossl_trace_cleanup(void); void ossl_malloc_setup_failures(void); diff --git a/crypto/include/internal/evp_int.h b/crypto/include/internal/evp_int.h index b3dbbe23..e55c1d9e 100644 --- a/crypto/include/internal/evp_int.h +++ b/crypto/include/internal/evp_int.h @@ -44,7 +44,7 @@ struct evp_pkey_method_st { int pkey_id; int flags; int (*init) (EVP_PKEY_CTX *ctx); - int (*copy) (EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src); + int (*copy) (EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src); void (*cleanup) (EVP_PKEY_CTX *ctx); int (*paramgen_init) (EVP_PKEY_CTX *ctx); int (*paramgen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey); @@ -168,6 +168,7 @@ extern const EVP_KDF_METHOD pbkdf2_kdf_meth; extern const EVP_KDF_METHOD scrypt_kdf_meth; extern const EVP_KDF_METHOD tls1_prf_kdf_meth; extern const EVP_KDF_METHOD hkdf_kdf_meth; +extern const EVP_KDF_METHOD sshkdf_kdf_meth; struct evp_md_st { int type; diff --git a/crypto/include/internal/sparse_array.h b/crypto/include/internal/sparse_array.h index 648e41a2..ec3fb2f9 100644 --- a/crypto/include/internal/sparse_array.h +++ b/crypto/include/internal/sparse_array.h @@ -39,25 +39,27 @@ extern "C" { return OPENSSL_SA_num((OPENSSL_SA *)sa); \ } \ static ossl_unused ossl_inline void ossl_sa_##type##_doall(const SPARSE_ARRAY_OF(type) *sa, \ - void (*leaf)(size_t, type *)) \ + void (*leaf)(ossl_uintmax_t, \ + type *)) \ { \ - OPENSSL_SA_doall((OPENSSL_SA *)sa, (void (*)(size_t, void *))leaf); \ + OPENSSL_SA_doall((OPENSSL_SA *)sa, (void (*)(ossl_uintmax_t, void *))leaf); \ } \ static ossl_unused ossl_inline \ void ossl_sa_##type##_doall_arg(const SPARSE_ARRAY_OF(type) *sa, \ - void (*leaf)(size_t, type *, void *), \ + void (*leaf)(ossl_uintmax_t, type *, void *), \ void *arg) \ { \ - OPENSSL_SA_doall_arg((OPENSSL_SA *)sa, (void (*)(size_t, void *, void *))leaf, \ + OPENSSL_SA_doall_arg((OPENSSL_SA *)sa, (void (*)(ossl_uintmax_t, void *, \ + void *))leaf, \ arg); \ } \ static ossl_unused ossl_inline type *ossl_sa_##type##_get(const SPARSE_ARRAY_OF(type) *sa, \ - size_t n) \ + ossl_uintmax_t n) \ { \ return (type *)OPENSSL_SA_get((OPENSSL_SA *)sa, n); \ } \ static ossl_unused ossl_inline int ossl_sa_##type##_set(SPARSE_ARRAY_OF(type) *sa, \ - size_t n, type *val) \ + ossl_uintmax_t n, type *val) \ { \ return OPENSSL_SA_set((OPENSSL_SA *)sa, n, (void *)val); \ } \ @@ -68,11 +70,12 @@ OPENSSL_SA *OPENSSL_SA_new(void); void OPENSSL_SA_free(OPENSSL_SA *sa); void OPENSSL_SA_free_leaves(OPENSSL_SA *sa); size_t OPENSSL_SA_num(const OPENSSL_SA *sa); -void OPENSSL_SA_doall(const OPENSSL_SA *sa, void (*leaf)(size_t, void *)); +void OPENSSL_SA_doall(const OPENSSL_SA *sa, + void (*leaf)(ossl_uintmax_t, void *)); void OPENSSL_SA_doall_arg(const OPENSSL_SA *sa, - void (*leaf)(size_t, void *, void *), void *); -void *OPENSSL_SA_get(const OPENSSL_SA *sa, size_t n); -int OPENSSL_SA_set(OPENSSL_SA *sa, size_t n, void *val); + void (*leaf)(ossl_uintmax_t, void *, void *), void *); +void *OPENSSL_SA_get(const OPENSSL_SA *sa, ossl_uintmax_t n); +int OPENSSL_SA_set(OPENSSL_SA *sa, ossl_uintmax_t n, void *val); # ifdef __cplusplus } diff --git a/crypto/init.c b/crypto/init.c index ddea63ae..12c9d627 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -27,6 +27,7 @@ #include "internal/dso_conf.h" #include "internal/dso.h" #include "internal/store.h" +#include static int stopped = 0; @@ -90,9 +91,10 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_base) { CRYPTO_THREAD_LOCAL key; -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_base: Setting up stop handlers\n"); -#endif + if (ossl_trace_init() == 0) + return 0; + + OSSL_TRACE(INIT, "ossl_init_base: setting up stop handlers\n"); #ifndef OPENSSL_NO_CRYPTO_MDEBUG ossl_malloc_setup_failures(); #endif @@ -107,9 +109,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_base) return 1; err: -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_base not ok!\n"); -#endif + OSSL_TRACE(INIT, "ossl_init_base failed!\n"); CRYPTO_THREAD_lock_free(init_lock); init_lock = NULL; @@ -158,9 +158,8 @@ DEFINE_RUN_ONCE_STATIC_ALT(ossl_init_no_register_atexit, static CRYPTO_ONCE load_crypto_nodelete = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE_STATIC(ossl_init_load_crypto_nodelete) { -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_load_crypto_nodelete()\n"); -#endif + OSSL_TRACE(INIT, "ossl_init_load_crypto_nodelete()\n"); + #if !defined(OPENSSL_NO_DSO) \ && !defined(OPENSSL_USE_NODELETE) \ && !defined(OPENSSL_NO_PINSHARED) @@ -174,10 +173,10 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_load_crypto_nodelete) | GET_MODULE_HANDLE_EX_FLAG_PIN, (void *)&base_inited, &handle); -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: obtained DSO reference? %s\n", - (ret == TRUE ? "No!" : "Yes.")); -# endif + OSSL_TRACE1(INIT, + "ossl_init_load_crypto_nodelete: " + "obtained DSO reference? %s\n", + (ret == TRUE ? "No!" : "Yes.")); return (ret == TRUE) ? 1 : 0; } # else @@ -193,15 +192,13 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_load_crypto_nodelete) return 0; dso = DSO_dsobyaddr(&base_inited, DSO_FLAG_NO_UNLOAD_ON_FREE); -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: obtained DSO reference? %s\n", - (dso == NULL ? "No!" : "Yes.")); /* * In case of No!, it is uncertain our exit()-handlers can still be * called. After dlclose() the whole library might have been unloaded * already. */ -# endif + OSSL_TRACE1(INIT, "obtained DSO reference? %s\n", + (dso == NULL ? "No!" : "Yes.")); DSO_free(dso); err_unshelve_state(err); } @@ -221,10 +218,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_load_crypto_strings) * pulling in all the error strings during static linking */ #if !defined(OPENSSL_NO_ERR) && !defined(OPENSSL_NO_AUTOERRINIT) -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_load_crypto_strings: " - "err_load_crypto_strings_int()\n"); -# endif + OSSL_TRACE(INIT, "err_load_crypto_strings_int()\n"); ret = err_load_crypto_strings_int(); load_crypto_strings_inited = 1; #endif @@ -246,10 +240,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_add_all_ciphers) * pulling in all the ciphers during static linking */ #ifndef OPENSSL_NO_AUTOALGINIT -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_add_all_ciphers: " - "openssl_add_all_ciphers_int()\n"); -# endif + OSSL_TRACE(INIT, "openssl_add_all_ciphers_int()\n"); openssl_add_all_ciphers_int(); #endif return 1; @@ -270,10 +261,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_add_all_digests) * pulling in all the ciphers during static linking */ #ifndef OPENSSL_NO_AUTOALGINIT -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_add_all_digests: " - "openssl_add_all_digests()\n"); -# endif + OSSL_TRACE(INIT, "openssl_add_all_digests()\n"); openssl_add_all_digests_int(); #endif return 1; @@ -294,10 +282,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_add_all_macs) * pulling in all the macs during static linking */ #ifndef OPENSSL_NO_AUTOALGINIT -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_add_all_macs: " - "openssl_add_all_macs_int()\n"); -# endif + OSSL_TRACE(INIT, "openssl_add_all_macs_int()\n"); openssl_add_all_macs_int(); #endif return 1; @@ -320,10 +305,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_config) } DEFINE_RUN_ONCE_STATIC_ALT(ossl_init_no_config, ossl_init_config) { -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, - "OPENSSL_INIT: ossl_init_config: openssl_no_config_int()\n"); -#endif + OSSL_TRACE(INIT, "openssl_no_config_int()\n"); openssl_no_config_int(); config_inited = 1; return 1; @@ -333,9 +315,7 @@ static CRYPTO_ONCE async = CRYPTO_ONCE_STATIC_INIT; static int async_inited = 0; DEFINE_RUN_ONCE_STATIC(ossl_init_async) { -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_async: async_init()\n"); -#endif + OSSL_TRACE(INIT, "async_init()\n"); if (!async_init()) return 0; async_inited = 1; @@ -346,22 +326,15 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_async) static CRYPTO_ONCE engine_openssl = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE_STATIC(ossl_init_engine_openssl) { -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_engine_openssl: " - "engine_load_openssl_int()\n"); -# endif + OSSL_TRACE(INIT, "engine_load_openssl_int()\n"); engine_load_openssl_int(); return 1; } - # ifndef OPENSSL_NO_RDRAND static CRYPTO_ONCE engine_rdrand = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE_STATIC(ossl_init_engine_rdrand) { -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_engine_rdrand: " - "engine_load_rdrand_int()\n"); -# endif + OSSL_TRACE(INIT, "engine_load_rdrand_int()\n"); engine_load_rdrand_int(); return 1; } @@ -369,10 +342,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_engine_rdrand) static CRYPTO_ONCE engine_dynamic = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE_STATIC(ossl_init_engine_dynamic) { -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_engine_dynamic: " - "engine_load_dynamic_int()\n"); -# endif + OSSL_TRACE(INIT, "engine_load_dynamic_int()\n"); engine_load_dynamic_int(); return 1; } @@ -381,22 +351,16 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_engine_dynamic) static CRYPTO_ONCE engine_devcrypto = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE_STATIC(ossl_init_engine_devcrypto) { -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_engine_devcrypto: " - "engine_load_devcrypto_int()\n"); -# endif + OSSL_TRACE(INIT, "engine_load_devcrypto_int()\n"); engine_load_devcrypto_int(); return 1; } # endif -# if !defined(OPENSSL_NO_HW) && !defined(OPENSSL_NO_HW_PADLOCK) +# if !defined(OPENSSL_NO_PADLOCKENG) static CRYPTO_ONCE engine_padlock = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE_STATIC(ossl_init_engine_padlock) { -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_engine_padlock: " - "engine_load_padlock_int()\n"); -# endif + OSSL_TRACE(INIT, "engine_load_padlock_int()\n"); engine_load_padlock_int(); return 1; } @@ -405,10 +369,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_engine_padlock) static CRYPTO_ONCE engine_capi = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE_STATIC(ossl_init_engine_capi) { -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_engine_capi: " - "engine_load_capi_int()\n"); -# endif + OSSL_TRACE(INIT, "engine_load_capi_int()\n"); engine_load_capi_int(); return 1; } @@ -417,10 +378,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_engine_capi) static CRYPTO_ONCE engine_afalg = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE_STATIC(ossl_init_engine_afalg) { -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_engine_afalg: " - "engine_load_afalg_int()\n"); -# endif + OSSL_TRACE(INIT, "engine_load_afalg_int()\n"); engine_load_afalg_int(); return 1; } @@ -447,26 +405,17 @@ static void ossl_init_thread_stop(struct thread_local_inits_st *locals) return; if (locals->async) { -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_thread_stop: " - "async_delete_thread_state()\n"); -#endif + OSSL_TRACE(INIT, "async_delete_thread_state()\n"); async_delete_thread_state(); } if (locals->err_state) { -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_thread_stop: " - "err_delete_thread_state()\n"); -#endif + OSSL_TRACE(INIT, "err_delete_thread_state()\n"); err_delete_thread_state(); } if (locals->rand) { -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_thread_stop: " - "drbg_delete_thread_state()\n"); -#endif + OSSL_TRACE(INIT, "drbg_delete_thread_state()\n"); drbg_delete_thread_state(); } @@ -492,26 +441,23 @@ int ossl_init_thread_start(uint64_t opts) return 0; if (opts & OPENSSL_INIT_THREAD_ASYNC) { -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_thread_start: " - "marking thread for async\n"); -#endif + OSSL_TRACE(INIT, + "ossl_init_thread_start: " + "marking thread for async\n"); locals->async = 1; } if (opts & OPENSSL_INIT_THREAD_ERR_STATE) { -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_thread_start: " - "marking thread for err_state\n"); -#endif + OSSL_TRACE(INIT, + "ossl_init_thread_start: " + "marking thread for err_state\n"); locals->err_state = 1; } if (opts & OPENSSL_INIT_THREAD_RAND) { -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_thread_start: " - "marking thread for rand\n"); -#endif + OSSL_TRACE(INIT, + "ossl_init_thread_start: " + "marking thread for rand\n"); locals->rand = 1; } @@ -557,27 +503,18 @@ void OPENSSL_cleanup(void) #ifndef OPENSSL_NO_COMP if (zlib_inited) { -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: " - "comp_zlib_cleanup_int()\n"); -#endif + OSSL_TRACE(INIT, "OPENSSL_cleanup: comp_zlib_cleanup_int()\n"); comp_zlib_cleanup_int(); } #endif if (async_inited) { -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: " - "async_deinit()\n"); -# endif + OSSL_TRACE(INIT, "OPENSSL_cleanup: async_deinit()\n"); async_deinit(); } if (load_crypto_strings_inited) { -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: " - "err_free_strings_int()\n"); -#endif + OSSL_TRACE(INIT, "OPENSSL_cleanup: err_free_strings_int()\n"); err_free_strings_int(); } @@ -585,28 +522,6 @@ void OPENSSL_cleanup(void) destructor_key.sane = -1; CRYPTO_THREAD_cleanup_local(&key); -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: " - "rand_cleanup_int()\n"); - fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: " - "conf_modules_free_int()\n"); -#ifndef OPENSSL_NO_ENGINE - fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: " - "engine_cleanup_int()\n"); -#endif - fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: " - "crypto_cleanup_all_ex_data_int()\n"); - fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: " - "bio_sock_cleanup_int()\n"); - fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: " - "bio_cleanup()\n"); - fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: " - "evp_cleanup_int()\n"); - fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: " - "obj_cleanup_int()\n"); - fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: " - "err_cleanup()\n"); -#endif /* * Note that cleanup order is important: * - rand_cleanup_int could call an ENGINE's RAND cleanup function so @@ -618,21 +533,42 @@ void OPENSSL_cleanup(void) * - ENGINEs and additional EVP algorithms might use added OIDs names so * obj_cleanup_int() must be called last */ + OSSL_TRACE(INIT, "OPENSSL_cleanup: rand_cleanup_int()\n"); rand_cleanup_int(); + + OSSL_TRACE(INIT, "OPENSSL_cleanup: rand_drbg_cleanup_int()\n"); rand_drbg_cleanup_int(); + + OSSL_TRACE(INIT, "OPENSSL_cleanup: conf_modules_free_int()\n"); conf_modules_free_int(); #ifndef OPENSSL_NO_ENGINE + OSSL_TRACE(INIT, "OPENSSL_cleanup: engine_cleanup_int()\n"); engine_cleanup_int(); #endif + OSSL_TRACE(INIT, "OPENSSL_cleanup: ossl_store_cleanup_int()\n"); ossl_store_cleanup_int(); + + OSSL_TRACE(INIT, "OPENSSL_cleanup: crypto_cleanup_all_ex_data_int()\n"); crypto_cleanup_all_ex_data_int(); + + OSSL_TRACE(INIT, "OPENSSL_cleanup: bio_cleanup()\n"); bio_cleanup(); + + OSSL_TRACE(INIT, "OPENSSL_cleanup: evp_cleanup_int()\n"); evp_cleanup_int(); + + OSSL_TRACE(INIT, "OPENSSL_cleanup: obj_cleanup_int()\n"); obj_cleanup_int(); + + OSSL_TRACE(INIT, "OPENSSL_cleanup: err_int()\n"); err_cleanup(); + OSSL_TRACE(INIT, "OPENSSL_cleanup: CRYPTO_secure_malloc_done()\n"); CRYPTO_secure_malloc_done(); + OSSL_TRACE(INIT, "OPENSSL_cleanup: ossl_trace_cleanup()\n"); + ossl_trace_cleanup(); + base_inited = 0; } @@ -761,7 +697,7 @@ int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings) && !RUN_ONCE(&engine_devcrypto, ossl_init_engine_devcrypto)) return 0; # endif -# if !defined(OPENSSL_NO_HW) && !defined(OPENSSL_NO_HW_PADLOCK) +# if !defined(OPENSSL_NO_PADLOCKENG) if ((opts & OPENSSL_INIT_ENGINE_PADLOCK) && !RUN_ONCE(&engine_padlock, ossl_init_engine_padlock)) return 0; @@ -835,12 +771,10 @@ int OPENSSL_atexit(void (*handler)(void)) ERR_set_mark(); dso = DSO_dsobyaddr(handlersym.sym, DSO_FLAG_NO_UNLOAD_ON_FREE); -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, - "OPENSSL_INIT: OPENSSL_atexit: obtained DSO reference? %s\n", - (dso == NULL ? "No!" : "Yes.")); /* See same code above in ossl_init_base() for an explanation. */ -# endif + OSSL_TRACE1(INIT, + "atexit: obtained DSO reference? %s\n", + (dso == NULL ? "No!" : "Yes.")); DSO_free(dso); ERR_pop_to_mark(); } diff --git a/crypto/kdf/build.info b/crypto/kdf/build.info index dce960e9..f483c779 100644 --- a/crypto/kdf/build.info +++ b/crypto/kdf/build.info @@ -1,3 +1,3 @@ LIBS=../../libcrypto SOURCE[../../libcrypto]=\ - tls1_prf.c kdf_err.c kdf_util.c hkdf.c scrypt.c pbkdf2.c + tls1_prf.c kdf_err.c kdf_util.c hkdf.c scrypt.c pbkdf2.c sshkdf.c diff --git a/crypto/kdf/hkdf.c b/crypto/kdf/hkdf.c index 5540da35..bfccf167 100644 --- a/crypto/kdf/hkdf.c +++ b/crypto/kdf/hkdf.c @@ -14,6 +14,7 @@ #include #include #include "internal/cryptlib.h" +#include "internal/numbers.h" #include "internal/evp_int.h" #include "kdf_local.h" diff --git a/crypto/kdf/kdf_err.c b/crypto/kdf/kdf_err.c index b62c25ff..a70f5219 100644 --- a/crypto/kdf/kdf_err.c +++ b/crypto/kdf/kdf_err.c @@ -31,6 +31,11 @@ static const ERR_STRING_DATA KDF_str_functs[] = { "kdf_scrypt_ctrl_uint64"}, {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_SCRYPT_DERIVE, 0), "kdf_scrypt_derive"}, {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_SCRYPT_NEW, 0), "kdf_scrypt_new"}, + {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_SSHKDF_CTRL, 0), "kdf_sshkdf_ctrl"}, + {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_SSHKDF_CTRL_STR, 0), + "kdf_sshkdf_ctrl_str"}, + {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_SSHKDF_DERIVE, 0), "kdf_sshkdf_derive"}, + {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_SSHKDF_NEW, 0), "kdf_sshkdf_new"}, {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_TLS1_PRF_CTRL_STR, 0), "kdf_tls1_prf_ctrl_str"}, {ERR_PACK(ERR_LIB_KDF, KDF_F_KDF_TLS1_PRF_DERIVE, 0), @@ -70,6 +75,9 @@ static const ERR_STRING_DATA KDF_str_reasons[] = { {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_SALT), "missing salt"}, {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_SECRET), "missing secret"}, {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_SEED), "missing seed"}, + {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_SESSION_ID), "missing session id"}, + {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_TYPE), "missing type"}, + {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_XCGHASH), "missing xcghash"}, {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_UNKNOWN_PARAMETER_TYPE), "unknown parameter type"}, {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_VALUE_ERROR), "value error"}, diff --git a/crypto/kdf/sshkdf.c b/crypto/kdf/sshkdf.c new file mode 100644 index 00000000..300e1adb --- /dev/null +++ b/crypto/kdf/sshkdf.c @@ -0,0 +1,289 @@ +/* + * Copyright 2018-2018 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 +#include +#include +#include +#include +#include "internal/cryptlib.h" +#include "internal/numbers.h" +#include "internal/evp_int.h" +#include "kdf_local.h" + +/* See RFC 4253, Section 7.2 */ + +static void kdf_sshkdf_reset(EVP_KDF_IMPL *impl); +static int SSHKDF(const EVP_MD *evp_md, + const unsigned char *key, size_t key_len, + const unsigned char *xcghash, size_t xcghash_len, + const unsigned char *session_id, size_t session_id_len, + char type, unsigned char *okey, size_t okey_len); + +struct evp_kdf_impl_st { + const EVP_MD *md; + unsigned char *key; /* K */ + size_t key_len; + unsigned char *xcghash; /* H */ + size_t xcghash_len; + char type; /* X */ + unsigned char *session_id; + size_t session_id_len; +}; + +static EVP_KDF_IMPL *kdf_sshkdf_new(void) +{ + EVP_KDF_IMPL *impl; + + if ((impl = OPENSSL_zalloc(sizeof(*impl))) == NULL) + KDFerr(KDF_F_KDF_SSHKDF_NEW, ERR_R_MALLOC_FAILURE); + return impl; +} + +static void kdf_sshkdf_free(EVP_KDF_IMPL *impl) +{ + kdf_sshkdf_reset(impl); + OPENSSL_free(impl); +} + +static void kdf_sshkdf_reset(EVP_KDF_IMPL *impl) +{ + OPENSSL_clear_free(impl->key, impl->key_len); + OPENSSL_clear_free(impl->xcghash, impl->xcghash_len); + OPENSSL_clear_free(impl->session_id, impl->session_id_len); + memset(impl, 0, sizeof(*impl)); +} + +static int kdf_sshkdf_parse_buffer_arg(unsigned char **dst, size_t *dst_len, + va_list args) +{ + const unsigned char *p; + size_t len; + + p = va_arg(args, const unsigned char *); + len = va_arg(args, size_t); + OPENSSL_clear_free(*dst, *dst_len); + *dst = OPENSSL_memdup(p, len); + if (*dst == NULL) + return 0; + + *dst_len = len; + return 1; +} + +static int kdf_sshkdf_ctrl(EVP_KDF_IMPL *impl, int cmd, va_list args) +{ + int t; + + switch (cmd) { + case EVP_KDF_CTRL_SET_MD: + impl->md = va_arg(args, const EVP_MD *); + if (impl->md == NULL) + return 0; + + return 1; + + case EVP_KDF_CTRL_SET_KEY: + return kdf_sshkdf_parse_buffer_arg(&impl->key, + &impl->key_len, args); + + case EVP_KDF_CTRL_SET_SSHKDF_XCGHASH: + return kdf_sshkdf_parse_buffer_arg(&impl->xcghash, + &impl->xcghash_len, args); + + case EVP_KDF_CTRL_SET_SSHKDF_SESSION_ID: + return kdf_sshkdf_parse_buffer_arg(&impl->session_id, + &impl->session_id_len, args); + + case EVP_KDF_CTRL_SET_SSHKDF_TYPE: + t = va_arg(args, int); + if (t < 65 || t > 70) { + KDFerr(KDF_F_KDF_SSHKDF_CTRL, KDF_R_VALUE_ERROR); + return 0; + } + + impl->type = (char)t; + return 1; + + default: + return -2; + + } +} + +static int kdf_sshkdf_ctrl_str(EVP_KDF_IMPL *impl, const char *type, + const char *value) +{ + if (value == NULL) { + KDFerr(KDF_F_KDF_SSHKDF_CTRL_STR, KDF_R_VALUE_MISSING); + return 0; + } + + if (strcmp(type, "md") == 0) + return kdf_md2ctrl(impl, kdf_sshkdf_ctrl, EVP_KDF_CTRL_SET_MD, value); + + if (strcmp(type, "key") == 0) + return kdf_str2ctrl(impl, kdf_sshkdf_ctrl, + EVP_KDF_CTRL_SET_KEY, value); + + if (strcmp(type, "hexkey") == 0) + return kdf_hex2ctrl(impl, kdf_sshkdf_ctrl, + EVP_KDF_CTRL_SET_KEY, value); + + if (strcmp(type, "xcghash") == 0) + return kdf_str2ctrl(impl, kdf_sshkdf_ctrl, + EVP_KDF_CTRL_SET_SSHKDF_XCGHASH, value); + + if (strcmp(type, "hexxcghash") == 0) + return kdf_hex2ctrl(impl, kdf_sshkdf_ctrl, + EVP_KDF_CTRL_SET_SSHKDF_XCGHASH, value); + + if (strcmp(type, "session_id") == 0) + return kdf_str2ctrl(impl, kdf_sshkdf_ctrl, + EVP_KDF_CTRL_SET_SSHKDF_SESSION_ID, value); + + if (strcmp(type, "hexsession_id") == 0) + return kdf_hex2ctrl(impl, kdf_sshkdf_ctrl, + EVP_KDF_CTRL_SET_SSHKDF_SESSION_ID, value); + + if (strcmp(type, "type") == 0) { + if (strlen(value) != 1) { + KDFerr(KDF_F_KDF_SSHKDF_CTRL_STR, KDF_R_VALUE_ERROR); + return 0; + } + + return call_ctrl(kdf_sshkdf_ctrl, impl, EVP_KDF_CTRL_SET_SSHKDF_TYPE, + (int)value[0]); + } + + KDFerr(KDF_F_KDF_SSHKDF_CTRL_STR, KDF_R_UNKNOWN_PARAMETER_TYPE); + return -2; +} + +static size_t kdf_sshkdf_size(EVP_KDF_IMPL *impl) +{ + return SIZE_MAX; +} + +static int kdf_sshkdf_derive(EVP_KDF_IMPL *impl, unsigned char *key, + size_t keylen) +{ + if (impl->md == NULL) { + KDFerr(KDF_F_KDF_SSHKDF_DERIVE, KDF_R_MISSING_MESSAGE_DIGEST); + return 0; + } + if (impl->key == NULL) { + KDFerr(KDF_F_KDF_SSHKDF_DERIVE, KDF_R_MISSING_KEY); + return 0; + } + if (impl->xcghash == NULL) { + KDFerr(KDF_F_KDF_SSHKDF_DERIVE, KDF_R_MISSING_XCGHASH); + return 0; + } + if (impl->session_id == NULL) { + KDFerr(KDF_F_KDF_SSHKDF_DERIVE, KDF_R_MISSING_SESSION_ID); + return 0; + } + if (impl->type == 0) { + KDFerr(KDF_F_KDF_SSHKDF_DERIVE, KDF_R_MISSING_TYPE); + return 0; + } + return SSHKDF(impl->md, impl->key, impl->key_len, + impl->xcghash, impl->xcghash_len, + impl->session_id, impl->session_id_len, + impl->type, key, keylen); +} + +const EVP_KDF_METHOD sshkdf_kdf_meth = { + EVP_KDF_SSHKDF, + kdf_sshkdf_new, + kdf_sshkdf_free, + kdf_sshkdf_reset, + kdf_sshkdf_ctrl, + kdf_sshkdf_ctrl_str, + kdf_sshkdf_size, + kdf_sshkdf_derive, +}; + +static int SSHKDF(const EVP_MD *evp_md, + const unsigned char *key, size_t key_len, + const unsigned char *xcghash, size_t xcghash_len, + const unsigned char *session_id, size_t session_id_len, + char type, unsigned char *okey, size_t okey_len) +{ + EVP_MD_CTX *md = NULL; + unsigned char digest[EVP_MAX_MD_SIZE]; + unsigned int dsize = 0; + size_t cursize = 0; + int ret = 0; + + md = EVP_MD_CTX_new(); + if (md == NULL) + return 0; + + if (!EVP_DigestInit_ex(md, evp_md, NULL)) + goto out; + + if (!EVP_DigestUpdate(md, key, key_len)) + goto out; + + if (!EVP_DigestUpdate(md, xcghash, xcghash_len)) + goto out; + + if (!EVP_DigestUpdate(md, &type, 1)) + goto out; + + if (!EVP_DigestUpdate(md, session_id, session_id_len)) + goto out; + + if (!EVP_DigestFinal_ex(md, digest, &dsize)) + goto out; + + if (okey_len < dsize) { + memcpy(okey, digest, okey_len); + ret = 1; + goto out; + } + + memcpy(okey, digest, dsize); + + for (cursize = dsize; cursize < okey_len; cursize += dsize) { + + if (!EVP_DigestInit_ex(md, evp_md, NULL)) + goto out; + + if (!EVP_DigestUpdate(md, key, key_len)) + goto out; + + if (!EVP_DigestUpdate(md, xcghash, xcghash_len)) + goto out; + + if (!EVP_DigestUpdate(md, okey, cursize)) + goto out; + + if (!EVP_DigestFinal_ex(md, digest, &dsize)) + goto out; + + if (okey_len < cursize + dsize) { + memcpy(okey + cursize, digest, okey_len - cursize); + ret = 1; + goto out; + } + + memcpy(okey + cursize, digest, dsize); + } + + ret = 1; + +out: + EVP_MD_CTX_free(md); + OPENSSL_cleanse(digest, EVP_MAX_MD_SIZE); + return ret; +} + diff --git a/crypto/o_str.c b/crypto/o_str.c index 02578dbf..3b271e74 100644 --- a/crypto/o_str.c +++ b/crypto/o_str.c @@ -223,7 +223,26 @@ int openssl_strerror_r(int errnum, char *buf, size_t buflen) #if defined(_MSC_VER) && _MSC_VER>=1400 return !strerror_s(buf, buflen, errnum); #elif defined(_GNU_SOURCE) - return strerror_r(errnum, buf, buflen) != NULL; + char *err; + + /* + * GNU strerror_r may not actually set buf. + * It can return a pointer to some (immutable) static string in which case + * buf is left unused. + */ + err = strerror_r(errnum, buf, buflen); + if (err == NULL) + return 0; + /* + * If err is statically allocated, err != buf and we need to copy the data. + * If err points somewhere inside buf, OPENSSL_strlcpy can handle this, + * since src and dest are not annotated with __restrict and the function + * reads src byte for byte and writes to dest. + * If err == buf we do not have to copy anything. + */ + if (err != buf) + OPENSSL_strlcpy(buf, err, buflen); + return 1; #elif (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L) || \ (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 600) /* @@ -234,6 +253,7 @@ int openssl_strerror_r(int errnum, char *buf, size_t buflen) return !strerror_r(errnum, buf, buflen); #else char *err; + /* Fall back to non-thread safe strerror()...its all we can do */ if (buflen < 2) return 0; @@ -241,8 +261,7 @@ int openssl_strerror_r(int errnum, char *buf, size_t buflen) /* Can this ever happen? */ if (err == NULL) return 0; - strncpy(buf, err, buflen - 1); - buf[buflen - 1] = '\0'; + OPENSSL_strlcpy(buf, err, buflen); return 1; #endif } diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h index 134d7b8c..7ba1ecda 100644 --- a/crypto/objects/obj_dat.h +++ b/crypto/objects/obj_dat.h @@ -1079,7 +1079,7 @@ static const unsigned char so[7767] = { 0x28,0xCC,0x45,0x03,0x04, /* [ 7761] OBJ_gmac */ }; -#define NUM_NID 1204 +#define NUM_NID 1205 static const ASN1_OBJECT nid_objs[NUM_NID] = { {"UNDEF", "undefined", NID_undef}, {"rsadsi", "RSA Data Security, Inc.", NID_rsadsi, 6, &so[0]}, @@ -2284,10 +2284,11 @@ static const ASN1_OBJECT nid_objs[NUM_NID] = { {"AES-256-SIV", "aes-256-siv", NID_aes_256_siv}, {"BLAKE2BMAC", "blake2bmac", NID_blake2bmac}, {"BLAKE2SMAC", "blake2smac", NID_blake2smac}, + {"SSHKDF", "sshkdf", NID_sshkdf}, {"ChaCha20-Poly1305-D", "chacha20-poly1305-draft", NID_chacha20_poly1305_draft}, }; -#define NUM_SN 1195 +#define NUM_SN 1196 static const unsigned int sn_objs[NUM_SN] = { 364, /* "AD_DVCS" */ 419, /* "AES-128-CBC" */ @@ -2410,7 +2411,7 @@ static const unsigned int sn_objs[NUM_SN] = { 417, /* "CSPName" */ 1019, /* "ChaCha20" */ 1018, /* "ChaCha20-Poly1305" */ - 1203, /* "ChaCha20-Poly1305-D" */ + 1204, /* "ChaCha20-Poly1305-D" */ 367, /* "CrlID" */ 391, /* "DC" */ 31, /* "DES-CBC" */ @@ -2574,6 +2575,7 @@ static const unsigned int sn_objs[NUM_SN] = { 167, /* "SMIME-CAPS" */ 100, /* "SN" */ 1006, /* "SNILS" */ + 1203, /* "SSHKDF" */ 16, /* "ST" */ 143, /* "SXNetID" */ 1062, /* "SipHash" */ @@ -3486,7 +3488,7 @@ static const unsigned int sn_objs[NUM_SN] = { 1093, /* "x509ExtAdmission" */ }; -#define NUM_LN 1195 +#define NUM_LN 1196 static const unsigned int ln_objs[NUM_LN] = { 363, /* "AD Time Stamping" */ 405, /* "ANSI X9.62" */ @@ -3870,7 +3872,7 @@ static const unsigned int ln_objs[NUM_LN] = { 883, /* "certificateRevocationList" */ 1019, /* "chacha20" */ 1018, /* "chacha20-poly1305" */ - 1203, /* "chacha20-poly1305-draft" */ + 1204, /* "chacha20-poly1305-draft" */ 54, /* "challengePassword" */ 407, /* "characteristic-two-field" */ 395, /* "clearance" */ @@ -4637,6 +4639,7 @@ static const unsigned int ln_objs[NUM_LN] = { 1139, /* "sm4-ctr" */ 1133, /* "sm4-ecb" */ 1135, /* "sm4-ofb" */ + 1203, /* "sshkdf" */ 16, /* "stateOrProvinceName" */ 660, /* "streetAddress" */ 498, /* "subtreeMaximumQuality" */ diff --git a/crypto/objects/obj_mac.num b/crypto/objects/obj_mac.num index 94d033c1..08185475 100644 --- a/crypto/objects/obj_mac.num +++ b/crypto/objects/obj_mac.num @@ -1200,4 +1200,5 @@ aes_192_siv 1199 aes_256_siv 1200 blake2bmac 1201 blake2smac 1202 -chacha20_poly1305_draft 1203 +sshkdf 1203 +chacha20_poly1305_draft 1204 diff --git a/crypto/objects/objects.txt b/crypto/objects/objects.txt index 21653d9b..d480bd38 100644 --- a/crypto/objects/objects.txt +++ b/crypto/objects/objects.txt @@ -1610,6 +1610,9 @@ secg-scheme 14 3 : dhSinglePass-cofactorDH-sha512kdf-scheme # NID for HKDF : HKDF : hkdf +# NID for SSHKDF + : SSHKDF : sshkdf + # RFC 4556 1 3 6 1 5 2 3 : id-pkinit id-pkinit 4 : pkInitClientAuth : PKINIT Client Auth diff --git a/crypto/ocsp/v3_ocsp.c b/crypto/ocsp/v3_ocsp.c index c43bfc35..c58fa07b 100644 --- a/crypto/ocsp/v3_ocsp.c +++ b/crypto/ocsp/v3_ocsp.c @@ -28,7 +28,7 @@ static int i2r_object(const X509V3_EXT_METHOD *method, void *obj, BIO *out, int indent); static void *ocsp_nonce_new(void); -static int i2d_ocsp_nonce(void *a, unsigned char **pp); +static int i2d_ocsp_nonce(const void *a, unsigned char **pp); static void *d2i_ocsp_nonce(void *a, const unsigned char **pp, long length); static void ocsp_nonce_free(void *a); static int i2r_ocsp_nonce(const X509V3_EXT_METHOD *method, void *nonce, @@ -170,9 +170,9 @@ static void *ocsp_nonce_new(void) return ASN1_OCTET_STRING_new(); } -static int i2d_ocsp_nonce(void *a, unsigned char **pp) +static int i2d_ocsp_nonce(const void *a, unsigned char **pp) { - ASN1_OCTET_STRING *os = a; + const ASN1_OCTET_STRING *os = a; if (pp) { memcpy(*pp, os->data, os->length); *pp += os->length; diff --git a/crypto/pem/pem_pk8.c b/crypto/pem/pem_pk8.c index 8372211e..d8bb9bbf 100644 --- a/crypto/pem/pem_pk8.c +++ b/crypto/pem/pem_pk8.c @@ -16,12 +16,12 @@ #include #include -static int do_pk8pkey(BIO *bp, EVP_PKEY *x, int isder, +static int do_pk8pkey(BIO *bp, const EVP_PKEY *x, int isder, int nid, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u); #ifndef OPENSSL_NO_STDIO -static int do_pk8pkey_fp(FILE *bp, EVP_PKEY *x, int isder, +static int do_pk8pkey_fp(FILE *bp, const EVP_PKEY *x, int isder, int nid, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u); #endif @@ -32,35 +32,35 @@ static int do_pk8pkey_fp(FILE *bp, EVP_PKEY *x, int isder, * uses PKCS#5 v1.5 PBE algorithms whereas the others use PKCS#5 v2.0. */ -int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, +int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, const EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u) { return do_pk8pkey(bp, x, 0, nid, NULL, kstr, klen, cb, u); } -int PEM_write_bio_PKCS8PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, +int PEM_write_bio_PKCS8PrivateKey(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u) { return do_pk8pkey(bp, x, 0, -1, enc, kstr, klen, cb, u); } -int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, +int i2d_PKCS8PrivateKey_bio(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u) { return do_pk8pkey(bp, x, 1, -1, enc, kstr, klen, cb, u); } -int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, +int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, const EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u) { return do_pk8pkey(bp, x, 1, nid, NULL, kstr, klen, cb, u); } -static int do_pk8pkey(BIO *bp, EVP_PKEY *x, int isder, int nid, +static int do_pk8pkey(BIO *bp, const EVP_PKEY *x, int isder, int nid, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u) { @@ -147,34 +147,34 @@ EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, #ifndef OPENSSL_NO_STDIO -int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, +int i2d_PKCS8PrivateKey_fp(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u) { return do_pk8pkey_fp(fp, x, 1, -1, enc, kstr, klen, cb, u); } -int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, +int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, const EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u) { return do_pk8pkey_fp(fp, x, 1, nid, NULL, kstr, klen, cb, u); } -int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, +int PEM_write_PKCS8PrivateKey_nid(FILE *fp, const EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u) { return do_pk8pkey_fp(fp, x, 0, nid, NULL, kstr, klen, cb, u); } -int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, +int PEM_write_PKCS8PrivateKey(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u) { return do_pk8pkey_fp(fp, x, 0, -1, enc, kstr, klen, cb, u); } -static int do_pk8pkey_fp(FILE *fp, EVP_PKEY *x, int isder, int nid, +static int do_pk8pkey_fp(FILE *fp, const EVP_PKEY *x, int isder, int nid, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u) { diff --git a/crypto/pkcs12/p12_decr.c b/crypto/pkcs12/p12_decr.c index 67a93054..b9d13d9c 100644 --- a/crypto/pkcs12/p12_decr.c +++ b/crypto/pkcs12/p12_decr.c @@ -10,11 +10,7 @@ #include #include "internal/cryptlib.h" #include - -/* Define this to dump decrypted output to files called DERnnn */ -/* - * #define OPENSSL_DEBUG_DECRYPT - */ +#include /* * Encrypt/Decrypt a buffer based on password and algor, result in a @@ -95,18 +91,11 @@ void *PKCS12_item_decrypt_d2i(const X509_ALGOR *algor, const ASN1_ITEM *it, return NULL; } p = out; -#ifdef OPENSSL_DEBUG_DECRYPT - { - FILE *op; - - char fname[30]; - static int fnm = 1; - sprintf(fname, "DER%d", fnm++); - op = fopen(fname, "wb"); - fwrite(p, 1, outlen, op); - fclose(op); - } -#endif + OSSL_TRACE_BEGIN(PKCS12_DECRYPT) { + BIO_printf(trc_out, "\n"); + BIO_dump(trc_out, out, outlen); + BIO_printf(trc_out, "\n"); + } OSSL_TRACE_END(PKCS12_DECRYPT); ret = ASN1_item_d2i(NULL, &p, outlen, it); if (zbuf) OPENSSL_cleanse(out, outlen); diff --git a/crypto/pkcs12/p12_key.c b/crypto/pkcs12/p12_key.c index 9e9fb172..3580754a 100644 --- a/crypto/pkcs12/p12_key.c +++ b/crypto/pkcs12/p12_key.c @@ -11,16 +11,7 @@ #include "internal/cryptlib.h" #include #include - -/* Uncomment out this line to get debugging info about key generation */ -/* - * #define OPENSSL_DEBUG_KEYGEN - */ -#ifdef OPENSSL_DEBUG_KEYGEN -# include -extern BIO *bio_err; -void h__dump(unsigned char *p, int len); -#endif +#include /* PKCS12 compatible key/IV generation */ #ifndef min @@ -82,23 +73,22 @@ int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, int i, j, u, v; int ret = 0; EVP_MD_CTX *ctx = NULL; -#ifdef OPENSSL_DEBUG_KEYGEN unsigned char *tmpout = out; int tmpn = n; -#endif ctx = EVP_MD_CTX_new(); if (ctx == NULL) goto err; -#ifdef OPENSSL_DEBUG_KEYGEN - fprintf(stderr, "KEYGEN DEBUG\n"); - fprintf(stderr, "ID %d, ITER %d\n", id, iter); - fprintf(stderr, "Password (length %d):\n", passlen); - h__dump(pass, passlen); - fprintf(stderr, "Salt (length %d):\n", saltlen); - h__dump(salt, saltlen); -#endif + OSSL_TRACE_BEGIN(PKCS12_KEYGEN) { + BIO_printf(trc_out, "PKCS12_key_gen_uni(): ID %d, ITER %d\n", id, iter); + BIO_printf(trc_out, "Password (length %d):\n", passlen); + BIO_hex_string(trc_out, 0, passlen, pass, passlen); + BIO_printf(trc_out, "\n"); + BIO_printf(trc_out, "Salt (length %d):\n", saltlen); + BIO_hex_string(trc_out, 0, saltlen, salt, saltlen); + BIO_printf(trc_out, "\n"); + } OSSL_TRACE_END(PKCS12_KEYGEN); v = EVP_MD_block_size(md_type); u = EVP_MD_size(md_type); if (u < 0 || v <= 0) @@ -136,10 +126,11 @@ int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, } memcpy(out, Ai, min(n, u)); if (u >= n) { -#ifdef OPENSSL_DEBUG_KEYGEN - fprintf(stderr, "Output KEY (length %d)\n", tmpn); - h__dump(tmpout, tmpn); -#endif + OSSL_TRACE_BEGIN(PKCS12_KEYGEN) { + BIO_printf(trc_out, "Output KEY (length %d)\n", tmpn); + BIO_hex_string(trc_out, 0, tmpn, tmpout, tmpn); + BIO_printf(trc_out, "\n"); + } OSSL_TRACE_END(PKCS12_KEYGEN); ret = 1; goto end; } @@ -172,12 +163,3 @@ int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, EVP_MD_CTX_free(ctx); return ret; } - -#ifdef OPENSSL_DEBUG_KEYGEN -void h__dump(unsigned char *p, int len) -{ - for (; len--; p++) - fprintf(stderr, "%02X", *p); - fprintf(stderr, "\n"); -} -#endif diff --git a/crypto/pkcs12/p12_utl.c b/crypto/pkcs12/p12_utl.c index 2c315c2c..9e792d42 100644 --- a/crypto/pkcs12/p12_utl.c +++ b/crypto/pkcs12/p12_utl.c @@ -219,13 +219,13 @@ char *OPENSSL_uni2utf8(const unsigned char *uni, int unilen) return asctmp; } -int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12) +int i2d_PKCS12_bio(BIO *bp, const PKCS12 *p12) { return ASN1_item_i2d_bio(ASN1_ITEM_rptr(PKCS12), bp, p12); } #ifndef OPENSSL_NO_STDIO -int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12) +int i2d_PKCS12_fp(FILE *fp, const PKCS12 *p12) { return ASN1_item_i2d_fp(ASN1_ITEM_rptr(PKCS12), fp, p12); } diff --git a/crypto/pkcs7/pk7_lib.c b/crypto/pkcs7/pk7_lib.c index 6379e637..181fb5a5 100644 --- a/crypto/pkcs7/pk7_lib.c +++ b/crypto/pkcs7/pk7_lib.c @@ -544,6 +544,7 @@ int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher) return 1; } +/* unfortunately cannot constify BIO_new_NDEF() due to this and CMS_stream() */ int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7) { ASN1_OCTET_STRING *os = NULL; diff --git a/crypto/property/property.c b/crypto/property/property.c index dea0dfd6..1a3d0c48 100644 --- a/crypto/property/property.c +++ b/crypto/property/property.c @@ -131,7 +131,7 @@ static void impl_cache_free(QUERY *elem) OPENSSL_free(elem); } -static void alg_cleanup(size_t idx, ALGORITHM *a) +static void alg_cleanup(ossl_uintmax_t idx, ALGORITHM *a) { if (a != NULL) { sk_IMPLEMENTATION_pop_free(a->impls, &impl_free); @@ -143,11 +143,12 @@ static void alg_cleanup(size_t idx, ALGORITHM *a) OSSL_METHOD_STORE *ossl_method_store_new(void) { - OSSL_METHOD_STORE *res = OPENSSL_zalloc(sizeof(*res)); + OSSL_METHOD_STORE *res; if (!RUN_ONCE(&method_store_init_flag, do_method_store_init)) return 0; + res = OPENSSL_zalloc(sizeof(*res)); if (res != NULL) { if ((res->algs = ossl_sa_ALGORITHM_new()) == NULL) { OPENSSL_free(res); @@ -355,7 +356,7 @@ int ossl_method_store_set_global_properties(OSSL_METHOD_STORE *store, return ret; } -static void impl_cache_flush_alg(size_t idx, ALGORITHM *alg) +static void impl_cache_flush_alg(ossl_uintmax_t idx, ALGORITHM *alg) { lh_QUERY_doall(alg->cache, &impl_cache_free); lh_QUERY_flush(alg->cache); @@ -412,7 +413,8 @@ static void impl_cache_flush_cache(QUERY *c, IMPL_CACHE_FLUSH *state) state->nelem++; } -static void impl_cache_flush_one_alg(size_t idx, ALGORITHM *alg, void *v) +static void impl_cache_flush_one_alg(ossl_uintmax_t idx, ALGORITHM *alg, + void *v) { IMPL_CACHE_FLUSH *state = (IMPL_CACHE_FLUSH *)v; diff --git a/crypto/property/property_parse.c b/crypto/property/property_parse.c index 2094d38e..074da51c 100644 --- a/crypto/property/property_parse.c +++ b/crypto/property/property_parse.c @@ -301,7 +301,7 @@ static OSSL_PROPERTY_LIST *stack_to_property_list(STACK_OF(PROPERTY_DEFINITION) int i; r = OPENSSL_malloc(sizeof(*r) - + (n == 0 ? 0 : n - 1) * sizeof(r->properties[0])); + + (n <= 0 ? 0 : n - 1) * sizeof(r->properties[0])); if (r != NULL) { sk_PROPERTY_DEFINITION_sort(sk); diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c index 35777fff..39c4e7e7 100644 --- a/crypto/rand/rand_unix.c +++ b/crypto/rand/rand_unix.c @@ -19,7 +19,7 @@ #include #include "internal/dso.h" #if defined(__linux) -# include +# include #endif #if defined(__FreeBSD__) # include @@ -324,8 +324,8 @@ static ssize_t syscall_random(void *buf, size_t buflen) # endif /* Linux supports this since version 3.17 */ -# if defined(__linux) && defined(SYS_getrandom) - return syscall(SYS_getrandom, buf, buflen, 0); +# if defined(__linux) && defined(__NR_getrandom) + return syscall(__NR_getrandom, buf, buflen, 0); # elif (defined(__FreeBSD__) || defined(__NetBSD__)) && defined(KERN_ARND) return sysctl_random(buf, buflen); # else @@ -510,6 +510,29 @@ size_t rand_pool_acquire_entropy(RAND_POOL *pool) bytes_needed = rand_pool_bytes_needed(pool, 1 /*entropy_factor*/); { size_t i; +#ifdef DEVRANDOM_WAIT + static int wait_done = 0; + + /* + * On some implementations reading from /dev/urandom is possible + * before it is initialized. Therefore we wait for /dev/random + * to be readable to make sure /dev/urandom is initialized. + */ + if (!wait_done && bytes_needed > 0) { + int f = open(DEVRANDOM_WAIT, O_RDONLY); + + if (f >= 0) { + fd_set fds; + + FD_ZERO(&fds); + FD_SET(f, &fds); + while (select(f+1, &fds, NULL, NULL, NULL) < 0 + && errno == EINTR); + close(f); + } + wait_done = 1; + } +#endif for (i = 0; bytes_needed > 0 && i < OSSL_NELEM(random_device_paths); i++) { ssize_t bytes = 0; diff --git a/crypto/rsa/rsa_asn1.c b/crypto/rsa/rsa_asn1.c index 853d7699..ad9d8b35 100644 --- a/crypto/rsa/rsa_asn1.c +++ b/crypto/rsa/rsa_asn1.c @@ -106,16 +106,16 @@ ASN1_SEQUENCE_cb(RSA_OAEP_PARAMS, rsa_oaep_cb) = { IMPLEMENT_ASN1_FUNCTIONS(RSA_OAEP_PARAMS) -IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(RSA, RSAPrivateKey, RSAPrivateKey) +IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(RSA, RSAPrivateKey, RSAPrivateKey) -IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(RSA, RSAPublicKey, RSAPublicKey) +IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(RSA, RSAPublicKey, RSAPublicKey) -RSA *RSAPublicKey_dup(RSA *rsa) +RSA *RSAPublicKey_dup(const RSA *rsa) { return ASN1_item_dup(ASN1_ITEM_rptr(RSAPublicKey), rsa); } -RSA *RSAPrivateKey_dup(RSA *rsa) +RSA *RSAPrivateKey_dup(const RSA *rsa) { return ASN1_item_dup(ASN1_ITEM_rptr(RSAPrivateKey), rsa); } diff --git a/crypto/rsa/rsa_pmeth.c b/crypto/rsa/rsa_pmeth.c index 3bb500cb..2295fa57 100644 --- a/crypto/rsa/rsa_pmeth.c +++ b/crypto/rsa/rsa_pmeth.c @@ -70,7 +70,7 @@ static int pkey_rsa_init(EVP_PKEY_CTX *ctx) return 1; } -static int pkey_rsa_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) +static int pkey_rsa_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) { RSA_PKEY_CTX *dctx, *sctx; diff --git a/crypto/sm2/sm2_pmeth.c b/crypto/sm2/sm2_pmeth.c index 8ae75563..fecdc28f 100644 --- a/crypto/sm2/sm2_pmeth.c +++ b/crypto/sm2/sm2_pmeth.c @@ -54,7 +54,7 @@ static void pkey_sm2_cleanup(EVP_PKEY_CTX *ctx) } } -static int pkey_sm2_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) +static int pkey_sm2_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) { SM2_PKEY_CTX *dctx, *sctx; @@ -248,6 +248,9 @@ static int pkey_sm2_ctrl_str(EVP_PKEY_CTX *ctx, else return -2; return EVP_PKEY_CTX_set_ec_param_enc(ctx, param_enc); + } else if (strcmp(type, "sm2_id") == 0) { + return pkey_sm2_ctrl(ctx, EVP_PKEY_CTRL_SET1_ID, + (int)strlen(value), (void *)value); } return -2; diff --git a/crypto/sparse_array.c b/crypto/sparse_array.c index 5bcdbc53..f534c047 100644 --- a/crypto/sparse_array.c +++ b/crypto/sparse_array.c @@ -29,7 +29,7 @@ * at a cost in time. * * The library builder is also permitted to define other sizes in the closed - * interval [2, sizeof(size_t) * 8]. + * interval [2, sizeof(ossl_uintmax_t) * 8]. */ #ifndef OPENSSL_SA_BLOCK_BITS # ifdef OPENSSL_SMALL_FOOTPRINT @@ -49,13 +49,13 @@ */ #define SA_BLOCK_MAX (1 << OPENSSL_SA_BLOCK_BITS) #define SA_BLOCK_MASK (SA_BLOCK_MAX - 1) -#define SA_BLOCK_MAX_LEVELS (((int)sizeof(size_t) * 8 \ +#define SA_BLOCK_MAX_LEVELS (((int)sizeof(ossl_uintmax_t) * 8 \ + OPENSSL_SA_BLOCK_BITS - 1) \ / OPENSSL_SA_BLOCK_BITS) struct sparse_array_st { int levels; - size_t top; + ossl_uintmax_t top; size_t nelem; void **nodes; }; @@ -68,11 +68,11 @@ OPENSSL_SA *OPENSSL_SA_new(void) } static void sa_doall(const OPENSSL_SA *sa, void (*node)(void **), - void (*leaf)(size_t, void *, void *), void *arg) + void (*leaf)(ossl_uintmax_t, void *, void *), void *arg) { int i[SA_BLOCK_MAX_LEVELS]; void *nodes[SA_BLOCK_MAX_LEVELS]; - size_t idx = 0; + ossl_uintmax_t idx = 0; int l = 0; i[0] = 0; @@ -107,7 +107,7 @@ static void sa_free_node(void **p) OPENSSL_free(p); } -static void sa_free_leaf(size_t n, void *p, void *arg) +static void sa_free_leaf(ossl_uintmax_t n, void *p, void *arg) { OPENSSL_free(p); } @@ -126,15 +126,16 @@ void OPENSSL_SA_free_leaves(OPENSSL_SA *sa) /* Wrap this in a structure to avoid compiler warnings */ struct trampoline_st { - void (*func)(size_t, void *); + void (*func)(ossl_uintmax_t, void *); }; -static void trampoline(size_t n, void *l, void *arg) +static void trampoline(ossl_uintmax_t n, void *l, void *arg) { ((const struct trampoline_st *)arg)->func(n, l); } -void OPENSSL_SA_doall(const OPENSSL_SA *sa, void (*leaf)(size_t, void *)) +void OPENSSL_SA_doall(const OPENSSL_SA *sa, void (*leaf)(ossl_uintmax_t, + void *)) { struct trampoline_st tramp; @@ -144,7 +145,8 @@ void OPENSSL_SA_doall(const OPENSSL_SA *sa, void (*leaf)(size_t, void *)) } void OPENSSL_SA_doall_arg(const OPENSSL_SA *sa, - void (*leaf)(size_t, void *, void *), void *arg) + void (*leaf)(ossl_uintmax_t, void *, void *), + void *arg) { if (sa != NULL) sa_doall(sa, NULL, leaf, arg); @@ -155,7 +157,7 @@ size_t OPENSSL_SA_num(const OPENSSL_SA *sa) return sa == NULL ? 0 : sa->nelem; } -void *OPENSSL_SA_get(const OPENSSL_SA *sa, size_t n) +void *OPENSSL_SA_get(const OPENSSL_SA *sa, ossl_uintmax_t n) { int level; void **p, *r = NULL; @@ -178,10 +180,10 @@ static ossl_inline void **alloc_node(void) return OPENSSL_zalloc(SA_BLOCK_MAX * sizeof(void *)); } -int OPENSSL_SA_set(OPENSSL_SA *sa, size_t posn, void *val) +int OPENSSL_SA_set(OPENSSL_SA *sa, ossl_uintmax_t posn, void *val) { int i, level = 1; - size_t n = posn; + ossl_uintmax_t n = posn; void **p; if (sa == NULL) diff --git a/crypto/trace.c b/crypto/trace.c new file mode 100644 index 00000000..8ead944b --- /dev/null +++ b/crypto/trace.c @@ -0,0 +1,495 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 +#include + +#include +#include +#include +#include "internal/bio.h" +#include "internal/nelem.h" +#include "internal/cryptlib_int.h" + +#include "e_os.h" /* strcasecmp for Windows */ + +#ifndef OPENSSL_NO_TRACE + +static CRYPTO_RWLOCK *trace_lock = NULL; + +static const BIO *current_channel = NULL; + +/*- + * INTERNAL TRACE CHANNEL IMPLEMENTATION + * + * For our own flexibility, all trace categories are associated with a + * BIO sink object, also called the trace channel. Instead of a BIO object, + * the application can also provide a callback function, in which case an + * internal trace channel is attached, which simply calls the registered + * callback function. + */ +static int trace_write(BIO *b, const char *buf, + size_t num, size_t *written); +static int trace_puts(BIO *b, const char *str); +static long trace_ctrl(BIO *channel, int cmd, long argl, void *argp); +static int trace_free(BIO *b); + +static const BIO_METHOD trace_method = { + BIO_TYPE_SOURCE_SINK, + "trace", + trace_write, + NULL, /* old write */ + NULL, /* read_ex */ + NULL, /* read */ + trace_puts, + NULL, /* gets */ + trace_ctrl, /* ctrl */ + NULL, /* create */ + trace_free, /* free */ + NULL, /* callback_ctrl */ +}; + +struct trace_data_st { + OSSL_trace_cb callback; + int category; + void *data; +}; + +static int trace_write(BIO *channel, + const char *buf, size_t num, size_t *written) +{ + struct trace_data_st *ctx = BIO_get_data(channel); + size_t cnt = ctx->callback(buf, num, ctx->category, OSSL_TRACE_CTRL_DURING, + ctx->data); + + *written = cnt; + return cnt != 0; +} + +static int trace_puts(BIO *channel, const char *str) +{ + size_t written; + + if (trace_write(channel, str, strlen(str), &written)) + return (int)written; + + return EOF; +} + +static long trace_ctrl(BIO *channel, int cmd, long argl, void *argp) +{ + struct trace_data_st *ctx = BIO_get_data(channel); + + switch (cmd) { + case OSSL_TRACE_CTRL_BEGIN: + case OSSL_TRACE_CTRL_END: + /* We know that the callback is likely to return 0 here */ + ctx->callback("", 0, ctx->category, cmd, ctx->data); + return 1; + default: + break; + } + return -2; /* Unsupported */ +} + +static int trace_free(BIO *channel) +{ + if (channel == NULL) + return 0; + OPENSSL_free(BIO_get_data(channel)); + return 1; +} +#endif + +/*- + * TRACE + */ + +/* Helper struct and macro to get name string to number mapping */ +struct trace_category_st { + const char * const name; + const int num; +}; +#define TRACE_CATEGORY_(name) { #name, OSSL_TRACE_CATEGORY_##name } + +static const struct trace_category_st trace_categories[] = { + TRACE_CATEGORY_(ANY), + TRACE_CATEGORY_(TRACE), + TRACE_CATEGORY_(INIT), + TRACE_CATEGORY_(TLS), + TRACE_CATEGORY_(TLS_CIPHER), + TRACE_CATEGORY_(ENGINE_CONF), + TRACE_CATEGORY_(ENGINE_TABLE), + TRACE_CATEGORY_(ENGINE_REF_COUNT), + TRACE_CATEGORY_(PKCS5V2), + TRACE_CATEGORY_(PKCS12_KEYGEN), + TRACE_CATEGORY_(PKCS12_DECRYPT), + TRACE_CATEGORY_(X509V3_POLICY), + TRACE_CATEGORY_(BN_CTX), +}; + +const char *OSSL_trace_get_category_name(int num) +{ + size_t i; + + for (i = 0; i < OSSL_NELEM(trace_categories); i++) + if (trace_categories[i].num == num) + return trace_categories[i].name; + return NULL; /* not found */ +} + +int OSSL_trace_get_category_num(const char *name) +{ + size_t i; + + for (i = 0; i < OSSL_NELEM(trace_categories); i++) + if (strcasecmp(name, trace_categories[i].name) == 0) + return trace_categories[i].num; + return -1; /* not found */ +} + +#ifndef OPENSSL_NO_TRACE + +/* We use one trace channel for each trace category */ +static struct { + enum { t_channel, t_callback } type; + BIO *bio; + char *prefix; + char *suffix; +} trace_channels[OSSL_TRACE_CATEGORY_NUM] = { + { 0, NULL, NULL, NULL }, +}; + +#endif + +#ifndef OPENSSL_NO_TRACE +static int trace_attach_cb(int category, int type, const void *data) +{ + switch (type) { + case 0: /* Channel */ + OSSL_TRACE2(TRACE, "Attach channel %p to category '%s'\n", + data, trace_categories[category].name); + break; + case 1: /* Prefix */ + OSSL_TRACE2(TRACE, "Attach prefix \"%s\" to category '%s'\n", + (const char *)data, trace_categories[category].name); + break; + case 2: /* Suffix */ + OSSL_TRACE2(TRACE, "Attach suffix \"%s\" to category '%s'\n", + (const char *)data, trace_categories[category].name); + break; + default: /* No clue */ + break; + } + return 1; +} + +static int trace_detach_cb(int category, int type, const void *data) +{ + switch (type) { + case 0: /* Channel */ + OSSL_TRACE2(TRACE, "Detach channel %p from category '%s'\n", + data, trace_categories[category].name); + break; + case 1: /* Prefix */ + OSSL_TRACE2(TRACE, "Detach prefix \"%s\" from category '%s'\n", + (const char *)data, trace_categories[category].name); + break; + case 2: /* Suffix */ + OSSL_TRACE2(TRACE, "Detach suffix \"%s\" from category '%s'\n", + (const char *)data, trace_categories[category].name); + break; + default: /* No clue */ + break; + } + return 1; +} + +static int set_trace_data(int category, BIO **channel, + const char **prefix, const char **suffix, + int (*attach_cb)(int, int, const void *), + int (*detach_cb)(int, int, const void *)) +{ + BIO *curr_channel = trace_channels[category].bio; + char *curr_prefix = trace_channels[category].prefix; + char *curr_suffix = trace_channels[category].suffix; + + /* Make sure to run the detach callback first on all data */ + if (prefix != NULL && curr_prefix != NULL) { + detach_cb(category, 1, curr_prefix); + } + + if (suffix != NULL && curr_suffix != NULL) { + detach_cb(category, 2, curr_suffix); + } + + if (channel != NULL && curr_channel != NULL) { + detach_cb(category, 0, curr_channel); + } + + /* After detach callbacks are done, clear data where appropriate */ + if (prefix != NULL && curr_prefix != NULL) { + OPENSSL_free(curr_prefix); + trace_channels[category].prefix = NULL; + } + + if (suffix != NULL && curr_suffix != NULL) { + OPENSSL_free(curr_suffix); + trace_channels[category].suffix = NULL; + } + + if (channel != NULL && curr_channel != NULL) { + BIO_free(curr_channel); + trace_channels[category].bio = NULL; + } + + /* Before running callbacks are done, set new data where appropriate */ + if (channel != NULL && *channel != NULL) { + trace_channels[category].bio = *channel; + } + + if (prefix != NULL && *prefix != NULL) { + if ((curr_prefix = OPENSSL_strdup(*prefix)) == NULL) + return 0; + trace_channels[category].prefix = curr_prefix; + } + + if (suffix != NULL && *suffix != NULL) { + if ((curr_suffix = OPENSSL_strdup(*suffix)) == NULL) + return 0; + trace_channels[category].suffix = curr_suffix; + } + + /* Finally, run the attach callback on the new data */ + if (channel != NULL && *channel != NULL) { + attach_cb(category, 0, *channel); + } + + if (prefix != NULL && *prefix != NULL) { + attach_cb(category, 1, *prefix); + } + + if (suffix != NULL && *suffix != NULL) { + attach_cb(category, 2, *suffix); + } + + return 1; +} +#endif + +int ossl_trace_init(void) +{ +#ifndef OPENSSL_NO_TRACE + trace_lock = CRYPTO_THREAD_lock_new(); + if (trace_lock != NULL) + return 1; +#endif + + return 0; +} + +void ossl_trace_cleanup(void) +{ +#ifndef OPENSSL_NO_TRACE + int category; + BIO *channel = NULL; + const char *prefix = NULL; + const char *suffix = NULL; + + for (category = 0; category < OSSL_TRACE_CATEGORY_NUM; category++) { + /* We force the TRACE category to be treated last */ + if (category == OSSL_TRACE_CATEGORY_TRACE) + continue; + set_trace_data(category, &channel, &prefix, &suffix, + trace_attach_cb, trace_detach_cb); + } + set_trace_data(OSSL_TRACE_CATEGORY_TRACE, &channel, &prefix, &suffix, + trace_attach_cb, trace_detach_cb); + CRYPTO_THREAD_lock_free(trace_lock); +#endif +} + +int OSSL_trace_set_channel(int category, BIO *channel) +{ +#ifndef OPENSSL_NO_TRACE + if (category < 0 || category >= OSSL_TRACE_CATEGORY_NUM + || !set_trace_data(category, &channel, NULL, NULL, + trace_attach_cb, trace_detach_cb)) + goto err; + + trace_channels[category].type = t_channel; + return 1; + + err: +#endif + + return 0; +} + +#ifndef OPENSSL_NO_TRACE +static int trace_attach_w_callback_cb(int category, int type, const void *data) +{ + switch (type) { + case 0: /* Channel */ + OSSL_TRACE2(TRACE, + "Attach channel %p to category '%s' (with callback)\n", + data, trace_categories[category].name); + break; + case 1: /* Prefix */ + OSSL_TRACE2(TRACE, "Attach prefix \"%s\" to category '%s'\n", + (const char *)data, trace_categories[category].name); + break; + case 2: /* Suffix */ + OSSL_TRACE2(TRACE, "Attach suffix \"%s\" to category '%s'\n", + (const char *)data, trace_categories[category].name); + break; + default: /* No clue */ + break; + } + return 1; +} +#endif + +int OSSL_trace_set_callback(int category, OSSL_trace_cb callback, void *data) +{ +#ifndef OPENSSL_NO_TRACE + BIO *channel = NULL; + struct trace_data_st *trace_data = NULL; + + if (category < 0 || category >= OSSL_TRACE_CATEGORY_NUM) + goto err; + + if (callback != NULL) { + if ((channel = BIO_new(&trace_method)) == NULL + || (trace_data = + OPENSSL_zalloc(sizeof(struct trace_data_st))) == NULL) + goto err; + + trace_data->callback = callback; + trace_data->category = category; + trace_data->data = data; + + BIO_set_data(channel, trace_data); + } + + if (!set_trace_data(category, &channel, NULL, NULL, + trace_attach_w_callback_cb, trace_detach_cb)) + goto err; + + trace_channels[category].type = t_callback; + return 1; + + err: + BIO_free(channel); + OPENSSL_free(trace_data); +#endif + + return 0; +} + +int OSSL_trace_set_prefix(int category, const char *prefix) +{ +#ifndef OPENSSL_NO_TRACE + if (category >= 0 || category < OSSL_TRACE_CATEGORY_NUM) + return set_trace_data(category, NULL, &prefix, NULL, + trace_attach_cb, trace_detach_cb); +#endif + + return 0; +} + +int OSSL_trace_set_suffix(int category, const char *suffix) +{ +#ifndef OPENSSL_NO_TRACE + if (category >= 0 || category < OSSL_TRACE_CATEGORY_NUM) + return set_trace_data(category, NULL, NULL, &suffix, + trace_attach_cb, trace_detach_cb); +#endif + + return 0; +} + +#ifndef OPENSSL_NO_TRACE +static int ossl_trace_get_category(int category) +{ + if (category < 0 || category >= OSSL_TRACE_CATEGORY_NUM) + return -1; + if (trace_channels[category].bio != NULL) + return category; + return OSSL_TRACE_CATEGORY_ANY; +} +#endif + +int OSSL_trace_enabled(int category) +{ + int ret = 0; +#ifndef OPENSSL_NO_TRACE + category = ossl_trace_get_category(category); + ret = trace_channels[category].bio != NULL; +#endif + return ret; +} + +BIO *OSSL_trace_begin(int category) +{ + BIO *channel = NULL; +#ifndef OPENSSL_NO_TRACE + char *prefix = NULL; + + category = ossl_trace_get_category(category); + channel = trace_channels[category].bio; + prefix = trace_channels[category].prefix; + + if (channel != NULL) { + CRYPTO_THREAD_write_lock(trace_lock); + current_channel = channel; + switch (trace_channels[category].type) { + case t_channel: + if (prefix != NULL) { + (void)BIO_puts(channel, prefix); + (void)BIO_puts(channel, "\n"); + } + break; + case t_callback: + (void)BIO_ctrl(channel, OSSL_TRACE_CTRL_BEGIN, + prefix == NULL ? 0 : strlen(prefix), prefix); + break; + } + } +#endif + return channel; +} + +void OSSL_trace_end(int category, BIO * channel) +{ +#ifndef OPENSSL_NO_TRACE + char *suffix = NULL; + + category = ossl_trace_get_category(category); + suffix = trace_channels[category].suffix; + if (channel != NULL + && ossl_assert(channel == current_channel)) { + (void)BIO_flush(channel); + switch (trace_channels[category].type) { + case t_channel: + if (suffix != NULL) { + (void)BIO_puts(channel, suffix); + (void)BIO_puts(channel, "\n"); + } + break; + case t_callback: + (void)BIO_ctrl(channel, OSSL_TRACE_CTRL_END, + suffix == NULL ? 0 : strlen(suffix), suffix); + break; + } + current_channel = NULL; + CRYPTO_THREAD_unlock(trace_lock); + } +#endif +} diff --git a/crypto/ts/ts_asn1.c b/crypto/ts/ts_asn1.c index 5a588413..52ac2aaa 100644 --- a/crypto/ts/ts_asn1.c +++ b/crypto/ts/ts_asn1.c @@ -17,7 +17,7 @@ ASN1_SEQUENCE(TS_MSG_IMPRINT) = { ASN1_SIMPLE(TS_MSG_IMPRINT, hashed_msg, ASN1_OCTET_STRING) } static_ASN1_SEQUENCE_END(TS_MSG_IMPRINT) -IMPLEMENT_ASN1_FUNCTIONS_const(TS_MSG_IMPRINT) +IMPLEMENT_ASN1_FUNCTIONS(TS_MSG_IMPRINT) IMPLEMENT_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT) TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *bp, TS_MSG_IMPRINT **a) { @@ -25,9 +25,9 @@ TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *bp, TS_MSG_IMPRINT **a) d2i_TS_MSG_IMPRINT, bp, a); } -int i2d_TS_MSG_IMPRINT_bio(BIO *bp, TS_MSG_IMPRINT *a) +int i2d_TS_MSG_IMPRINT_bio(BIO *bp, const TS_MSG_IMPRINT *a) { - return ASN1_i2d_bio_of_const(TS_MSG_IMPRINT, i2d_TS_MSG_IMPRINT, bp, a); + return ASN1_i2d_bio_of(TS_MSG_IMPRINT, i2d_TS_MSG_IMPRINT, bp, a); } #ifndef OPENSSL_NO_STDIO TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a) @@ -36,9 +36,9 @@ TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a) d2i_TS_MSG_IMPRINT, fp, a); } -int i2d_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT *a) +int i2d_TS_MSG_IMPRINT_fp(FILE *fp, const TS_MSG_IMPRINT *a) { - return ASN1_i2d_fp_of_const(TS_MSG_IMPRINT, i2d_TS_MSG_IMPRINT, fp, a); + return ASN1_i2d_fp_of(TS_MSG_IMPRINT, i2d_TS_MSG_IMPRINT, fp, a); } #endif @@ -51,16 +51,16 @@ ASN1_SEQUENCE(TS_REQ) = { ASN1_IMP_SEQUENCE_OF_OPT(TS_REQ, extensions, X509_EXTENSION, 0) } static_ASN1_SEQUENCE_END(TS_REQ) -IMPLEMENT_ASN1_FUNCTIONS_const(TS_REQ) +IMPLEMENT_ASN1_FUNCTIONS(TS_REQ) IMPLEMENT_ASN1_DUP_FUNCTION(TS_REQ) TS_REQ *d2i_TS_REQ_bio(BIO *bp, TS_REQ **a) { return ASN1_d2i_bio_of(TS_REQ, TS_REQ_new, d2i_TS_REQ, bp, a); } -int i2d_TS_REQ_bio(BIO *bp, TS_REQ *a) +int i2d_TS_REQ_bio(BIO *bp, const TS_REQ *a) { - return ASN1_i2d_bio_of_const(TS_REQ, i2d_TS_REQ, bp, a); + return ASN1_i2d_bio_of(TS_REQ, i2d_TS_REQ, bp, a); } #ifndef OPENSSL_NO_STDIO TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a) @@ -68,9 +68,9 @@ TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a) return ASN1_d2i_fp_of(TS_REQ, TS_REQ_new, d2i_TS_REQ, fp, a); } -int i2d_TS_REQ_fp(FILE *fp, TS_REQ *a) +int i2d_TS_REQ_fp(FILE *fp, const TS_REQ *a) { - return ASN1_i2d_fp_of_const(TS_REQ, i2d_TS_REQ, fp, a); + return ASN1_i2d_fp_of(TS_REQ, i2d_TS_REQ, fp, a); } #endif @@ -80,7 +80,7 @@ ASN1_SEQUENCE(TS_ACCURACY) = { ASN1_IMP_OPT(TS_ACCURACY, micros, ASN1_INTEGER, 1) } static_ASN1_SEQUENCE_END(TS_ACCURACY) -IMPLEMENT_ASN1_FUNCTIONS_const(TS_ACCURACY) +IMPLEMENT_ASN1_FUNCTIONS(TS_ACCURACY) IMPLEMENT_ASN1_DUP_FUNCTION(TS_ACCURACY) ASN1_SEQUENCE(TS_TST_INFO) = { @@ -96,7 +96,7 @@ ASN1_SEQUENCE(TS_TST_INFO) = { ASN1_IMP_SEQUENCE_OF_OPT(TS_TST_INFO, extensions, X509_EXTENSION, 1) } static_ASN1_SEQUENCE_END(TS_TST_INFO) -IMPLEMENT_ASN1_FUNCTIONS_const(TS_TST_INFO) +IMPLEMENT_ASN1_FUNCTIONS(TS_TST_INFO) IMPLEMENT_ASN1_DUP_FUNCTION(TS_TST_INFO) TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *bp, TS_TST_INFO **a) { @@ -104,9 +104,9 @@ TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *bp, TS_TST_INFO **a) a); } -int i2d_TS_TST_INFO_bio(BIO *bp, TS_TST_INFO *a) +int i2d_TS_TST_INFO_bio(BIO *bp, const TS_TST_INFO *a) { - return ASN1_i2d_bio_of_const(TS_TST_INFO, i2d_TS_TST_INFO, bp, a); + return ASN1_i2d_bio_of(TS_TST_INFO, i2d_TS_TST_INFO, bp, a); } #ifndef OPENSSL_NO_STDIO TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a) @@ -115,9 +115,9 @@ TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a) a); } -int i2d_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO *a) +int i2d_TS_TST_INFO_fp(FILE *fp, const TS_TST_INFO *a) { - return ASN1_i2d_fp_of_const(TS_TST_INFO, i2d_TS_TST_INFO, fp, a); + return ASN1_i2d_fp_of(TS_TST_INFO, i2d_TS_TST_INFO, fp, a); } #endif @@ -127,7 +127,7 @@ ASN1_SEQUENCE(TS_STATUS_INFO) = { ASN1_OPT(TS_STATUS_INFO, failure_info, ASN1_BIT_STRING) } static_ASN1_SEQUENCE_END(TS_STATUS_INFO) -IMPLEMENT_ASN1_FUNCTIONS_const(TS_STATUS_INFO) +IMPLEMENT_ASN1_FUNCTIONS(TS_STATUS_INFO) IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO) static int ts_resp_set_tst_info(TS_RESP *a) @@ -176,7 +176,7 @@ ASN1_SEQUENCE_cb(TS_RESP, ts_resp_cb) = { ASN1_OPT(TS_RESP, token, PKCS7), } static_ASN1_SEQUENCE_END_cb(TS_RESP, TS_RESP) -IMPLEMENT_ASN1_FUNCTIONS_const(TS_RESP) +IMPLEMENT_ASN1_FUNCTIONS(TS_RESP) IMPLEMENT_ASN1_DUP_FUNCTION(TS_RESP) @@ -185,9 +185,9 @@ TS_RESP *d2i_TS_RESP_bio(BIO *bp, TS_RESP **a) return ASN1_d2i_bio_of(TS_RESP, TS_RESP_new, d2i_TS_RESP, bp, a); } -int i2d_TS_RESP_bio(BIO *bp, TS_RESP *a) +int i2d_TS_RESP_bio(BIO *bp, const TS_RESP *a) { - return ASN1_i2d_bio_of_const(TS_RESP, i2d_TS_RESP, bp, a); + return ASN1_i2d_bio_of(TS_RESP, i2d_TS_RESP, bp, a); } #ifndef OPENSSL_NO_STDIO TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a) @@ -195,9 +195,9 @@ TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a) return ASN1_d2i_fp_of(TS_RESP, TS_RESP_new, d2i_TS_RESP, fp, a); } -int i2d_TS_RESP_fp(FILE *fp, TS_RESP *a) +int i2d_TS_RESP_fp(FILE *fp, const TS_RESP *a) { - return ASN1_i2d_fp_of_const(TS_RESP, i2d_TS_RESP, fp, a); + return ASN1_i2d_fp_of(TS_RESP, i2d_TS_RESP, fp, a); } #endif diff --git a/crypto/x509/x_all.c b/crypto/x509/x_all.c index 5fb3a599..dca138c3 100644 --- a/crypto/x509/x_all.c +++ b/crypto/x509/x_all.c @@ -112,7 +112,7 @@ X509 *d2i_X509_fp(FILE *fp, X509 **x509) return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509), fp, x509); } -int i2d_X509_fp(FILE *fp, X509 *x509) +int i2d_X509_fp(FILE *fp, const X509 *x509) { return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509), fp, x509); } @@ -123,7 +123,7 @@ X509 *d2i_X509_bio(BIO *bp, X509 **x509) return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509), bp, x509); } -int i2d_X509_bio(BIO *bp, X509 *x509) +int i2d_X509_bio(BIO *bp, const X509 *x509) { return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509), bp, x509); } @@ -134,7 +134,7 @@ X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl) return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl); } -int i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl) +int i2d_X509_CRL_fp(FILE *fp, const X509_CRL *crl) { return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl); } @@ -145,7 +145,7 @@ X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl) return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl); } -int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl) +int i2d_X509_CRL_bio(BIO *bp, const X509_CRL *crl) { return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl); } @@ -156,7 +156,7 @@ PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7) return ASN1_item_d2i_fp(ASN1_ITEM_rptr(PKCS7), fp, p7); } -int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7) +int i2d_PKCS7_fp(FILE *fp, const PKCS7 *p7) { return ASN1_item_i2d_fp(ASN1_ITEM_rptr(PKCS7), fp, p7); } @@ -167,7 +167,7 @@ PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7) return ASN1_item_d2i_bio(ASN1_ITEM_rptr(PKCS7), bp, p7); } -int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7) +int i2d_PKCS7_bio(BIO *bp, const PKCS7 *p7) { return ASN1_item_i2d_bio(ASN1_ITEM_rptr(PKCS7), bp, p7); } @@ -178,7 +178,7 @@ X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req) return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_REQ), fp, req); } -int i2d_X509_REQ_fp(FILE *fp, X509_REQ *req) +int i2d_X509_REQ_fp(FILE *fp, const X509_REQ *req) { return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_REQ), fp, req); } @@ -189,7 +189,7 @@ X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req) return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509_REQ), bp, req); } -int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req) +int i2d_X509_REQ_bio(BIO *bp, const X509_REQ *req) { return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_REQ), bp, req); } @@ -202,7 +202,7 @@ RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa) return ASN1_item_d2i_fp(ASN1_ITEM_rptr(RSAPrivateKey), fp, rsa); } -int i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa) +int i2d_RSAPrivateKey_fp(FILE *fp, const RSA *rsa) { return ASN1_item_i2d_fp(ASN1_ITEM_rptr(RSAPrivateKey), fp, rsa); } @@ -219,12 +219,12 @@ RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa) (void **)rsa); } -int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa) +int i2d_RSAPublicKey_fp(FILE *fp, const RSA *rsa) { return ASN1_item_i2d_fp(ASN1_ITEM_rptr(RSAPublicKey), fp, rsa); } -int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa) +int i2d_RSA_PUBKEY_fp(FILE *fp, const RSA *rsa) { return ASN1_i2d_fp((I2D_OF(void))i2d_RSA_PUBKEY, fp, rsa); } @@ -235,7 +235,7 @@ RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa) return ASN1_item_d2i_bio(ASN1_ITEM_rptr(RSAPrivateKey), bp, rsa); } -int i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa) +int i2d_RSAPrivateKey_bio(BIO *bp, const RSA *rsa) { return ASN1_item_i2d_bio(ASN1_ITEM_rptr(RSAPrivateKey), bp, rsa); } @@ -250,12 +250,12 @@ RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa) return ASN1_d2i_bio_of(RSA, RSA_new, d2i_RSA_PUBKEY, bp, rsa); } -int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa) +int i2d_RSAPublicKey_bio(BIO *bp, const RSA *rsa) { return ASN1_item_i2d_bio(ASN1_ITEM_rptr(RSAPublicKey), bp, rsa); } -int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa) +int i2d_RSA_PUBKEY_bio(BIO *bp, const RSA *rsa) { return ASN1_i2d_bio_of(RSA, i2d_RSA_PUBKEY, bp, rsa); } @@ -268,9 +268,9 @@ DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa) return ASN1_d2i_fp_of(DSA, DSA_new, d2i_DSAPrivateKey, fp, dsa); } -int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa) +int i2d_DSAPrivateKey_fp(FILE *fp, const DSA *dsa) { - return ASN1_i2d_fp_of_const(DSA, i2d_DSAPrivateKey, fp, dsa); + return ASN1_i2d_fp_of(DSA, i2d_DSAPrivateKey, fp, dsa); } DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa) @@ -278,7 +278,7 @@ DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa) return ASN1_d2i_fp_of(DSA, DSA_new, d2i_DSA_PUBKEY, fp, dsa); } -int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa) +int i2d_DSA_PUBKEY_fp(FILE *fp, const DSA *dsa) { return ASN1_i2d_fp_of(DSA, i2d_DSA_PUBKEY, fp, dsa); } @@ -289,9 +289,9 @@ DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa) return ASN1_d2i_bio_of(DSA, DSA_new, d2i_DSAPrivateKey, bp, dsa); } -int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa) +int i2d_DSAPrivateKey_bio(BIO *bp, const DSA *dsa) { - return ASN1_i2d_bio_of_const(DSA, i2d_DSAPrivateKey, bp, dsa); + return ASN1_i2d_bio_of(DSA, i2d_DSAPrivateKey, bp, dsa); } DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa) @@ -299,7 +299,7 @@ DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa) return ASN1_d2i_bio_of(DSA, DSA_new, d2i_DSA_PUBKEY, bp, dsa); } -int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa) +int i2d_DSA_PUBKEY_bio(BIO *bp, const DSA *dsa) { return ASN1_i2d_bio_of(DSA, i2d_DSA_PUBKEY, bp, dsa); } @@ -313,7 +313,7 @@ EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey) return ASN1_d2i_fp_of(EC_KEY, EC_KEY_new, d2i_EC_PUBKEY, fp, eckey); } -int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey) +int i2d_EC_PUBKEY_fp(FILE *fp, const EC_KEY *eckey) { return ASN1_i2d_fp_of(EC_KEY, i2d_EC_PUBKEY, fp, eckey); } @@ -323,7 +323,7 @@ EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey) return ASN1_d2i_fp_of(EC_KEY, EC_KEY_new, d2i_ECPrivateKey, fp, eckey); } -int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey) +int i2d_ECPrivateKey_fp(FILE *fp, const EC_KEY *eckey) { return ASN1_i2d_fp_of(EC_KEY, i2d_ECPrivateKey, fp, eckey); } @@ -333,7 +333,7 @@ EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey) return ASN1_d2i_bio_of(EC_KEY, EC_KEY_new, d2i_EC_PUBKEY, bp, eckey); } -int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ecdsa) +int i2d_EC_PUBKEY_bio(BIO *bp, const EC_KEY *ecdsa) { return ASN1_i2d_bio_of(EC_KEY, i2d_EC_PUBKEY, bp, ecdsa); } @@ -343,7 +343,7 @@ EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey) return ASN1_d2i_bio_of(EC_KEY, EC_KEY_new, d2i_ECPrivateKey, bp, eckey); } -int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey) +int i2d_ECPrivateKey_bio(BIO *bp, const EC_KEY *eckey) { return ASN1_i2d_bio_of(EC_KEY, i2d_ECPrivateKey, bp, eckey); } @@ -415,7 +415,7 @@ X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8) return ASN1_d2i_fp_of(X509_SIG, X509_SIG_new, d2i_X509_SIG, fp, p8); } -int i2d_PKCS8_fp(FILE *fp, X509_SIG *p8) +int i2d_PKCS8_fp(FILE *fp, const X509_SIG *p8) { return ASN1_i2d_fp_of(X509_SIG, i2d_X509_SIG, fp, p8); } @@ -426,7 +426,7 @@ X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8) return ASN1_d2i_bio_of(X509_SIG, X509_SIG_new, d2i_X509_SIG, bp, p8); } -int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8) +int i2d_PKCS8_bio(BIO *bp, const X509_SIG *p8) { return ASN1_i2d_bio_of(X509_SIG, i2d_X509_SIG, bp, p8); } @@ -439,13 +439,13 @@ PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, d2i_PKCS8_PRIV_KEY_INFO, fp, p8inf); } -int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf) +int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, const PKCS8_PRIV_KEY_INFO *p8inf) { return ASN1_i2d_fp_of(PKCS8_PRIV_KEY_INFO, i2d_PKCS8_PRIV_KEY_INFO, fp, p8inf); } -int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key) +int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, const EVP_PKEY *key) { PKCS8_PRIV_KEY_INFO *p8inf; int ret; @@ -457,7 +457,7 @@ int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key) return ret; } -int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey) +int i2d_PrivateKey_fp(FILE *fp, const EVP_PKEY *pkey) { return ASN1_i2d_fp_of(EVP_PKEY, i2d_PrivateKey, fp, pkey); } @@ -467,7 +467,7 @@ EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a) return ASN1_d2i_fp_of(EVP_PKEY, EVP_PKEY_new, d2i_AutoPrivateKey, fp, a); } -int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey) +int i2d_PUBKEY_fp(FILE *fp, const EVP_PKEY *pkey) { return ASN1_i2d_fp_of(EVP_PKEY, i2d_PUBKEY, fp, pkey); } @@ -486,13 +486,13 @@ PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, d2i_PKCS8_PRIV_KEY_INFO, bp, p8inf); } -int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf) +int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, const PKCS8_PRIV_KEY_INFO *p8inf) { return ASN1_i2d_bio_of(PKCS8_PRIV_KEY_INFO, i2d_PKCS8_PRIV_KEY_INFO, bp, p8inf); } -int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key) +int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, const EVP_PKEY *key) { PKCS8_PRIV_KEY_INFO *p8inf; int ret; @@ -504,7 +504,7 @@ int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key) return ret; } -int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey) +int i2d_PrivateKey_bio(BIO *bp, const EVP_PKEY *pkey) { return ASN1_i2d_bio_of(EVP_PKEY, i2d_PrivateKey, bp, pkey); } @@ -514,7 +514,7 @@ EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a) return ASN1_d2i_bio_of(EVP_PKEY, EVP_PKEY_new, d2i_AutoPrivateKey, bp, a); } -int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey) +int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey) { return ASN1_i2d_bio_of(EVP_PKEY, i2d_PUBKEY, bp, pkey); } diff --git a/crypto/x509/x_name.c b/crypto/x509/x_name.c index 53bbf722..8fd6566b 100644 --- a/crypto/x509/x_name.c +++ b/crypto/x509/x_name.c @@ -28,7 +28,7 @@ static int x509_name_ex_d2i(ASN1_VALUE **val, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC *ctx); -static int x509_name_ex_i2d(ASN1_VALUE **val, unsigned char **out, +static int x509_name_ex_i2d(const ASN1_VALUE **val, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass); static int x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it); static void x509_name_ex_free(ASN1_VALUE **val, const ASN1_ITEM *it); @@ -36,10 +36,10 @@ static void x509_name_ex_free(ASN1_VALUE **val, const ASN1_ITEM *it); static int x509_name_encode(X509_NAME *a); static int x509_name_canon(X509_NAME *a); static int asn1_string_canon(ASN1_STRING *out, const ASN1_STRING *in); -static int i2d_name_canon(STACK_OF(STACK_OF_X509_NAME_ENTRY) * intname, +static int i2d_name_canon(const STACK_OF(STACK_OF_X509_NAME_ENTRY) * intname, unsigned char **in); -static int x509_name_ex_print(BIO *out, ASN1_VALUE **pval, +static int x509_name_ex_print(BIO *out, const ASN1_VALUE **pval, int indent, const char *fname, const ASN1_PCTX *pctx); @@ -156,6 +156,7 @@ static int x509_name_ex_d2i(ASN1_VALUE **val, int i, j, ret; STACK_OF(X509_NAME_ENTRY) *entries; X509_NAME_ENTRY *entry; + if (len > X509_NAME_MAX) len = X509_NAME_MAX; q = p; @@ -207,11 +208,12 @@ static int x509_name_ex_d2i(ASN1_VALUE **val, return 0; } -static int x509_name_ex_i2d(ASN1_VALUE **val, unsigned char **out, +static int x509_name_ex_i2d(const ASN1_VALUE **val, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass) { int ret; X509_NAME *a = (X509_NAME *)*val; + if (a->modified) { ret = x509_name_encode(a); if (ret < 0) @@ -232,7 +234,7 @@ static int x509_name_encode(X509_NAME *a) { union { STACK_OF(STACK_OF_X509_NAME_ENTRY) *s; - ASN1_VALUE *a; + const ASN1_VALUE *a; } intname = { NULL }; @@ -241,6 +243,7 @@ static int x509_name_encode(X509_NAME *a) STACK_OF(X509_NAME_ENTRY) *entries = NULL; X509_NAME_ENTRY *entry; int i, set = -1; + intname.s = sk_STACK_OF_X509_NAME_ENTRY_new_null(); if (!intname.s) goto memerr; @@ -277,7 +280,7 @@ static int x509_name_encode(X509_NAME *a) return -1; } -static int x509_name_ex_print(BIO *out, ASN1_VALUE **pval, +static int x509_name_ex_print(BIO *out, const ASN1_VALUE **pval, int indent, const char *fname, const ASN1_PCTX *pctx) { @@ -460,11 +463,11 @@ static int asn1_string_canon(ASN1_STRING *out, const ASN1_STRING *in) } -static int i2d_name_canon(STACK_OF(STACK_OF_X509_NAME_ENTRY) * _intname, +static int i2d_name_canon(const STACK_OF(STACK_OF_X509_NAME_ENTRY) * _intname, unsigned char **in) { int i, len, ltmp; - ASN1_VALUE *v; + const ASN1_VALUE *v; STACK_OF(ASN1_VALUE) *intname = (STACK_OF(ASN1_VALUE) *)_intname; len = 0; @@ -479,14 +482,16 @@ static int i2d_name_canon(STACK_OF(STACK_OF_X509_NAME_ENTRY) * _intname, return len; } -int X509_NAME_set(X509_NAME **xn, X509_NAME *name) +int X509_NAME_set(X509_NAME **xn, const X509_NAME *name) { + X509_NAME *name_copy; + if (*xn == name) return *xn != NULL; - if ((name = X509_NAME_dup(name)) == NULL) + if ((name_copy = X509_NAME_dup(name)) == NULL) return 0; X509_NAME_free(*xn); - *xn = name; + *xn = name_copy; return 1; } diff --git a/crypto/x509/x_pubkey.c b/crypto/x509/x_pubkey.c index be42684e..eb5ea27b 100644 --- a/crypto/x509/x_pubkey.c +++ b/crypto/x509/x_pubkey.c @@ -57,6 +57,7 @@ ASN1_SEQUENCE_cb(X509_PUBKEY, pubkey_cb) = { IMPLEMENT_ASN1_FUNCTIONS(X509_PUBKEY) +/* TODO should better be called X509_PUBKEY_set1 */ int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) { X509_PUBKEY *pk = NULL; @@ -67,7 +68,7 @@ int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) if ((pk = X509_PUBKEY_new()) == NULL) goto error; - if (pkey->ameth) { + if (pkey != NULL && pkey->ameth) { if (pkey->ameth->pub_encode) { if (!pkey->ameth->pub_encode(pk, pkey)) { X509err(X509_F_X509_PUBKEY_SET, @@ -86,8 +87,7 @@ int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) X509_PUBKEY_free(*x); *x = pk; pk->pkey = pkey; - EVP_PKEY_up_ref(pkey); - return 1; + return EVP_PKEY_up_ref(pkey); error: X509_PUBKEY_free(pk); @@ -200,15 +200,22 @@ EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length) return pktmp; } -int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp) +int i2d_PUBKEY(const EVP_PKEY *a, unsigned char **pp) { X509_PUBKEY *xpk = NULL; - int ret; - if (!a) + int ret = -1; + + if (a == NULL) return 0; - if (!X509_PUBKEY_set(&xpk, a)) + if ((xpk = X509_PUBKEY_new()) == NULL) return -1; + if (a->ameth != NULL && a->ameth->pub_encode != NULL + && !a->ameth->pub_encode(xpk, a)) + goto error; + xpk->pkey = (EVP_PKEY *)a; ret = i2d_X509_PUBKEY(xpk, pp); + xpk->pkey = NULL; + error: X509_PUBKEY_free(xpk); return ret; } @@ -238,7 +245,7 @@ RSA *d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length) return key; } -int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp) +int i2d_RSA_PUBKEY(const RSA *a, unsigned char **pp) { EVP_PKEY *pktmp; int ret; @@ -249,8 +256,9 @@ int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp) ASN1err(ASN1_F_I2D_RSA_PUBKEY, ERR_R_MALLOC_FAILURE); return -1; } - EVP_PKEY_set1_RSA(pktmp, a); + (void)EVP_PKEY_assign_RSA(pktmp, (RSA *)a); ret = i2d_PUBKEY(pktmp, pp); + pktmp->pkey.ptr = NULL; EVP_PKEY_free(pktmp); return ret; } @@ -278,7 +286,7 @@ DSA *d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length) return key; } -int i2d_DSA_PUBKEY(DSA *a, unsigned char **pp) +int i2d_DSA_PUBKEY(const DSA *a, unsigned char **pp) { EVP_PKEY *pktmp; int ret; @@ -289,8 +297,9 @@ int i2d_DSA_PUBKEY(DSA *a, unsigned char **pp) ASN1err(ASN1_F_I2D_DSA_PUBKEY, ERR_R_MALLOC_FAILURE); return -1; } - EVP_PKEY_set1_DSA(pktmp, a); + (void)EVP_PKEY_assign_DSA(pktmp, (DSA *)a); ret = i2d_PUBKEY(pktmp, pp); + pktmp->pkey.ptr = NULL; EVP_PKEY_free(pktmp); return ret; } @@ -318,7 +327,7 @@ EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, long length) return key; } -int i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp) +int i2d_EC_PUBKEY(const EC_KEY *a, unsigned char **pp) { EVP_PKEY *pktmp; int ret; @@ -328,8 +337,9 @@ int i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp) ASN1err(ASN1_F_I2D_EC_PUBKEY, ERR_R_MALLOC_FAILURE); return -1; } - EVP_PKEY_set1_EC_KEY(pktmp, a); + (void)EVP_PKEY_assign_EC_KEY(pktmp, (EC_KEY *)a); ret = i2d_PUBKEY(pktmp, pp); + pktmp->pkey.ptr = NULL; EVP_PKEY_free(pktmp); return ret; } diff --git a/crypto/x509/x_x509.c b/crypto/x509/x_x509.c index bf0270ef..54d015b2 100644 --- a/crypto/x509/x_x509.c +++ b/crypto/x509/x_x509.c @@ -107,7 +107,6 @@ ASN1_SEQUENCE_ref(X509, x509_cb) = { } ASN1_SEQUENCE_END_ref(X509, X509) IMPLEMENT_ASN1_FUNCTIONS(X509) - IMPLEMENT_ASN1_DUP_FUNCTION(X509) int X509_set_ex_data(X509 *r, int idx, void *arg) @@ -163,7 +162,7 @@ X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length) * error path, but that depends on similar hygiene in lower-level functions. * Here we avoid compounding the problem. */ -static int i2d_x509_aux_internal(X509 *a, unsigned char **pp) +static int i2d_x509_aux_internal(const X509 *a, unsigned char **pp) { int length, tmplen; unsigned char *start = pp != NULL ? *pp : NULL; @@ -197,7 +196,7 @@ static int i2d_x509_aux_internal(X509 *a, unsigned char **pp) * the allocation, nor can we allow i2d_X509_CERT_AUX() to increment the * allocated buffer. */ -int i2d_X509_AUX(X509 *a, unsigned char **pp) +int i2d_X509_AUX(const X509 *a, unsigned char **pp) { int length; unsigned char *tmp; diff --git a/crypto/x509v3/pcy_tree.c b/crypto/x509v3/pcy_tree.c index 860e4bf5..0c5887c2 100644 --- a/crypto/x509v3/pcy_tree.c +++ b/crypto/x509v3/pcy_tree.c @@ -8,76 +8,71 @@ */ #include "internal/cryptlib.h" +#include #include #include #include "pcy_int.h" -/* - * Enable this to print out the complete policy tree at various point during - * evaluation. - */ - -/* - * #define OPENSSL_POLICY_DEBUG - */ - -#ifdef OPENSSL_POLICY_DEBUG - -static void expected_print(BIO *err, X509_POLICY_LEVEL *lev, - X509_POLICY_NODE *node, int indent) +static void expected_print(BIO *channel, + X509_POLICY_LEVEL *lev, X509_POLICY_NODE *node, + int indent) { if ((lev->flags & X509_V_FLAG_INHIBIT_MAP) || !(node->data->flags & POLICY_DATA_FLAG_MAP_MASK)) - BIO_puts(err, " Not Mapped\n"); + BIO_puts(channel, " Not Mapped\n"); else { int i; + STACK_OF(ASN1_OBJECT) *pset = node->data->expected_policy_set; ASN1_OBJECT *oid; - BIO_puts(err, " Expected: "); + BIO_puts(channel, " Expected: "); for (i = 0; i < sk_ASN1_OBJECT_num(pset); i++) { oid = sk_ASN1_OBJECT_value(pset, i); if (i) - BIO_puts(err, ", "); - i2a_ASN1_OBJECT(err, oid); + BIO_puts(channel, ", "); + i2a_ASN1_OBJECT(channel, oid); } - BIO_puts(err, "\n"); + BIO_puts(channel, "\n"); } } -static void tree_print(char *str, X509_POLICY_TREE *tree, +static void tree_print(BIO *channel, + char *str, X509_POLICY_TREE *tree, X509_POLICY_LEVEL *curr) { - BIO *err = BIO_new_fp(stderr, BIO_NOCLOSE); X509_POLICY_LEVEL *plev; - if (err == NULL) - return; if (!curr) curr = tree->levels + tree->nlevel; else curr++; - BIO_printf(err, "Level print after %s\n", str); - BIO_printf(err, "Printing Up to Level %ld\n", curr - tree->levels); + BIO_printf(channel, "Level print after %s\n", str); + BIO_printf(channel, "Printing Up to Level %ld\n", + curr - tree->levels); for (plev = tree->levels; plev != curr; plev++) { int i; - BIO_printf(err, "Level %ld, flags = %x\n", + BIO_printf(channel, "Level %ld, flags = %x\n", (long)(plev - tree->levels), plev->flags); for (i = 0; i < sk_X509_POLICY_NODE_num(plev->nodes); i++) { - X509_POLICY_NODE *node = sk_X509_POLICY_NODE_value(plev->nodes, i); + X509_POLICY_NODE *node = + sk_X509_POLICY_NODE_value(plev->nodes, i); - X509_POLICY_NODE_print(err, node, 2); - expected_print(err, plev, node, 2); - BIO_printf(err, " Flags: %x\n", node->data->flags); + X509_POLICY_NODE_print(channel, node, 2); + expected_print(channel, plev, node, 2); + BIO_printf(channel, " Flags: %x\n", node->data->flags); } if (plev->anyPolicy) - X509_POLICY_NODE_print(err, plev->anyPolicy, 2); + X509_POLICY_NODE_print(channel, plev->anyPolicy, 2); } - BIO_free(err); } -#endif + +#define TREE_PRINT(str, tree, curr) \ + OSSL_TRACE_BEGIN(X509V3_POLICY) { \ + tree_print(trc_out, "before tree_prune()", tree, curr); \ + } OSSL_TRACE_END(X509V3_POLICY) /*- * Return value: <= 0 on error, or positive bit mask: @@ -588,9 +583,7 @@ static int tree_evaluate(X509_POLICY_TREE *tree) if (!(curr->flags & X509_V_FLAG_INHIBIT_ANY) && !tree_link_any(curr, cache, tree)) return X509_PCY_TREE_INTERNAL; -#ifdef OPENSSL_POLICY_DEBUG - tree_print("before tree_prune()", tree, curr); -#endif + TREE_PRINT("before tree_prune()", tree, curr); ret = tree_prune(tree, curr); if (ret != X509_PCY_TREE_VALID) return ret; @@ -665,9 +658,7 @@ int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy, } ret = tree_evaluate(tree); -#ifdef OPENSSL_POLICY_DEBUG - tree_print("tree_evaluate()", tree, NULL); -#endif + TREE_PRINT("tree_evaluate()", tree, NULL); if (ret <= 0) goto error; diff --git a/crypto/x509v3/v3_genn.c b/crypto/x509v3/v3_genn.c index b52735fe..1815d598 100644 --- a/crypto/x509v3/v3_genn.c +++ b/crypto/x509v3/v3_genn.c @@ -50,7 +50,7 @@ ASN1_ITEM_TEMPLATE_END(GENERAL_NAMES) IMPLEMENT_ASN1_FUNCTIONS(GENERAL_NAMES) -GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a) +GENERAL_NAME *GENERAL_NAME_dup(const GENERAL_NAME *a) { return (GENERAL_NAME *)ASN1_dup((i2d_of_void *)i2d_GENERAL_NAME, (d2i_of_void *)d2i_GENERAL_NAME, diff --git a/doc/internal/man3/DEFINE_SPARSE_ARRAY_OF.pod b/doc/internal/man3/DEFINE_SPARSE_ARRAY_OF.pod index c36472aa..db2ad36b 100644 --- a/doc/internal/man3/DEFINE_SPARSE_ARRAY_OF.pod +++ b/doc/internal/man3/DEFINE_SPARSE_ARRAY_OF.pod @@ -21,12 +21,15 @@ ossl_sa_TYPE_doall_arg, ossl_sa_TYPE_get, ossl_sa_TYPE_set SPARSE_ARRAY_OF(TYPE) *ossl_sa_TYPE_new(void); void ossl_sa_TYPE_free(const SPARSE_ARRAY_OF(TYPE) *sa); void ossl_sa_TYPE_free_leaves(const SPARSE_ARRAY_OF(TYPE) *sa); - int ossl_sa_TYPE_num(const SPARSE_ARRAY_OF(TYPE) *sa); - void ossl_sa_TYPE_doall(const OPENSSL_SA *sa, void (*leaf)(size_t, void *)); + size_t ossl_sa_TYPE_num(const SPARSE_ARRAY_OF(TYPE) *sa); + void ossl_sa_TYPE_doall(const OPENSSL_SA *sa, void (*leaf)(ossl_uintmax_t, + void *)); void ossl_sa_TYPE_doall_arg(const OPENSSL_SA *sa, - void (*leaf)(size_t, void *, void *), void *arg); - TYPE *ossl_sa_TYPE_get(const SPARSE_ARRAY_OF(TYPE) *sa, size_t idx); - int ossl_sa_TYPE_set(SPARSE_ARRAY_OF(TYPE) *sa, size_t idx, TYPE *value); + void (*leaf)(ossl_uintmax_t, void *, void *), + void *arg); + TYPE *ossl_sa_TYPE_get(const SPARSE_ARRAY_OF(TYPE) *sa, ossl_uintmax_t idx); + int ossl_sa_TYPE_set(SPARSE_ARRAY_OF(TYPE) *sa, ossl_uintmax_t idx, + TYPE *value); =head1 DESCRIPTION @@ -36,7 +39,7 @@ B. This will mean that a pointer to type B is stored in each element of a sparse array, the type is referenced by SPARSE_ARRAY_OF(TYPE) and each function name begins with I. For example: - TYPE *ossl_sa_TYPE_get(SPARSE_ARRAY_OF(TYPE) *sa, size_t idx); + TYPE *ossl_sa_TYPE_get(SPARSE_ARRAY_OF(TYPE) *sa, ossl_uintmax_t idx); ossl_sa_TYPE_num() returns the number of elements in B or 0 if B is B. diff --git a/doc/internal/man3/openssl_ctx_get_data.pod b/doc/internal/man3/openssl_ctx_get_data.pod index ee98dc27..db066ad9 100644 --- a/doc/internal/man3/openssl_ctx_get_data.pod +++ b/doc/internal/man3/openssl_ctx_get_data.pod @@ -39,6 +39,14 @@ context is freed. openssl_ctx_get_data() is used to retrieve a pointer to the data in the library context C associated with the given C. +=head1 RETURN VALUES + +openssl_ctx_new_index() returns -1 on error, otherwise the allocated +index number. + +openssl_ctx_get_data() returns a pointer on success, or C on +failure. + =head1 EXAMPLES =head2 Initialization @@ -88,14 +96,6 @@ To get and use the data stored in the library context, simply do this: */ FOO *data = openssl_ctx_get_data(ctx, foo_index); -=head1 RETURN VALUES - -openssl_ctx_new_index() returns -1 on error, otherwise the allocated -index number. - -openssl_ctx_get_data() returns a pointer on success, or C on -failure. - =head1 SEE ALSO L diff --git a/doc/man1/ciphers.pod b/doc/man1/ciphers.pod index b5bca974..7d795c39 100644 --- a/doc/man1/ciphers.pod +++ b/doc/man1/ciphers.pod @@ -411,7 +411,7 @@ based on client preferences. An equal-preference is specified with square brackets, combining multiple selectors separated by |. For example: [ECDHE-ECDSA-CHACHA20-POLY1305|ECDHE-ECDSA-AES128-GCM-SHA256] - + Once an equal-preference group is used, future directives must be opcode-less. diff --git a/doc/man1/openssl.pod b/doc/man1/openssl.pod index a2002d44..ca4f78c2 100644 --- a/doc/man1/openssl.pod +++ b/doc/man1/openssl.pod @@ -531,6 +531,74 @@ Read the password from standard input. =back +=head1 ENVIRONMENT + +=over 4 + +=item BI + +Enable tracing output of OpenSSL library, by name. +This output will only make sense if you know OpenSSL internals well. +Also, it might not give you any output at all, depending on how +OpenSSL was built. + +The value is a comma separated list of names, with the following +available: + +=over 4 + +=item B + +The tracing functionality. + +=item B + +General SSL/TLS. + +=item B + +SSL/TLS cipher. + +=item B + +ENGINE configuration. + +=item B + +The function that is used by RSA, DSA (etc) code to select registered +ENGINEs, cache defaults and functional references (etc), will generate +debugging summaries. + +=item B + +Reference counts in the ENGINE structure will be monitored with a line +of generated for each change. + +=item B + +PKCS#5 v2 keygen. + +=item B + +PKCS#12 key generation. + +=item B + +PKCS#12 decryption. + +=item B + +Generates the complete policy tree at various point during X.509 v3 +policy evaluation. + +=item B + +BIGNUM context. + +=back + +=back + =head1 SEE ALSO L, L, L, L, L, diff --git a/doc/man1/pkeyutl.pod b/doc/man1/pkeyutl.pod index 24354db9..c566f6d8 100644 --- a/doc/man1/pkeyutl.pod +++ b/doc/man1/pkeyutl.pod @@ -10,6 +10,8 @@ pkeyutl - public key algorithm utility B B [B<-help>] [B<-in file>] +[B<-rawin>] +[B<-digest algorithm>] [B<-out file>] [B<-sigfile file>] [B<-inkey file>] @@ -55,6 +57,23 @@ Print out a usage message. This specifies the input filename to read data from or standard input if this option is not specified. +=item B<-rawin> + +This indicates that the input data is raw data, which is not hashed by any +message digest algorithm. The user can specify a digest algorithm by using +the B<-digest> option. This option can only be used with B<-sign> and +B<-verify>. + +=item B<-digest algorithm> + +This specifies the digest algorithm which is used to hash the input data before +signing or verifying it with the input key. This option could be omitted if the +signature algorithm does not require one (for instance, EdDSA). If this option +is omitted but the signature algorithm requires one, a default value will be +used. For signature algorithms like RSA, DSA and ECDSA, SHA-256 will be the +default digest algorithm. For SM2, it will be SM3. If this option is present, +then the B<-rawin> option must be also specified to B. + =item B<-out filename> Specifies the output filename to write to or standard output by @@ -300,6 +319,22 @@ this digest is assumed by default. The X25519 and X448 algorithms support key derivation only. Currently there are no additional options. +=head1 SM2 + +The SM2 algorithm supports sign, verify, encrypt and decrypt operations. For +the sign and verify operations, SM2 requires an ID string to be passed in. The +following B value is supported: + +=over 4 + +=item B + +This sets the ID string used in SM2 sign or verify operations. While verifying +an SM2 signature, the ID string must be the same one used when signing the data. +Otherwise the verification will fail. + +=back + =head1 EXAMPLES Sign some data using a private key: @@ -338,6 +373,16 @@ Derive using the same algorithm, but read key from environment variable MYPASS: openssl pkeyutl -kdf scrypt -kdflen 16 -pkeyopt_passin pass:env:MYPASS \ -pkeyopt hexsalt:aabbcc -pkeyopt N:16384 -pkeyopt r:8 -pkeyopt p:1 +Sign some data using an L private key and a specific ID: + + openssl pkeyutl -sign -in file -inkey sm2.key -out sig -rawin -digest sm3 \ + -pkeyopt sm2_id:someid + +Verify some data using an L certificate and a specific ID: + + openssl pkeyutl -verify -certin -in file -inkey sm2.cert -sigfile sig \ + -rawin -digest sm3 -pkeyopt sm2_id:someid + =head1 SEE ALSO L, L, L diff --git a/doc/man1/x509.pod b/doc/man1/x509.pod index 75919ca7..251e3f7a 100644 --- a/doc/man1/x509.pod +++ b/doc/man1/x509.pod @@ -52,7 +52,7 @@ B B [B<-CAkey filename>] [B<-CAcreateserial>] [B<-CAserial filename>] -[B<-force_pubkey key>] +[B<-force_pubkey filename>] [B<-text>] [B<-ext extensions>] [B<-certopt option>] @@ -140,8 +140,9 @@ for all available algorithms. =item B<-preserve_dates> -When signing a certificate, preserve the "notBefore" and "notAfter" dates instead -of adjusting them to current time and duration. Cannot be used with the B<-days> option. +When signing a certificate, preserve the "notBefore" and "notAfter" dates +instead of adjusting them to current time and duration. +Cannot be used with the B<-days> option. =back @@ -354,17 +355,12 @@ can thus behave like a "mini CA". This option causes the input file to be self signed using the supplied private key. -If the input file is a certificate it sets the issuer name to the -subject name (i.e. makes it self signed) changes the public key to the -supplied value and changes the start and end dates. The start date is -set to the current time and the end date is set to a value determined -by the B<-days> option. Any certificate extensions are retained unless -the B<-clrext> option is supplied; this includes, for example, any existing -key identifier extensions. - -If the input is a certificate request then a self signed certificate -is created using the supplied private key using the subject name in -the request. +It sets the issuer name to the subject name (i.e., makes it self-issued) +and changes the public key to the supplied value (unless overridden by +B<-force_pubkey>). It sets the validity start date to the current time +and the end date to a value determined by the B<-days> option. +It retains any certificate extensions unless the B<-clrext> option is supplied; +this includes, for example, any existing key identifier extensions. =item B<-passin arg> @@ -458,14 +454,14 @@ specified then the extensions should either be contained in the unnamed L manual page for details of the extension section format. -=item B<-force_pubkey key> +=item B<-force_pubkey filename> -When a certificate is created set its public key to B instead of the -key in the certificate or certificate request. This option is useful for -creating certificates where the algorithm can't normally sign requests, for -example DH. +When a certificate is created set its public key to the key in B +instead of the key contained in the input or given with the B<-signkey> option. +This option is useful for creating self-issued certificates that are not +self-signed, for instance when the key cannot be used for signing, such as DH. -The format or B can be specified using the B<-keyform> option. +The format of the key file can be specified using the B<-keyform> option. =back diff --git a/doc/man3/ASN1_STRING_length.pod b/doc/man3/ASN1_STRING_length.pod index e726083b..86eb8350 100644 --- a/doc/man3/ASN1_STRING_length.pod +++ b/doc/man3/ASN1_STRING_length.pod @@ -14,7 +14,7 @@ ASN1_STRING_to_UTF8 - ASN1_STRING utility functions const unsigned char * ASN1_STRING_get0_data(const ASN1_STRING *x); unsigned char * ASN1_STRING_data(ASN1_STRING *x); - ASN1_STRING * ASN1_STRING_dup(ASN1_STRING *a); + ASN1_STRING * ASN1_STRING_dup(const ASN1_STRING *a); int ASN1_STRING_cmp(ASN1_STRING *a, ASN1_STRING *b); diff --git a/doc/man3/ASN1_TIME_set.pod b/doc/man3/ASN1_TIME_set.pod index 009e6f64..9db9970f 100644 --- a/doc/man3/ASN1_TIME_set.pod +++ b/doc/man3/ASN1_TIME_set.pod @@ -173,38 +173,6 @@ certificates complying with RFC5280 et al use GMT anyway. Use the ASN1_TIME_normalize() function to normalize the time value before printing to get GMT results. -=head1 EXAMPLES - -Set a time structure to one hour after the current time and print it out: - - #include - #include - - ASN1_TIME *tm; - time_t t; - BIO *b; - - t = time(NULL); - tm = ASN1_TIME_adj(NULL, t, 0, 60 * 60); - b = BIO_new_fp(stdout, BIO_NOCLOSE); - ASN1_TIME_print(b, tm); - ASN1_STRING_free(tm); - BIO_free(b); - -Determine if one time is later or sooner than the current time: - - int day, sec; - - if (!ASN1_TIME_diff(&day, &sec, NULL, to)) - /* Invalid time format */ - - if (day > 0 || sec > 0) - printf("Later\n"); - else if (day < 0 || sec < 0) - printf("Sooner\n"); - else - printf("Same\n"); - =head1 RETURN VALUES ASN1_TIME_set(), ASN1_UTCTIME_set(), ASN1_GENERALIZEDTIME_set(), ASN1_TIME_adj(), @@ -238,6 +206,38 @@ ASN1_TIME_compare() returns -1 if B is before B, 0 if B equals B, or ASN1_TIME_to_generalizedtime() returns a pointer to the appropriate time structure on success or NULL if an error occurred. +=head1 EXAMPLES + +Set a time structure to one hour after the current time and print it out: + + #include + #include + + ASN1_TIME *tm; + time_t t; + BIO *b; + + t = time(NULL); + tm = ASN1_TIME_adj(NULL, t, 0, 60 * 60); + b = BIO_new_fp(stdout, BIO_NOCLOSE); + ASN1_TIME_print(b, tm); + ASN1_STRING_free(tm); + BIO_free(b); + +Determine if one time is later or sooner than the current time: + + int day, sec; + + if (!ASN1_TIME_diff(&day, &sec, NULL, to)) + /* Invalid time format */ + + if (day > 0 || sec > 0) + printf("Later\n"); + else if (day < 0 || sec < 0) + printf("Sooner\n"); + else + printf("Same\n"); + =head1 HISTORY The ASN1_TIME_to_tm() function was added in OpenSSL 1.1.1. diff --git a/doc/man3/ASN1_generate_nconf.pod b/doc/man3/ASN1_generate_nconf.pod index 1dfe9f7b..0ea71d2b 100644 --- a/doc/man3/ASN1_generate_nconf.pod +++ b/doc/man3/ASN1_generate_nconf.pod @@ -162,6 +162,13 @@ bits are zero. =back +=head1 RETURN VALUES + +ASN1_generate_nconf() and ASN1_generate_v3() return the encoded +data as an B structure or B if an error occurred. + +The error codes that can be obtained by L. + =head1 EXAMPLES A simple IA5String: @@ -247,13 +254,6 @@ structure: e=INTEGER:0x010001 -=head1 RETURN VALUES - -ASN1_generate_nconf() and ASN1_generate_v3() return the encoded -data as an B structure or B if an error occurred. - -The error codes that can be obtained by L. - =head1 SEE ALSO L diff --git a/doc/man3/BIO_push.pod b/doc/man3/BIO_push.pod index 02b6f181..c5919f3c 100644 --- a/doc/man3/BIO_push.pod +++ b/doc/man3/BIO_push.pod @@ -36,6 +36,13 @@ The process of calling BIO_push() and BIO_pop() on a BIO may have additional consequences (a control call is made to the affected BIOs) any effects will be noted in the descriptions of individual BIOs. +=head1 RETURN VALUES + +BIO_push() returns the end of the chain, B. + +BIO_pop() returns the next BIO in the chain, or NULL if there is no next +BIO. + =head1 EXAMPLES For these examples suppose B and B are digest BIOs, B is @@ -62,13 +69,6 @@ by B and B. If the call: The call will return B and the new chain will be B data can be written to B as before. -=head1 RETURN VALUES - -BIO_push() returns the end of the chain, B. - -BIO_pop() returns the next BIO in the chain, or NULL if there is no next -BIO. - =head1 SEE ALSO L diff --git a/doc/man3/BIO_s_file.pod b/doc/man3/BIO_s_file.pod index 5f0cdbe1..0d6cc98c 100644 --- a/doc/man3/BIO_s_file.pod +++ b/doc/man3/BIO_s_file.pod @@ -80,6 +80,24 @@ On Windows BIO_new_files reserves for the filename argument to be UTF-8 encoded. In other words if you have to make it work in multi- lingual environment, encode file names in UTF-8. +=head1 RETURN VALUES + +BIO_s_file() returns the file BIO method. + +BIO_new_file() and BIO_new_fp() return a file BIO or NULL if an error +occurred. + +BIO_set_fp() and BIO_get_fp() return 1 for success or 0 for failure +(although the current implementation never return 0). + +BIO_seek() returns the same value as the underlying fseek() function: +0 for success or -1 for failure. + +BIO_tell() returns the current file position. + +BIO_read_filename(), BIO_write_filename(), BIO_append_filename() and +BIO_rw_filename() return 1 for success or 0 for failure. + =head1 EXAMPLES File BIO "hello world": @@ -122,24 +140,6 @@ Alternative technique: BIO_printf(out, "Hello World\n"); BIO_free(out); -=head1 RETURN VALUES - -BIO_s_file() returns the file BIO method. - -BIO_new_file() and BIO_new_fp() return a file BIO or NULL if an error -occurred. - -BIO_set_fp() and BIO_get_fp() return 1 for success or 0 for failure -(although the current implementation never return 0). - -BIO_seek() returns the same value as the underlying fseek() function: -0 for success or -1 for failure. - -BIO_tell() returns the current file position. - -BIO_read_filename(), BIO_write_filename(), BIO_append_filename() and -BIO_rw_filename() return 1 for success or 0 for failure. - =head1 BUGS BIO_reset() and BIO_seek() are implemented using fseek() on the underlying diff --git a/doc/man3/BN_bn2bin.pod b/doc/man3/BN_bn2bin.pod index ffc8f9b4..52b7328d 100644 --- a/doc/man3/BN_bn2bin.pod +++ b/doc/man3/BN_bn2bin.pod @@ -3,9 +3,9 @@ =head1 NAME BN_bn2binpad, -BN_bn2bin, BN_bin2bn, BN_bn2lebinpad, BN_lebin2bn, BN_bn2hex, BN_bn2dec, -BN_hex2bn, BN_dec2bn, BN_print, BN_print_fp, BN_bn2mpi, -BN_mpi2bn - format conversions +BN_bn2bin, BN_bin2bn, BN_bn2lebinpad, BN_lebin2bn, +BN_bn2nativepad, BN_native2bn, BN_bn2hex, BN_bn2dec, BN_hex2bn, BN_dec2bn, +BN_print, BN_print_fp, BN_bn2mpi, BN_mpi2bn - format conversions =head1 SYNOPSIS @@ -18,6 +18,9 @@ BN_mpi2bn - format conversions int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen); BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret); + int BN_bn2nativepad(const BIGNUM *a, unsigned char *to, int tolen); + BIGNUM *BN_native2bn(const unsigned char *s, int len, BIGNUM *ret); + char *BN_bn2hex(const BIGNUM *a); char *BN_bn2dec(const BIGNUM *a); int BN_hex2bn(BIGNUM **a, const char *str); @@ -47,6 +50,11 @@ NULL, a new B is created. BN_bn2lebinpad() and BN_lebin2bn() are identical to BN_bn2binpad() and BN_bin2bn() except the buffer is in little-endian format. +BN_bn2nativepad() and BN_native2bn() are identical to BN_bn2binpad() and +BN_bin2bn() except the buffer is in native format, i.e. most significant +byte first on big-endian platforms, and least significant byte first on +little-endian platforms. + BN_bn2hex() and BN_bn2dec() return printable strings containing the hexadecimal and decimal encoding of B respectively. For negative numbers, the string is prefaced with a leading '-'. The string must be diff --git a/doc/man3/CONF_modules_load_file.pod b/doc/man3/CONF_modules_load_file.pod index 037c7f25..c0623eb7 100644 --- a/doc/man3/CONF_modules_load_file.pod +++ b/doc/man3/CONF_modules_load_file.pod @@ -67,6 +67,12 @@ Applications can use the CONF_modules_load() function if they wish to load a configuration file themselves and have finer control over how errors are treated. +=head1 RETURN VALUES + +These functions return 1 for success and a zero or negative value for +failure. If module errors are not ignored the return code will reflect the +return value of the failing module (this will always be zero or negative). + =head1 EXAMPLES Load a configuration file and print out any errors and exit (missing file @@ -122,12 +128,6 @@ Load and parse configuration file manually, custom error handling: NCONF_free(cnf); } -=head1 RETURN VALUES - -These functions return 1 for success and a zero or negative value for -failure. If module errors are not ignored the return code will reflect the -return value of the failing module (this will always be zero or negative). - =head1 SEE ALSO L, L diff --git a/doc/man3/CRYPTO_get_ex_new_index.pod b/doc/man3/CRYPTO_get_ex_new_index.pod index 44bab624..f37d532b 100644 --- a/doc/man3/CRYPTO_get_ex_new_index.pod +++ b/doc/man3/CRYPTO_get_ex_new_index.pod @@ -104,7 +104,7 @@ to avoid likely double-free crashes. The function B is used to free all exdata attached to a structure. The appropriate type-specific routine must be used. The B identifies the structure type, the B is -be the pointer to the actual structure, and B is a pointer to the +a pointer to the actual structure, and B is a pointer to the structure's exdata field. =head2 Callback Functions diff --git a/doc/man3/EVP_DigestVerifyInit.pod b/doc/man3/EVP_DigestVerifyInit.pod index d3275f2c..abb29308 100644 --- a/doc/man3/EVP_DigestVerifyInit.pod +++ b/doc/man3/EVP_DigestVerifyInit.pod @@ -28,8 +28,8 @@ EVP_PKEY_CTX of the verification operation will be written to B<*pctx>: this can be used to set alternative verification options. Note that any existing value in B<*pctx> is overwritten. The EVP_PKEY_CTX value returned must not be freed directly by the application if B is not assigned an EVP_PKEY_CTX value before -being passed to EVP_DigestSignInit() (which means the EVP_PKEY_CTX is created -inside EVP_DigestSignInit() and it will be freed automatically when the +being passed to EVP_DigestVerifyInit() (which means the EVP_PKEY_CTX is created +inside EVP_DigestVerifyInit() and it will be freed automatically when the EVP_MD_CTX is freed). No B will be created by EVP_DigsetSignInit() if the passed B diff --git a/doc/man3/EVP_EncryptInit.pod b/doc/man3/EVP_EncryptInit.pod index dc9366ba..9cb863b4 100644 --- a/doc/man3/EVP_EncryptInit.pod +++ b/doc/man3/EVP_EncryptInit.pod @@ -479,7 +479,9 @@ The following Is are supported for the ChaCha20-Poly1305 AEAD algorithm. Sets the nonce length. This call can only be made before specifying the nonce. If not called a default nonce length of 12 (i.e. 96 bits) is used. The maximum -nonce length is 16 (B, i.e. 128-bits). +nonce length is 12 bytes (i.e. 96-bits). If a nonce of less than 12 bytes is set +then the nonce is automatically padded with leading 0 bytes to make it 12 bytes +in length. =item EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, taglen, tag) diff --git a/doc/man3/EVP_PKEY_CTX_ctrl.pod b/doc/man3/EVP_PKEY_CTX_ctrl.pod index 5b35156f..1bab6d16 100644 --- a/doc/man3/EVP_PKEY_CTX_ctrl.pod +++ b/doc/man3/EVP_PKEY_CTX_ctrl.pod @@ -74,7 +74,8 @@ EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); int EVP_PKEY_CTX_get_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD **pmd); - int EVP_PKEY_CTX_set_mac_key(EVP_PKEY_CTX *ctx, unsigned char *key, int len); + int EVP_PKEY_CTX_set_mac_key(EVP_PKEY_CTX *ctx, const unsigned char *key, + int len); #include diff --git a/doc/man3/EVP_PKEY_CTX_new.pod b/doc/man3/EVP_PKEY_CTX_new.pod index a556289e..37f08e73 100644 --- a/doc/man3/EVP_PKEY_CTX_new.pod +++ b/doc/man3/EVP_PKEY_CTX_new.pod @@ -10,7 +10,7 @@ EVP_PKEY_CTX_new, EVP_PKEY_CTX_new_id, EVP_PKEY_CTX_dup, EVP_PKEY_CTX_free - pub EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); - EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx); + EVP_PKEY_CTX *EVP_PKEY_CTX_dup(const EVP_PKEY_CTX *ctx); void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); =head1 DESCRIPTION diff --git a/doc/man3/EVP_PKEY_set1_RSA.pod b/doc/man3/EVP_PKEY_set1_RSA.pod index 67471c9f..6363162c 100644 --- a/doc/man3/EVP_PKEY_set1_RSA.pod +++ b/doc/man3/EVP_PKEY_set1_RSA.pod @@ -28,10 +28,10 @@ EVP_PKEY_set1_engine - EVP_PKEY assignment functions const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len); const unsigned char *EVP_PKEY_get0_poly1305(const EVP_PKEY *pkey, size_t *len); const unsigned char *EVP_PKEY_get0_siphash(const EVP_PKEY *pkey, size_t *len); - RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey); - DSA *EVP_PKEY_get0_DSA(EVP_PKEY *pkey); - DH *EVP_PKEY_get0_DH(EVP_PKEY *pkey); - EC_KEY *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey); + RSA *EVP_PKEY_get0_RSA(const EVP_PKEY *pkey); + DSA *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey); + DH *EVP_PKEY_get0_DH(const EVP_PKEY *pkey); + EC_KEY *EVP_PKEY_get0_EC_KEY(const EVP_PKEY *pkey); int EVP_PKEY_assign_RSA(EVP_PKEY *pkey, RSA *key); int EVP_PKEY_assign_DSA(EVP_PKEY *pkey, DSA *key); @@ -111,13 +111,6 @@ is no longer possible: the equivalent is EVP_PKEY_base_id(pkey). EVP_PKEY_set1_engine() is typically used by an ENGINE returning an HSM key as part of its routine to load a private key. -=head1 EXAMPLES - -After loading an ECC key, it is possible to convert it to using SM2 -algorithms with EVP_PKEY_set_alias_type: - - EVP_PKEY_set_alias_type(pkey, EVP_PKEY_SM2); - =head1 RETURN VALUES EVP_PKEY_set1_RSA(), EVP_PKEY_set1_DSA(), EVP_PKEY_set1_DH() and @@ -138,6 +131,13 @@ EVP_PKEY_set1_engine() returns 1 for success and 0 for failure. EVP_PKEY_set_alias_type() returns 1 for success and 0 for error. +=head1 EXAMPLES + +After loading an ECC key, it is possible to convert it to using SM2 +algorithms with EVP_PKEY_set_alias_type: + + EVP_PKEY_set_alias_type(pkey, EVP_PKEY_SM2); + =head1 SEE ALSO L diff --git a/doc/man3/OBJ_nid2obj.pod b/doc/man3/OBJ_nid2obj.pod index 0345062d..79923d1c 100644 --- a/doc/man3/OBJ_nid2obj.pod +++ b/doc/man3/OBJ_nid2obj.pod @@ -130,6 +130,17 @@ These functions cannot return B because an B can represent both an internal, constant, OID and a dynamically-created one. The latter cannot be constant because it needs to be freed after use. +=head1 RETURN VALUES + +OBJ_nid2obj() returns an B structure or B is an +error occurred. + +OBJ_nid2ln() and OBJ_nid2sn() returns a valid string or B +on error. + +OBJ_obj2nid(), OBJ_ln2nid(), OBJ_sn2nid() and OBJ_txt2nid() return +a NID or B on error. + =head1 EXAMPLES Create an object for B: @@ -159,17 +170,6 @@ Instead B must point to a valid buffer and B should be set to a positive value. A buffer length of 80 should be more than enough to handle any OID encountered in practice. -=head1 RETURN VALUES - -OBJ_nid2obj() returns an B structure or B is an -error occurred. - -OBJ_nid2ln() and OBJ_nid2sn() returns a valid string or B -on error. - -OBJ_obj2nid(), OBJ_ln2nid(), OBJ_sn2nid() and OBJ_txt2nid() return -a NID or B on error. - =head1 SEE ALSO L diff --git a/doc/man3/OPENSSL_s390xcap.pod b/doc/man3/OPENSSL_s390xcap.pod index cf5cf8e4..34c029a4 100644 --- a/doc/man3/OPENSSL_s390xcap.pod +++ b/doc/man3/OPENSSL_s390xcap.pod @@ -139,6 +139,10 @@ the numbering is continuous across 64-bit mask boundaries. # 20 1<<43 KMA-GCM-AES-256 : +=head1 RETURN VALUES + +Not available. + =head1 EXAMPLES Disables all instruction set extensions which the z196 processor does not implement: @@ -153,10 +157,6 @@ Disables the KM-XTS-AES and and the KIMD-SHAKE function codes: OPENSSL_s390xcap="km:~0x2800:~0;kimd:~0xc000000:~0" -=head1 RETURN VALUES - -Not available. - =head1 SEE ALSO [1] z/Architecture Principles of Operation, SA22-7832-11 diff --git a/doc/man3/OSSL_PARAM.pod b/doc/man3/OSSL_PARAM.pod new file mode 100644 index 00000000..9d474863 --- /dev/null +++ b/doc/man3/OSSL_PARAM.pod @@ -0,0 +1,302 @@ +=pod + +=head1 NAME + +OSSL_PARAM - a structure to pass or request object parameters + +=head1 SYNOPSIS + + #include + + typedef struct ossl_param_st OSSL_PARAM; + struct ossl_param_st { + const char *key; /* the name of the parameter */ + unsigned char data_type; /* declare what kind of content is in buffer */ + void *buffer; /* value being passed in or out */ + size_t buffer_size; /* buffer size */ + size_t *return_size; /* OPTIONAL: address to content size */ + }; + +=head1 DESCRIPTION + +C is a type that allows passing arbitrary data for some +object between two parties that have no or very little shared +knowledge about their respective internal structures for that object. + +A typical usage example could be an application that wants to set some +parameters for an object, or wants to find out some parameters of an +object. + +Arrays of this type can be used for two purposes: + +=over 4 + +=item * + +Setting parameters for some object. +The caller sets up the C array and calls some function +(the I) that has intimate knowledge about the object that can +take the data from the C array and assign them in a +suitable form for the internal structure of the object. + +=item * + +Request parameters of some object. +The caller (the I) sets up the C array and +calls some function (the I) that has intimate knowledge +about the object, which can take the internal data of the object and +copy (possibly convert) that to the buffers prepared by the +I. + +=back + +=head2 C fields + +=over 4 + +=item C + +The identity of the parameter in the form of a string. + +=item C + +=for comment It's still debated if this field should be present, or if +the type should always be implied by how it's used. +Either way, these data types will have to be passed together with the +names as an array of OSSL_ITEM, for discovery purposes. + +The C is a value that describes the type and organization of +the data. +See L below for a description of the types. + +=item C + +=item C + +C is a pointer to the memory where the parameter data is (when +setting parameters) or shall (when requesting parameters) be stored, +and C is its size in bytes. +The organization of the data depends on the parameter type and flag. + +=item C + +When an array of C is used to request data, the +I must set this field to indicate the actual size of the +parameter data. +In case the C is too small for the data, the I +must still set this field to indicate the minimum buffer size +required. + +=back + +B + +The key names and associated types are defined by the entity that +offers these parameters, i.e. names for parameters provided by the +OpenSSL libraries are defined by the libraries, and names for +parameters provided by providers are defined by those providers, +except for the pointer form of strings (see data type descriptions +below). +Entities that want to set or request parameters need to know what +those keys are and of what type, any functionality between those two +entities should remain oblivious and just pass the C array +along. + +=head2 Supported types + +The C field can be one of the following types: + +=over 4 + +=item C + +=item C + +The parameter data is an integer (signed or unsigned) of arbitrary +length, organized in native form, i.e. most significant byte first on +Big-Endian systems, and least significant byte first on Little-Endian +systems. + +=item C + +=for comment It's still debated if we need this or not. + +The parameter data is a floating point value in native form. + +=item C + +The parameter data is a printable string. + +=item C + +The parameter data is an arbitrary string of bytes. + +=back + +Additionally, this flag can be added to any type: + +=over 4 + +=item C + +With this flag, C doesn't point directly at the data, but at a +pointer that points at the data. + +This can be used to indicate that constant data is or will be passed, +and there is therefore no need to copy the data that is passed, just +the pointer to it. + +If an C with this flag set is used to set a parameter, +C must be set to the size of the data, not the size of +the pointer to the data. + +If this C is used in a parameter request, C +is not relevant. +However, the I will set C<*return_size> to the size of the +data (again, not the size of the pointer to the data). + +Note that the use of this flag is B and can only be safely +used for data that remains constant and in a constant location for a +long enough duration (such as the life-time of the entity that +offers these parameters). + +=back + +For convenience, these types are provided: + +=over 4 + +=item C + +=item C + +These are combinations of C as well as +C with C. + +=back + +=head1 NOTES + +Both when setting and requesting parameters, the functions that are +called will have to decide what is and what is not an error. +The recommended behaviour is: + +=over 4 + +=item * + +Keys that a I or I doesn't recognise should simply +be ignored. +That in itself isn't an error. + +=item * + +If the keys that a called I recognises form a consistent +enough set of data, that call should succeed. + +=item * + +A I must never change the fields of an C, it +may only change the contents of the buffers that C and +C point at. + +=item * + +If the data type for a key that it's associated with is incorrect, +the called function may return an error. + +The called function may also try to convert the data to a suitable +form (for example, it's plausible to pass a large number as an octet +string, so even though a given key is defined as an +C, is plausible to pass the value as an +C), but this is in no way mandatory. + +=item * + +If a I finds that some buffers are too small for the +requested data, it must set C<*return_size> for each such +C item to the required size, and eventually return an +error. + +=back + +=begin comment RETURN VALUES doesn't make sense for a manual that only +describes a type, but document checkers still want that section, and +to have more than just the section title. + +=head1 RETURN VALUES + +txt + +=end comment + +=head1 EXAMPLES + +A couple of examples to just show how C arrays could be +set up. + +=head3 Example 1 + +This example is for setting parameters on some object: + + #include + + const char *foo = "some string"; + size_t foo_l = strlen(foo) + 1; + const char bar[] = "some other string"; + const OSSL_PARAM set[] = { + { "foo", OSSL_PARAM_UTF8_STRING_PTR, &foo, foo_l, NULL }, + { "bar", OSSL_PARAM_UTF8_STRING, &bar, sizeof(bar), NULL }, + { NULL, 0, NULL, 0, NULL } + }; + +=head3 Example 2 + +This example is for requesting parameters on some object: + + const char *foo = NULL; + size_t foo_l; + char bar[1024]; + size_t bar_l; + const OSSL_PARAM request[] = { + { "foo", OSSL_PARAM_UTF8_STRING_PTR, &foo, 0 /*irrelevant*/, &foo_l }, + { "bar", OSSL_PARAM_UTF8_STRING, &bar, sizeof(bar), &bar_l }, + { NULL, 0, NULL, 0, NULL } + }; + +A I that receives this array (as C in this example) +could fill in the parameters like this: + + /* const OSSL_PARAM *params */ + + int i; + + for (i = 0; params[i].key != NULL; i++) { + if (strcmp(params[i].key, "foo") == 0) { + *(char **)params[i].buffer = "foo value"; + *params[i].return_size = 10; /* size of "foo value" */ + } else if (strcmp(params[i].key, "bar") == 0) { + memcpy(params[1].buffer, "bar value", 10); + *params[1].return_size = 10; /* size of "bar value" */ + } + /* Ignore stuff we don't know */ + } + +=head1 SEE ALSO + +L + +=head1 HISTORY + +C was added in OpenSSL 3.0. + +=head1 COPYRIGHT + +Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (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 +L. + +=cut diff --git a/doc/man3/OSSL_trace_enabled.pod b/doc/man3/OSSL_trace_enabled.pod new file mode 100644 index 00000000..ecb88ab0 --- /dev/null +++ b/doc/man3/OSSL_trace_enabled.pod @@ -0,0 +1,183 @@ +=pod + +=head1 NAME + +OSSL_trace_enabled, OSSL_trace_begin, OSSL_trace_end +- OpenSSL Tracing API + +=head1 SYNOPSIS + + #include + + int OSSL_trace_enabled(int category); + + BIO *OSSL_trace_begin(int category); + void OSSL_trace_end(int category, BIO *channel); + +=head1 DESCRIPTION + +The functions described here are mainly interesting for those who provide +OpenSSL functionality, either in OpenSSL itself or in engine modules +or similar. + +If operational (see L below), these functions are used to +generate free text tracing output. + +The tracing output is divided into types which are enabled +individually by the application. +The tracing types are described in detail in +L. +The fallback type C should I be used +with the functions described here. + +=head2 Functions + +OSSL_trace_enabled() can be used to check if tracing for the given +C is enabled. + +OSSL_trace_begin() is used to starts a tracing section, and get the +channel for the given C in form of a BIO. +This BIO can only be used for output. + +OSSL_trace_end() is used to end a tracing section. + +Using OSSL_trace_begin() and OSSL_trace_end() to wrap tracing sections +is I. +The result of trying to produce tracing output outside of such +sections is undefined. + +=head2 Convenience Macros + +There are a number of convenience macros defined, to make tracing +easy and consistent. + +C and C reserve +the B C and are used as follows to wrap a trace section: + + OSSL_TRACE_BEGIN(TLS) { + + BIO_fprintf(trc_out, ... ); + + } OSSL_TRACE_END(TLS); + +This will normally expands to: + + do { + BIO *trc_out = OSSL_trace_begin(OSSL_TRACE_CATEGORY_TLS); + if (trc_out != NULL) { + ... + BIO_fprintf(trc_out, ...); + } + OSSL_trace_end(OSSL_TRACE_CATEGORY_TLS, trc_out); + } while (0); + +C must be used before returning from or +jumping out of a trace section: + + OSSL_TRACE_BEGIN(TLS) { + + if (condition) { + OSSL_TRACE_CANCEL(TLS); + goto err; + } + BIO_fprintf(trc_out, ... ); + + } OSSL_TRACE_END(TLS); + +This will normally expand to: + + do { + BIO *trc_out = OSSL_trace_begin(OSSL_TRACE_CATEGORY_TLS); + if (trc_out != NULL) { + if (condition) { + OSSL_trace_end(OSSL_TRACE_CATEGORY_TLS, trc_out); + goto err; + } + BIO_fprintf(trc_out, ... ); + } + OSSL_trace_end(OSSL_TRACE_CATEGORY_TLS, trc_out); + } while (0); + +=head1 NOTES + +It is advisable to always check that a trace type is enabled with +OSSL_trace_enabled() before generating any output, for example: + + if (OSSL_trace_enabled(OSSL_TRACE_CATEGORY_TLS)) { + BIO *trace = OSSL_trace_begin(OSSL_TRACE_CATEGORY_TLS); + BIO_printf(trace, "FOO %d\n", somevalue); + BIO_dump(trace, somememory, somememory_l); + OSSL_trace_end(OSSL_TRACE_CATEGORY_TLS, trace); + } + +=head2 Tracing disabled + +The OpenSSL library may be built with tracing disabled, which makes +everything documented here inoperational. + +When the library is built with tracing disabled: + +=over 4 + +=item * + +The macro C is defined in C. + +=item * + +all functions are still present, bu OSSL_trace_enabled() will always +report the categories as disabled, and all other functions will do +nothing. + +=item * + +the convenience macros are defined to produce dead code. +For example, take this example from L above: + + OSSL_TRACE_BEGIN(TLS) { + + if (condition) { + OSSL_TRACE_CANCEL(TLS); + goto err; + } + BIO_fprintf(trc_out, ... ); + + } OSSL_TRACE_END(TLS); + +When the tracing API isn't operational, that will expand to: + + do { + BIO *trc_out = NULL; + if (0) { + if (condition) { + ((void)0); + goto err; + } + BIO_fprintf(trc_out, ... ); + } + } while (0); + +=back + +=head1 RETURN VALUES + +OSSL_trace_enabled() returns 1 if tracing for the given B is +operational and enabled, otherwise 0. + +OSSL_trace_begin() returns a C if the given B is enabled, +otherwise C. + +=head1 HISTORY + +The OpenSSL Tracing API was added ino OpenSSL 3.0.0. + +=head1 COPYRIGHT + +Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (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 +L. + +=cut diff --git a/doc/man3/OSSL_trace_get_category_num.pod b/doc/man3/OSSL_trace_get_category_num.pod new file mode 100644 index 00000000..886d0f15 --- /dev/null +++ b/doc/man3/OSSL_trace_get_category_num.pod @@ -0,0 +1,44 @@ +=pod + +=head1 NAME + +OSSL_trace_get_category_num, OSSL_trace_get_category_name +- OpenSSL tracing information functions + +=head1 SYNOPSIS + + #include + + int OSSL_trace_get_category_num(const char *name); + const char *OSSL_trace_get_category_name(int num); + +=head1 DESCRIPTION + +OSSL_trace_get_category_num() gives the category number corresponding +to the given C. + +OSSL_trace_get_category_name() gives the category name corresponding +to the given C. + +=head1 RETURN VALUES + +OSSL_trace_get_category_num() returns the category number if the given +C is a recognised category name, otherwise -1. + +OSSL_trace_get_category_name() returns the category name if the given +C is a recognised category number, otherwise NULL. + +=head1 HISTORY + +The OpenSSL Tracing API was added ino OpenSSL 3.0.0. + +=head1 COPYRIGHT + +Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (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 +L. + +=cut diff --git a/doc/man3/OSSL_trace_set_channel.pod b/doc/man3/OSSL_trace_set_channel.pod new file mode 100644 index 00000000..6981dbc2 --- /dev/null +++ b/doc/man3/OSSL_trace_set_channel.pod @@ -0,0 +1,288 @@ +=pod + +=head1 NAME + +OSSL_trace_set_channel, OSSL_trace_set_prefix, OSSL_trace_set_suffix, +OSSL_trace_set_callback, OSSL_trace_cb - Enabling trace output + +=head1 SYNOPSIS + + #include + + typedef size_t (*OSSL_trace_cb)(const char *buf, size_t cnt, + int category, int cmd, void *data); + + void OSSL_trace_set_channel(int category, BIO *bio); + void OSSL_trace_set_prefix(int category, const char *prefix); + void OSSL_trace_set_suffix(int category, const char *suffix); + void OSSL_trace_set_callback(int category, OSSL_trace_cb cb, void *data); + +=head1 DESCRIPTION + +If available (see L below), the application can request +internal trace output. +This output comes in form of free text for humans to read. + +The trace output is divided into categories which can be +enabled individually. +They are enabled by giving them a channel in form of a BIO, or a +tracer callback, which is responsible for performing the actual +output. + +=head2 Functions + +OSSL_trace_set_channel() is used to enable the given trace C +by giving it the B C. + +OSSL_trace_set_prefix() and OSSL_trace_set_suffix() can be used to add +an extra line for each channel, to be output before and after group of +tracing output. +What constitues an output group is decided by the code that produces +the output. +The lines given here are considered immutable; for more dynamic +tracing prefixes, consider setting a callback with +OSSL_trace_set_callback() instead. + +OSSL_trace_set_callback() is used to enable the given trace +C by giving it the tracer callback C with the associated +data C, which will simply be passed through to C whenever +it's called. +This should be used when it's desirable to do form the trace output to +something suitable for application needs where a prefix and suffix +line aren't enough. + +OSSL_trace_set_channel() and OSSL_trace_set_callback() are mutually +exclusive, calling one of them will clear whatever was set by the +previous call. + +Calling OSSL_trace_set_channel() with C for C or +OSSL_trace_set_callback() with C for C disables tracing for +the given C + +=head2 Trace callback + +The tracer callback must return a C, which must be zero on +error and otherwise return the number of bytes that were output. +It receives a text buffer C with C bytes of text, as well as +the C, a control number C, and the C that was +passed to OSSL_trace_set_callback(). + +The possible control numbers are: + +=over 4 + +=item C + +The callback is called from OSSL_trace_begin(), which gives the +callback the possibility to output a dynamic starting line, or set a +prefix that should be output at the beginning of each line, or +something other. + +=item C + +The callback is called from any regular BIO output routine. + +=item C + +The callback is called from OSSL_trace_end(), which gives the callback +the possibility to output a dynamic ending line, or reset the line +prefix that was set with OSSL_TRACE_CTRL_BEGIN, or something other. + +=back + +=head2 Trace categories + +The trace categories are simple numbers available through macros. + +=over 4 + +=item C + +Traces the OpenSSL trace API itself. + +More precisely, this will generate trace output any time a new +trace hook is set. + +=item C + +Traces OpenSSL library initialization and cleanup. + +This needs special care, as OpenSSL will do automatic cleanup after +exit from C, and any tracing output done during this cleanup +will be lost if the tracing channel or callback were cleaned away +prematurely. +A suggestion is to make such cleanup part of a function that's +registered very early with L. + +=item C + +Traces the TLS/SSL protocoll. + +=item C + +Traces the ciphers used by the TLS/SSL protocoll. + +=item C + +Traces the ENGINE configuration. + +=item C + +Traces the ENGINE algorithm table selection. + +More precisely, engine_table_select(), the function that is used by +RSA, DSA (etc) code to select registered ENGINEs, cache defaults and +functional references (etc), will generate trace summaries. + +=item C + +Tracds the ENGINE reference counting. + +More precisely, both reference counts in the ENGINE structure will be +monitored with a line of trace output generated for each change. + +=item C + +Traces PKCS#5 v2 key generation. + +=item C + +Traces PKCS#12 key generation. + +=item C + +Traces PKCS#12 decryption. + +=item C + +Traces X509v3 policy processing. + +More precisely, this generates the complete policy tree at various +point during evaluation. + +=item C + +Traces BIGNUM context operations. + +=back + +There is also C, which works as a fallback +and can be used to get I trace output. + +=head1 RETURN VALUES + +OSSL_trace_set_channel(), OSSL_trace_set_prefix(), +OSSL_trace_set_suffix(), and OSSL_trace_set_callback() return 1 on +success, or 0 on failure. + +=head1 EXAMPLES + +In all examples below, we assume that the trace producing code is +this: + + int foo = 42; + const char bar[] = { 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15 }; + + OSSL_TRACE_BEGIN(TLS) { + BIO_puts(trc_out, "foo: "); + BIO_printf(trc_out, "%d\n", foo); + BIO_dump(trc_out, bar, sizeof(bar)); + } OSSL_TRACE_END(TLS); + +=head1 Simple example + +An example with just a channel and constant prefix / suffix. + + int main(int argc, char *argv[]) + { + BIO *err = BIO_new_fp(stderr, BIO_NOCLOSE | BIO_FP_TEXT); + OSSL_trace_set_channel(OSSL_TRACE_CATEGORY_SSL, err); + OSSL_trace_set_prefix(OSSL_TRACE_CATEGORY_SSL, "BEGIN TRACE[TLS]"); + OSSL_trace_set_suffix(OSSL_TRACE_CATEGORY_SSL, "END TRACE[TLS]"); + + /* ... work ... */ + } + +When the trace producing code above is performed, this will be output +on standard error: + + BEGIN TRACE[TLS] + foo: 42 + 0000 - 00 01 02 03 04 05 06 07-08 09 0a 0b 0c 0d 0e 0f ................ + END TRACE[TLS] + +=head2 Advanced example + +This example uses the callback, and depends on pthreads functionality. + + static size_t cb(const char *buf, size_t cnt, + int category, int cmd, void *vdata) + { + BIO *bio = vdata; + const char *label = NULL; + + switch (cmd) { + case OSSL_TRACE_CTRL_BEGIN: + label = "BEGIN"; + break; + case OSSL_TRACE_CTRL_END: + label = "END"; + break; + } + + if (label != NULL) { + union { + pthread_t tid; + unsigned long ltid; + } tid; + + tid.tid = pthread_self(); + BIO_printf(bio, "%s TRACE[%s]:%lx\n", + label, OSSL_trace_get_category_name(category), tid.ltid); + } + return (size_t)BIO_puts(bio, buf); + } + + int main(int argc, char *argv[]) + { + BIO *err = BIO_new_fp(stderr, BIO_NOCLOSE | BIO_FP_TEXT); + OSSL_trace_set_callback(OSSL_TRACE_CATEGORY_SSL, cb, err); + + /* ... work ... */ + } + +The output is almost the same as for the simple example above. + + BEGIN TRACE[TLS]:7f9eb0193b80 + foo: 42 + 0000 - 00 01 02 03 04 05 06 07-08 09 0a 0b 0c 0d 0e 0f ................ + END TRACE[TLS]:7f9eb0193b80 + +=head1 NOTES + +=head2 Tracing disabled + +The OpenSSL library may be built with tracing disabled, which makes +everything documented here inoperational. + +When the library is built with tracing disabled, the macro +C is defined in C and all +functions described here are inoperational, i.e. will do nothing. + +=head1 HISTORY + +OSSL_trace_set_channel(), OSSL_trace_set_prefix(), +OSSL_trace_set_suffix(), and OSSL_trace_set_callback() were all added +in OpenSSL 3.0.0. + +=head1 COPYRIGHT + +Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (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 +L. + +=cut diff --git a/doc/man3/PEM_read_bio_PrivateKey.pod b/doc/man3/PEM_read_bio_PrivateKey.pod index 1f538155..a5a63c48 100644 --- a/doc/man3/PEM_read_bio_PrivateKey.pod +++ b/doc/man3/PEM_read_bio_PrivateKey.pod @@ -36,7 +36,7 @@ PEM_write_bio_PKCS7, PEM_write_PKCS7 - PEM routines pem_password_cb *cb, void *u); EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u); - int PEM_write_bio_PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, + int PEM_write_bio_PrivateKey(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u); int PEM_write_bio_PrivateKey_traditional(BIO *bp, EVP_PKEY *x, @@ -46,17 +46,16 @@ PEM_write_bio_PKCS7, PEM_write_PKCS7 - PEM routines int PEM_write_PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u); - int PEM_write_bio_PKCS8PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u); int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u); - int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, + int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, const EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u); - int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, + int PEM_write_PKCS8PrivateKey_nid(FILE *fp, const EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u); @@ -298,71 +297,6 @@ arbitrary data to be passed to the callback by the application B return the number of characters in the passphrase or -1 if an error occurred. -=head1 EXAMPLES - -Although the PEM routines take several arguments in almost all applications -most of them are set to 0 or NULL. - -Read a certificate in PEM format from a BIO: - - X509 *x; - - x = PEM_read_bio_X509(bp, NULL, 0, NULL); - if (x == NULL) - /* Error */ - -Alternative method: - - X509 *x = NULL; - - if (!PEM_read_bio_X509(bp, &x, 0, NULL)) - /* Error */ - -Write a certificate to a BIO: - - if (!PEM_write_bio_X509(bp, x)) - /* Error */ - -Write a private key (using traditional format) to a BIO using -triple DES encryption, the pass phrase is prompted for: - - if (!PEM_write_bio_PrivateKey(bp, key, EVP_des_ede3_cbc(), NULL, 0, 0, NULL)) - /* Error */ - -Write a private key (using PKCS#8 format) to a BIO using triple -DES encryption, using the pass phrase "hello": - - if (!PEM_write_bio_PKCS8PrivateKey(bp, key, EVP_des_ede3_cbc(), - NULL, 0, 0, "hello")) - /* Error */ - -Read a private key from a BIO using a pass phrase callback: - - key = PEM_read_bio_PrivateKey(bp, NULL, pass_cb, "My Private Key"); - if (key == NULL) - /* Error */ - -Skeleton pass phrase callback: - - int pass_cb(char *buf, int size, int rwflag, void *u) - { - - /* We'd probably do something else if 'rwflag' is 1 */ - printf("Enter pass phrase for \"%s\"\n", (char *)u); - - /* get pass phrase, length 'len' into 'tmp' */ - char *tmp = "hello"; - if (tmp == NULL) /* An error occurred */ - return -1; - - size_t len = strlen(tmp); - - if (len > size) - len = size; - memcpy(buf, tmp, len); - return len; - } - =head1 NOTES The old B write routines are retained for compatibility. @@ -460,6 +394,71 @@ if an error occurred. The write routines return 1 for success or 0 for failure. +=head1 EXAMPLES + +Although the PEM routines take several arguments in almost all applications +most of them are set to 0 or NULL. + +Read a certificate in PEM format from a BIO: + + X509 *x; + + x = PEM_read_bio_X509(bp, NULL, 0, NULL); + if (x == NULL) + /* Error */ + +Alternative method: + + X509 *x = NULL; + + if (!PEM_read_bio_X509(bp, &x, 0, NULL)) + /* Error */ + +Write a certificate to a BIO: + + if (!PEM_write_bio_X509(bp, x)) + /* Error */ + +Write a private key (using traditional format) to a BIO using +triple DES encryption, the pass phrase is prompted for: + + if (!PEM_write_bio_PrivateKey(bp, key, EVP_des_ede3_cbc(), NULL, 0, 0, NULL)) + /* Error */ + +Write a private key (using PKCS#8 format) to a BIO using triple +DES encryption, using the pass phrase "hello": + + if (!PEM_write_bio_PKCS8PrivateKey(bp, key, EVP_des_ede3_cbc(), + NULL, 0, 0, "hello")) + /* Error */ + +Read a private key from a BIO using a pass phrase callback: + + key = PEM_read_bio_PrivateKey(bp, NULL, pass_cb, "My Private Key"); + if (key == NULL) + /* Error */ + +Skeleton pass phrase callback: + + int pass_cb(char *buf, int size, int rwflag, void *u) + { + + /* We'd probably do something else if 'rwflag' is 1 */ + printf("Enter pass phrase for \"%s\"\n", (char *)u); + + /* get pass phrase, length 'len' into 'tmp' */ + char *tmp = "hello"; + if (tmp == NULL) /* An error occurred */ + return -1; + + size_t len = strlen(tmp); + + if (len > size) + len = size; + memcpy(buf, tmp, len); + return len; + } + =head1 HISTORY The old Netscape certificate sequences were no longer documented diff --git a/doc/man3/SSL_CONF_cmd.pod b/doc/man3/SSL_CONF_cmd.pod index 5759c7f1..5c58268f 100644 --- a/doc/man3/SSL_CONF_cmd.pod +++ b/doc/man3/SSL_CONF_cmd.pod @@ -598,6 +598,23 @@ checking or translation of the command value. For example if the return value is B an application could translate a relative pathname to an absolute pathname. +=head1 RETURN VALUES + +SSL_CONF_cmd() returns 1 if the value of B is recognised and B is +B used and 2 if both B and B are used. In other words it +returns the number of arguments processed. This is useful when processing +command lines. + +A return value of -2 means B is not recognised. + +A return value of -3 means B is recognised and the command requires a +value but B is NULL. + +A return code of 0 indicates that both B and B are valid but an +error occurred attempting to perform the operation: for example due to an +error in the syntax of B in this case the error queue may provide +additional information. + =head1 EXAMPLES Set supported signature algorithms: @@ -644,23 +661,6 @@ Set supported curves to P-256, P-384: SSL_CONF_cmd(ctx, "Curves", "P-256:P-384"); -=head1 RETURN VALUES - -SSL_CONF_cmd() returns 1 if the value of B is recognised and B is -B used and 2 if both B and B are used. In other words it -returns the number of arguments processed. This is useful when processing -command lines. - -A return value of -2 means B is not recognised. - -A return value of -3 means B is recognised and the command requires a -value but B is NULL. - -A return code of 0 indicates that both B and B are valid but an -error occurred attempting to perform the operation: for example due to an -error in the syntax of B in this case the error queue may provide -additional information. - =head1 SEE ALSO L, diff --git a/doc/man3/SSL_CTX_load_verify_locations.pod b/doc/man3/SSL_CTX_load_verify_locations.pod index 03dec156..b955c60e 100644 --- a/doc/man3/SSL_CTX_load_verify_locations.pod +++ b/doc/man3/SSL_CTX_load_verify_locations.pod @@ -100,23 +100,6 @@ with different expiration dates. If a "certificate expired" verification error occurs, no other certificate will be searched. Make sure to not have expired certificates mixed with valid ones. -=head1 EXAMPLES - -Generate a CA certificate file with descriptive text from the CA certificates -ca1.pem ca2.pem ca3.pem: - - #!/bin/sh - rm CAfile.pem - for i in ca1.pem ca2.pem ca3.pem ; do - openssl x509 -in $i -text >> CAfile.pem - done - -Prepare the directory /some/where/certs containing several CA certificates -for use as B: - - cd /some/where/certs - c_rehash . - =head1 RETURN VALUES For SSL_CTX_load_verify_locations the following return values can occur: @@ -139,6 +122,23 @@ SSL_CTX_set_default_verify_paths(), SSL_CTX_set_default_verify_dir() and SSL_CTX_set_default_verify_file() all return 1 on success or 0 on failure. A missing default location is still treated as a success. +=head1 EXAMPLES + +Generate a CA certificate file with descriptive text from the CA certificates +ca1.pem ca2.pem ca3.pem: + + #!/bin/sh + rm CAfile.pem + for i in ca1.pem ca2.pem ca3.pem ; do + openssl x509 -in $i -text >> CAfile.pem + done + +Prepare the directory /some/where/certs containing several CA certificates +for use as B: + + cd /some/where/certs + c_rehash . + =head1 SEE ALSO L, diff --git a/doc/man3/SSL_CTX_set1_sigalgs.pod b/doc/man3/SSL_CTX_set1_sigalgs.pod index 642f71a7..eb310063 100644 --- a/doc/man3/SSL_CTX_set1_sigalgs.pod +++ b/doc/man3/SSL_CTX_set1_sigalgs.pod @@ -83,6 +83,10 @@ be used with the B<_list> forms of the API. The use of MD5 as a digest is strongly discouraged due to security weaknesses. +=head1 RETURN VALUES + +All these functions return 1 for success and 0 for failure. + =head1 EXAMPLES Set supported signature algorithms to SHA256 with ECDSA and SHA256 with RSA @@ -97,10 +101,6 @@ using a string: SSL_CTX_set1_sigalgs_list(ctx, "ECDSA+SHA256:RSA+SHA256"); -=head1 RETURN VALUES - -All these functions return 1 for success and 0 for failure. - =head1 SEE ALSO L, L, diff --git a/doc/man3/SSL_CTX_set_generate_session_id.pod b/doc/man3/SSL_CTX_set_generate_session_id.pod index 37ecd026..8bf8e152 100644 --- a/doc/man3/SSL_CTX_set_generate_session_id.pod +++ b/doc/man3/SSL_CTX_set_generate_session_id.pod @@ -82,6 +82,14 @@ and the same race condition applies. The callback must return 0 if it cannot generate a session id for whatever reason and return 1 on success. +=head1 RETURN VALUES + +SSL_CTX_set_generate_session_id() and SSL_set_generate_session_id() +always return 1. + +SSL_has_matching_session_id() returns 1 if another session with the +same id is already in the cache. + =head1 EXAMPLES The callback function listed will generate a session id with the @@ -114,14 +122,6 @@ server id given, and will fill the rest with pseudo random bytes: } -=head1 RETURN VALUES - -SSL_CTX_set_generate_session_id() and SSL_set_generate_session_id() -always return 1. - -SSL_has_matching_session_id() returns 1 if another session with the -same id is already in the cache. - =head1 SEE ALSO L, L diff --git a/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod b/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod index 9013abc2..88e70c5f 100644 --- a/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod +++ b/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod @@ -121,6 +121,10 @@ For example if a cipher suite uses 256 bit ciphers but only a 128 bit ticket key the overall security is only 128 bits because breaking the ticket key will enable an attacker to obtain the session keys. +=head1 RETURN VALUES + +returns 0 to indicate the callback function was set. + =head1 EXAMPLES Reference Implementation: @@ -175,10 +179,6 @@ Reference Implementation: } } -=head1 RETURN VALUES - -returns 0 to indicate the callback function was set. - =head1 SEE ALSO L, L, diff --git a/doc/man3/SSL_CTX_set_tmp_dh_callback.pod b/doc/man3/SSL_CTX_set_tmp_dh_callback.pod index f69c37cd..bc1dafa5 100644 --- a/doc/man3/SSL_CTX_set_tmp_dh_callback.pod +++ b/doc/man3/SSL_CTX_set_tmp_dh_callback.pod @@ -81,6 +81,14 @@ are advised to either use SSL_CTX_set_tmp_dh() or alternatively, use the callback but ignore B and B and simply supply at least 2048-bit parameters in the callback. +=head1 RETURN VALUES + +SSL_CTX_set_tmp_dh_callback() and SSL_set_tmp_dh_callback() do not return +diagnostic output. + +SSL_CTX_set_tmp_dh() and SSL_set_tmp_dh() do return 1 on success and 0 +on failure. Check the error queue to find out the reason of failure. + =head1 EXAMPLES Setup DH parameters with a key length of 2048 bits. (Error handling @@ -109,14 +117,6 @@ Code for setting up parameters during server initialization: /* Error. */ ... -=head1 RETURN VALUES - -SSL_CTX_set_tmp_dh_callback() and SSL_set_tmp_dh_callback() do not return -diagnostic output. - -SSL_CTX_set_tmp_dh() and SSL_set_tmp_dh() do return 1 on success and 0 -on failure. Check the error queue to find out the reason of failure. - =head1 SEE ALSO L, L, diff --git a/doc/man3/SSL_SESSION_free.pod b/doc/man3/SSL_SESSION_free.pod index 10fc8e95..74c6ec2a 100644 --- a/doc/man3/SSL_SESSION_free.pod +++ b/doc/man3/SSL_SESSION_free.pod @@ -12,7 +12,7 @@ SSL_SESSION_free - create, free and manage SSL_SESSION structures #include SSL_SESSION *SSL_SESSION_new(void); - SSL_SESSION *SSL_SESSION_dup(SSL_SESSION *src); + SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src); int SSL_SESSION_up_ref(SSL_SESSION *ses); void SSL_SESSION_free(SSL_SESSION *session); diff --git a/doc/man3/SSL_get_error.pod b/doc/man3/SSL_get_error.pod index 876aac7b..150dd50f 100644 --- a/doc/man3/SSL_get_error.pod +++ b/doc/man3/SSL_get_error.pod @@ -138,17 +138,20 @@ Details depend on the application. =item SSL_ERROR_SYSCALL -Some non-recoverable I/O error occurred. -The OpenSSL error queue may contain more information on the error. -For socket I/O on Unix systems, consult B for details. +Some non-recoverable, fatal I/O error occurred. The OpenSSL error queue may +contain more information on the error. For socket I/O on Unix systems, consult +B for details. If this error occurs then no further I/O operations should +be performed on the connection and SSL_shutdown() must not be called. This value can also be returned for other errors, check the error queue for details. =item SSL_ERROR_SSL -A failure in the SSL library occurred, usually a protocol error. The -OpenSSL error queue contains more information on the error. +A non-recoverable, fatal error in the SSL library occurred, usually a protocol +error. The OpenSSL error queue contains more information on the error. If this +error occurs then no further I/O operations should be performed on the +connection and SSL_shutdown() must not be called. =back diff --git a/doc/man3/SSL_load_client_CA_file.pod b/doc/man3/SSL_load_client_CA_file.pod index e1922d5f..23449dd3 100644 --- a/doc/man3/SSL_load_client_CA_file.pod +++ b/doc/man3/SSL_load_client_CA_file.pod @@ -23,21 +23,6 @@ the specific usage as support function for L, it is not limited to CA certificates. -=head1 EXAMPLES - -Load names of CAs from file and use it as a client CA list: - - SSL_CTX *ctx; - STACK_OF(X509_NAME) *cert_names; - - ... - cert_names = SSL_load_client_CA_file("/path/to/CAfile.pem"); - if (cert_names != NULL) - SSL_CTX_set_client_CA_list(ctx, cert_names); - else - /* error */ - ... - =head1 RETURN VALUES The following return values can occur: @@ -54,6 +39,21 @@ Pointer to the subject names of the successfully read certificates. =back +=head1 EXAMPLES + +Load names of CAs from file and use it as a client CA list: + + SSL_CTX *ctx; + STACK_OF(X509_NAME) *cert_names; + + ... + cert_names = SSL_load_client_CA_file("/path/to/CAfile.pem"); + if (cert_names != NULL) + SSL_CTX_set_client_CA_list(ctx, cert_names); + else + /* error */ + ... + =head1 SEE ALSO L, diff --git a/doc/man3/SSL_new.pod b/doc/man3/SSL_new.pod index 9fef6439..9ca9941f 100644 --- a/doc/man3/SSL_new.pod +++ b/doc/man3/SSL_new.pod @@ -26,7 +26,8 @@ structure are freed. SSL_up_ref() increments the reference count for an existing B structure. -SSL_dup() duplicates an existing B structure into a new allocated one. All +SSL_dup() duplicates an existing B structure into a new allocated one +or just increments the reference count if the connection is active. All settings are inherited from the original B structure. Dynamic data (i.e. existing connection details) are not copied, the new B is set into an initial accept (server) or connect (client) state. diff --git a/doc/man3/SSL_shutdown.pod b/doc/man3/SSL_shutdown.pod index f9b7212a..6e470a1a 100644 --- a/doc/man3/SSL_shutdown.pod +++ b/doc/man3/SSL_shutdown.pod @@ -22,6 +22,10 @@ Whether the operation succeeds or not, the SSL_SENT_SHUTDOWN flag is set and a currently open session is considered closed and good and will be kept in the session cache for further reuse. +Note that SSL_shutdown() must not be called if a previous fatal error has +occurred on a connection i.e. if SSL_get_error() has returned SSL_ERROR_SYSCALL +or SSL_ERROR_SSL. + The shutdown procedure consists of two steps: sending of the close_notify shutdown alert, and reception of the peer's close_notify shutdown alert. The order of those two steps depends on the application. diff --git a/doc/man3/X509_NAME_add_entry_by_txt.pod b/doc/man3/X509_NAME_add_entry_by_txt.pod index a7b12357..7f529661 100644 --- a/doc/man3/X509_NAME_add_entry_by_txt.pod +++ b/doc/man3/X509_NAME_add_entry_by_txt.pod @@ -74,6 +74,15 @@ structure respectively. This will then be a multivalued RDN: since multivalues RDNs are very seldom used B is almost always set to zero. +=head1 RETURN VALUES + +X509_NAME_add_entry_by_txt(), X509_NAME_add_entry_by_OBJ(), +X509_NAME_add_entry_by_NID() and X509_NAME_add_entry() return 1 for +success of 0 if an error occurred. + +X509_NAME_delete_entry() returns either the deleted B +structure of B if an error occurred. + =head1 EXAMPLES Create an B structure: @@ -95,15 +104,6 @@ Create an B structure: "Joe Bloggs", -1, -1, 0)) /* Error */ -=head1 RETURN VALUES - -X509_NAME_add_entry_by_txt(), X509_NAME_add_entry_by_OBJ(), -X509_NAME_add_entry_by_NID() and X509_NAME_add_entry() return 1 for -success of 0 if an error occurred. - -X509_NAME_delete_entry() returns either the deleted B -structure of B if an error occurred. - =head1 BUGS B can still be set to B to use a diff --git a/doc/man3/X509_NAME_get_index_by_NID.pod b/doc/man3/X509_NAME_get_index_by_NID.pod index 12843736..f287849c 100644 --- a/doc/man3/X509_NAME_get_index_by_NID.pod +++ b/doc/man3/X509_NAME_get_index_by_NID.pod @@ -69,6 +69,18 @@ Applications which could pass invalid NIDs to X509_NAME_get_index_by_NID() should check for the return value of -2. Alternatively the NID validity can be determined first by checking OBJ_nid2obj(nid) is not NULL. +=head1 RETURN VALUES + +X509_NAME_get_index_by_NID() and X509_NAME_get_index_by_OBJ() +return the index of the next matching entry or -1 if not found. +X509_NAME_get_index_by_NID() can also return -2 if the supplied +NID is invalid. + +X509_NAME_entry_count() returns the total number of entries. + +X509_NAME_get_entry() returns an B pointer to the +requested entry or B if the index is invalid. + =head1 EXAMPLES Process all entries: @@ -94,18 +106,6 @@ Process all commonName entries: /* Do something with e */ } -=head1 RETURN VALUES - -X509_NAME_get_index_by_NID() and X509_NAME_get_index_by_OBJ() -return the index of the next matching entry or -1 if not found. -X509_NAME_get_index_by_NID() can also return -2 if the supplied -NID is invalid. - -X509_NAME_entry_count() returns the total number of entries. - -X509_NAME_get_entry() returns an B pointer to the -requested entry or B if the index is invalid. - =head1 SEE ALSO L, L diff --git a/doc/man3/X509_PUBKEY_new.pod b/doc/man3/X509_PUBKEY_new.pod index 88e08ed8..2d65be6b 100644 --- a/doc/man3/X509_PUBKEY_new.pod +++ b/doc/man3/X509_PUBKEY_new.pod @@ -19,13 +19,13 @@ X509_PUBKEY_get0_param - SubjectPublicKeyInfo public key functions EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key); EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length); - int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp); + int i2d_PUBKEY(const EVP_PKEY *a, unsigned char **pp); EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); - int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); - int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey); + int i2d_PUBKEY_fp(const FILE *fp, EVP_PKEY *pkey); + int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey); int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, int ptype, void *pval, diff --git a/doc/man3/X509_dup.pod b/doc/man3/X509_dup.pod index fd5c0540..8ad7648e 100644 --- a/doc/man3/X509_dup.pod +++ b/doc/man3/X509_dup.pod @@ -259,7 +259,7 @@ X509_dup, extern const ASN1_ITEM TYPE_it; TYPE *TYPE_new(void); - TYPE *TYPE_dup(TYPE *a); + TYPE *TYPE_dup(const TYPE *a); void TYPE_free(TYPE *a); int TYPE_print_ctx(BIO *out, TYPE *a, int indent, const ASN1_PCTX *pctx); @@ -285,7 +285,7 @@ to generate the function bodies. TYPE_new() allocates an empty object of the indicated type. The object returned must be released by calling TYPE_free(). -TYPE_dup() copies an existing object. +TYPE_dup() copies an existing object, leaving it untouched. TYPE_free() releases the object and all pointers and sub-objects within it. diff --git a/doc/man3/d2i_PKCS8PrivateKey_bio.pod b/doc/man3/d2i_PKCS8PrivateKey_bio.pod index 68da9828..5b5371b7 100644 --- a/doc/man3/d2i_PKCS8PrivateKey_bio.pod +++ b/doc/man3/d2i_PKCS8PrivateKey_bio.pod @@ -13,19 +13,19 @@ i2d_PKCS8PrivateKey_nid_bio, i2d_PKCS8PrivateKey_nid_fp - PKCS#8 format private EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u); EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u); - int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, + int i2d_PKCS8PrivateKey_bio(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u); - int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, + int i2d_PKCS8PrivateKey_fp(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u); - int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, + int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, const EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u); - int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, + int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, const EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u); diff --git a/doc/man3/d2i_PrivateKey.pod b/doc/man3/d2i_PrivateKey.pod index eab98b3d..0bce594d 100644 --- a/doc/man3/d2i_PrivateKey.pod +++ b/doc/man3/d2i_PrivateKey.pod @@ -17,8 +17,8 @@ d2i_PrivateKey_bio, d2i_PrivateKey_fp long length); EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, long length); - int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp); - int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp); + int i2d_PrivateKey(const EVP_PKEY *a, unsigned char **pp); + int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp); EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a) diff --git a/doc/man3/d2i_X509.pod b/doc/man3/d2i_X509.pod index c11da951..cad78773 100644 --- a/doc/man3/d2i_X509.pod +++ b/doc/man3/d2i_X509.pod @@ -368,8 +368,11 @@ i2d_X509_VAL, TYPE *d2i_TYPE_bio(BIO *bp, TYPE **a); TYPE *d2i_TYPE_fp(FILE *fp, TYPE **a); + int i2d_TYPE(const TYPE *a, unsigned char **ppout); int i2d_TYPE(TYPE *a, unsigned char **ppout); + int i2d_TYPE_fp(FILE *fp, const TYPE *a); int i2d_TYPE_fp(FILE *fp, TYPE *a); + int i2d_TYPE_bio(BIO *bp, const TYPE *a); int i2d_TYPE_bio(BIO *bp, TYPE *a); =head1 DESCRIPTION @@ -496,6 +499,19 @@ Represents the B structure defined in PKCS#1 and PKCS#7. =back +=head1 RETURN VALUES + +d2i_TYPE(), d2i_TYPE_bio() and d2i_TYPE_fp() return a valid B structure +or B if an error occurs. If the "reuse" capability has been used with +a valid structure being passed in via B, then the object is not freed in +the event of error but may be in a potentially invalid or inconsistent state. + +i2d_TYPE() returns the number of bytes successfully encoded or a negative +value if an error occurs. + +i2d_TYPE_bio() and i2d_TYPE_fp() return 1 for success and 0 if an error +occurs. + =head1 EXAMPLES Allocate and encode the DER encoding of an X509 structure: @@ -586,19 +602,6 @@ structure has been modified after deserialization or previous serialization. This is because some objects cache the encoding for efficiency reasons. -=head1 RETURN VALUES - -d2i_TYPE(), d2i_TYPE_bio() and d2i_TYPE_fp() return a valid B structure -or B if an error occurs. If the "reuse" capability has been used with -a valid structure being passed in via B, then the object is not freed in -the event of error but may be in a potentially invalid or inconsistent state. - -i2d_TYPE() returns the number of bytes successfully encoded or a negative -value if an error occurs. - -i2d_TYPE_bio() and i2d_TYPE_fp() return 1 for success and 0 if an error -occurs. - =head1 COPYRIGHT Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved. diff --git a/doc/man7/EVP_KDF_SSHKDF.pod b/doc/man7/EVP_KDF_SSHKDF.pod new file mode 100644 index 00000000..9c9734e7 --- /dev/null +++ b/doc/man7/EVP_KDF_SSHKDF.pod @@ -0,0 +1,175 @@ +=pod + +=head1 NAME + +EVP_KDF_SSHKDF - The SSHKDF EVP_KDF implementation + +=head1 DESCRIPTION + +Support for computing the B KDF through the B API. + +The EVP_KDF_SSHKDF algorithm implements the SSHKDF key derivation function. +It is defined in RFC 4253, section 7.2 and is used by SSH to derive IVs, +encryption keys and integrity keys. +Five inputs are required to perform key derivation: The hashing function +(for example SHA256), the Initial Key, the Exchange Hash, the Session ID, +and the derivation key type. + +=head2 Numeric identity + +B is the numeric identity for this implementation; it +can be used with the EVP_KDF_CTX_new_id() function. + +=head2 Supported controls + +The supported controls are: + +=over 4 + +=item B + +=item B + +These controls work as described in L. + +=item B + +=item B + +These controls expect two arguments: C, C + +They set the respective values to the first B bytes of the buffer +B. If a value is already set, the contents are replaced. + +EVP_KDF_ctrl_str() takes two type strings for these controls: + +=over 4 + +=item "xcghash" + +=item "session_id" + +The value string is used as is. + +=item "hexxcghash" + +=item "hexsession_id" + +The value string is expected to be a hexadecimal number, which will be +decoded before being passed on as the control value. + +=back + +=item B + +This control expects one argument: C + +Sets the type for the SSHHKDF operation. There are six supported types: + +=over 4 + +=item EVP_KDF_SSHKDF_TYPE_ININITAL_IV_CLI_TO_SRV + +The Initial IV from client to server. +A single char of value 65 (ASCII char 'A'). + +=item EVP_KDF_SSHKDF_TYPE_ININITAL_IV_SRV_TO_CLI + +The Initial IV from server to client +A single char of value 66 (ASCII char 'B'). + +=item EVP_KDF_SSHKDF_TYPE_ENCRYPTION_KEY_CLI_TO_SRV + +The Encryption Key from client to server +A single char of value 67 (ASCII char 'C'). + +=item EVP_KDF_SSHKDF_TYPE_ENCRYPTION_KEY_SRV_TO_CLI + +The Encryption Key from server to client +A single char of value 68 (ASCII char 'D'). + +=item EVP_KDF_SSHKDF_TYPE_INTEGRITY_KEY_CLI_TO_SRV + +The Integrity Key from client to server +A single char of value 69 (ASCII char 'E'). + +=item EVP_KDF_SSHKDF_TYPE_INTEGRITY_KEY_SRV_TO_CLI + +The Integrity Key from client to server +A single char of value 70 (ASCII char 'F'). + +=back + +EVP_KDF_ctrl_str() type string: "type" + +The value is a string of length one character. The only valid values +are the numerical values of the ASCII caracters: "A" (65) to "F" (70). + +=back + +=head1 NOTES + +A context for SSHKDF can be obtained by calling: + + EVP_KDF_CTX *kctx = EVP_KDF_CTX_new_id(EVP_KDF_SSHKDF); + +The output length of the SSHKDF derivation is specified via the C +parameter to the L function. +Since the SSHKDF output length is variable, calling L +to obtain the requisite length is not meaningful. The caller must +allocate a buffer of the desired length, and pass that buffer to the +L function along with the desired length. + +=head1 EXAMPLE + +This example derives an 8 byte IV using SHA-256 with a 1K "key" and appropriate +"xcghash" and "session_id" values: + + EVP_KDF_CTX *kctx; + unsigned char key[1024] = "01234..."; + unsigned char xcghash[32] = "012345..."; + unsigned char session_id[32] = "012345..."; + unsigned char out[8]; + size_t outlen = sizeof(out); + kctx = EVP_KDF_CTX_new_id(EVP_KDF_SSHKDF); + + if (EVP_KDF_CTX_set_md(kctx, EVP_sha256()) <= 0) + /* Error */ + if (EVP_KDF_CTX_set1_key(kctx, key, 1024) <= 0) + /* Error */ + if (EVP_KDF_CTX_set1_sshkdf_xcghash(kctx, xcghash, 32) <= 0) + /* Error */ + if (EVP_KDF_CTX_set1_sshkdf_session_id(kctx, session_id, 32) <= 0) + /* Error */ + if (EVP_KDF_CTX_set_sshkdf_type(kctx, + EVP_KDF_SSHKDF_TYPE_ININITAL_IV_CLI_TO_SRV) <= 0) + /* Error */ + if (EVP_KDF_derive(kctx, out, &outlen) <= 0) + /* Error */ + + +=head1 CONFORMING TO + +RFC 4253 + +=head1 SEE ALSO + +L, +L, +L, +L, +L, +L, +L + +=head1 COPYRIGHT + +Copyright 2016-2018 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 +L. + +=cut + diff --git a/doc/man7/openssl-core.h.pod b/doc/man7/openssl-core.h.pod new file mode 100644 index 00000000..7fd4dfb2 --- /dev/null +++ b/doc/man7/openssl-core.h.pod @@ -0,0 +1,96 @@ +=pod + +=head1 NAME + +openssl/core.h - OpenSSL Core types + +=head1 SYNOPSIS + + #include + +=head1 DESCRIPTION + +The header file defines a number of public types that +are used to communicate between the OpenSSL libraries and +implementation providers. +These types are designed to minimise the need for intimate knowledge +of internal structures between the OpenSSL libraries and the providers. + +The types are: + +=over 4 + +=item C + +This type is a tuple of function identity and function pointer. +Arrays of this type are passed between the OpenSSL libraries and the +providers to describe what functionality one side provides to the +other. +Arrays of this type must be terminated with a tuple having function +identity zero and function pointer C. + +The available function identities and corresponding function +signatures are defined by L. + +Any function identity not recognised by the recipient of this type +will be ignored. +This ensures that providers built with one OpenSSL version in mind +will work together with any other OpenSSL version that supports this +mechanism. + +=item C + +This type is a tuple of integer and pointer. +It's a generic type used as a generic descriptor, its exact meaning +being defined by how it's used. +Arrays of this type are passed between the OpenSSL libraries and the +providers, and must be terminated with a tuple where the integer is +zero and the pointer C. + +=item C + +This type is a tuple of an algorithm name (string), a property +definition (string) and a dispatch table (array of C). +Arrays of this type are passed on demand from the providers to the +OpenSSL libraries to describe what algorithms the providers provide +implementations of, and with what properties. +Arrays of this type must be terminated with a tuple having function +identity zero and function pointer C. + +The algorithm names and property definitions are defined by the +providers. + +=item C + +This type is a structure that allows passing arbitrary object data +between two parties that have no or very little shared knowledge about +their respective internal structures for that object. +It's normally passed in arrays, where the array is terminated with an +element where all fields are zero (for non-pointers) or C (for +pointers). + +These arrays can be used both to set parameters for some object, and +to request parameters. + +C is further described in L + +=back + +=head1 SEE ALSO + +L + +=head1 HISTORY + +The types described here were added in OpenSSL 3.0. + +=head1 COPYRIGHT + +Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (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 +L. + +=cut diff --git a/e_os.h b/e_os.h index 9c0888e4..472354e0 100644 --- a/e_os.h +++ b/e_os.h @@ -27,11 +27,8 @@ * set this to a comma-separated list of 'random' device files to try out. By * default, we will try to read at least one of these files */ -# if defined(__s390__) -# define DEVRANDOM "/dev/prandom","/dev/urandom","/dev/hwrng","/dev/random" -# else -# define DEVRANDOM "/dev/urandom","/dev/random","/dev/srandom" -# endif +# define DEVRANDOM "/dev/urandom", "/dev/random", "/dev/hwrng", "/dev/srandom" +# define DEVRANDOM_WAIT "/dev/random" # endif # if !defined(OPENSSL_NO_EGD) && !defined(DEVRANDOM_EGD) /* @@ -39,7 +36,7 @@ * sockets will be tried in the order listed in case accessing the device * files listed in DEVRANDOM did not return enough randomness. */ -# define DEVRANDOM_EGD "/var/run/egd-pool","/dev/egd-pool","/etc/egd-pool","/etc/entropy" +# define DEVRANDOM_EGD "/var/run/egd-pool", "/dev/egd-pool", "/etc/egd-pool", "/etc/entropy" # endif # if defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_UEFI) diff --git a/engines/build.info b/engines/build.info index e493ceda..16907da5 100644 --- a/engines/build.info +++ b/engines/build.info @@ -1,9 +1,10 @@ IF[{- !$disabled{"engine"} -}] - IF[{- $disabled{"dynamic-engine"} -}] LIBS=../libcrypto - SOURCE[../libcrypto]=\ - e_padlock.c {- $target{padlock_asm_src} -} + IF[{- !$disabled{padlockeng} -}] + SOURCE[../libcrypto]=\ + e_padlock.c {- $target{padlock_asm_src} -} + ENDIF IF[{- !$disabled{capieng} -}] SOURCE[../libcrypto]=e_capi.c ENDIF @@ -14,13 +15,15 @@ IF[{- !$disabled{"engine"} -}] SOURCE[../libcrypto]=e_devcrypto.c ENDIF ELSE - MODULES{engine}=padlock - SOURCE[padlock]=e_padlock.c {- $target{padlock_asm_src} -} - DEPEND[padlock]=../libcrypto - INCLUDE[padlock]=../include - IF[{- defined $target{shared_defflag} -}] - SHARED_SOURCE[padlock]=padlock.ld - GENERATE[padlock.ld]=../util/engines.num + IF[{- !$disabled{padlockeng} -}] + MODULES{engine}=padlock + SOURCE[padlock]=e_padlock.c {- $target{padlock_asm_src} -} + DEPEND[padlock]=../libcrypto + INCLUDE[padlock]=../include + IF[{- defined $target{shared_defflag} -}] + SHARED_SOURCE[padlock]=padlock.ld + GENERATE[padlock.ld]=../util/engines.num + ENDIF ENDIF IF[{- !$disabled{capieng} -}] MODULES{engine}=capi @@ -43,7 +46,7 @@ IF[{- !$disabled{"engine"} -}] ENDIF ENDIF IF[{- !$disabled{"devcryptoeng"} -}] - MODULES=devcrypto + MODULES{engine}=devcrypto SOURCE[devcrypto]=e_devcrypto.c DEPEND[devcrypto]=../libcrypto INCLUDE[devcrypto]=../include @@ -69,8 +72,7 @@ IF[{- !$disabled{"engine"} -}] GENERATE[ossltest.ld]=../util/engines.num ENDIF ENDIF - GENERATE[e_padlock-x86.s]=asm/e_padlock-x86.pl \ - $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) $(PROCESSOR) + $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) $(PROCESSOR) GENERATE[e_padlock-x86_64.s]=asm/e_padlock-x86_64.pl $(PERLASM_SCHEME) ENDIF diff --git a/engines/e_dasync.c b/engines/e_dasync.c index f8a52e9d..74a62b86 100644 --- a/engines/e_dasync.c +++ b/engines/e_dasync.c @@ -155,6 +155,14 @@ static const EVP_CIPHER *dasync_aes_128_cbc(void) /* * Holds the EVP_CIPHER object for aes_128_cbc_hmac_sha1 in this engine. Set up * once only during engine bind and can then be reused many times. + * + * This 'stitched' cipher depends on the EVP_aes_128_cbc_hmac_sha1() cipher, + * which is implemented only if the AES-NI instruction set extension is available + * (see OPENSSL_IA32CAP(3)). If that's not the case, then this cipher will not + * be available either. + * + * Note: Since it is a legacy mac-then-encrypt cipher, modern TLS peers (which + * negotiate the encrypt-then-mac extension) won't negotiate it anyway. */ static EVP_CIPHER *_hidden_aes_128_cbc_hmac_sha1 = NULL; static const EVP_CIPHER *dasync_aes_128_cbc_hmac_sha1(void) @@ -765,6 +773,10 @@ static int dasync_aes128_cbc_hmac_sha1_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *iv, int enc) { + /* + * We can safely assume that EVP_aes_128_cbc_hmac_sha1() != NULL, + * see comment before the definition of dasync_aes_128_cbc_hmac_sha1(). + */ return dasync_cipher_init_key_helper(ctx, key, iv, enc, EVP_aes_128_cbc_hmac_sha1()); } @@ -779,5 +791,9 @@ static int dasync_aes128_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx, static int dasync_aes128_cbc_hmac_sha1_cleanup(EVP_CIPHER_CTX *ctx) { + /* + * We can safely assume that EVP_aes_128_cbc_hmac_sha1() != NULL, + * see comment before the definition of dasync_aes_128_cbc_hmac_sha1(). + */ return dasync_cipher_cleanup_helper(ctx, EVP_aes_128_cbc_hmac_sha1()); } diff --git a/engines/e_devcrypto.c b/engines/e_devcrypto.c index 77f0e48f..c0b0d1e8 100644 --- a/engines/e_devcrypto.c +++ b/engines/e_devcrypto.c @@ -70,6 +70,15 @@ struct driver_info_st { void engine_load_devcrypto_int(void); #endif +static int clean_devcrypto_session(struct session_op *sess) { + if (ioctl(cfd, CIOCFSESSION, &sess->ses) < 0) { + SYSerr(SYS_F_IOCTL, errno); + return 0; + } + memset(sess, 0, sizeof(struct session_op)); + return 1; +} + /****************************************************************************** * * Ciphers @@ -186,12 +195,11 @@ static int cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char *key, (struct cipher_ctx *)EVP_CIPHER_CTX_get_cipher_data(ctx); const struct cipher_data_st *cipher_d = get_cipher_data(EVP_CIPHER_CTX_nid(ctx)); - int sess = cipher_ctx->sess.ses; - /* close a previous open session */ + /* cleanup a previous session */ if (cipher_ctx->sess.ses != 0 && - ioctl(cfd, CIOCFSESSION, &cipher_ctx->sess.ses) <0) - SYSerr(SYS_F_IOCTL, errno); + clean_devcrypto_session(&cipher_ctx->sess) == 0) + return 0; cipher_ctx->sess.cipher = cipher_d->devcryptoid; cipher_ctx->sess.keylen = cipher_d->keylen; @@ -331,22 +339,29 @@ static int ctr_do_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, static int cipher_ctrl(EVP_CIPHER_CTX *ctx, int type, int p1, void* p2) { + struct cipher_ctx *cipher_ctx = + (struct cipher_ctx *)EVP_CIPHER_CTX_get_cipher_data(ctx); EVP_CIPHER_CTX *to_ctx = (EVP_CIPHER_CTX *)p2; - struct cipher_ctx *cipher_ctx; + struct cipher_ctx *to_cipher_ctx; - if (type == EVP_CTRL_COPY || type == EVP_CTRL_INIT) { - cipher_ctx = (struct cipher_ctx *)EVP_CIPHER_CTX_get_cipher_data(ctx); + switch (type) { - if (cipher_ctx == NULL) /* OK for copy, error for init */ - return (type == EVP_CTRL_COPY); - - /* both COPY & INIT need a clean context */ - memset(&cipher_ctx->sess, 0, sizeof(cipher_ctx->sess)); - - /* when copying the context, a new session needs to be open as well */ - return (type == EVP_CTRL_INIT) - || cipher_init(to_ctx, cipher_ctx->sess.key, EVP_CIPHER_CTX_iv(ctx), + case EVP_CTRL_COPY: + if (cipher_ctx == NULL) + return 1; + /* when copying the context, a new session needs to be initialized */ + to_cipher_ctx = + (struct cipher_ctx *)EVP_CIPHER_CTX_get_cipher_data(to_ctx); + memset(&to_cipher_ctx->sess, 0, sizeof(to_cipher_ctx->sess)); + return cipher_init(to_ctx, cipher_ctx->sess.key, EVP_CIPHER_CTX_iv(ctx), (cipher_ctx->op == COP_ENCRYPT)); + + case EVP_CTRL_INIT: + memset(&cipher_ctx->sess, 0, sizeof(cipher_ctx->sess)); + return 1; + + default: + break; } return -1; @@ -357,13 +372,7 @@ static int cipher_cleanup(EVP_CIPHER_CTX *ctx) struct cipher_ctx *cipher_ctx = (struct cipher_ctx *)EVP_CIPHER_CTX_get_cipher_data(ctx); - if (ioctl(cfd, CIOCFSESSION, &cipher_ctx->sess.ses) < 0) { - SYSerr(SYS_F_IOCTL, errno); - return 0; - } - memset(&cipher_ctx->sess, 0, sizeof(cipher_ctx->sess)); - - return 1; + return clean_devcrypto_session(&cipher_ctx->sess); } /* @@ -620,29 +629,30 @@ struct digest_ctx { static const struct digest_data_st { int nid; + int blocksize; int digestlen; int devcryptoid; } digest_data[] = { #ifndef OPENSSL_NO_MD5 - { NID_md5, 16, CRYPTO_MD5 }, + { NID_md5, /* MD5_CBLOCK */ 64, 16, CRYPTO_MD5 }, #endif - { NID_sha1, 20, CRYPTO_SHA1 }, + { NID_sha1, SHA_CBLOCK, 20, CRYPTO_SHA1 }, #ifndef OPENSSL_NO_RMD160 # if !defined(CHECK_BSD_STYLE_MACROS) || defined(CRYPTO_RIPEMD160) - { NID_ripemd160, 20, CRYPTO_RIPEMD160 }, + { NID_ripemd160, /* RIPEMD160_CBLOCK */ 64, 20, CRYPTO_RIPEMD160 }, # endif #endif #if !defined(CHECK_BSD_STYLE_MACROS) || defined(CRYPTO_SHA2_224) - { NID_sha224, 224 / 8, CRYPTO_SHA2_224 }, + { NID_sha224, SHA256_CBLOCK, 224 / 8, CRYPTO_SHA2_224 }, #endif #if !defined(CHECK_BSD_STYLE_MACROS) || defined(CRYPTO_SHA2_256) - { NID_sha256, 256 / 8, CRYPTO_SHA2_256 }, + { NID_sha256, SHA256_CBLOCK, 256 / 8, CRYPTO_SHA2_256 }, #endif #if !defined(CHECK_BSD_STYLE_MACROS) || defined(CRYPTO_SHA2_384) - { NID_sha384, 384 / 8, CRYPTO_SHA2_384 }, + { NID_sha384, SHA512_CBLOCK, 384 / 8, CRYPTO_SHA2_384 }, #endif #if !defined(CHECK_BSD_STYLE_MACROS) || defined(CRYPTO_SHA2_512) - { NID_sha512, 512 / 8, CRYPTO_SHA2_512 }, + { NID_sha512, SHA512_CBLOCK, 512 / 8, CRYPTO_SHA2_512 }, #endif }; @@ -697,7 +707,6 @@ static int digest_init(EVP_MD_CTX *ctx) SYSerr(SYS_F_IOCTL, errno); return 0; } - return 1; } @@ -788,11 +797,8 @@ static int digest_cleanup(EVP_MD_CTX *ctx) if (digest_ctx == NULL) return 1; - if (ioctl(cfd, CIOCFSESSION, &digest_ctx->sess.ses) < 0) { - SYSerr(SYS_F_IOCTL, errno); - return 0; - } - return 1; + + return clean_devcrypto_session(&digest_ctx->sess); } /* @@ -890,6 +896,8 @@ static void prepare_digest_methods(void) } if ((known_digest_methods[i] = EVP_MD_meth_new(digest_data[i].nid, NID_undef)) == NULL + || !EVP_MD_meth_set_input_blocksize(known_digest_methods[i], + digest_data[i].blocksize) || !EVP_MD_meth_set_result_size(known_digest_methods[i], digest_data[i].digestlen) || !EVP_MD_meth_set_init(known_digest_methods[i], digest_init) @@ -1177,10 +1185,13 @@ static int open_devcrypto(void) static int close_devcrypto(void) { + int ret; + if (cfd < 0) return 1; + ret = close(cfd); cfd = -1; - if (close(cfd) == 0) { + if (ret != 0) { fprintf(stderr, "Error closing /dev/crypto: %s\n", strerror(errno)); return 0; } diff --git a/engines/e_padlock.c b/engines/e_padlock.c index daf8c94c..78e9c795 100644 --- a/engines/e_padlock.c +++ b/engines/e_padlock.c @@ -19,40 +19,39 @@ #include #include -#ifndef OPENSSL_NO_HW -# ifndef OPENSSL_NO_HW_PADLOCK +#ifndef OPENSSL_NO_PADLOCKENG /* * VIA PadLock AES is available *ONLY* on some x86 CPUs. Not only that it * doesn't exist elsewhere, but it even can't be compiled on other platforms! */ -# undef COMPILE_HW_PADLOCK -# if !defined(I386_ONLY) && defined(PADLOCK_ASM) -# define COMPILE_HW_PADLOCK -# ifdef OPENSSL_NO_DYNAMIC_ENGINE -static ENGINE *ENGINE_padlock(void); -# endif -# endif - +# undef COMPILE_PADLOCKENG +# if defined(PADLOCK_ASM) +# define COMPILE_PADLOCKENG # ifdef OPENSSL_NO_DYNAMIC_ENGINE +static ENGINE *ENGINE_padlock(void); +# endif +# endif + +# ifdef OPENSSL_NO_DYNAMIC_ENGINE void engine_load_padlock_int(void); void engine_load_padlock_int(void) { /* On non-x86 CPUs it just returns. */ -# ifdef COMPILE_HW_PADLOCK +# ifdef COMPILE_PADLOCKENG ENGINE *toadd = ENGINE_padlock(); if (!toadd) return; ENGINE_add(toadd); ENGINE_free(toadd); ERR_clear_error(); -# endif +# endif } -# endif +# endif -# ifdef COMPILE_HW_PADLOCK +# ifdef COMPILE_PADLOCKENG /* Function for ENGINE detection and control */ static int padlock_available(void); @@ -106,7 +105,7 @@ static int padlock_bind_helper(ENGINE *e) return 1; } -# ifdef OPENSSL_NO_DYNAMIC_ENGINE +# ifdef OPENSSL_NO_DYNAMIC_ENGINE /* Constructor */ static ENGINE *ENGINE_padlock(void) { @@ -123,7 +122,7 @@ static ENGINE *ENGINE_padlock(void) return eng; } -# endif +# endif /* Check availability of the engine */ static int padlock_init(ENGINE *e) @@ -135,7 +134,7 @@ static int padlock_init(ENGINE *e) * This stuff is needed if this ENGINE is being compiled into a * self-contained shared-library. */ -# ifdef DYNAMIC_ENGINE +# ifndef OPENSSL_NO_DYNAMIC_ENGINE static int padlock_bind_fn(ENGINE *e, const char *id) { if (id && (strcmp(id, padlock_id) != 0)) { @@ -151,14 +150,14 @@ static int padlock_bind_fn(ENGINE *e, const char *id) IMPLEMENT_DYNAMIC_CHECK_FN() IMPLEMENT_DYNAMIC_BIND_FN(padlock_bind_fn) -# endif /* DYNAMIC_ENGINE */ +# endif /* !OPENSSL_NO_DYNAMIC_ENGINE */ /* ===== Here comes the "real" engine ===== */ /* Some AES-related constants */ -# define AES_BLOCK_SIZE 16 -# define AES_KEY_SIZE_128 16 -# define AES_KEY_SIZE_192 24 -# define AES_KEY_SIZE_256 32 +# define AES_BLOCK_SIZE 16 +# define AES_KEY_SIZE_128 16 +# define AES_KEY_SIZE_192 24 +# define AES_KEY_SIZE_256 32 /* * Here we store the status information relevant to the current context. */ @@ -224,29 +223,29 @@ static int padlock_available(void) /* ===== AES encryption/decryption ===== */ -# if defined(NID_aes_128_cfb128) && ! defined (NID_aes_128_cfb) -# define NID_aes_128_cfb NID_aes_128_cfb128 -# endif +# if defined(NID_aes_128_cfb128) && ! defined (NID_aes_128_cfb) +# define NID_aes_128_cfb NID_aes_128_cfb128 +# endif -# if defined(NID_aes_128_ofb128) && ! defined (NID_aes_128_ofb) -# define NID_aes_128_ofb NID_aes_128_ofb128 -# endif +# if defined(NID_aes_128_ofb128) && ! defined (NID_aes_128_ofb) +# define NID_aes_128_ofb NID_aes_128_ofb128 +# endif -# if defined(NID_aes_192_cfb128) && ! defined (NID_aes_192_cfb) -# define NID_aes_192_cfb NID_aes_192_cfb128 -# endif +# if defined(NID_aes_192_cfb128) && ! defined (NID_aes_192_cfb) +# define NID_aes_192_cfb NID_aes_192_cfb128 +# endif -# if defined(NID_aes_192_ofb128) && ! defined (NID_aes_192_ofb) -# define NID_aes_192_ofb NID_aes_192_ofb128 -# endif +# if defined(NID_aes_192_ofb128) && ! defined (NID_aes_192_ofb) +# define NID_aes_192_ofb NID_aes_192_ofb128 +# endif -# if defined(NID_aes_256_cfb128) && ! defined (NID_aes_256_cfb) -# define NID_aes_256_cfb NID_aes_256_cfb128 -# endif +# if defined(NID_aes_256_cfb128) && ! defined (NID_aes_256_cfb) +# define NID_aes_256_cfb NID_aes_256_cfb128 +# endif -# if defined(NID_aes_256_ofb128) && ! defined (NID_aes_256_ofb) -# define NID_aes_256_ofb NID_aes_256_ofb128 -# endif +# if defined(NID_aes_256_ofb128) && ! defined (NID_aes_256_ofb) +# define NID_aes_256_ofb NID_aes_256_ofb128 +# endif /* List of supported ciphers. */ static const int padlock_cipher_nids[] = { @@ -276,9 +275,9 @@ static int padlock_cipher_nids_num = (sizeof(padlock_cipher_nids) / static int padlock_aes_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc); -# define NEAREST_ALIGNED(ptr) ( (unsigned char *)(ptr) + \ +# define NEAREST_ALIGNED(ptr) ( (unsigned char *)(ptr) + \ ( (0x10 - ((size_t)(ptr) & 0x0F)) & 0x0F ) ) -# define ALIGNED_CIPHER_DATA(ctx) ((struct padlock_cipher_data *)\ +# define ALIGNED_CIPHER_DATA(ctx) ((struct padlock_cipher_data *)\ NEAREST_ALIGNED(EVP_CIPHER_CTX_get_cipher_data(ctx))) static int @@ -453,17 +452,17 @@ padlock_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg, return 1; } -# define EVP_CIPHER_block_size_ECB AES_BLOCK_SIZE -# define EVP_CIPHER_block_size_CBC AES_BLOCK_SIZE -# define EVP_CIPHER_block_size_OFB 1 -# define EVP_CIPHER_block_size_CFB 1 -# define EVP_CIPHER_block_size_CTR 1 +# define EVP_CIPHER_block_size_ECB AES_BLOCK_SIZE +# define EVP_CIPHER_block_size_CBC AES_BLOCK_SIZE +# define EVP_CIPHER_block_size_OFB 1 +# define EVP_CIPHER_block_size_CFB 1 +# define EVP_CIPHER_block_size_CTR 1 /* * Declaring so many ciphers by hand would be a pain. Instead introduce a bit * of preprocessor magic :-) */ -# define DECLARE_AES_EVP(ksize,lmode,umode) \ +# define DECLARE_AES_EVP(ksize,lmode,umode) \ static EVP_CIPHER *_hidden_aes_##ksize##_##lmode = NULL; \ static const EVP_CIPHER *padlock_aes_##ksize##_##lmode(void) \ { \ @@ -626,12 +625,12 @@ padlock_aes_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, AES_set_decrypt_key(key, key_len, &cdata->ks); else AES_set_encrypt_key(key, key_len, &cdata->ks); -# ifndef AES_ASM +# ifndef AES_ASM /* * OpenSSL C functions use byte-swapped extended key. */ padlock_key_bswap(&cdata->ks); -# endif +# endif cdata->cword.b.keygen = 1; break; @@ -714,12 +713,10 @@ static RAND_METHOD padlock_rand = { padlock_rand_status, /* rand status */ }; -# endif /* COMPILE_HW_PADLOCK */ -# endif /* !OPENSSL_NO_HW_PADLOCK */ -#endif /* !OPENSSL_NO_HW */ +# endif /* COMPILE_PADLOCKENG */ +#endif /* !OPENSSL_NO_PADLOCKENG */ -#if defined(OPENSSL_NO_HW) || defined(OPENSSL_NO_HW_PADLOCK) \ - || !defined(COMPILE_HW_PADLOCK) +#if defined(OPENSSL_NO_PADLOCKENG) || !defined(COMPILE_PADLOCKENG) # ifndef OPENSSL_NO_DYNAMIC_ENGINE OPENSSL_EXPORT int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns); diff --git a/include/openssl/asn1.h b/include/openssl/asn1.h index 5a635adb..3790c6b9 100644 --- a/include/openssl/asn1.h +++ b/include/openssl/asn1.h @@ -221,43 +221,41 @@ typedef struct ASN1_VALUE_st ASN1_VALUE; # define DECLARE_ASN1_FUNCTIONS_name(type, name) \ DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) - -# define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \ - DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) + DECLARE_ASN1_ENCODE_FUNCTIONS_name(type, name) # define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) \ - type *d2i_##name(type **a, const unsigned char **in, long len); \ - int i2d_##name(type *a, unsigned char **out); \ + DECLARE_ASN1_ENCODE_FUNCTIONS_only(type, name) \ DECLARE_ASN1_ITEM(itname) -# define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \ +# define DECLARE_ASN1_ENCODE_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) + +# define DECLARE_ASN1_ENCODE_FUNCTIONS_only(type, name) \ type *d2i_##name(type **a, const unsigned char **in, long len); \ - int i2d_##name(const type *a, unsigned char **out); \ - DECLARE_ASN1_ITEM(name) + int i2d_##name(const type *a, unsigned char **out); # define DECLARE_ASN1_NDEF_FUNCTION(name) \ - int i2d_##name##_NDEF(name *a, unsigned char **out); - -# define DECLARE_ASN1_FUNCTIONS_const(name) \ - DECLARE_ASN1_ALLOC_FUNCTIONS(name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS_const(name, name) + int i2d_##name##_NDEF(const name *a, unsigned char **out); # define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ type *name##_new(void); \ void name##_free(type *a); +# define DECLARE_ASN1_DUP_FUNCTION(type) \ + DECLARE_ASN1_DUP_FUNCTION_name(type, type) + +# define DECLARE_ASN1_DUP_FUNCTION_name(type, name) \ + type *name##_dup(const type *a); + # define DECLARE_ASN1_PRINT_FUNCTION(stname) \ DECLARE_ASN1_PRINT_FUNCTION_fname(stname, stname) # define DECLARE_ASN1_PRINT_FUNCTION_fname(stname, fname) \ - int fname##_print_ctx(BIO *out, stname *x, int indent, \ + int fname##_print_ctx(BIO *out, const stname *x, int indent, \ const ASN1_PCTX *pctx); # define D2I_OF(type) type *(*)(type **,const unsigned char **,long) -# define I2D_OF(type) int (*)(type *,unsigned char **) -# define I2D_OF_const(type) int (*)(const type *,unsigned char **) +# define I2D_OF(type) int (*)(const type *,unsigned char **) # define CHECKED_D2I_OF(type, d2i) \ ((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0))) @@ -271,7 +269,7 @@ typedef struct ASN1_VALUE_st ASN1_VALUE; ((void**) (1 ? p : (type**)0)) # define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long) -# define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(type *,unsigned char **) +# define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(const type *,unsigned char **) # define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type) TYPEDEF_D2I2D_OF(void); @@ -476,8 +474,8 @@ DEFINE_STACK_OF(ASN1_TYPE) typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; -DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) -DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SET_ANY) +DECLARE_ASN1_ENCODE_FUNCTIONS_name(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) +DECLARE_ASN1_ENCODE_FUNCTIONS_name(ASN1_SEQUENCE_ANY, ASN1_SET_ANY) /* This is used to contain a list of bit names */ typedef struct BIT_STRING_BITNAME_st { @@ -515,7 +513,8 @@ typedef struct BIT_STRING_BITNAME_st { B_ASN1_BMPSTRING|\ B_ASN1_UTF8STRING -DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) +DECLARE_ASN1_ALLOC_FUNCTIONS_name(ASN1_TYPE, ASN1_TYPE) +DECLARE_ASN1_ENCODE_FUNCTIONS(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) int ASN1_TYPE_get(const ASN1_TYPE *a); void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value); @@ -525,21 +524,14 @@ int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b); ASN1_TYPE *ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE **t); void *ASN1_TYPE_unpack_sequence(const ASN1_ITEM *it, const ASN1_TYPE *t); -ASN1_OBJECT *ASN1_OBJECT_new(void); -void ASN1_OBJECT_free(ASN1_OBJECT *a); -int i2d_ASN1_OBJECT(const ASN1_OBJECT *a, unsigned char **pp); -ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, - long length); - -DECLARE_ASN1_ITEM(ASN1_OBJECT) - +DECLARE_ASN1_FUNCTIONS(ASN1_OBJECT) DEFINE_STACK_OF(ASN1_OBJECT) ASN1_STRING *ASN1_STRING_new(void); void ASN1_STRING_free(ASN1_STRING *a); void ASN1_STRING_clear_free(ASN1_STRING *a); int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str); -ASN1_STRING *ASN1_STRING_dup(const ASN1_STRING *a); +DECLARE_ASN1_DUP_FUNCTION(ASN1_STRING) ASN1_STRING *ASN1_STRING_type_new(int type); int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b); /* @@ -570,7 +562,7 @@ int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value, DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER) ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, long length); -ASN1_INTEGER *ASN1_INTEGER_dup(const ASN1_INTEGER *x); +DECLARE_ASN1_DUP_FUNCTION(ASN1_INTEGER) int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y); DECLARE_ASN1_FUNCTIONS(ASN1_ENUMERATED) @@ -594,7 +586,7 @@ int ASN1_TIME_diff(int *pday, int *psec, const ASN1_TIME *from, const ASN1_TIME *to); DECLARE_ASN1_FUNCTIONS(ASN1_OCTET_STRING) -ASN1_OCTET_STRING *ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *a); +DECLARE_ASN1_DUP_FUNCTION(ASN1_OCTET_STRING) int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, const ASN1_OCTET_STRING *b); int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, @@ -685,19 +677,14 @@ int ASN1_put_eoc(unsigned char **pp); int ASN1_object_size(int constructed, int length, int tag); /* Used to implement other functions */ -void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x); +void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, const void *x); # define ASN1_dup_of(type,i2d,d2i,x) \ ((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \ - CHECKED_D2I_OF(type, d2i), \ - CHECKED_PTR_OF(type, x))) - -# define ASN1_dup_of_const(type,i2d,d2i,x) \ - ((type*)ASN1_dup(CHECKED_I2D_OF(const type, i2d), \ CHECKED_D2I_OF(type, d2i), \ CHECKED_PTR_OF(const type, x))) -void *ASN1_item_dup(const ASN1_ITEM *it, void *x); +void *ASN1_item_dup(const ASN1_ITEM *it, const void *x); /* ASN1 alloc/free macros for when a type is only used internally */ @@ -715,19 +702,14 @@ void *ASN1_d2i_fp(void *(*xnew) (void), d2i_of_void *d2i, FILE *in, void **x); CHECKED_PPTR_OF(type, x))) void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); -int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x); +int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, const void *x); # define ASN1_i2d_fp_of(type,i2d,out,x) \ (ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \ - out, \ - CHECKED_PTR_OF(type, x))) - -# define ASN1_i2d_fp_of_const(type,i2d,out,x) \ - (ASN1_i2d_fp(CHECKED_I2D_OF(const type, i2d), \ out, \ CHECKED_PTR_OF(const type, x))) -int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x); +int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, const void *x); int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags); # endif @@ -742,19 +724,14 @@ void *ASN1_d2i_bio(void *(*xnew) (void), d2i_of_void *d2i, BIO *in, void **x); CHECKED_PPTR_OF(type, x))) void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x); -int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x); +int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, const void *x); # define ASN1_i2d_bio_of(type,i2d,out,x) \ (ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \ - out, \ - CHECKED_PTR_OF(type, x))) - -# define ASN1_i2d_bio_of_const(type,i2d,out,x) \ - (ASN1_i2d_bio(CHECKED_I2D_OF(const type, i2d), \ out, \ CHECKED_PTR_OF(const type, x))) -int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x); +int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, const void *x); int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a); int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a); int ASN1_TIME_print(BIO *fp, const ASN1_TIME *a); @@ -807,8 +784,8 @@ ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it); void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in, long len, const ASN1_ITEM *it); -int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); -int ASN1_item_ndef_i2d(ASN1_VALUE *val, unsigned char **out, +int ASN1_item_i2d(const ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); +int ASN1_item_ndef_i2d(const ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); void ASN1_add_oid_module(void); @@ -839,7 +816,7 @@ int ASN1_str2mask(const char *str, unsigned long *pmask); /* Don't show structure name even at top level */ # define ASN1_PCTX_FLAGS_NO_STRUCT_NAME 0x100 -int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, +int ASN1_item_print(BIO *out, const ASN1_VALUE *ifld, int indent, const ASN1_ITEM *it, const ASN1_PCTX *pctx); ASN1_PCTX *ASN1_PCTX_new(void); void ASN1_PCTX_free(ASN1_PCTX *p); @@ -864,12 +841,14 @@ void *ASN1_SCTX_get_app_data(ASN1_SCTX *p); const BIO_METHOD *BIO_f_asn1(void); +/* cannot constify val because of CMS_stream() */ BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it); int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, const ASN1_ITEM *it); int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, const char *hdr, const ASN1_ITEM *it); +/* cannot constify val because of CMS_dataFinal() */ int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, int ctype_nid, int econt_nid, STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it); @@ -880,6 +859,18 @@ int SMIME_text(BIO *in, BIO *out); const ASN1_ITEM *ASN1_ITEM_lookup(const char *name); const ASN1_ITEM *ASN1_ITEM_get(size_t i); +/* Legacy compatibility */ +# define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) +# define DECLARE_ASN1_FUNCTIONS_const(type) DECLARE_ASN1_FUNCTIONS(type) +# define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, name) +# define I2D_OF_const(type) I2D_OF(type) +# define ASN1_dup_of_const(type,i2d,d2i,x) ASN1_dup_of(type,i2d,d2i,x) +# define ASN1_i2d_fp_of_const(type,i2d,out,x) ASN1_i2d_fp_of(type,i2d,out,x) +# define ASN1_i2d_bio_of_const(type,i2d,out,x) ASN1_i2d_bio_of(type,i2d,out,x) + # ifdef __cplusplus } # endif diff --git a/include/openssl/asn1t.h b/include/openssl/asn1t.h index 06d85e42..1a836c9d 100644 --- a/include/openssl/asn1t.h +++ b/include/openssl/asn1t.h @@ -152,19 +152,29 @@ extern "C" { ASN1_SEQUENCE_cb(tname, cb) # define ASN1_SEQUENCE_cb(tname, cb) \ - static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0, NULL}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_const_cb(tname, const_cb) \ + static const ASN1_AUX tname##_aux = \ + {NULL, ASN1_AFLG_CONST_CB, 0, 0, NULL, 0, const_cb}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_cb_const_cb(tname, cb, const_cb) \ + static const ASN1_AUX tname##_aux = \ + {NULL, ASN1_AFLG_CONST_CB, 0, 0, cb, 0, const_cb}; \ ASN1_SEQUENCE(tname) # define ASN1_BROKEN_SEQUENCE(tname) \ - static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_BROKEN, 0, 0, 0, 0}; \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_BROKEN, 0, 0, NULL, 0, NULL}; \ ASN1_SEQUENCE(tname) # define ASN1_SEQUENCE_ref(tname, cb) \ - static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), offsetof(tname, lock), cb, 0}; \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), offsetof(tname, lock), cb, 0, NULL}; \ ASN1_SEQUENCE(tname) # define ASN1_SEQUENCE_enc(tname, enc, cb) \ - static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, 0, cb, offsetof(tname, enc)}; \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, 0, cb, offsetof(tname, enc), NULL}; \ ASN1_SEQUENCE(tname) # define ASN1_NDEF_SEQUENCE_END(tname) \ @@ -261,7 +271,7 @@ extern "C" { static const ASN1_TEMPLATE tname##_ch_tt[] # define ASN1_CHOICE_cb(tname, cb) \ - static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0, NULL}; \ ASN1_CHOICE(tname) # define ASN1_CHOICE_END(stname) ASN1_CHOICE_END_name(stname, stname) @@ -661,21 +671,21 @@ typedef int ASN1_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC *ctx); -typedef int ASN1_ex_i2d(ASN1_VALUE **pval, unsigned char **out, +typedef int ASN1_ex_i2d(const ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass); typedef int ASN1_ex_new_func(ASN1_VALUE **pval, const ASN1_ITEM *it); typedef void ASN1_ex_free_func(ASN1_VALUE **pval, const ASN1_ITEM *it); -typedef int ASN1_ex_print_func(BIO *out, ASN1_VALUE **pval, +typedef int ASN1_ex_print_func(BIO *out, const ASN1_VALUE **pval, int indent, const char *fname, const ASN1_PCTX *pctx); -typedef int ASN1_primitive_i2c(ASN1_VALUE **pval, unsigned char *cont, +typedef int ASN1_primitive_i2c(const ASN1_VALUE **pval, unsigned char *cont, int *putype, const ASN1_ITEM *it); typedef int ASN1_primitive_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it); -typedef int ASN1_primitive_print(BIO *out, ASN1_VALUE **pval, +typedef int ASN1_primitive_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM *it, int indent, const ASN1_PCTX *pctx); @@ -711,10 +721,16 @@ typedef struct ASN1_PRIMITIVE_FUNCS_st { * error has occurred and the main operation should be abandoned. If major * changes in the default behaviour are required then an external type is * more appropriate. + * For the operations ASN1_OP_I2D_PRE, ASN1_OP_I2D_POST, ASN1_OP_PRINT_PRE, and + * ASN1_OP_PRINT_POST, meanwhile a variant of the callback with const parameter + * 'in' is provided to make clear statically that its input is not modified. If + * and only if this variant is in use the flag ASN1_AFLG_CONST_CB must be set. */ typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it, void *exarg); +typedef int ASN1_aux_const_cb(int operation, const ASN1_VALUE **in, + const ASN1_ITEM *it, void *exarg); typedef struct ASN1_AUX_st { void *app_data; @@ -723,6 +739,7 @@ typedef struct ASN1_AUX_st { int ref_lock; /* Lock type to use */ ASN1_aux_cb *asn1_cb; int enc_offset; /* Offset of ASN1_ENCODING structure */ + ASN1_aux_const_cb *asn1_const_cb; /* for ASN1_OP_I2D_ and ASN1_OP_PRINT_ */ } ASN1_AUX; /* For print related callbacks exarg points to this structure */ @@ -750,6 +767,8 @@ typedef struct ASN1_STREAM_ARG_st { # define ASN1_AFLG_ENCODING 2 /* The Sequence length is invalid */ # define ASN1_AFLG_BROKEN 4 +/* Use the new asn1_const_cb */ +# define ASN1_AFLG_CONST_CB 8 /* operation values for asn1_cb */ @@ -836,13 +855,13 @@ typedef struct ASN1_STREAM_ARG_st { { \ return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ } \ - int i2d_##fname(stname *a, unsigned char **out) \ + int i2d_##fname(const stname *a, unsigned char **out) \ { \ return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ } # define IMPLEMENT_ASN1_NDEF_FUNCTION(stname) \ - int i2d_##stname##_NDEF(stname *a, unsigned char **out) \ + int i2d_##stname##_NDEF(const stname *a, unsigned char **out) \ { \ return ASN1_item_ndef_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(stname));\ } @@ -854,28 +873,14 @@ typedef struct ASN1_STREAM_ARG_st { return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, \ ASN1_ITEM_rptr(stname)); \ } \ - static int i2d_##stname(stname *a, unsigned char **out) \ + static int i2d_##stname(const stname *a, unsigned char **out) \ { \ return ASN1_item_i2d((ASN1_VALUE *)a, out, \ ASN1_ITEM_rptr(stname)); \ } -/* - * This includes evil casts to remove const: they will go away when full ASN1 - * constification is done. - */ -# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ - stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ - { \ - return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ - } \ - int i2d_##fname(const stname *a, unsigned char **out) \ - { \ - return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ - } - # define IMPLEMENT_ASN1_DUP_FUNCTION(stname) \ - stname * stname##_dup(stname *x) \ + stname * stname##_dup(const stname *x) \ { \ return ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \ } @@ -884,20 +889,13 @@ typedef struct ASN1_STREAM_ARG_st { IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, stname, stname) # define IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, itname, fname) \ - int fname##_print_ctx(BIO *out, stname *x, int indent, \ + int fname##_print_ctx(BIO *out, const stname *x, int indent, \ const ASN1_PCTX *pctx) \ { \ return ASN1_item_print(out, (ASN1_VALUE *)x, indent, \ ASN1_ITEM_rptr(itname), pctx); \ } -# define IMPLEMENT_ASN1_FUNCTIONS_const(name) \ - IMPLEMENT_ASN1_FUNCTIONS_const_fname(name, name, name) - -# define IMPLEMENT_ASN1_FUNCTIONS_const_fname(stname, itname, fname) \ - IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ - IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) - /* external definitions for primitive types */ DECLARE_ASN1_ITEM(ASN1_BOOLEAN) @@ -936,9 +934,14 @@ int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC *ctx); -int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, +int ASN1_item_ex_i2d(const ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass); +/* Legacy compatibility */ +# define IMPLEMENT_ASN1_FUNCTIONS_const(name) IMPLEMENT_ASN1_FUNCTIONS(name) +# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) + #ifdef __cplusplus } #endif diff --git a/include/openssl/bn.h b/include/openssl/bn.h index 113193c8..57d2ddd1 100644 --- a/include/openssl/bn.h +++ b/include/openssl/bn.h @@ -223,6 +223,8 @@ int BN_bn2bin(const BIGNUM *a, unsigned char *to); int BN_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen); BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret); int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen); +BIGNUM *BN_native2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2nativepad(const BIGNUM *a, unsigned char *to, int tolen); BIGNUM *BN_mpi2bn(const unsigned char *s, int len, BIGNUM *ret); int BN_bn2mpi(const BIGNUM *a, unsigned char *to); int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); diff --git a/include/openssl/cms.h b/include/openssl/cms.h index 48389541..e8653d7f 100644 --- a/include/openssl/cms.h +++ b/include/openssl/cms.h @@ -199,7 +199,7 @@ CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms, const EVP_CIPHER *kekciph); int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); -int CMS_RecipientInfo_encrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); +int CMS_RecipientInfo_encrypt(const CMS_ContentInfo *cms, CMS_RecipientInfo *ri); int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, unsigned int flags); diff --git a/include/openssl/core.h b/include/openssl/core.h new file mode 100644 index 00000000..98b58bea --- /dev/null +++ b/include/openssl/core.h @@ -0,0 +1,143 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 + */ + +#ifndef OSSL_CORE_H +# define OSSL_CORE_H + +# include +# include + +# ifdef __cplusplus +extern "C" { +# endif + +/*- + * Base types + * ---------- + * + * These are the types that the OpenSSL core and providers have in common + * to communicate data between them. + */ + +/* + * Dispatch table element. function_id numbers are defined further down, + * see macros with '_FUNC' in their names. + * + * An array of these is always terminated by function_id == 0 + */ +struct ossl_dispatch_st { + int function_id; + void (*function)(void); +}; + +/* + * Other items, essentially an int<->pointer map element. + * + * We make this type distinct from OSSL_DISPATCH to ensure that dispatch + * tables remain tables with function pointers only. + * + * This is used whenever we need to pass things like a table of error reason + * codes <-> reason string maps, parameter name <-> parameter type maps, ... + * + * Usage determines which field works as key if any, rather than field order. + * + * An array of these is always terminated by id == 0 && ptr == NULL + */ +struct ossl_item_st { + unsigned int id; + void *ptr; +}; + +/* + * Type to tie together algorithm name, property definition string and + * the algorithm implementation in the form of a dispatch table. + * + * An array of these is always terminated by algorithm_name == NULL + */ +struct ossl_algorithm_st { + const char *algorithm_name; /* key */ + const char *property_definition; /* key */ + const OSSL_DISPATCH *implementation; +}; + +/* + * Type to pass object data in a uniform way, without exposing the object + * structure. + * + * An array of these is always terminated by key == NULL + */ +struct ossl_param_st { + const char *key; /* the name of the parameter */ + unsigned int data_type; /* declare what kind of content is in buffer */ + void *buffer; /* value being passed in or out */ + size_t buffer_size; /* buffer size */ + size_t *return_size; /* OPTIONAL: address to content size */ +}; + +/* Currently supported OSSL_PARAM data types */ +/* + * OSSL_PARAM_INTEGER and OSSL_PARAM_UNSIGNED_INTEGER + * are arbitrary length and therefore require an arbitrarily sized buffer, + * since they may be used to pass numbers larger than what is natively + * available. + * + * The number must be buffered in native form, i.e. MSB first on B_ENDIAN + * systems and LSB first on L_ENDIAN systems. This means that arbitrary + * native integers can be stored in the buffer, just make sure that the + * buffer size is correct and the buffer itself is properly aligned (for + * example by having the buffer field point at a C integer). + */ +# define OSSL_PARAM_INTEGER 1 +# define OSSL_PARAM_UNSIGNED_INTEGER 2 +/*- + * OSSL_PARAM_REAL + * is a C binary floating point values in native form and alignment. + */ +# define OSSL_PARAM_REAL 3 +/*- + * OSSL_PARAM_UTF8_STRING + * is a printable string. Is expteced to be printed as it is. + */ +# define OSSL_PARAM_UTF8_STRING 4 +/*- + * OSSL_PARAM_OCTET_STRING + * is a string of bytes with no further specification. Is expected to be + * printed as a hexdump. + */ +# define OSSL_PARAM_OCTET_STRING 5 + +/*- + * Pointer flag + * + * This flag can be added to any type to signify that the buffer + * pointer is set to point at a pointer to the data instead of + * pointing directly at the data. + * + * This is more relevant for parameter requests, where the responding + * function doesn't need to copy the data to the provided buffer, but + * sets the provided buffer to point at the actual data instead. + * + * WARNING! Using these is FRAGILE, as it assumes that the actual + * data and its location are constant. + */ +# define OSSL_PARAM_POINTER_FLAG 0x80000000UL + +/* + * Convenience pointer types for strings. + */ +# define OSSL_PARAM_UTF8_STRING_PTR \ + (OSSL_PARAM_UTF8_STRING|OSSL_PARAM_POINTER_FLAG) +# define OSSL_PARAM_OCTET_STRING_PTR \ + (OSSL_PARAM_OCTET_STRING|OSSL_PARAM_POINTER_FLAG) + +# ifdef __cplusplus +} +# endif + +#endif diff --git a/include/openssl/dh.h b/include/openssl/dh.h index bfe82b3e..18858ebf 100644 --- a/include/openssl/dh.h +++ b/include/openssl/dh.h @@ -98,7 +98,7 @@ DECLARE_ASN1_ITEM(DHparams) # define d2i_DHparams_bio(bp,x) \ ASN1_d2i_bio_of(DH, DH_new, d2i_DHparams, bp, x) # define i2d_DHparams_bio(bp,x) \ - ASN1_i2d_bio_of_const(DH,i2d_DHparams,bp,x) + ASN1_i2d_bio_of(DH,i2d_DHparams,bp,x) # define d2i_DHxparams_fp(fp,x) \ (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ @@ -110,9 +110,9 @@ DECLARE_ASN1_ITEM(DHparams) # define d2i_DHxparams_bio(bp,x) \ ASN1_d2i_bio_of(DH, DH_new, d2i_DHxparams, bp, x) # define i2d_DHxparams_bio(bp,x) \ - ASN1_i2d_bio_of_const(DH, i2d_DHxparams, bp, x) + ASN1_i2d_bio_of(DH, i2d_DHxparams, bp, x) -DH *DHparams_dup(DH *); +DECLARE_ASN1_DUP_FUNCTION_name(DH, DHparams) const DH_METHOD *DH_OpenSSL(void); @@ -151,10 +151,8 @@ int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, int *codes); int DH_generate_key(DH *dh); int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh); int DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key, DH *dh); -DH *d2i_DHparams(DH **a, const unsigned char **pp, long length); -int i2d_DHparams(const DH *a, unsigned char **pp); -DH *d2i_DHxparams(DH **a, const unsigned char **pp, long length); -int i2d_DHxparams(const DH *a, unsigned char **pp); +DECLARE_ASN1_ENCODE_FUNCTIONS_only(DH, DHparams) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(DH, DHxparams) # ifndef OPENSSL_NO_STDIO int DHparams_print_fp(FILE *fp, const DH *x); # endif diff --git a/include/openssl/dsa.h b/include/openssl/dsa.h index ea01aafd..38ae977f 100644 --- a/include/openssl/dsa.h +++ b/include/openssl/dsa.h @@ -17,6 +17,7 @@ extern "C" { # endif # include +# include # include # include # include @@ -69,13 +70,12 @@ typedef struct DSA_SIG_st DSA_SIG; # define i2d_DSAparams_fp(fp,x) ASN1_i2d_fp(i2d_DSAparams,(fp), \ (unsigned char *)(x)) # define d2i_DSAparams_bio(bp,x) ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSAparams,bp,x) -# define i2d_DSAparams_bio(bp,x) ASN1_i2d_bio_of_const(DSA,i2d_DSAparams,bp,x) +# define i2d_DSAparams_bio(bp,x) ASN1_i2d_bio_of(DSA,i2d_DSAparams,bp,x) -DSA *DSAparams_dup(DSA *x); +DECLARE_ASN1_DUP_FUNCTION_name(DSA, DSAparams) DSA_SIG *DSA_SIG_new(void); void DSA_SIG_free(DSA_SIG *a); -int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp); -DSA_SIG *d2i_DSA_SIG(DSA_SIG **v, const unsigned char **pp, long length); +DECLARE_ASN1_ENCODE_FUNCTIONS_only(DSA_SIG, DSA_SIG) void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s); @@ -109,9 +109,9 @@ int DSA_verify(int type, const unsigned char *dgst, int dgst_len, int DSA_set_ex_data(DSA *d, int idx, void *arg); void *DSA_get_ex_data(DSA *d, int idx); -DSA *d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length); -DSA *d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length); -DSA *d2i_DSAparams(DSA **a, const unsigned char **pp, long length); +DECLARE_ASN1_ENCODE_FUNCTIONS_only(DSA, DSAPublicKey) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(DSA, DSAPrivateKey) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(DSA, DSAparams) /* Deprecated version */ DEPRECATEDIN_0_9_8(DSA *DSA_generate_parameters(int bits, @@ -130,9 +130,6 @@ int DSA_generate_parameters_ex(DSA *dsa, int bits, BN_GENCB *cb); int DSA_generate_key(DSA *a); -int i2d_DSAPublicKey(const DSA *a, unsigned char **pp); -int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp); -int i2d_DSAparams(const DSA *a, unsigned char **pp); int DSAparams_print(BIO *bp, const DSA *x); int DSA_print(BIO *bp, const DSA *x, int off); diff --git a/include/openssl/ec.h b/include/openssl/ec.h index 7c153684..8d4d1b19 100644 --- a/include/openssl/ec.h +++ b/include/openssl/ec.h @@ -123,7 +123,7 @@ void EC_GROUP_clear_free(EC_GROUP *group); */ int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src); -/** Creates a new EC_GROUP object and copies the copies the content +/** Creates a new EC_GROUP object and copies the content * form src to the newly created EC_KEY object * \param src source EC_GROUP object * \return newly created EC_GROUP object or NULL in case of an error. @@ -800,7 +800,7 @@ EC_GROUP *d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len); int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out); # define d2i_ECPKParameters_bio(bp,x) ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,bp,x) -# define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,bp,x) +# define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio_of(EC_GROUP,i2d_ECPKParameters,bp,x) # define d2i_ECPKParameters_fp(fp,x) (EC_GROUP *)ASN1_d2i_fp(NULL, \ (char *(*)())d2i_ECPKParameters,(fp),(unsigned char **)(x)) # define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \ @@ -1028,7 +1028,7 @@ EC_KEY *d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len); * of bytes needed). * \return 1 on success and 0 if an error occurred. */ -int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out); +int i2d_ECPrivateKey(const EC_KEY *key, unsigned char **out); /********************************************************************/ /* de- and encoding functions for EC parameters */ @@ -1049,7 +1049,7 @@ EC_KEY *d2i_ECParameters(EC_KEY **key, const unsigned char **in, long len); * of bytes needed). * \return 1 on success and 0 if an error occurred. */ -int i2d_ECParameters(EC_KEY *key, unsigned char **out); +int i2d_ECParameters(const EC_KEY *key, unsigned char **out); /********************************************************************/ /* de- and encoding functions for EC public key */ @@ -1140,22 +1140,21 @@ ECDSA_SIG *ECDSA_SIG_new(void); */ void ECDSA_SIG_free(ECDSA_SIG *sig); -/** DER encode content of ECDSA_SIG object (note: this function modifies *pp +/** i2d_ECDSA_SIG encodes content of ECDSA_SIG (note: this function modifies *pp * (*pp += length of the DER encoded signature)). * \param sig pointer to the ECDSA_SIG object * \param pp pointer to a unsigned char pointer for the output or NULL * \return the length of the DER encoded ECDSA_SIG object or 0 */ -int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp); +DECLARE_ASN1_ENCODE_FUNCTIONS_only(ECDSA_SIG, ECDSA_SIG) -/** Decodes a DER encoded ECDSA signature (note: this function changes *pp +/** d2i_ECDSA_SIG decodes an ECDSA signature (note: this function modifies *pp * (*pp += len)). * \param sig pointer to ECDSA_SIG pointer (may be NULL) * \param pp memory buffer with the DER encoded signature * \param len length of the buffer * \return pointer to the decoded ECDSA_SIG structure (or NULL) */ -ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len); /** Accessor for r and s fields of ECDSA_SIG * \param sig pointer to ECDSA_SIG structure diff --git a/include/openssl/ess.h b/include/openssl/ess.h index 39120718..fb5e45c4 100644 --- a/include/openssl/ess.h +++ b/include/openssl/ess.h @@ -30,45 +30,28 @@ typedef struct ESS_cert_id_v2_st ESS_CERT_ID_V2; DEFINE_STACK_OF(ESS_CERT_ID_V2) -ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_new(void); -void ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a); -int i2d_ESS_ISSUER_SERIAL(const ESS_ISSUER_SERIAL *a, unsigned char **pp); -ESS_ISSUER_SERIAL *d2i_ESS_ISSUER_SERIAL(ESS_ISSUER_SERIAL **a, - const unsigned char **pp, - long length); -ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_dup(ESS_ISSUER_SERIAL *a); +DECLARE_ASN1_ALLOC_FUNCTIONS(ESS_ISSUER_SERIAL) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_ISSUER_SERIAL, ESS_ISSUER_SERIAL) +DECLARE_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) -ESS_CERT_ID *ESS_CERT_ID_new(void); -void ESS_CERT_ID_free(ESS_CERT_ID *a); -int i2d_ESS_CERT_ID(const ESS_CERT_ID *a, unsigned char **pp); -ESS_CERT_ID *d2i_ESS_CERT_ID(ESS_CERT_ID **a, const unsigned char **pp, - long length); -ESS_CERT_ID *ESS_CERT_ID_dup(ESS_CERT_ID *a); +DECLARE_ASN1_ALLOC_FUNCTIONS(ESS_CERT_ID) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_CERT_ID, ESS_CERT_ID) +DECLARE_ASN1_DUP_FUNCTION(ESS_CERT_ID) -ESS_SIGNING_CERT *ESS_SIGNING_CERT_new(void); -void ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a); -int i2d_ESS_SIGNING_CERT(const ESS_SIGNING_CERT *a, unsigned char **pp); -ESS_SIGNING_CERT *d2i_ESS_SIGNING_CERT(ESS_SIGNING_CERT **a, - const unsigned char **pp, long length); -ESS_SIGNING_CERT *ESS_SIGNING_CERT_dup(ESS_SIGNING_CERT *a); +DECLARE_ASN1_ALLOC_FUNCTIONS(ESS_SIGNING_CERT) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_SIGNING_CERT, ESS_SIGNING_CERT) +DECLARE_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT) ESS_SIGNING_CERT *ESS_SIGNING_CERT_new_init(X509 *signcert, STACK_OF(X509) *certs, int issuer_needed); -ESS_CERT_ID_V2 *ESS_CERT_ID_V2_new(void); -void ESS_CERT_ID_V2_free(ESS_CERT_ID_V2 *a); -int i2d_ESS_CERT_ID_V2(const ESS_CERT_ID_V2 *a, unsigned char **pp); -ESS_CERT_ID_V2 *d2i_ESS_CERT_ID_V2(ESS_CERT_ID_V2 **a, - const unsigned char **pp, long length); -ESS_CERT_ID_V2 *ESS_CERT_ID_V2_dup(ESS_CERT_ID_V2 *a); +DECLARE_ASN1_ALLOC_FUNCTIONS(ESS_CERT_ID_V2) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_CERT_ID_V2, ESS_CERT_ID_V2) +DECLARE_ASN1_DUP_FUNCTION(ESS_CERT_ID_V2) -ESS_SIGNING_CERT_V2 *ESS_SIGNING_CERT_V2_new(void); -void ESS_SIGNING_CERT_V2_free(ESS_SIGNING_CERT_V2 *a); -int i2d_ESS_SIGNING_CERT_V2(const ESS_SIGNING_CERT_V2 *a, unsigned char **pp); -ESS_SIGNING_CERT_V2 *d2i_ESS_SIGNING_CERT_V2(ESS_SIGNING_CERT_V2 **a, - const unsigned char **pp, - long length); -ESS_SIGNING_CERT_V2 *ESS_SIGNING_CERT_V2_dup(ESS_SIGNING_CERT_V2 *a); +DECLARE_ASN1_ALLOC_FUNCTIONS(ESS_SIGNING_CERT_V2) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_SIGNING_CERT_V2, ESS_SIGNING_CERT_V2) +DECLARE_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT_V2) ESS_SIGNING_CERT_V2 *ESS_SIGNING_CERT_V2_new_init(const EVP_MD *hash_alg, X509 *signcert, STACK_OF(X509) *certs, diff --git a/include/openssl/evp.h b/include/openssl/evp.h index c90c6435..125bc1c4 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -410,31 +410,30 @@ typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass, # ifndef OPENSSL_NO_RSA # define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\ - (char *)(rsa)) + (rsa)) # endif # ifndef OPENSSL_NO_DSA # define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\ - (char *)(dsa)) + (dsa)) # endif # ifndef OPENSSL_NO_DH -# define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\ - (char *)(dh)) +# define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,(dh)) # endif # ifndef OPENSSL_NO_EC # define EVP_PKEY_assign_EC_KEY(pkey,eckey) EVP_PKEY_assign((pkey),EVP_PKEY_EC,\ - (char *)(eckey)) + (eckey)) # endif # ifndef OPENSSL_NO_SIPHASH -# define EVP_PKEY_assign_SIPHASH(pkey,shkey) EVP_PKEY_assign((pkey),EVP_PKEY_SIPHASH,\ - (char *)(shkey)) +# define EVP_PKEY_assign_SIPHASH(pkey,shkey) EVP_PKEY_assign((pkey),\ + EVP_PKEY_SIPHASH,(shkey)) # endif # ifndef OPENSSL_NO_POLY1305 -# define EVP_PKEY_assign_POLY1305(pkey,polykey) EVP_PKEY_assign((pkey),EVP_PKEY_POLY1305,\ - (char *)(polykey)) +# define EVP_PKEY_assign_POLY1305(pkey,polykey) EVP_PKEY_assign((pkey),\ + EVP_PKEY_POLY1305,(polykey)) # endif /* Add some extra combinations */ @@ -513,16 +512,13 @@ void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data); # ifdef CONST_STRICT void BIO_set_md(BIO *, const EVP_MD *md); # else -# define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(char *)(md)) +# define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(void *)(md)) # endif -# define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(char *)(mdp)) -# define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0, \ - (char *)(mdcp)) -# define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0, \ - (char *)(mdcp)) +# define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(mdp)) +# define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0,(mdcp)) +# define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0,(mdcp)) # define BIO_get_cipher_status(b) BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL) -# define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0, \ - (char *)(c_pp)) +# define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0,(c_pp)) /*__owur*/ int EVP_Cipher(EVP_CIPHER_CTX *c, unsigned char *out, @@ -660,7 +656,7 @@ __owur int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); EVP_ENCODE_CTX *EVP_ENCODE_CTX_new(void); void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx); -int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, EVP_ENCODE_CTX *sctx); +int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, const EVP_ENCODE_CTX *sctx); int EVP_ENCODE_CTX_num(EVP_ENCODE_CTX *ctx); void EVP_EncodeInit(EVP_ENCODE_CTX *ctx); int EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, @@ -1007,7 +1003,7 @@ void EVP_MD_do_all_sorted(void (*fn) EVP_MAC_CTX *EVP_MAC_CTX_new(const EVP_MAC *mac); EVP_MAC_CTX *EVP_MAC_CTX_new_id(int nid); void EVP_MAC_CTX_free(EVP_MAC_CTX *ctx); -int EVP_MAC_CTX_copy(EVP_MAC_CTX *dest, EVP_MAC_CTX *src); +int EVP_MAC_CTX_copy(EVP_MAC_CTX *dest, const EVP_MAC_CTX *src); const EVP_MAC *EVP_MAC_CTX_mac(EVP_MAC_CTX *ctx); size_t EVP_MAC_size(EVP_MAC_CTX *ctx); int EVP_MAC_init(EVP_MAC_CTX *ctx); @@ -1074,25 +1070,25 @@ const unsigned char *EVP_PKEY_get0_siphash(const EVP_PKEY *pkey, size_t *len); # ifndef OPENSSL_NO_RSA struct rsa_st; int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key); -struct rsa_st *EVP_PKEY_get0_RSA(EVP_PKEY *pkey); +struct rsa_st *EVP_PKEY_get0_RSA(const EVP_PKEY *pkey); struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey); # endif # ifndef OPENSSL_NO_DSA struct dsa_st; int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key); -struct dsa_st *EVP_PKEY_get0_DSA(EVP_PKEY *pkey); +struct dsa_st *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey); struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey); # endif # ifndef OPENSSL_NO_DH struct dh_st; int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key); -struct dh_st *EVP_PKEY_get0_DH(EVP_PKEY *pkey); +struct dh_st *EVP_PKEY_get0_DH(const EVP_PKEY *pkey); struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey); # endif # ifndef OPENSSL_NO_EC struct ec_key_st; int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key); -struct ec_key_st *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey); +struct ec_key_st *EVP_PKEY_get0_EC_KEY(const EVP_PKEY *pkey); struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey); # endif @@ -1102,13 +1098,13 @@ void EVP_PKEY_free(EVP_PKEY *pkey); EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length); -int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp); +int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp); EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length); EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, long length); -int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp); +int i2d_PrivateKey(const EVP_PKEY *a, unsigned char **pp); int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from); int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey); @@ -1399,7 +1395,7 @@ const EVP_PKEY_METHOD *EVP_PKEY_meth_get0(size_t idx); EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); -EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx); +EVP_PKEY_CTX *EVP_PKEY_CTX_dup(const EVP_PKEY_CTX *ctx); void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype, @@ -1434,7 +1430,7 @@ EVP_PKEY *EVP_PKEY_new_CMAC_key(ENGINE *e, const unsigned char *priv, size_t len, const EVP_CIPHER *cipher); void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); -void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx); +void *EVP_PKEY_CTX_get_data(const EVP_PKEY_CTX *ctx); EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx); EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx); @@ -1487,7 +1483,7 @@ void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth, int (*copy) (EVP_PKEY_CTX *dst, - EVP_PKEY_CTX *src)); + const EVP_PKEY_CTX *src)); void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth, void (*cleanup) (EVP_PKEY_CTX *ctx)); @@ -1592,7 +1588,7 @@ void EVP_PKEY_meth_get_init(const EVP_PKEY_METHOD *pmeth, void EVP_PKEY_meth_get_copy(const EVP_PKEY_METHOD *pmeth, int (**pcopy) (EVP_PKEY_CTX *dst, - EVP_PKEY_CTX *src)); + const EVP_PKEY_CTX *src)); void EVP_PKEY_meth_get_cleanup(const EVP_PKEY_METHOD *pmeth, void (**pcleanup) (EVP_PKEY_CTX *ctx)); diff --git a/include/openssl/kdf.h b/include/openssl/kdf.h index 663ba90a..acd94491 100644 --- a/include/openssl/kdf.h +++ b/include/openssl/kdf.h @@ -22,6 +22,7 @@ extern "C" { # define EVP_KDF_SCRYPT NID_id_scrypt # define EVP_KDF_TLS1_PRF NID_tls1_prf # define EVP_KDF_HKDF NID_hkdf +# define EVP_KDF_SSHKDF NID_sshkdf EVP_KDF_CTX *EVP_KDF_CTX_new_id(int id); void EVP_KDF_CTX_free(EVP_KDF_CTX *ctx); @@ -49,11 +50,20 @@ int EVP_KDF_derive(EVP_KDF_CTX *ctx, unsigned char *key, size_t keylen); # define EVP_KDF_CTRL_SET_SCRYPT_N 0x0d /* uint64_t */ # define EVP_KDF_CTRL_SET_SCRYPT_R 0x0e /* uint32_t */ # define EVP_KDF_CTRL_SET_SCRYPT_P 0x0f /* uint32_t */ +# define EVP_KDF_CTRL_SET_SSHKDF_XCGHASH 0x10 /* unsigned char *, size_t */ +# define EVP_KDF_CTRL_SET_SSHKDF_SESSION_ID 0x11 /* unsigned char *, size_t */ +# define EVP_KDF_CTRL_SET_SSHKDF_TYPE 0x12 /* int */ # define EVP_KDF_HKDF_MODE_EXTRACT_AND_EXPAND 0 # define EVP_KDF_HKDF_MODE_EXTRACT_ONLY 1 # define EVP_KDF_HKDF_MODE_EXPAND_ONLY 2 +#define EVP_KDF_SSHKDF_TYPE_INITIAL_IV_CLI_TO_SRV 65 +#define EVP_KDF_SSHKDF_TYPE_INITIAL_IV_SRV_TO_CLI 66 +#define EVP_KDF_SSHKDF_TYPE_ENCRYPTION_KEY_CLI_TO_SRV 67 +#define EVP_KDF_SSHKDF_TYPE_ENCRYPTION_KEY_SRV_TO_CLI 68 +#define EVP_KDF_SSHKDF_TYPE_INTEGRITY_KEY_CLI_TO_SRV 69 +#define EVP_KDF_SSHKDF_TYPE_INTEGRITY_KEY_SRV_TO_CLI 70 /**** The legacy PKEY-based KDF API follows. ****/ diff --git a/include/openssl/kdferr.h b/include/openssl/kdferr.h index a143959b..6ef4da22 100644 --- a/include/openssl/kdferr.h +++ b/include/openssl/kdferr.h @@ -32,6 +32,10 @@ int ERR_load_KDF_strings(void); # define KDF_F_KDF_SCRYPT_CTRL_UINT64 122 # define KDF_F_KDF_SCRYPT_DERIVE 123 # define KDF_F_KDF_SCRYPT_NEW 124 +# define KDF_F_KDF_SSHKDF_CTRL 130 +# define KDF_F_KDF_SSHKDF_CTRL_STR 131 +# define KDF_F_KDF_SSHKDF_DERIVE 132 +# define KDF_F_KDF_SSHKDF_NEW 133 # define KDF_F_KDF_TLS1_PRF_CTRL_STR 125 # define KDF_F_KDF_TLS1_PRF_DERIVE 126 # define KDF_F_KDF_TLS1_PRF_NEW 127 @@ -62,6 +66,9 @@ int ERR_load_KDF_strings(void); # define KDF_R_MISSING_SALT 111 # define KDF_R_MISSING_SECRET 107 # define KDF_R_MISSING_SEED 106 +# define KDF_R_MISSING_SESSION_ID 113 +# define KDF_R_MISSING_TYPE 114 +# define KDF_R_MISSING_XCGHASH 115 # define KDF_R_UNKNOWN_PARAMETER_TYPE 103 # define KDF_R_VALUE_ERROR 108 # define KDF_R_VALUE_MISSING 102 diff --git a/include/openssl/obj_mac.h b/include/openssl/obj_mac.h index fc254cfa..e525a04b 100644 --- a/include/openssl/obj_mac.h +++ b/include/openssl/obj_mac.h @@ -4830,7 +4830,7 @@ #define SN_chacha20_poly1305_draft "ChaCha20-Poly1305-D" #define LN_chacha20_poly1305_draft "chacha20-poly1305-draft" -#define NID_chacha20_poly1305_draft 1203 +#define NID_chacha20_poly1305_draft 1204 #define SN_chacha20 "ChaCha20" #define LN_chacha20 "chacha20" @@ -4995,6 +4995,10 @@ #define LN_hkdf "hkdf" #define NID_hkdf 1036 +#define SN_sshkdf "SSHKDF" +#define LN_sshkdf "sshkdf" +#define NID_sshkdf 1203 + #define SN_id_pkinit "id-pkinit" #define NID_id_pkinit 1031 #define OBJ_id_pkinit 1L,3L,6L,1L,5L,2L,3L diff --git a/include/openssl/objects.h b/include/openssl/objects.h index 2df7af70..d077ad4b 100644 --- a/include/openssl/objects.h +++ b/include/openssl/objects.h @@ -56,7 +56,7 @@ void OBJ_NAME_do_all_sorted(int type, void (*fn) (const OBJ_NAME *, void *arg), void *arg); -ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o); +DECLARE_ASN1_DUP_FUNCTION_name(ASN1_OBJECT, OBJ) ASN1_OBJECT *OBJ_nid2obj(int n); const char *OBJ_nid2ln(int n); const char *OBJ_nid2sn(int n); diff --git a/include/openssl/ocsp.h b/include/openssl/ocsp.h index 22afb62c..3aba16cc 100644 --- a/include/openssl/ocsp.h +++ b/include/openssl/ocsp.h @@ -146,7 +146,7 @@ typedef struct ocsp_service_locator_st OCSP_SERVICELOC; (OCSP_CERTSTATUS*)ASN1_dup((int(*)())i2d_OCSP_CERTSTATUS,\ (char *(*)())d2i_OCSP_CERTSTATUS,(char *)(cs)) -OCSP_CERTID *OCSP_CERTID_dup(OCSP_CERTID *id); +DECLARE_ASN1_DUP_FUNCTION(OCSP_CERTID) OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, const char *path, OCSP_REQUEST *req); OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path, OCSP_REQUEST *req, diff --git a/include/openssl/ossl_typ.h b/include/openssl/ossl_typ.h index 44ddfaaf..9b97e3d3 100644 --- a/include/openssl/ossl_typ.h +++ b/include/openssl/ossl_typ.h @@ -181,6 +181,11 @@ typedef struct ossl_store_search_st OSSL_STORE_SEARCH; typedef struct openssl_ctx_st OPENSSL_CTX; +typedef struct ossl_dispatch_st OSSL_DISPATCH; +typedef struct ossl_item_st OSSL_ITEM; +typedef struct ossl_algorithm_st OSSL_ALGORITHM; +typedef struct ossl_param_st OSSL_PARAM; + #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && \ defined(INTMAX_MAX) && defined(UINTMAX_MAX) typedef intmax_t ossl_intmax_t; diff --git a/include/openssl/pem.h b/include/openssl/pem.h index a7331ac3..8f6e6a2c 100644 --- a/include/openssl/pem.h +++ b/include/openssl/pem.h @@ -323,35 +323,35 @@ int PEM_write_bio_PrivateKey_traditional(BIO *bp, EVP_PKEY *x, unsigned char *kstr, int klen, pem_password_cb *cb, void *u); -int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, +int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, const EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u); -int PEM_write_bio_PKCS8PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *, +int PEM_write_bio_PKCS8PrivateKey(BIO *, const EVP_PKEY *, const EVP_CIPHER *, char *, int, pem_password_cb *, void *); -int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, +int i2d_PKCS8PrivateKey_bio(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u); -int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, +int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, const EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u); EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u); # ifndef OPENSSL_NO_STDIO -int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, +int i2d_PKCS8PrivateKey_fp(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u); -int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, +int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, const EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u); -int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, +int PEM_write_PKCS8PrivateKey_nid(FILE *fp, const EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u); EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u); -int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, +int PEM_write_PKCS8PrivateKey(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cd, void *u); # endif diff --git a/include/openssl/pkcs12.h b/include/openssl/pkcs12.h index 01f93930..83caaeed 100644 --- a/include/openssl/pkcs12.h +++ b/include/openssl/pkcs12.h @@ -207,9 +207,9 @@ int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags, int safe_nid, int iter, const char *pass); PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int p7_nid); -int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12); +int i2d_PKCS12_bio(BIO *bp, const PKCS12 *p12); # ifndef OPENSSL_NO_STDIO -int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12); +int i2d_PKCS12_fp(FILE *fp, const PKCS12 *p12); # endif PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12); # ifndef OPENSSL_NO_STDIO diff --git a/include/openssl/pkcs7.h b/include/openssl/pkcs7.h index 8a67dcbb..5dec27fc 100644 --- a/include/openssl/pkcs7.h +++ b/include/openssl/pkcs7.h @@ -208,11 +208,11 @@ int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, unsigned int *len); # ifndef OPENSSL_NO_STDIO PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7); -int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7); +int i2d_PKCS7_fp(FILE *fp, const PKCS7 *p7); # endif -PKCS7 *PKCS7_dup(PKCS7 *p7); +DECLARE_ASN1_DUP_FUNCTION(PKCS7) PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7); -int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7); +int i2d_PKCS7_bio(BIO *bp, const PKCS7 *p7); int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); diff --git a/include/openssl/rsa.h b/include/openssl/rsa.h index be0fbbda..6b681f4e 100644 --- a/include/openssl/rsa.h +++ b/include/openssl/rsa.h @@ -276,8 +276,8 @@ const RSA_METHOD *RSA_PKCS1_OpenSSL(void); int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx, int optype, int cmd, int p1, void *p2); -DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPublicKey) -DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPrivateKey) +DECLARE_ASN1_ENCODE_FUNCTIONS_name(RSA, RSAPublicKey) +DECLARE_ASN1_ENCODE_FUNCTIONS_name(RSA, RSAPrivateKey) typedef struct rsa_pss_params_st { X509_ALGOR *hashAlgorithm; @@ -393,8 +393,8 @@ int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, int RSA_set_ex_data(RSA *r, int idx, void *arg); void *RSA_get_ex_data(const RSA *r, int idx); -RSA *RSAPublicKey_dup(RSA *rsa); -RSA *RSAPrivateKey_dup(RSA *rsa); +DECLARE_ASN1_DUP_FUNCTION_name(RSA, RSAPublicKey) +DECLARE_ASN1_DUP_FUNCTION_name(RSA, RSAPrivateKey) /* * If this flag is set the RSA method is FIPS compliant and can be used in diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index 5692cfab..fcfc428c 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -1661,7 +1661,7 @@ __owur int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid, __owur int SSL_SESSION_is_resumable(const SSL_SESSION *s); __owur SSL_SESSION *SSL_SESSION_new(void); -__owur SSL_SESSION *SSL_SESSION_dup(SSL_SESSION *src); +__owur SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src); const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len); const unsigned char *SSL_SESSION_get0_id_context(const SSL_SESSION *s, @@ -1674,7 +1674,7 @@ int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); int SSL_SESSION_print_keylog(BIO *bp, const SSL_SESSION *x); int SSL_SESSION_up_ref(SSL_SESSION *ses); void SSL_SESSION_free(SSL_SESSION *ses); -__owur int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); +__owur int i2d_SSL_SESSION(const SSL_SESSION *in, unsigned char **pp); __owur int SSL_set_session(SSL *to, SSL_SESSION *session); int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *session); int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *session); diff --git a/include/openssl/sslerr.h b/include/openssl/sslerr.h index 97ccb41d..77910bad 100644 --- a/include/openssl/sslerr.h +++ b/include/openssl/sslerr.h @@ -596,9 +596,9 @@ int ERR_load_SSL_strings(void); # define SSL_R_MISSING_SUPPORTED_GROUPS_EXTENSION 209 # define SSL_R_MISSING_TMP_DH_KEY 171 # define SSL_R_MISSING_TMP_ECDH_KEY 311 -# define SSL_R_MIXED_SPECIAL_OPERATOR_WITH_GROUPS 101 -# define SSL_R_NESTED_GROUP 108 # define SSL_R_MIXED_HANDSHAKE_AND_NON_HANDSHAKE_DATA 293 +# define SSL_R_MIXED_SPECIAL_OPERATOR_WITH_GROUPS 294 +# define SSL_R_NESTED_GROUP 295 # define SSL_R_NOT_ON_RECORD_BOUNDARY 182 # define SSL_R_NOT_REPLACING_CERTIFICATE 289 # define SSL_R_NOT_SERVER 284 @@ -729,11 +729,11 @@ int ERR_load_SSL_strings(void); # define SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS 239 # define SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES 242 # define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243 -# define SSL_R_UNEXPECTED_GROUP_CLOSE 109 # define SSL_R_UNEXPECTED_CCS_MESSAGE 262 # define SSL_R_UNEXPECTED_END_OF_EARLY_DATA 178 +# define SSL_R_UNEXPECTED_GROUP_CLOSE 296 # define SSL_R_UNEXPECTED_MESSAGE 244 -# define SSL_R_UNEXPECTED_OPERATOR_IN_GROUP 110 +# define SSL_R_UNEXPECTED_OPERATOR_IN_GROUP 297 # define SSL_R_UNEXPECTED_RECORD 245 # define SSL_R_UNINITIALIZED 276 # define SSL_R_UNKNOWN_ALERT_TYPE 246 diff --git a/include/openssl/trace.h b/include/openssl/trace.h new file mode 100644 index 00000000..da0ba0b5 --- /dev/null +++ b/include/openssl/trace.h @@ -0,0 +1,291 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 + */ + +#ifndef OSSL_TRACE_H +# define OSSL_TRACE_H + +# include + +# include + +# ifdef __cplusplus +extern "C" { +# endif + +/* + * TRACE CATEGORIES + */ + +/* + * The trace messages of the OpenSSL libraries are organized into different + * categories. For every trace category, the application can register a separate + * tracer callback. When a callback is registered, a so called trace channel is + * created for this category. This channel consists essentially of an internal + * BIO which sends all trace output it receives to the registered application + * callback. + * + * The ANY category is used as a fallback category. + */ +# define OSSL_TRACE_CATEGORY_ANY 0 /* The fallback */ +# define OSSL_TRACE_CATEGORY_TRACE 1 +# define OSSL_TRACE_CATEGORY_INIT 2 +# define OSSL_TRACE_CATEGORY_TLS 3 +# define OSSL_TRACE_CATEGORY_TLS_CIPHER 4 +# define OSSL_TRACE_CATEGORY_ENGINE_CONF 5 +# define OSSL_TRACE_CATEGORY_ENGINE_TABLE 6 +# define OSSL_TRACE_CATEGORY_ENGINE_REF_COUNT 7 +# define OSSL_TRACE_CATEGORY_PKCS5V2 8 +# define OSSL_TRACE_CATEGORY_PKCS12_KEYGEN 9 +# define OSSL_TRACE_CATEGORY_PKCS12_DECRYPT 10 +# define OSSL_TRACE_CATEGORY_X509V3_POLICY 11 +# define OSSL_TRACE_CATEGORY_BN_CTX 12 +# define OSSL_TRACE_CATEGORY_NUM 13 + +/* Returns the trace category number for the given |name| */ +int OSSL_trace_get_category_num(const char *name); + +/* Returns the trace category name for the given |num| */ +const char *OSSL_trace_get_category_name(int num); + +/* + * TRACE CONSUMERS + */ + +/* + * Enables tracing for the given |category| by providing a BIO sink + * as |channel|. If a null pointer is passed as |channel|, an existing + * trace channel is removed and tracing for the category is disabled. + * + * Returns 1 on success and 0 on failure + */ +int OSSL_trace_set_channel(int category, BIO* channel); + +/* + * Attach a prefix and a suffix to the given |category|, to be printed at the + * beginning and at the end of each trace output group, i.e. when + * OSSL_trace_begin() and OSSL_trace_end() are called. + * If a null pointer is passed as argument, the existing prefix or suffix is + * removed. + * + * They return 1 on success and 0 on failure + */ +int OSSL_trace_set_prefix(int category, const char *prefix); +int OSSL_trace_set_suffix(int category, const char *suffix); + +/* + * OSSL_trace_cb is the type tracing callback provided by the application. + * It MUST return the number of bytes written, or 0 on error (in other words, + * it can never write zero bytes). + * + * The |buffer| will always contain text, which may consist of several lines. + * The |data| argument points to whatever data was provided by the application + * when registering the tracer function. + * + * The |category| number is given, as well as a |cmd| number, described below. + */ +typedef size_t (*OSSL_trace_cb)(const char *buffer, size_t count, + int category, int cmd, void *data); +/* + * Possible |cmd| numbers. + */ +# define OSSL_TRACE_CTRL_BEGIN 0 +# define OSSL_TRACE_CTRL_DURING 1 +# define OSSL_TRACE_CTRL_END 2 + +/* + * Enables tracing for the given |category| by creating an internal + * trace channel which sends the output to the given |callback|. + * If a null pointer is passed as callback, an existing trace channel + * is removed and tracing for the category is disabled. + * + * NOTE: OSSL_trace_set_channel() and OSSL_trace_set_callback() are mutually + * exclusive. + * + * Returns 1 on success and 0 on failure + */ +int OSSL_trace_set_callback(int category, OSSL_trace_cb callback, void *data); + +/* + * TRACE PRODUCERS + */ + +/* + * Returns 1 if tracing for the specified category is enabled, otherwise 0 + */ +int OSSL_trace_enabled(int category); + +/* + * Wrap a group of tracing output calls. OSSL_trace_begin() locks tracing and + * returns the trace channel associated with the given category, or NULL if no + * channel is associated with the category. OSSL_trace_end() unlocks tracing. + * + * Usage: + * + * BIO *out; + * if ((out = OSSL_trace_begin(category)) != NULL) { + * ... + * BIO_fprintf(out, ...); + * ... + * OSSL_trace_end(category, out); + * } + * + * See also the convenience macros OSSL_TRACE_BEGIN and OSSL_TRACE_END below. + */ +BIO *OSSL_trace_begin(int category); +void OSSL_trace_end(int category, BIO *channel); + +/* + * OSSL_TRACE* Convenience Macros + */ + +/* + * When the tracing feature is disabled, these macros are defined to + * produce dead code, which a good compiler should eliminate. + */ + +/* + * OSSL_TRACE_BEGIN, OSSL_TRACE_END - Define a Trace Group + * + * These two macros can be used to create a block which is executed only + * if the corresponding trace category is enabled. Inside this block, a + * local variable named |trc_out| is defined, which points to the channel + * associated with the given trace category. + * + * Usage: (using 'TLS' as an example category) + * + * OSSL_TRACE_BEGIN(TLS) { + * + * BIO_fprintf(trc_out, ... ); + * + * } OSSL_TRACE_END(TLS); + * + * + * This expands to the following code + * + * do { + * BIO *trc_out = OSSL_trace_begin(OSSL_TRACE_CATEGORY_TLS); + * if (trc_out != NULL) { + * ... + * BIO_fprintf(trc_out, ...); + * } + * OSSL_trace_end(OSSL_TRACE_CATEGORY_TLS, trc_out); + * } while (0); + * + * The use of the inner '{...}' group and the trailing ';' is enforced + * by the definition of the macros in order to make the code look as much + * like C code as possible. + * + * Before returning from inside the trace block, it is necessary to + * call OSSL_TRACE_CANCEL(category). + */ + +# ifndef OPENSSL_NO_TRACE + +# define OSSL_TRACE_BEGIN(category) \ + do { \ + BIO *trc_out = OSSL_trace_begin(OSSL_TRACE_CATEGORY_##category); \ + \ + if (trc_out != NULL) + +# define OSSL_TRACE_END(category) \ + OSSL_trace_end(OSSL_TRACE_CATEGORY_##category, trc_out); \ + } while (0) + +# define OSSL_TRACE_CANCEL(category) \ + OSSL_trace_end(OSSL_TRACE_CATEGORY_##category, trc_out) \ + +# else + +# define OSSL_TRACE_BEGIN(category) \ + do { \ + BIO *trc_out = NULL; \ + if (0) + +# define OSSL_TRACE_END(category) \ + } while(0) + +# define OSSL_TRACE_CANCEL(category) \ + ((void)0) + +# endif + +/* + * OSSL_TRACE_ENABLED() - Check whether tracing is enabled for |category| + * + * Usage: + * + * if (OSSL_TRACE_ENABLED(TLS)) { + * ... + * } + */ +# ifndef OPENSSL_NO_TRACE + +# define OSSL_TRACE_ENABLED(category) \ + OSSL_trace_enabled(OSSL_TRACE_CATEGORY_##category) + +# else + +# define OSSL_TRACE_ENABLED(category) (0) + +# endif + +/* + * OSSL_TRACE*() - OneShot Trace Macros + * + * These macros are intended to produce a simple printf-style trace output. + * Unfortunately, C90 macros don't support variable arguments, so the + * "vararg" OSSL_TRACEV() macro has a rather weird usage pattern: + * + * OSSL_TRACEV(category, (trc_out, "format string", ...args...)); + * + * Where 'channel' is the literal symbol of this name, not a variable. + * For that reason, it is currently not intended to be used directly, + * but only as helper macro for the other oneshot trace macros + * OSSL_TRACE(), OSSL_TRACE1(), OSSL_TRACE2(), ... + * + * Usage: + * + * OSSL_TRACE(INIT, "Hello world!\n"); + * OSSL_TRACE1(TLS, "The answer is %d\n", 42); + * OSSL_TRACE2(TLS, "The ultimate question to answer %d is '%s'\n", + * 42, "What do you get when you multiply six by nine?"); + */ + +# define OSSL_TRACEV(category, args) \ + OSSL_TRACE_BEGIN(category) \ + BIO_printf args; \ + OSSL_TRACE_END(category) + +# define OSSL_TRACE(category, text) \ + OSSL_TRACEV(category, (trc_out, "%s", text)) + +# define OSSL_TRACE1(category, format, arg1) \ + OSSL_TRACEV(category, (trc_out, format, arg1)) +# define OSSL_TRACE2(category, format, arg1, arg2) \ + OSSL_TRACEV(category, (trc_out, format, arg1, arg2)) +# define OSSL_TRACE3(category, format, arg1, arg2, arg3) \ + OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3)) +# define OSSL_TRACE4(category, format, arg1, arg2, arg3, arg4) \ + OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4)) +# define OSSL_TRACE5(category, format, arg1, arg2, arg3, arg4, arg5) \ + OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5)) +# define OSSL_TRACE6(category, format, arg1, arg2, arg3, arg4, arg5, arg6) \ + OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5, arg6)) +# define OSSL_TRACE7(category, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7) \ + OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7)) +# define OSSL_TRACE8(category, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \ + OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)) +# define OSSL_TRACE9(category, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \ + OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)) + +# ifdef __cplusplus +} +# endif + +#endif diff --git a/include/openssl/ts.h b/include/openssl/ts.h index ef78d8c6..3165a786 100644 --- a/include/openssl/ts.h +++ b/include/openssl/ts.h @@ -59,76 +59,58 @@ typedef struct TS_status_info_st TS_STATUS_INFO; typedef struct TS_resp_st TS_RESP; -TS_REQ *TS_REQ_new(void); -void TS_REQ_free(TS_REQ *a); -int i2d_TS_REQ(const TS_REQ *a, unsigned char **pp); -TS_REQ *d2i_TS_REQ(TS_REQ **a, const unsigned char **pp, long length); - -TS_REQ *TS_REQ_dup(TS_REQ *a); +DECLARE_ASN1_ALLOC_FUNCTIONS(TS_REQ) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_REQ, TS_REQ) +DECLARE_ASN1_DUP_FUNCTION(TS_REQ) #ifndef OPENSSL_NO_STDIO TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a); -int i2d_TS_REQ_fp(FILE *fp, TS_REQ *a); +int i2d_TS_REQ_fp(FILE *fp, const TS_REQ *a); #endif TS_REQ *d2i_TS_REQ_bio(BIO *fp, TS_REQ **a); -int i2d_TS_REQ_bio(BIO *fp, TS_REQ *a); +int i2d_TS_REQ_bio(BIO *fp, const TS_REQ *a); -TS_MSG_IMPRINT *TS_MSG_IMPRINT_new(void); -void TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a); -int i2d_TS_MSG_IMPRINT(const TS_MSG_IMPRINT *a, unsigned char **pp); -TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a, - const unsigned char **pp, long length); - -TS_MSG_IMPRINT *TS_MSG_IMPRINT_dup(TS_MSG_IMPRINT *a); +DECLARE_ASN1_ALLOC_FUNCTIONS(TS_MSG_IMPRINT) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_MSG_IMPRINT, TS_MSG_IMPRINT) +DECLARE_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT) #ifndef OPENSSL_NO_STDIO TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a); -int i2d_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT *a); +int i2d_TS_MSG_IMPRINT_fp(FILE *fp, const TS_MSG_IMPRINT *a); #endif TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *bio, TS_MSG_IMPRINT **a); -int i2d_TS_MSG_IMPRINT_bio(BIO *bio, TS_MSG_IMPRINT *a); +int i2d_TS_MSG_IMPRINT_bio(BIO *bio, const TS_MSG_IMPRINT *a); -TS_RESP *TS_RESP_new(void); -void TS_RESP_free(TS_RESP *a); -int i2d_TS_RESP(const TS_RESP *a, unsigned char **pp); -TS_RESP *d2i_TS_RESP(TS_RESP **a, const unsigned char **pp, long length); -TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token); -TS_RESP *TS_RESP_dup(TS_RESP *a); +DECLARE_ASN1_ALLOC_FUNCTIONS(TS_RESP) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_RESP, TS_RESP) +DECLARE_ASN1_DUP_FUNCTION(TS_RESP) #ifndef OPENSSL_NO_STDIO TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a); -int i2d_TS_RESP_fp(FILE *fp, TS_RESP *a); +int i2d_TS_RESP_fp(FILE *fp, const TS_RESP *a); #endif TS_RESP *d2i_TS_RESP_bio(BIO *bio, TS_RESP **a); -int i2d_TS_RESP_bio(BIO *bio, TS_RESP *a); +int i2d_TS_RESP_bio(BIO *bio, const TS_RESP *a); -TS_STATUS_INFO *TS_STATUS_INFO_new(void); -void TS_STATUS_INFO_free(TS_STATUS_INFO *a); -int i2d_TS_STATUS_INFO(const TS_STATUS_INFO *a, unsigned char **pp); -TS_STATUS_INFO *d2i_TS_STATUS_INFO(TS_STATUS_INFO **a, - const unsigned char **pp, long length); -TS_STATUS_INFO *TS_STATUS_INFO_dup(TS_STATUS_INFO *a); +DECLARE_ASN1_ALLOC_FUNCTIONS(TS_STATUS_INFO) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_STATUS_INFO, TS_STATUS_INFO) +DECLARE_ASN1_DUP_FUNCTION(TS_STATUS_INFO) -TS_TST_INFO *TS_TST_INFO_new(void); -void TS_TST_INFO_free(TS_TST_INFO *a); -int i2d_TS_TST_INFO(const TS_TST_INFO *a, unsigned char **pp); -TS_TST_INFO *d2i_TS_TST_INFO(TS_TST_INFO **a, const unsigned char **pp, - long length); -TS_TST_INFO *TS_TST_INFO_dup(TS_TST_INFO *a); +DECLARE_ASN1_ALLOC_FUNCTIONS(TS_TST_INFO) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_TST_INFO, TS_TST_INFO) +DECLARE_ASN1_DUP_FUNCTION(TS_TST_INFO) +TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token); #ifndef OPENSSL_NO_STDIO TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a); -int i2d_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO *a); +int i2d_TS_TST_INFO_fp(FILE *fp, const TS_TST_INFO *a); #endif TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *bio, TS_TST_INFO **a); -int i2d_TS_TST_INFO_bio(BIO *bio, TS_TST_INFO *a); +int i2d_TS_TST_INFO_bio(BIO *bio, const TS_TST_INFO *a); -TS_ACCURACY *TS_ACCURACY_new(void); -void TS_ACCURACY_free(TS_ACCURACY *a); -int i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **pp); -TS_ACCURACY *d2i_TS_ACCURACY(TS_ACCURACY **a, const unsigned char **pp, - long length); -TS_ACCURACY *TS_ACCURACY_dup(TS_ACCURACY *a); +DECLARE_ASN1_ALLOC_FUNCTIONS(TS_ACCURACY) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_ACCURACY, TS_ACCURACY) +DECLARE_ASN1_DUP_FUNCTION(TS_ACCURACY) int TS_REQ_set_version(TS_REQ *a, long version); long TS_REQ_get_version(const TS_REQ *a); diff --git a/include/openssl/x509.h b/include/openssl/x509.h index 7e388d90..bf127c07 100644 --- a/include/openssl/x509.h +++ b/include/openssl/x509.h @@ -391,87 +391,87 @@ int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, # ifndef OPENSSL_NO_STDIO X509 *d2i_X509_fp(FILE *fp, X509 **x509); -int i2d_X509_fp(FILE *fp, X509 *x509); +int i2d_X509_fp(FILE *fp, const X509 *x509); X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl); -int i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl); +int i2d_X509_CRL_fp(FILE *fp, const X509_CRL *crl); X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req); -int i2d_X509_REQ_fp(FILE *fp, X509_REQ *req); +int i2d_X509_REQ_fp(FILE *fp, const X509_REQ *req); # ifndef OPENSSL_NO_RSA RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa); -int i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa); +int i2d_RSAPrivateKey_fp(FILE *fp, const RSA *rsa); RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa); -int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa); +int i2d_RSAPublicKey_fp(FILE *fp, const RSA *rsa); RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa); -int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa); +int i2d_RSA_PUBKEY_fp(FILE *fp, const RSA *rsa); # endif # ifndef OPENSSL_NO_DSA DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa); -int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa); +int i2d_DSA_PUBKEY_fp(FILE *fp, const DSA *dsa); DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa); -int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa); +int i2d_DSAPrivateKey_fp(FILE *fp, const DSA *dsa); # endif # ifndef OPENSSL_NO_EC EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey); -int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey); +int i2d_EC_PUBKEY_fp(FILE *fp, const EC_KEY *eckey); EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey); -int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey); +int i2d_ECPrivateKey_fp(FILE *fp, const EC_KEY *eckey); # endif X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8); -int i2d_PKCS8_fp(FILE *fp, X509_SIG *p8); +int i2d_PKCS8_fp(FILE *fp, const X509_SIG *p8); PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO **p8inf); -int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf); -int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key); -int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey); +int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, const PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, const EVP_PKEY *key); +int i2d_PrivateKey_fp(FILE *fp, const EVP_PKEY *pkey); EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a); -int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); +int i2d_PUBKEY_fp(FILE *fp, const EVP_PKEY *pkey); EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); # endif X509 *d2i_X509_bio(BIO *bp, X509 **x509); -int i2d_X509_bio(BIO *bp, X509 *x509); +int i2d_X509_bio(BIO *bp, const X509 *x509); X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl); -int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl); +int i2d_X509_CRL_bio(BIO *bp, const X509_CRL *crl); X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req); -int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req); +int i2d_X509_REQ_bio(BIO *bp, const X509_REQ *req); # ifndef OPENSSL_NO_RSA RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa); -int i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa); +int i2d_RSAPrivateKey_bio(BIO *bp, const RSA *rsa); RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa); -int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa); +int i2d_RSAPublicKey_bio(BIO *bp, const RSA *rsa); RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa); -int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa); +int i2d_RSA_PUBKEY_bio(BIO *bp, const RSA *rsa); # endif # ifndef OPENSSL_NO_DSA DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa); -int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa); +int i2d_DSA_PUBKEY_bio(BIO *bp, const DSA *dsa); DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa); -int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa); +int i2d_DSAPrivateKey_bio(BIO *bp, const DSA *dsa); # endif # ifndef OPENSSL_NO_EC EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey); -int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *eckey); +int i2d_EC_PUBKEY_bio(BIO *bp, const EC_KEY *eckey); EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey); -int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey); +int i2d_ECPrivateKey_bio(BIO *bp, const EC_KEY *eckey); # endif X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8); -int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8); +int i2d_PKCS8_bio(BIO *bp, const X509_SIG *p8); PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO **p8inf); -int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf); -int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key); -int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey); +int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, const PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, const EVP_PKEY *key); +int i2d_PrivateKey_bio(BIO *bp, const EVP_PKEY *pkey); EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); -int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey); +int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey); EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); -X509 *X509_dup(X509 *x509); -X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa); -X509_EXTENSION *X509_EXTENSION_dup(X509_EXTENSION *ex); -X509_CRL *X509_CRL_dup(X509_CRL *crl); -X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev); -X509_REQ *X509_REQ_dup(X509_REQ *req); -X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn); +DECLARE_ASN1_DUP_FUNCTION(X509) +DECLARE_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) +DECLARE_ASN1_DUP_FUNCTION(X509_EXTENSION) +DECLARE_ASN1_DUP_FUNCTION(X509_CRL) +DECLARE_ASN1_DUP_FUNCTION(X509_REVOKED) +DECLARE_ASN1_DUP_FUNCTION(X509_REQ) +DECLARE_ASN1_DUP_FUNCTION(X509_ALGOR) int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval); void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, @@ -479,8 +479,8 @@ void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); -X509_NAME *X509_NAME_dup(X509_NAME *xn); -X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); +DECLARE_ASN1_DUP_FUNCTION(X509_NAME) +DECLARE_ASN1_DUP_FUNCTION(X509_NAME_ENTRY) int X509_cmp_time(const ASN1_TIME *s, time_t *t); int X509_cmp_current_time(const ASN1_TIME *s); @@ -510,19 +510,15 @@ EVP_PKEY *X509_PUBKEY_get0(X509_PUBKEY *key); EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key); int X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain); long X509_get_pathlen(X509 *x); -int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp); -EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length); +DECLARE_ASN1_ENCODE_FUNCTIONS_only(EVP_PKEY, PUBKEY) # ifndef OPENSSL_NO_RSA -int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp); -RSA *d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length); +DECLARE_ASN1_ENCODE_FUNCTIONS_only(RSA, RSA_PUBKEY) # endif # ifndef OPENSSL_NO_DSA -int i2d_DSA_PUBKEY(DSA *a, unsigned char **pp); -DSA *d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length); +DECLARE_ASN1_ENCODE_FUNCTIONS_only(DSA, DSA_PUBKEY) # endif # ifndef OPENSSL_NO_EC -int i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp); -EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, long length); +DECLARE_ASN1_ENCODE_FUNCTIONS_only(EC_KEY, EC_PUBKEY) # endif DECLARE_ASN1_FUNCTIONS(X509_SIG) @@ -544,10 +540,9 @@ DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY) DECLARE_ASN1_FUNCTIONS(X509_NAME) -int X509_NAME_set(X509_NAME **xn, X509_NAME *name); +int X509_NAME_set(X509_NAME **xn, const X509_NAME *name); DECLARE_ASN1_FUNCTIONS(X509_CINF) - DECLARE_ASN1_FUNCTIONS(X509) DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX) @@ -555,8 +550,7 @@ DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX) CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, l, p, newf, dupf, freef) int X509_set_ex_data(X509 *r, int idx, void *arg); void *X509_get_ex_data(X509 *r, int idx); -int i2d_X509_AUX(X509 *a, unsigned char **pp); -X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length); +DECLARE_ASN1_ENCODE_FUNCTIONS_only(X509,X509_AUX) int i2d_re_X509_tbs(X509 *x, unsigned char **pp); @@ -1009,7 +1003,7 @@ X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8); -PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); +PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(const EVP_PKEY *pkey); int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, int ptype, void *pval, diff --git a/include/openssl/x509v3.h b/include/openssl/x509v3.h index 1706a82e..9c7a325e 100644 --- a/include/openssl/x509v3.h +++ b/include/openssl/x509v3.h @@ -28,7 +28,7 @@ struct v3_ext_ctx; typedef void *(*X509V3_EXT_NEW)(void); typedef void (*X509V3_EXT_FREE) (void *); typedef void *(*X509V3_EXT_D2I)(void *, const unsigned char **, long); -typedef int (*X509V3_EXT_I2D) (void *, unsigned char **); +typedef int (*X509V3_EXT_I2D) (const void *, unsigned char **); typedef STACK_OF(CONF_VALUE) * (*X509V3_EXT_I2V) (const struct v3_ext_method *method, void *ext, STACK_OF(CONF_VALUE) *extlist); @@ -467,7 +467,7 @@ DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID) DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) DECLARE_ASN1_FUNCTIONS(GENERAL_NAME) -GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a); +DECLARE_ASN1_DUP_FUNCTION(GENERAL_NAME) int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b); ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, diff --git a/ms/uplink.c b/ms/uplink.c index 02d466fd..8c61a7ed 100644 --- a/ms/uplink.c +++ b/ms/uplink.c @@ -28,7 +28,7 @@ static TCHAR msg[128]; static void unimplemented(void) { OPENSSL_showfatal(sizeof(TCHAR) == sizeof(char) ? "%s\n" : "%S\n", msg); - ExitProcess(1); + TerminateProcess(GetCurrentProcess(), 1); } void OPENSSL_Uplink(volatile void **table, int index) diff --git a/ssl/record/ssl3_record.c b/ssl/record/ssl3_record.c index 3f5f7968..e1231d24 100644 --- a/ssl/record/ssl3_record.c +++ b/ssl/record/ssl3_record.c @@ -9,6 +9,7 @@ #include "../ssl_locl.h" #include "internal/constant_time_locl.h" +#include #include #include "record_locl.h" #include "internal/cryptlib.h" @@ -563,15 +564,10 @@ int ssl3_get_record(SSL *s) SSL_R_BLOCK_CIPHER_PAD_IS_WRONG); return -1; } -#ifdef SSL_DEBUG - printf("dec %lu\n", (unsigned long)rr[0].length); - { - size_t z; - for (z = 0; z < rr[0].length; z++) - printf("%02X%c", rr[0].data[z], ((z + 1) % 16) ? ' ' : '\n'); - } - printf("\n"); -#endif + OSSL_TRACE_BEGIN(TLS) { + BIO_printf(trc_out, "dec %lu\n", (unsigned long)rr[0].length); + BIO_dump_indent(trc_out, rr[0].data, rr[0].length, 4); + } OSSL_TRACE_END(TLS); /* r->length is now the compressed data plus mac */ if ((sess != NULL) && @@ -1361,22 +1357,12 @@ int tls1_mac(SSL *ssl, SSL3_RECORD *rec, unsigned char *md, int sending) EVP_MD_CTX_free(hmac); -#ifdef SSL_DEBUG - fprintf(stderr, "seq="); - { - int z; - for (z = 0; z < 8; z++) - fprintf(stderr, "%02X ", seq[z]); - fprintf(stderr, "\n"); - } - fprintf(stderr, "rec="); - { - size_t z; - for (z = 0; z < rec->length; z++) - fprintf(stderr, "%02X ", rec->data[z]); - fprintf(stderr, "\n"); - } -#endif + OSSL_TRACE_BEGIN(TLS) { + BIO_printf(trc_out, "seq:\n"); + BIO_dump_indent(trc_out, seq, 8, 4); + BIO_printf(trc_out, "rec:\n"); + BIO_dump_indent(trc_out, rec->data, rec->length, 4); + } OSSL_TRACE_END(TLS); if (!SSL_IS_DTLS(ssl)) { for (i = 7; i >= 0; i--) { @@ -1385,14 +1371,10 @@ int tls1_mac(SSL *ssl, SSL3_RECORD *rec, unsigned char *md, int sending) break; } } -#ifdef SSL_DEBUG - { - unsigned int z; - for (z = 0; z < md_size; z++) - fprintf(stderr, "%02X ", md[z]); - fprintf(stderr, "\n"); - } -#endif + OSSL_TRACE_BEGIN(TLS) { + BIO_printf(trc_out, "md:\n"); + BIO_dump_indent(trc_out, md, md_size, 4); + } OSSL_TRACE_END(TLS); return 1; } @@ -1683,15 +1665,10 @@ int dtls1_process_record(SSL *s, DTLS1_BITMAP *bitmap) RECORD_LAYER_reset_packet_length(&s->rlayer); return 0; } -#ifdef SSL_DEBUG - printf("dec %ld\n", rr->length); - { - size_t z; - for (z = 0; z < rr->length; z++) - printf("%02X%c", rr->data[z], ((z + 1) % 16) ? ' ' : '\n'); - } - printf("\n"); -#endif + OSSL_TRACE_BEGIN(TLS) { + BIO_printf(trc_out, "dec %ld\n", rr->length); + BIO_dump_indent(trc_out, rr->data, rr->length, 4); + } OSSL_TRACE_END(TLS); /* r->length is now the compressed data plus mac */ if ((sess != NULL) && !SSL_READ_ETM(s) && diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index faf1092b..5a6c4e7a 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -16,6 +16,7 @@ #include #include #include +#include #include "internal/cryptlib.h" #define TLS13_NUM_CIPHERS OSSL_NELEM(tls13_ciphers) @@ -4226,20 +4227,20 @@ const SSL_CIPHER *ssl3_choose_cipher(SSL *s, STACK_OF(SSL_CIPHER) *clnt, * pay with the price of sk_SSL_CIPHER_dup(). */ -#ifdef CIPHER_DEBUG - fprintf(stderr, "Server has %d from %p:\n", sk_SSL_CIPHER_num(srvr), - (void *)srvr); - for (i = 0; i < sk_SSL_CIPHER_num(srvr); ++i) { - c = sk_SSL_CIPHER_value(srvr, i); - fprintf(stderr, "%p:%s\n", (void *)c, c->name); - } - fprintf(stderr, "Client sent %d from %p:\n", sk_SSL_CIPHER_num(clnt), - (void *)clnt); - for (i = 0; i < sk_SSL_CIPHER_num(clnt); ++i) { - c = sk_SSL_CIPHER_value(clnt, i); - fprintf(stderr, "%p:%s\n", (void *)c, c->name); - } -#endif + OSSL_TRACE_BEGIN(TLS_CIPHER) { + BIO_printf(trc_out, "Server has %d from %p:\n", + sk_SSL_CIPHER_num(srvr), (void *)srvr); + for (i = 0; i < sk_SSL_CIPHER_num(srvr); ++i) { + c = sk_SSL_CIPHER_value(srvr, i); + BIO_printf(trc_out, "%p:%s\n", (void *)c, c->name); + } + BIO_printf(trc_out, "Client sent %d from %p:\n", + sk_SSL_CIPHER_num(clnt), (void *)clnt); + for (i = 0; i < sk_SSL_CIPHER_num(clnt); ++i) { + c = sk_SSL_CIPHER_value(clnt, i); + BIO_printf(trc_out, "%p:%s\n", (void *)c, c->name); + } + } OSSL_TRACE_END(TLS_CIPHER); /* SUITE-B takes precedence over server preference and ChaCha priortiy */ if (s->options & SSL_OP_CIPHER_SERVER_PREFERENCE || tls1_suiteb(s)) { @@ -4314,10 +4315,9 @@ const SSL_CIPHER *ssl3_choose_cipher(SSL *s, STACK_OF(SSL_CIPHER) *clnt, #endif /* OPENSSL_NO_PSK */ ok = ok && (alg_k & mask_k) && (alg_a & mask_a); -#ifdef CIPHER_DEBUG - fprintf(stderr, "%d:[%08lX:%08lX:%08lX:%08lX]%p:%s\n", ok, alg_k, - alg_a, mask_k, mask_a, (void *)c, c->name); -#endif + OSSL_TRACE7(TLS_CIPHER, + "%d:[%08lX:%08lX:%08lX:%08lX]%p:%s\n", + ok, alg_k, alg_a, mask_k, mask_a, (void *)c, c->name); #ifndef OPENSSL_NO_EC /* diff --git a/ssl/ssl_asn1.c b/ssl/ssl_asn1.c index 4b70e38e..e54d5309 100644 --- a/ssl/ssl_asn1.c +++ b/ssl/ssl_asn1.c @@ -83,9 +83,9 @@ IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(SSL_SESSION_ASN1) /* Initialise OCTET STRING from buffer and length */ static void ssl_session_oinit(ASN1_OCTET_STRING **dest, ASN1_OCTET_STRING *os, - unsigned char *data, size_t len) + const unsigned char *data, size_t len) { - os->data = data; + os->data = (unsigned char *)data; /* justified cast: data is not modified */ os->length = (int)len; os->flags = 0; *dest = os; @@ -93,15 +93,15 @@ static void ssl_session_oinit(ASN1_OCTET_STRING **dest, ASN1_OCTET_STRING *os, /* Initialise OCTET STRING from string */ static void ssl_session_sinit(ASN1_OCTET_STRING **dest, ASN1_OCTET_STRING *os, - char *data) + const char *data) { if (data != NULL) - ssl_session_oinit(dest, os, (unsigned char *)data, strlen(data)); + ssl_session_oinit(dest, os, (const unsigned char *)data, strlen(data)); else *dest = NULL; } -int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp) +int i2d_SSL_SESSION(const SSL_SESSION *in, unsigned char **pp) { SSL_SESSION_ASN1 as; diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c index 374f647b..e801d3b4 100644 --- a/ssl/ssl_ciph.c +++ b/ssl/ssl_ciph.c @@ -16,6 +16,7 @@ #include #include #include +#include #include "internal/nelem.h" #include "ssl_locl.h" #include "internal/thread_once.h" @@ -787,12 +788,12 @@ static void ssl_cipher_apply_rule(uint32_t cipher_id, uint32_t alg_mkey, const SSL_CIPHER *cp; int reverse = 0; -#ifdef CIPHER_DEBUG - fprintf(stderr, - "Applying rule %d with %08x/%08x/%08x/%08x/%08x %08x (%d) g:%d\n", - rule, alg_mkey, alg_auth, alg_enc, alg_mac, min_tls, - algo_strength, strength_bits, in_group); -#endif + OSSL_TRACE_BEGIN(TLS_CIPHER){ + BIO_printf(trc_out, + "Applying rule %d with %08x/%08x/%08x/%08x/%08x %08x (%d) g:%d\n", + rule, alg_mkey, alg_auth, alg_enc, alg_mac, min_tls, + algo_strength, strength_bits, in_group); + } if (rule == CIPHER_DEL || rule == CIPHER_BUMP) reverse = 1; /* needed to maintain sorting between currently @@ -831,13 +832,14 @@ static void ssl_cipher_apply_rule(uint32_t cipher_id, uint32_t alg_mkey, if (strength_bits != cp->strength_bits) continue; } else { -#ifdef CIPHER_DEBUG - fprintf(stderr, - "\nName: %s:\nAlgo = %08x/%08x/%08x/%08x/%08x Algo_strength = %08x\n", - cp->name, cp->algorithm_mkey, cp->algorithm_auth, - cp->algorithm_enc, cp->algorithm_mac, cp->min_tls, - cp->algo_strength); -#endif + if (trc_out != NULL) { + BIO_printf(trc_out, + "\nName: %s:" + "\nAlgo = %08x/%08x/%08x/%08x/%08x Algo_strength = %08x\n", + cp->name, cp->algorithm_mkey, cp->algorithm_auth, + cp->algorithm_enc, cp->algorithm_mac, cp->min_tls, + cp->algo_strength); + } if (cipher_id != 0 && (cipher_id != cp->id)) continue; if (alg_mkey && !(alg_mkey & cp->algorithm_mkey)) @@ -858,9 +860,8 @@ static void ssl_cipher_apply_rule(uint32_t cipher_id, uint32_t alg_mkey, continue; } -#ifdef CIPHER_DEBUG - fprintf(stderr, "Action = %d\n", rule); -#endif + if (trc_out != NULL) + BIO_printf(trc_out, "Action = %d\n", rule); /* add the cipher if it has not been added yet. */ if (rule == CIPHER_ADD) { @@ -913,6 +914,8 @@ static void ssl_cipher_apply_rule(uint32_t cipher_id, uint32_t alg_mkey, *head_p = head; *tail_p = tail; + + OSSL_TRACE_END(TLS_CIPHER); } static int ssl_cipher_strength_sort(CIPHER_ORDER **head_p, @@ -1663,23 +1666,26 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(const SSL_METHOD *ssl_method, if (!in_group_flags) goto err; + OSSL_TRACE_BEGIN(TLS_CIPHER) { + BIO_printf(trc_out, "cipher selection:\n"); + } /* * The cipher selection for the list is done. The ciphers are added * to the resulting precedence to the STACK_OF(SSL_CIPHER). */ for (curr = head; curr != NULL; curr = curr->next) { if (curr->active) { - if (!sk_SSL_CIPHER_push(cipherstack, curr->cipher)) + if (!sk_SSL_CIPHER_push(cipherstack, curr->cipher)) { + OSSL_TRACE_CANCEL(TLS_CIPHER); goto err; + } in_group_flags[num_in_group_flags++] = curr->in_group; -#ifdef CIPHER_DEBUG - fprintf(stderr, "<%s>\n", curr->cipher->name); -#endif + if (trc_out != NULL) + BIO_printf(trc_out, "<%s>\n", curr->cipher->name); } } - OPENSSL_free(co_list); /* Not needed any longer */ - co_list = NULL; + OSSL_TRACE_END(TLS_CIPHER); if (!update_cipher_list_by_id(cipher_list_by_id, cipherstack)) goto err; @@ -1699,6 +1705,9 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(const SSL_METHOD *ssl_method, *cipher_list = pref_list; pref_list = NULL; + // sk_SSL_CIPHER_free(*cipher_list); + // *cipher_list = cipherstack; + return cipherstack; err: diff --git a/ssl/ssl_err.c b/ssl/ssl_err.c index 46521b71..10836f36 100644 --- a/ssl/ssl_err.c +++ b/ssl/ssl_err.c @@ -965,11 +965,11 @@ static const ERR_STRING_DATA SSL_str_reasons[] = { {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_MISSING_TMP_DH_KEY), "missing tmp dh key"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_MISSING_TMP_ECDH_KEY), "missing tmp ecdh key"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_MIXED_HANDSHAKE_AND_NON_HANDSHAKE_DATA), + "mixed handshake and non handshake data"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_MIXED_SPECIAL_OPERATOR_WITH_GROUPS), "mixed special operator with groups"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_NESTED_GROUP), "nested group"}, - {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_MIXED_HANDSHAKE_AND_NON_HANDSHAKE_DATA), - "mixed handshake and non handshake data"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_NOT_ON_RECORD_BOUNDARY), "not on record boundary"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_NOT_REPLACING_CERTIFICATE), @@ -1204,11 +1204,12 @@ static const ERR_STRING_DATA SSL_str_reasons[] = { "unable to load ssl3 md5 routines"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES), "unable to load ssl3 sha1 routines"}, - {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_GROUP_CLOSE), "unexpected group close"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_CCS_MESSAGE), "unexpected ccs message"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_END_OF_EARLY_DATA), "unexpected end of early data"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_GROUP_CLOSE), + "unexpected group close"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_MESSAGE), "unexpected message"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_OPERATOR_IN_GROUP), "unexpected operator in group"}, diff --git a/ssl/ssl_init.c b/ssl/ssl_init.c index e766ee1d..0451d190 100644 --- a/ssl/ssl_init.c +++ b/ssl/ssl_init.c @@ -12,6 +12,7 @@ #include "internal/err.h" #include #include +#include #include "ssl_locl.h" #include "internal/thread_once.h" @@ -23,10 +24,7 @@ static CRYPTO_ONCE ssl_base = CRYPTO_ONCE_STATIC_INIT; static int ssl_base_inited = 0; DEFINE_RUN_ONCE_STATIC(ossl_init_ssl_base) { -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_ssl_base: " - "Adding SSL ciphers and digests\n"); -#endif + OSSL_TRACE(INIT, "ossl_init_ssl_base: adding SSL ciphers and digests\n"); #ifndef OPENSSL_NO_DES EVP_add_cipher(EVP_des_cbc()); EVP_add_cipher(EVP_des_ede3_cbc()); @@ -88,10 +86,8 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_ssl_base) EVP_add_digest(EVP_sha384()); EVP_add_digest(EVP_sha512()); #ifndef OPENSSL_NO_COMP -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_ssl_base: " - "SSL_COMP_get_compression_methods()\n"); -# endif + OSSL_TRACE(INIT, "ossl_init_ssl_base: " + "SSL_COMP_get_compression_methods()\n"); /* * This will initialise the built-in compression algorithms. The value * returned is a STACK_OF(SSL_COMP), but that can be discarded safely @@ -102,10 +98,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_ssl_base) if (!ssl_load_ciphers()) return 0; -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_ssl_base: " - "SSL_add_ssl_module()\n"); -#endif + OSSL_TRACE(INIT,"ossl_init_ssl_base: SSL_add_ssl_module()\n"); /* * We ignore an error return here. Not much we can do - but not that bad * either. We can still safely continue. @@ -124,10 +117,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_load_ssl_strings) * pulling in all the error strings during static linking */ #if !defined(OPENSSL_NO_ERR) && !defined(OPENSSL_NO_AUTOERRINIT) -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ossl_init_load_ssl_strings: " - "ERR_load_SSL_strings()\n"); -# endif + OSSL_TRACE(INIT, "ossl_init_load_ssl_strings: ERR_load_SSL_strings()\n"); ERR_load_SSL_strings(); ssl_strings_inited = 1; #endif @@ -150,19 +140,14 @@ static void ssl_library_stop(void) if (ssl_base_inited) { #ifndef OPENSSL_NO_COMP -# ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ssl_library_stop: " - "ssl_comp_free_compression_methods_int()\n"); -# endif + OSSL_TRACE(INIT, "ssl_library_stop: " + "ssl_comp_free_compression_methods_int()\n"); ssl_comp_free_compression_methods_int(); #endif } if (ssl_strings_inited) { -#ifdef OPENSSL_INIT_DEBUG - fprintf(stderr, "OPENSSL_INIT: ssl_library_stop: " - "err_free_strings_int()\n"); -#endif + OSSL_TRACE(INIT, "ssl_library_stop: err_free_strings_int()\n"); /* * If both crypto and ssl error strings are inited we will end up * calling err_free_strings_int() twice - but that's ok. The second diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index ac33c355..8f462b71 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "internal/cryptlib.h" #include "internal/refcount.h" #include "internal/ktls.h" @@ -3395,10 +3396,8 @@ void ssl_set_masks(SSL *s) mask_k = 0; mask_a = 0; -#ifdef CIPHER_DEBUG - fprintf(stderr, "dht=%d re=%d rs=%d ds=%d\n", - dh_tmp, rsa_enc, rsa_sign, dsa_sign); -#endif + OSSL_TRACE4(TLS_CIPHER, "dh_tmp=%d rsa_enc=%d rsa_sign=%d dsa_sign=%d\n", + dh_tmp, rsa_enc, rsa_sign, dsa_sign); #ifndef OPENSSL_NO_GOST if (ssl_has_cert(s, SSL_PKEY_GOST12_512)) { diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index 41894e0a..f150613c 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -579,7 +579,6 @@ struct ssl_session_st { /* Session lifetime hint in seconds */ unsigned long tick_lifetime_hint; uint32_t tick_age_add; - int tick_identity; /* Max number of bytes that can be sent as early data */ uint32_t max_early_data; /* The ALPN protocol selected for this session */ @@ -1216,8 +1215,6 @@ struct ssl_st { EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */ unsigned char write_iv[EVP_MAX_IV_LENGTH]; /* TLSv1.3 static write IV */ EVP_MD_CTX *write_hash; /* used for mac generation */ - /* Count of how many KeyUpdate messages we have received */ - unsigned int key_update_count; /* session info */ /* client cert? */ /* This is used to hold the server certificate used */ @@ -1404,6 +1401,13 @@ struct ssl_st { * as this extension is optional on server side. */ uint8_t max_fragment_len_mode; + + /* + * On the client side the number of ticket identities we sent in the + * ClientHello. On the server side the identity of the ticket we + * selected. + */ + int tick_identity; } ext; /* @@ -2104,9 +2108,6 @@ typedef enum downgrade_en { #define TLSEXT_KEX_MODE_FLAG_KE 1 #define TLSEXT_KEX_MODE_FLAG_KE_DHE 2 -/* An invalid index into the TLSv1.3 PSK identities */ -#define TLSEXT_PSK_BAD_IDENTITY -1 - #define SSL_USE_PSS(s) (s->s3->tmp.peer_sigalg != NULL && \ s->s3->tmp.peer_sigalg->sig == EVP_PKEY_RSA_PSS) @@ -2308,7 +2309,7 @@ __owur int ssl_get_new_session(SSL *s, int session); __owur SSL_SESSION *lookup_sess_in_cache(SSL *s, const unsigned char *sess_id, size_t sess_id_len); __owur int ssl_get_prev_session(SSL *s, CLIENTHELLO_MSG *hello); -__owur SSL_SESSION *ssl_session_dup(SSL_SESSION *src, int ticket); +__owur SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket); __owur int ssl_cipher_id_cmp(const SSL_CIPHER *a, const SSL_CIPHER *b); DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(SSL_CIPHER, SSL_CIPHER, ssl_cipher_id); __owur int ssl_cipher_ptr_id_cmp(const SSL_CIPHER *const *ap, diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c index 58f38d5b..d04b4fab 100644 --- a/ssl/ssl_sess.c +++ b/ssl/ssl_sess.c @@ -94,7 +94,7 @@ SSL_SESSION *SSL_SESSION_new(void) return ss; } -SSL_SESSION *SSL_SESSION_dup(SSL_SESSION *src) +SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src) { return ssl_session_dup(src, 1); } @@ -103,7 +103,7 @@ SSL_SESSION *SSL_SESSION_dup(SSL_SESSION *src) * Create a new SSL_SESSION and duplicate the contents of |src| into it. If * ticket == 0 then no ticket information is duplicated, otherwise it is. */ -SSL_SESSION *ssl_session_dup(SSL_SESSION *src, int ticket) +SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket) { SSL_SESSION *dest; diff --git a/ssl/statem/extensions.c b/ssl/statem/extensions.c index 60d4da04..dcf2bfea 100644 --- a/ssl/statem/extensions.c +++ b/ssl/statem/extensions.c @@ -989,7 +989,6 @@ static int final_server_name(SSL *s, unsigned int context, int sent) ss->ext.ticklen = 0; ss->ext.tick_lifetime_hint = 0; ss->ext.tick_age_add = 0; - ss->ext.tick_identity = 0; if (!ssl_generate_session_id(s, ss)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_FINAL_SERVER_NAME, ERR_R_INTERNAL_ERROR); @@ -1645,7 +1644,6 @@ static int final_early_data(SSL *s, unsigned int context, int sent) if (s->max_early_data == 0 || !s->hit - || s->session->ext.tick_identity != 0 || s->early_data_state != SSL_EARLY_DATA_ACCEPTING || !s->ext.early_data_ok || s->hello_retry_request != SSL_HRR_NONE diff --git a/ssl/statem/extensions_clnt.c b/ssl/statem/extensions_clnt.c index f01e9eef..9d7a4f83 100644 --- a/ssl/statem/extensions_clnt.c +++ b/ssl/statem/extensions_clnt.c @@ -996,7 +996,7 @@ EXT_RETURN tls_construct_ctos_psk(SSL *s, WPACKET *pkt, unsigned int context, const EVP_MD *handmd = NULL, *mdres = NULL, *mdpsk = NULL; int dores = 0; - s->session->ext.tick_identity = TLSEXT_PSK_BAD_IDENTITY; + s->ext.tick_identity = 0; /* * Note: At this stage of the code we only support adding a single @@ -1086,6 +1086,7 @@ EXT_RETURN tls_construct_ctos_psk(SSL *s, WPACKET *pkt, unsigned int context, agems += s->session->ext.tick_age_add; reshashsize = EVP_MD_size(mdres); + s->ext.tick_identity++; dores = 1; } @@ -1145,6 +1146,7 @@ EXT_RETURN tls_construct_ctos_psk(SSL *s, WPACKET *pkt, unsigned int context, ERR_R_INTERNAL_ERROR); return EXT_RETURN_FAIL; } + s->ext.tick_identity++; } if (!WPACKET_close(pkt) @@ -1183,11 +1185,6 @@ EXT_RETURN tls_construct_ctos_psk(SSL *s, WPACKET *pkt, unsigned int context, return EXT_RETURN_FAIL; } - if (dores) - s->session->ext.tick_identity = 0; - if (s->psksession != NULL) - s->psksession->ext.tick_identity = (dores ? 1 : 0); - return EXT_RETURN_SENT; #else return EXT_RETURN_NOT_SENT; @@ -1932,8 +1929,7 @@ int tls_parse_stoc_early_data(SSL *s, PACKET *pkt, unsigned int context, } if (!s->ext.early_data_ok - || !s->hit - || s->session->ext.tick_identity != 0) { + || !s->hit) { /* * If we get here then we didn't send early data, or we didn't resume * using the first identity, or the SNI/ALPN is not consistent so the @@ -1961,17 +1957,28 @@ int tls_parse_stoc_psk(SSL *s, PACKET *pkt, unsigned int context, X509 *x, return 0; } - if (s->session->ext.tick_identity == (int)identity) { + if (identity >= (unsigned int)s->ext.tick_identity) { + SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_F_TLS_PARSE_STOC_PSK, + SSL_R_BAD_PSK_IDENTITY); + return 0; + } + + /* + * Session resumption tickets are always sent before PSK tickets. If the + * ticket index is 0 then it must be for a session resumption ticket if we + * sent two tickets, or if we didn't send a PSK ticket. + */ + if (identity == 0 && (s->psksession == NULL || s->ext.tick_identity == 2)) { s->hit = 1; SSL_SESSION_free(s->psksession); s->psksession = NULL; return 1; } - if (s->psksession == NULL - || s->psksession->ext.tick_identity != (int)identity) { - SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_F_TLS_PARSE_STOC_PSK, - SSL_R_BAD_PSK_IDENTITY); + if (s->psksession == NULL) { + /* Should never happen */ + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PARSE_STOC_PSK, + ERR_R_INTERNAL_ERROR); return 0; } @@ -1990,6 +1997,9 @@ int tls_parse_stoc_psk(SSL *s, PACKET *pkt, unsigned int context, X509 *x, s->session = s->psksession; s->psksession = NULL; s->hit = 1; + /* Early data is only allowed if we used the first ticket */ + if (identity != 0) + s->ext.early_data_ok = 0; #endif return 1; diff --git a/ssl/statem/extensions_srvr.c b/ssl/statem/extensions_srvr.c index 73ceadc3..7b1c5c9e 100644 --- a/ssl/statem/extensions_srvr.c +++ b/ssl/statem/extensions_srvr.c @@ -1277,7 +1277,7 @@ int tls_parse_ctos_psk(SSL *s, PACKET *pkt, unsigned int context, X509 *x, goto err; } - sess->ext.tick_identity = id; + s->ext.tick_identity = id; SSL_SESSION_free(s->session); s->session = sess; @@ -1951,7 +1951,7 @@ EXT_RETURN tls_construct_stoc_psk(SSL *s, WPACKET *pkt, unsigned int context, if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_psk) || !WPACKET_start_sub_packet_u16(pkt) - || !WPACKET_put_bytes_u16(pkt, s->session->ext.tick_identity) + || !WPACKET_put_bytes_u16(pkt, s->ext.tick_identity) || !WPACKET_close(pkt)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_CONSTRUCT_STOC_PSK, ERR_R_INTERNAL_ERROR); diff --git a/ssl/statem/statem_clnt.c b/ssl/statem/statem_clnt.c index 1f551133..356dc89a 100644 --- a/ssl/statem/statem_clnt.c +++ b/ssl/statem/statem_clnt.c @@ -22,6 +22,7 @@ #include #include #include +#include #include static MSG_PROCESS_RETURN tls_process_as_hello_retry_request(SSL *s, PACKET *pkt); @@ -1613,10 +1614,7 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL *s, PACKET *pkt) * so the PAC-based session secret is always preserved. It'll be * overwritten if the server refuses resumption. */ - if (s->session->session_id_length > 0 - || (SSL_IS_TLS13(s) - && s->session->ext.tick_identity - != TLSEXT_PSK_BAD_IDENTITY)) { + if (s->session->session_id_length > 0) { tsan_counter(&s->session_ctx->stats.sess_miss); if (!ssl_get_new_session(s, 0)) { /* SSLfatal() already called */ @@ -2350,11 +2348,9 @@ MSG_PROCESS_RETURN tls_process_key_exchange(SSL *s, PACKET *pkt) ERR_R_INTERNAL_ERROR); goto err; } -#ifdef SSL_DEBUG if (SSL_USE_SIGALGS(s)) - fprintf(stderr, "USING TLSv1.2 HASH %s\n", - md == NULL ? "n/a" : EVP_MD_name(md)); -#endif + OSSL_TRACE1(TLS, "USING TLSv1.2 HASH %s\n", + md == NULL ? "n/a" : EVP_MD_name(md)); if (!PACKET_get_length_prefixed_2(pkt, &signature) || PACKET_remaining(pkt) != 0) { diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index 8a7ada8f..10cf6353 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -18,6 +18,7 @@ #include #include #include +#include /* * Map error codes to TLS/SSL alart types. @@ -394,11 +395,9 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL *s, PACKET *pkt) goto err; } -#ifdef SSL_DEBUG if (SSL_USE_SIGALGS(s)) - fprintf(stderr, "USING TLSv1.2 HASH %s\n", - md == NULL ? "n/a" : EVP_MD_name(md)); -#endif + OSSL_TRACE1(TLS, "USING TLSv1.2 HASH %s\n", + md == NULL ? "n/a" : EVP_MD_name(md)); /* Check for broken implementations of GOST ciphersuites */ /* @@ -439,10 +438,9 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL *s, PACKET *pkt) goto err; } -#ifdef SSL_DEBUG - fprintf(stderr, "Using client verify alg %s\n", - md == NULL ? "n/a" : EVP_MD_name(md)); -#endif + OSSL_TRACE1(TLS, "Using client verify alg %s\n", + md == NULL ? "n/a" : EVP_MD_name(md)); + if (EVP_DigestVerifyInit(mctx, &pctx, md, NULL, pkey) <= 0) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PROCESS_CERT_VERIFY, ERR_R_EVP_LIB); @@ -614,13 +612,6 @@ MSG_PROCESS_RETURN tls_process_key_update(SSL *s, PACKET *pkt) { unsigned int updatetype; - s->key_update_count++; - if (s->key_update_count > MAX_KEY_UPDATE_MESSAGES) { - SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_F_TLS_PROCESS_KEY_UPDATE, - SSL_R_TOO_MANY_KEY_UPDATES); - return MSG_PROCESS_ERROR; - } - /* * A KeyUpdate message signals a key change so the end of the message must * be on a record boundary. diff --git a/ssl/statem/statem_locl.h b/ssl/statem/statem_locl.h index 9c8c753c..8f27deb9 100644 --- a/ssl/statem/statem_locl.h +++ b/ssl/statem/statem_locl.h @@ -29,9 +29,6 @@ /* Max should actually be 36 but we are generous */ #define FINISHED_MAX_LENGTH 64 -/* The maximum number of incoming KeyUpdate messages we will accept */ -#define MAX_KEY_UPDATE_MESSAGES 32 - /* Dummy message type */ #define SSL3_MT_DUMMY -1 diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index ebb6224b..f81fe862 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -23,6 +23,7 @@ #include #include #include +#include #define TICKET_NONCE_SIZE 8 @@ -1835,15 +1836,15 @@ static int tls_early_post_process_client_hello(SSL *s) j = 0; id = s->session->cipher->id; -#ifdef CIPHER_DEBUG - fprintf(stderr, "client sent %d ciphers\n", sk_SSL_CIPHER_num(ciphers)); -#endif + OSSL_TRACE_BEGIN(TLS_CIPHER) { + BIO_printf(trc_out, "client sent %d ciphers\n", + sk_SSL_CIPHER_num(ciphers)); + } for (i = 0; i < sk_SSL_CIPHER_num(ciphers); i++) { c = sk_SSL_CIPHER_value(ciphers, i); -#ifdef CIPHER_DEBUG - fprintf(stderr, "client [%2d of %2d]:%s\n", - i, sk_SSL_CIPHER_num(ciphers), SSL_CIPHER_get_name(c)); -#endif + if (trc_out != NULL) + BIO_printf(trc_out, "client [%2d of %2d]:%s\n", i, + sk_SSL_CIPHER_num(ciphers), SSL_CIPHER_get_name(c)); if (c->id == id) { j = 1; break; @@ -1857,8 +1858,10 @@ static int tls_early_post_process_client_hello(SSL *s) SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_F_TLS_EARLY_POST_PROCESS_CLIENT_HELLO, SSL_R_REQUIRED_CIPHER_MISSING); + OSSL_TRACE_CANCEL(TLS_CIPHER); goto err; } + OSSL_TRACE_END(TLS_CIPHER); } for (loop = 0; loop < clienthello->compressions_len; loop++) { diff --git a/ssl/t1_enc.c b/ssl/t1_enc.c index 9b58bd86..fe4ba938 100644 --- a/ssl/t1_enc.c +++ b/ssl/t1_enc.c @@ -18,6 +18,7 @@ #include #include #include +#include /* seed1 through seed5 are concatenated */ static int tls1_PRF(SSL *s, @@ -276,14 +277,11 @@ int tls1_change_cipher_state(SSL *s, int which) } EVP_PKEY_free(mac_key); } -#ifdef SSL_DEBUG - printf("which = %04X\nmac key=", which); - { - size_t z; - for (z = 0; z < i; z++) - printf("%02X%c", ms[z], ((z + 1) % 16) ? ' ' : '\n'); - } -#endif + + OSSL_TRACE_BEGIN(TLS) { + BIO_printf(trc_out, "which = %04X, mac key:\n", which); + BIO_dump_indent(trc_out, ms, i, 4); + } OSSL_TRACE_END(TLS); if (EVP_CIPHER_mode(c) == EVP_CIPH_GCM_MODE) { if (!EVP_CipherInit_ex(dd, c, NULL, key, NULL, (which & SSL3_CC_WRITE)) @@ -388,21 +386,12 @@ int tls1_change_cipher_state(SSL *s, int which) #endif /* OPENSSL_NO_KTLS */ s->statem.enc_write_state = ENC_WRITE_STATE_VALID; -#ifdef SSL_DEBUG - printf("which = %04X\nkey=", which); - { - int z; - for (z = 0; z < EVP_CIPHER_key_length(c); z++) - printf("%02X%c", key[z], ((z + 1) % 16) ? ' ' : '\n'); - } - printf("\niv="); - { - size_t z; - for (z = 0; z < k; z++) - printf("%02X%c", iv[z], ((z + 1) % 16) ? ' ' : '\n'); - } - printf("\n"); -#endif + OSSL_TRACE_BEGIN(TLS) { + BIO_printf(trc_out, "which = %04X, key:\n", which); + BIO_dump_indent(trc_out, key, EVP_CIPHER_key_length(c), 4); + BIO_printf(trc_out, "iv:\n"); + BIO_dump_indent(trc_out, iv, k, 4); + } OSSL_TRACE_END(TLS); return 1; err: @@ -447,41 +436,26 @@ int tls1_setup_key_block(SSL *s) s->s3->tmp.key_block_length = num; s->s3->tmp.key_block = p; -#ifdef SSL_DEBUG - printf("client random\n"); - { - int z; - for (z = 0; z < SSL3_RANDOM_SIZE; z++) - printf("%02X%c", s->s3->client_random[z], - ((z + 1) % 16) ? ' ' : '\n'); - } - printf("server random\n"); - { - int z; - for (z = 0; z < SSL3_RANDOM_SIZE; z++) - printf("%02X%c", s->s3->server_random[z], - ((z + 1) % 16) ? ' ' : '\n'); - } - printf("master key\n"); - { - size_t z; - for (z = 0; z < s->session->master_key_length; z++) - printf("%02X%c", s->session->master_key[z], - ((z + 1) % 16) ? ' ' : '\n'); - } -#endif + OSSL_TRACE_BEGIN(TLS) { + BIO_printf(trc_out, "client random\n"); + BIO_dump_indent(trc_out, s->s3->client_random, SSL3_RANDOM_SIZE, 4); + BIO_printf(trc_out, "server random\n"); + BIO_dump_indent(trc_out, s->s3->server_random, SSL3_RANDOM_SIZE, 4); + BIO_printf(trc_out, "master key\n"); + BIO_dump_indent(trc_out, + s->session->master_key, + s->session->master_key_length, 4); + } OSSL_TRACE_END(TLS); + if (!tls1_generate_key_block(s, p, num)) { /* SSLfatal() already called */ goto err; } -#ifdef SSL_DEBUG - printf("\nkey block\n"); - { - size_t z; - for (z = 0; z < num; z++) - printf("%02X%c", p[z], ((z + 1) % 16) ? ' ' : '\n'); - } -#endif + + OSSL_TRACE_BEGIN(TLS) { + BIO_printf(trc_out, "key block\n"); + BIO_dump_indent(trc_out, p, num, 4); + } OSSL_TRACE_END(TLS); if (!(s->options & SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS) && s->method->version <= TLS1_VERSION) { @@ -549,10 +523,10 @@ int tls1_generate_master_secret(SSL *s, unsigned char *out, unsigned char *p, /* SSLfatal() already called */ return 0; } -#ifdef SSL_DEBUG - fprintf(stderr, "Handshake hashes:\n"); - BIO_dump_fp(stderr, (char *)hash, hashlen); -#endif + OSSL_TRACE_BEGIN(TLS) { + BIO_printf(trc_out, "Handshake hashes:\n"); + BIO_dump(trc_out, (char *)hash, hashlen); + } OSSL_TRACE_END(TLS); if (!tls1_PRF(s, TLS_MD_EXTENDED_MASTER_SECRET_CONST, TLS_MD_EXTENDED_MASTER_SECRET_CONST_SIZE, @@ -578,17 +552,19 @@ int tls1_generate_master_secret(SSL *s, unsigned char *out, unsigned char *p, return 0; } } -#ifdef SSL_DEBUG - fprintf(stderr, "Premaster Secret:\n"); - BIO_dump_fp(stderr, (char *)p, len); - fprintf(stderr, "Client Random:\n"); - BIO_dump_fp(stderr, (char *)s->s3->client_random, SSL3_RANDOM_SIZE); - fprintf(stderr, "Server Random:\n"); - BIO_dump_fp(stderr, (char *)s->s3->server_random, SSL3_RANDOM_SIZE); - fprintf(stderr, "Master Secret:\n"); - BIO_dump_fp(stderr, (char *)s->session->master_key, - SSL3_MASTER_SECRET_SIZE); -#endif + + OSSL_TRACE_BEGIN(TLS) { + BIO_printf(trc_out, "Premaster Secret:\n"); + BIO_dump_indent(trc_out, p, len, 4); + BIO_printf(trc_out, "Client Random:\n"); + BIO_dump_indent(trc_out, s->s3->client_random, SSL3_RANDOM_SIZE, 4); + BIO_printf(trc_out, "Server Random:\n"); + BIO_dump_indent(trc_out, s->s3->server_random, SSL3_RANDOM_SIZE, 4); + BIO_printf(trc_out, "Master Secret:\n"); + BIO_dump_indent(trc_out, + s->session->master_key, + SSL3_MASTER_SECRET_SIZE, 4); + } OSSL_TRACE_END(TLS); *secret_size = SSL3_MASTER_SECRET_SIZE; return 1; diff --git a/test/aesgcmtest.c b/test/aesgcmtest.c new file mode 100644 index 00000000..c616438b --- /dev/null +++ b/test/aesgcmtest.c @@ -0,0 +1,123 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 +#include "testutil.h" + +static const unsigned char gcm_key[] = { + 0xee, 0xbc, 0x1f, 0x57, 0x48, 0x7f, 0x51, 0x92, 0x1c, 0x04, 0x65, 0x66, + 0x5f, 0x8a, 0xe6, 0xd1, 0x65, 0x8b, 0xb2, 0x6d, 0xe6, 0xf8, 0xa0, 0x69, + 0xa3, 0x52, 0x02, 0x93, 0xa5, 0x72, 0x07, 0x8f +}; +static const unsigned char gcm_iv[] = { + 0x99, 0xaa, 0x3e, 0x68, 0xed, 0x81, 0x73, 0xa0, 0xee, 0xd0, 0x66, 0x84 +}; +static const unsigned char gcm_pt[] = { + 0xf5, 0x6e, 0x87, 0x05, 0x5b, 0xc3, 0x2d, 0x0e, 0xeb, 0x31, 0xb2, 0xea, + 0xcc, 0x2b, 0xf2, 0xa5 +}; +static const unsigned char gcm_aad[] = { + 0x4d, 0x23, 0xc3, 0xce, 0xc3, 0x34, 0xb4, 0x9b, 0xdb, 0x37, 0x0c, 0x43, + 0x7f, 0xec, 0x78, 0xde +}; +static const unsigned char gcm_ct[] = { + 0xf7, 0x26, 0x44, 0x13, 0xa8, 0x4c, 0x0e, 0x7c, 0xd5, 0x36, 0x86, 0x7e, + 0xb9, 0xf2, 0x17, 0x36 +}; +static const unsigned char gcm_tag[] = { + 0x67, 0xba, 0x05, 0x10, 0x26, 0x2a, 0xe4, 0x87, 0xd7, 0x37, 0xee, 0x62, + 0x98, 0xf7, 0x7e, 0x0c +}; + +static int do_encrypt(unsigned char *iv_gen, unsigned char *ct, int *ct_len, + unsigned char *tag, int *tag_len) +{ + int ret = 0; + EVP_CIPHER_CTX *ctx = NULL; + int outlen; + unsigned char outbuf[64]; + + *tag_len = 16; + ret = TEST_ptr(ctx = EVP_CIPHER_CTX_new()) + && TEST_true(EVP_EncryptInit_ex(ctx, EVP_aes_256_gcm(), NULL, NULL, + NULL) > 0) + && TEST_true(EVP_EncryptInit_ex(ctx, NULL, NULL, gcm_key, + iv_gen != NULL ? NULL : gcm_iv) > 0) + && TEST_true(EVP_EncryptUpdate(ctx, NULL, &outlen, gcm_aad, + sizeof(gcm_aad)) > 0) + && TEST_true(EVP_EncryptUpdate(ctx, ct, ct_len, gcm_pt, + sizeof(gcm_pt)) > 0) + && TEST_true(EVP_EncryptFinal_ex(ctx, outbuf, &outlen) > 0) + && TEST_true(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, 16, + tag) > 0) + && TEST_true(iv_gen == NULL + || EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GET_IV, 12, iv_gen) > 0); + EVP_CIPHER_CTX_free(ctx); + return ret; +} + +static int do_decrypt(const unsigned char *iv, const unsigned char *ct, + int ct_len, const unsigned char *tag, int tag_len) +{ + int ret = 0; + EVP_CIPHER_CTX *ctx = NULL; + int outlen, ptlen; + unsigned char pt[32]; + unsigned char outbuf[32]; + + ret = TEST_ptr(ctx = EVP_CIPHER_CTX_new()) + && TEST_true(EVP_DecryptInit_ex(ctx, EVP_aes_256_gcm(), NULL, + NULL, NULL) > 0) + && TEST_true(EVP_DecryptInit_ex(ctx, NULL, NULL, gcm_key, iv) > 0) + && TEST_true(EVP_DecryptUpdate(ctx, NULL, &outlen, gcm_aad, + sizeof(gcm_aad)) > 0) + && TEST_true(EVP_DecryptUpdate(ctx, pt, &ptlen, ct, + ct_len) > 0) + && TEST_true(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, + tag_len, (void *)tag) > 0) + && TEST_true(EVP_DecryptFinal_ex(ctx, outbuf, &outlen) > 0) + && TEST_mem_eq(gcm_pt, sizeof(gcm_pt), pt, ptlen); + + EVP_CIPHER_CTX_free(ctx); + return ret; +} + +static int kat_test(void) +{ + unsigned char tag[32]; + unsigned char ct[32]; + int ctlen = 0, taglen = 0; + + return do_encrypt(NULL, ct, &ctlen, tag, &taglen) + && TEST_mem_eq(gcm_ct, sizeof(gcm_ct), ct, ctlen) + && TEST_mem_eq(gcm_tag, sizeof(gcm_tag), tag, taglen) + && do_decrypt(gcm_iv, ct, ctlen, tag, taglen); +} + +#ifdef FIPS_MODE +static int ivgen_test(void) +{ + unsigned char iv_gen[16]; + unsigned char tag[32]; + unsigned char ct[32]; + int ctlen = 0, taglen = 0; + + return do_encrypt(iv_gen, ct, &ctlen, tag, &taglen) + && do_decrypt(iv_gen, ct, ctlen, tag, taglen); +} +#endif /* FIPS_MODE */ + +int setup_tests(void) +{ + ADD_TEST(kat_test); +#ifdef FIPS_MODE + ADD_TEST(ivgen_test); +#endif /* FIPS_MODE */ + return 1; +} diff --git a/test/build.info b/test/build.info index db4e1a7b..4dd400f6 100644 --- a/test/build.info +++ b/test/build.info @@ -6,6 +6,8 @@ SUBDIRS=ossl_shim my ($base, $files) = @_; return join(" ", map { "$base/$_" } split(/\s+/, $files)); } + our $apps_aux_src = + join(' ', map { "../apps/$_" } split(/\s+/, $target{apps_aux_src})); "" -} IF[{- !$disabled{tests} -}] @@ -14,7 +16,8 @@ IF[{- !$disabled{tests} -}] testutil/driver.c testutil/tests.c testutil/cb.c testutil/stanza.c \ testutil/format_output.c testutil/tap_bio.c \ testutil/test_cleanup.c testutil/main.c testutil/init.c \ - testutil/options.c testutil/test_options.c ../apps/opt.c + testutil/options.c testutil/test_options.c \ + testutil/apps_mem.c ../apps/opt.c {- $apps_aux_src; -} INCLUDE[libtestutil.a]=../include ../apps/include .. DEPEND[libtestutil.a]=../libcrypto @@ -47,7 +50,7 @@ IF[{- !$disabled{tests} -}] time_offset_test pemtest ssl_cert_table_internal_test ciphername_test \ servername_test ocspapitest rsa_mp_test fatalerrtest tls13ccstest \ sysdefaulttest errtest gosttest \ - context_internal_test + context_internal_test aesgcmtest SOURCE[versions]=versions.c INCLUDE[versions]=../include ../apps/include @@ -567,6 +570,10 @@ IF[{- !$disabled{tests} -}] INCLUDE[gosttest]=../include ../apps/include .. DEPEND[gosttest]=../libcrypto ../libssl libtestutil.a + SOURCE[aesgcmtest]=aesgcmtest.c + INCLUDE[aesgcmtest]=../include ../apps/include .. + DEPEND[aesgcmtest]=../libcrypto libtestutil.a + PROGRAMS{noinst}=context_internal_test SOURCE[context_internal_test]=context_internal_test.c INCLUDE[context_internal_test]=.. ../include ../apps/include @@ -593,11 +600,19 @@ ENDIF next if grep { lc("$name.h") =~ m/$_/i } @nogo_headers_re; $OUT .= <<"_____"; - PROGRAMS{noinst}=buildtest_$name + PROGRAMS{noinst}=buildtest_c_$name + SOURCE[buildtest_c_$name]=buildtest_$name.c GENERATE[buildtest_$name.c]=generate_buildtest.pl $name - SOURCE[buildtest_$name]=buildtest_$name.c - INCLUDE[buildtest_$name]=../include - DEPEND[buildtest_$name]=../libssl ../libcrypto + INCLUDE[buildtest_c_$name]=../include + DEPEND[buildtest_c_$name]=../libssl ../libcrypto +_____ + $OUT .= <<"_____" if $config{CXX} && !$disabled{"buildtest-c++"}; + + PROGRAMS{noinst}=buildtest_cc_$name + SOURCE[buildtest_cc_$name]=buildtest_$name.cc + GENERATE[buildtest_$name.cc]=generate_buildtest.pl $name + INCLUDE[buildtest_cc_$name]=../include + DEPEND[buildtest_cc_$name]=../libssl ../libcrypto _____ } -} diff --git a/test/certs/root-ed25519.privkey.pem b/test/certs/root-ed25519.privkey.pem new file mode 100644 index 00000000..e447080a --- /dev/null +++ b/test/certs/root-ed25519.privkey.pem @@ -0,0 +1,3 @@ +-----BEGIN PRIVATE KEY----- +MC4CAQAwBQYDK2VwBCIEINTuctv5E1hK1bbY8fdp+K06/nwoy/HU++CXqI9EdVhC +-----END PRIVATE KEY----- diff --git a/test/certs/root-ed25519.pubkey.pem b/test/certs/root-ed25519.pubkey.pem new file mode 100644 index 00000000..41b0218e --- /dev/null +++ b/test/certs/root-ed25519.pubkey.pem @@ -0,0 +1,3 @@ +-----BEGIN PUBLIC KEY----- +MCowBQYDK2VwAyEAGb9ECWmEzf6FQbrBZ9w7lshQhqowtrbLDFw4rXAxZuE= +-----END PUBLIC KEY----- diff --git a/test/certs/sm2.crt b/test/certs/sm2.crt new file mode 100644 index 00000000..189abb13 --- /dev/null +++ b/test/certs/sm2.crt @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIIB6DCCAY6gAwIBAgIJAKH2BR6ITHZeMAoGCCqBHM9VAYN1MGgxCzAJBgNVBAYT +AkNOMQswCQYDVQQIDAJMTjERMA8GA1UEBwwIU2hlbnlhbmcxETAPBgNVBAoMCFRl +c3QgT3JnMRAwDgYDVQQLDAdUZXN0IE9VMRQwEgYDVQQDDAtUZXN0IFNNMiBDQTAe +Fw0xOTAyMTkwNzA1NDhaFw0yMzAzMzAwNzA1NDhaMG8xCzAJBgNVBAYTAkNOMQsw +CQYDVQQIDAJMTjERMA8GA1UEBwwIU2hlbnlhbmcxETAPBgNVBAoMCFRlc3QgT3Jn +MRAwDgYDVQQLDAdUZXN0IE9VMRswGQYDVQQDDBJUZXN0IFNNMiBTaWduIENlcnQw +WTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAAQwqeNkWp7fiu1KZnuDkAucpM8piEzE +TL1ymrcrOBvv8mhNNkeb20asbWgFQI2zOrSM99/sXGn9rM2/usM/MlcaoxowGDAJ +BgNVHRMEAjAAMAsGA1UdDwQEAwIGwDAKBggqgRzPVQGDdQNIADBFAiEA9edBnAqT +TNuGIUIvXsj6/nP+AzXA9HGtAIY4nrqW8LkCIHyZzhRTlxYtgfqkDl0OK5QQRCZH +OZOfmtx613VyzXwc +-----END CERTIFICATE----- diff --git a/test/certs/sm2.key b/test/certs/sm2.key new file mode 100644 index 00000000..1efd3643 --- /dev/null +++ b/test/certs/sm2.key @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBG0wawIBAQQgSKhk+4xGyDI+IS2H +WVfFPDxh1qv5+wtrddaIsGNXGZihRANCAAQwqeNkWp7fiu1KZnuDkAucpM8piEzE +TL1ymrcrOBvv8mhNNkeb20asbWgFQI2zOrSM99/sXGn9rM2/usM/Mlca +-----END PRIVATE KEY----- diff --git a/test/ecdsatest.c b/test/ecdsatest.c index bc3adc00..761832ff 100644 --- a/test/ecdsatest.c +++ b/test/ecdsatest.c @@ -8,32 +8,27 @@ * https://www.openssl.org/source/license.html */ -#include -#include -#include - #include /* To see if OPENSSL_NO_EC is defined */ #include "testutil.h" #ifndef OPENSSL_NO_EC -# include -# include # include # include # include -# ifndef OPENSSL_NO_ENGINE -# include -# endif -# include -# include # include +# include "internal/nelem.h" +# include "ecdsatest.h" /* functions to change the RAND_METHOD */ static int fbytes(unsigned char *buf, int num); static RAND_METHOD fake_rand; static const RAND_METHOD *old_rand; +static int use_fake = 0; +static const char *numbers[2]; +static size_t crv_len = 0; +static EC_builtin_curve *curves = NULL; static int change_rand(void) { @@ -57,25 +52,10 @@ static int restore_rand(void) return 1; } -static int fbytes_counter = 0, use_fake = 0; -static const char *numbers[8] = { - "651056770906015076056810763456358567190100156695615665659", - "6140507067065001063065065565667405560006161556565665656654", - "8763001015071075675010661307616710783570106710677817767166" - "71676178726717", - "7000000175690566466555057817571571075705015757757057795755" - "55657156756655", - "1275552191113212300012030439187146164646146646466749494799", - "1542725565216523985789236956265265265235675811949404040041", - "1456427555219115346513212300075341203043918714616464614664" - "64667494947990", - "1712787255652165239672857892369562652652652356758119494040" - "40041670216363" -}; - static int fbytes(unsigned char *buf, int num) { int ret = 0; + static int fbytes_counter = 0; BIGNUM *tmp = NULL; if (use_fake == 0) @@ -83,316 +63,256 @@ static int fbytes(unsigned char *buf, int num) use_fake = 0; - if (fbytes_counter >= 8) - return 0; - if (!TEST_ptr(tmp = BN_new())) - return 0; - if (!TEST_true(BN_dec2bn(&tmp, numbers[fbytes_counter]))) { - BN_free(tmp); - return 0; - } - fbytes_counter++; - if (TEST_int_eq(BN_num_bytes(tmp), num) - && TEST_true(BN_bn2bin(tmp, buf))) - ret = 1; + if (!TEST_ptr(tmp = BN_new()) + || !TEST_int_lt(fbytes_counter, OSSL_NELEM(numbers)) + || !TEST_true(BN_hex2bn(&tmp, numbers[fbytes_counter])) + /* tmp might need leading zeros so pad it out */ + || !TEST_int_le(BN_num_bytes(tmp), num) + || !TEST_true(BN_bn2binpad(tmp, buf, num))) + goto err; + + fbytes_counter = (fbytes_counter + 1) % OSSL_NELEM(numbers); + ret = 1; + err: BN_free(tmp); return ret; } -/* some tests from the X9.62 draft */ -static int x9_62_test_internal(int nid, const char *r_in, const char *s_in) +/*- + * This function hijacks the RNG to feed it the chosen ECDSA key and nonce. + * The ECDSA KATs are from: + * - the X9.62 draft (4) + * - NIST CAVP (720) + * + * It uses the low-level ECDSA_sign_setup instead of EVP to control the RNG. + * NB: This is not how applications should use ECDSA; this is only for testing. + * + * Tests the library can successfully: + * - generate public keys that matches those KATs + * - create ECDSA signatures that match those KATs + * - accept those signatures as valid + */ +static int x9_62_tests(int n) { - int ret = 0; - const char message[] = "abc"; - unsigned char digest[SHA_DIGEST_LENGTH]; + int nid, md_nid, ret = 0; + const char *r_in = NULL, *s_in = NULL, *tbs = NULL; + unsigned char *pbuf = NULL, *qbuf = NULL, *message = NULL; + unsigned char digest[EVP_MAX_MD_SIZE]; unsigned int dgst_len = 0; - EVP_MD_CTX *md_ctx; + long q_len, msg_len = 0; + size_t p_len; + EVP_MD_CTX *mctx = NULL; EC_KEY *key = NULL; ECDSA_SIG *signature = NULL; BIGNUM *r = NULL, *s = NULL; BIGNUM *kinv = NULL, *rp = NULL; - const BIGNUM *sig_r, *sig_s; + const BIGNUM *sig_r = NULL, *sig_s = NULL; - if (!TEST_ptr(md_ctx = EVP_MD_CTX_new())) - goto x962_int_err; + nid = ecdsa_cavs_kats[n].nid; + md_nid = ecdsa_cavs_kats[n].md_nid; + r_in = ecdsa_cavs_kats[n].r; + s_in = ecdsa_cavs_kats[n].s; + tbs = ecdsa_cavs_kats[n].msg; + numbers[0] = ecdsa_cavs_kats[n].d; + numbers[1] = ecdsa_cavs_kats[n].k; - /* get the message digest */ - if (!TEST_true(EVP_DigestInit(md_ctx, EVP_sha1())) - || !TEST_true(EVP_DigestUpdate(md_ctx, (const void *)message, 3)) - || !TEST_true(EVP_DigestFinal(md_ctx, digest, &dgst_len))) - goto x962_int_err; + TEST_info("ECDSA KATs for curve %s", OBJ_nid2sn(nid)); - TEST_info("testing %s", OBJ_nid2sn(nid)); + if (!TEST_ptr(mctx = EVP_MD_CTX_new()) + /* get the message digest */ + || !TEST_ptr(message = OPENSSL_hexstr2buf(tbs, &msg_len)) + || !TEST_true(EVP_DigestInit_ex(mctx, EVP_get_digestbynid(md_nid), NULL)) + || !TEST_true(EVP_DigestUpdate(mctx, message, msg_len)) + || !TEST_true(EVP_DigestFinal_ex(mctx, digest, &dgst_len)) + /* create the key */ + || !TEST_ptr(key = EC_KEY_new_by_curve_name(nid)) + /* load KAT variables */ + || !TEST_ptr(r = BN_new()) + || !TEST_ptr(s = BN_new()) + || !TEST_true(BN_hex2bn(&r, r_in)) + || !TEST_true(BN_hex2bn(&s, s_in)) + /* swap the RNG source */ + || !TEST_true(change_rand())) + goto err; - /* create the key */ - if (!TEST_ptr(key = EC_KEY_new_by_curve_name(nid))) - goto x962_int_err; + /* public key must match KAT */ use_fake = 1; - if (!TEST_true(EC_KEY_generate_key(key))) - goto x962_int_err; + if (!TEST_true(EC_KEY_generate_key(key)) + || !TEST_true(p_len = EC_KEY_key2buf(key, POINT_CONVERSION_UNCOMPRESSED, + &pbuf, NULL)) + || !TEST_ptr(qbuf = OPENSSL_hexstr2buf(ecdsa_cavs_kats[n].Q, &q_len)) + || !TEST_int_eq(q_len, p_len) + || !TEST_mem_eq(qbuf, q_len, pbuf, p_len)) + goto err; - /* create the signature */ + /* create the signature via ECDSA_sign_setup to avoid use of ECDSA nonces */ use_fake = 1; - /* Use ECDSA_sign_setup to avoid use of ECDSA nonces */ - if (!TEST_true(ECDSA_sign_setup(key, NULL, &kinv, &rp))) - goto x962_int_err; - if (!TEST_ptr(signature = - ECDSA_do_sign_ex(digest, SHA_DIGEST_LENGTH, kinv, rp, key))) - goto x962_int_err; + if (!TEST_true(ECDSA_sign_setup(key, NULL, &kinv, &rp)) + || !TEST_ptr(signature = ECDSA_do_sign_ex(digest, dgst_len, + kinv, rp, key)) + /* verify the signature */ + || !TEST_int_eq(ECDSA_do_verify(digest, dgst_len, signature, key), 1)) + goto err; /* compare the created signature with the expected signature */ - if (!TEST_ptr(r = BN_new()) || !TEST_ptr(s = BN_new())) - goto x962_int_err; - if (!TEST_true(BN_dec2bn(&r, r_in)) || !TEST_true(BN_dec2bn(&s, s_in))) - goto x962_int_err; ECDSA_SIG_get0(signature, &sig_r, &sig_s); if (!TEST_BN_eq(sig_r, r) - || !TEST_BN_eq(sig_s, s)) - goto x962_int_err; - - /* verify the signature */ - if (!TEST_int_eq(ECDSA_do_verify(digest, SHA_DIGEST_LENGTH, - signature, key), 1)) - goto x962_int_err; + || !TEST_BN_eq(sig_s, s)) + goto err; ret = 1; - x962_int_err: + err: + /* restore the RNG source */ + if (!TEST_true(restore_rand())) + ret = 0; + + OPENSSL_free(message); + OPENSSL_free(pbuf); + OPENSSL_free(qbuf); EC_KEY_free(key); ECDSA_SIG_free(signature); BN_free(r); BN_free(s); - EVP_MD_CTX_free(md_ctx); + EVP_MD_CTX_free(mctx); BN_clear_free(kinv); BN_clear_free(rp); return ret; } -static int x9_62_tests(void) +/*- + * Positive and negative ECDSA testing through EVP interface: + * - EVP_DigestSign (this is the one-shot version) + * - EVP_DigestVerify + * + * Tests the library can successfully: + * - create a key + * - create a signature + * - accept that signature + * - reject that signature with a different public key + * - reject that signature if its length is not correct + * - reject that signature after modifying the message + * - accept that signature after un-modifying the message + * - reject that signature after modifying the signature + * - accept that signature after un-modifying the signature + */ +static int test_builtin(int n) { - int ret = 0; - - /* set own rand method */ - if (!change_rand()) - goto x962_err; - - if (!TEST_true(x9_62_test_internal(NID_X9_62_prime192v1, - "3342403536405981729393488334694600415596881826869351677613", - "5735822328888155254683894997897571951568553642892029982342"))) - goto x962_err; - if (!TEST_true(x9_62_test_internal(NID_X9_62_prime239v1, - "3086361431751678114926225473006680188549593787585317781474" - "62058306432176", - "3238135532097973577080787768312505059318910517550078427819" - "78505179448783"))) - goto x962_err; - -# ifndef OPENSSL_NO_EC2M - if (!TEST_true(x9_62_test_internal(NID_X9_62_c2tnb191v1, - "87194383164871543355722284926904419997237591535066528048", - "308992691965804947361541664549085895292153777025772063598"))) - goto x962_err; - if (!TEST_true(x9_62_test_internal(NID_X9_62_c2tnb239v1, - "2159633321041961198501834003903461262881815148684178964245" - "5876922391552", - "1970303740007316867383349976549972270528498040721988191026" - "49413465737174"))) - goto x962_err; -# endif - ret = 1; - - x962_err: - if (!TEST_true(restore_rand())) - ret = 0; - return ret; -} - -static int test_builtin(void) -{ - EC_builtin_curve *curves = NULL; - size_t crv_len = 0, n = 0; - EC_KEY *eckey = NULL, *wrong_eckey = NULL; - EC_GROUP *group; - ECDSA_SIG *ecdsa_sig = NULL, *modified_sig = NULL; - unsigned char digest[SHA512_DIGEST_LENGTH]; - unsigned char wrong_digest[SHA512_DIGEST_LENGTH]; - unsigned char *signature = NULL; - const unsigned char *sig_ptr; - unsigned char *sig_ptr2; - unsigned char *raw_buf = NULL; - const BIGNUM *sig_r, *sig_s; - BIGNUM *modified_r = NULL, *modified_s = NULL; - BIGNUM *unmodified_r = NULL, *unmodified_s = NULL; - unsigned int sig_len, order, r_len, s_len, bn_len, buf_len; + EC_KEY *eckey_neg = NULL, *eckey = NULL; + unsigned char dirt, offset, tbs[128]; + unsigned char *sig = NULL; + EVP_PKEY *pkey_neg = NULL, *pkey = NULL; + EVP_MD_CTX *mctx = NULL; + size_t sig_len; int nid, ret = 0; + int temp; - /* fill digest values with some random data */ - if (!TEST_true(RAND_bytes(digest, SHA512_DIGEST_LENGTH)) - || !TEST_true(RAND_bytes(wrong_digest, SHA512_DIGEST_LENGTH))) - goto builtin_err; + nid = curves[n].nid; - /* create and verify a ecdsa signature with every available curve */ - /* get a list of all internal curves */ - crv_len = EC_get_builtin_curves(NULL, 0); - if (!TEST_ptr(curves = OPENSSL_malloc(sizeof(*curves) * crv_len)) - || !TEST_true(EC_get_builtin_curves(curves, crv_len))) - goto builtin_err; - - /* now create and verify a signature for every curve */ - for (n = 0; n < crv_len; n++) { - unsigned char dirt, offset; - - nid = curves[n].nid; - if (nid == NID_ipsec4 || nid == NID_ipsec3) - continue; - /* create new ecdsa key (== EC_KEY) */ - if (!TEST_ptr(eckey = EC_KEY_new()) - || !TEST_ptr(group = EC_GROUP_new_by_curve_name(nid)) - || !TEST_true(EC_KEY_set_group(eckey, group))) - goto builtin_err; - EC_GROUP_free(group); - order = EC_GROUP_order_bits(EC_KEY_get0_group(eckey)); - - TEST_info("testing %s", OBJ_nid2sn(nid)); - - /* create key */ - if (!TEST_true(EC_KEY_generate_key(eckey))) - goto builtin_err; - /* create second key */ - if (!TEST_ptr(wrong_eckey = EC_KEY_new()) - || !TEST_ptr(group = EC_GROUP_new_by_curve_name(nid)) - || !TEST_true(EC_KEY_set_group(wrong_eckey, group))) - goto builtin_err; - EC_GROUP_free(group); - if (!TEST_true(EC_KEY_generate_key(wrong_eckey))) - goto builtin_err; - - /* check key */ - if (!TEST_true(EC_KEY_check_key(eckey))) - goto builtin_err; - - /* create signature */ - sig_len = ECDSA_size(eckey); - if (!TEST_ptr(signature = OPENSSL_malloc(sig_len)) - || !TEST_true(ECDSA_sign(0, digest, SHA512_DIGEST_LENGTH, - signature, &sig_len, eckey))) - goto builtin_err; - - /* verify signature */ - if (!TEST_int_eq(ECDSA_verify(0, digest, SHA512_DIGEST_LENGTH, - signature, sig_len, eckey), - 1)) - goto builtin_err; - - /* verify signature with the wrong key */ - if (!TEST_int_ne(ECDSA_verify(0, digest, SHA512_DIGEST_LENGTH, - signature, sig_len, wrong_eckey), - 1)) - goto builtin_err; - - /* wrong digest */ - if (!TEST_int_ne(ECDSA_verify(0, wrong_digest, SHA512_DIGEST_LENGTH, - signature, sig_len, eckey), - 1)) - goto builtin_err; - - /* wrong length */ - if (!TEST_int_ne(ECDSA_verify(0, digest, SHA512_DIGEST_LENGTH, - signature, sig_len - 1, eckey), - 1)) - goto builtin_err; - - /* - * Modify a single byte of the signature: to ensure we don't garble - * the ASN1 structure, we read the raw signature and modify a byte in - * one of the bignums directly. - */ - sig_ptr = signature; - if (!TEST_ptr(ecdsa_sig = d2i_ECDSA_SIG(NULL, &sig_ptr, sig_len))) - goto builtin_err; - - ECDSA_SIG_get0(ecdsa_sig, &sig_r, &sig_s); - - /* Store the two BIGNUMs in raw_buf. */ - r_len = BN_num_bytes(sig_r); - s_len = BN_num_bytes(sig_s); - bn_len = (order + 7) / 8; - if (!TEST_false(r_len > bn_len) - || !TEST_false(s_len > bn_len)) - goto builtin_err; - buf_len = 2 * bn_len; - if (!TEST_ptr(raw_buf = OPENSSL_zalloc(buf_len))) - goto builtin_err; - BN_bn2bin(sig_r, raw_buf + bn_len - r_len); - BN_bn2bin(sig_s, raw_buf + buf_len - s_len); - - /* Modify a single byte in the buffer. */ - offset = raw_buf[10] % buf_len; - dirt = raw_buf[11] ? raw_buf[11] : 1; - raw_buf[offset] ^= dirt; - - /* Now read the BIGNUMs back in from raw_buf. */ - if (!TEST_ptr(modified_sig = ECDSA_SIG_new())) - goto builtin_err; - if (!TEST_ptr(modified_r = BN_bin2bn(raw_buf, bn_len, NULL)) - || !TEST_ptr(modified_s = BN_bin2bn(raw_buf + bn_len, - bn_len, NULL)) - || !TEST_true(ECDSA_SIG_set0(modified_sig, - modified_r, modified_s))) { - BN_free(modified_r); - BN_free(modified_s); - goto builtin_err; - } - sig_ptr2 = signature; - sig_len = i2d_ECDSA_SIG(modified_sig, &sig_ptr2); - if (!TEST_false(ECDSA_verify(0, digest, SHA512_DIGEST_LENGTH, - signature, sig_len, eckey))) - goto builtin_err; - - /* Sanity check: undo the modification and verify signature. */ - raw_buf[offset] ^= dirt; - if (!TEST_ptr(unmodified_r = BN_bin2bn(raw_buf, bn_len, NULL)) - || !TEST_ptr(unmodified_s = BN_bin2bn(raw_buf + bn_len, - bn_len, NULL)) - || !TEST_true(ECDSA_SIG_set0(modified_sig, unmodified_r, - unmodified_s))) { - BN_free(unmodified_r); - BN_free(unmodified_s); - goto builtin_err; - } - - sig_ptr2 = signature; - sig_len = i2d_ECDSA_SIG(modified_sig, &sig_ptr2); - if (!TEST_true(ECDSA_verify(0, digest, SHA512_DIGEST_LENGTH, - signature, sig_len, eckey))) - goto builtin_err; - - /* cleanup */ - ERR_clear_error(); - OPENSSL_free(signature); - signature = NULL; - EC_KEY_free(eckey); - eckey = NULL; - EC_KEY_free(wrong_eckey); - wrong_eckey = NULL; - ECDSA_SIG_free(ecdsa_sig); - ecdsa_sig = NULL; - ECDSA_SIG_free(modified_sig); - modified_sig = NULL; - OPENSSL_free(raw_buf); - raw_buf = NULL; + /* skip built-in curves where ord(G) is not prime */ + if (nid == NID_ipsec4 || nid == NID_ipsec3) { + TEST_info("skipped: ECDSA unsupported for curve %s", OBJ_nid2sn(nid)); + return 1; } - ret = 1; - builtin_err: - EC_KEY_free(eckey); - EC_KEY_free(wrong_eckey); - ECDSA_SIG_free(ecdsa_sig); - ECDSA_SIG_free(modified_sig); - OPENSSL_free(signature); - OPENSSL_free(raw_buf); - OPENSSL_free(curves); + TEST_info("testing ECDSA for curve %s", OBJ_nid2sn(nid)); + if (!TEST_ptr(mctx = EVP_MD_CTX_new()) + /* get some random message data */ + || !TEST_true(RAND_bytes(tbs, sizeof(tbs))) + /* real key */ + || !TEST_ptr(eckey = EC_KEY_new_by_curve_name(nid)) + || !TEST_true(EC_KEY_generate_key(eckey)) + || !TEST_ptr(pkey = EVP_PKEY_new()) + || !TEST_true(EVP_PKEY_assign_EC_KEY(pkey, eckey)) + /* fake key for negative testing */ + || !TEST_ptr(eckey_neg = EC_KEY_new_by_curve_name(nid)) + || !TEST_true(EC_KEY_generate_key(eckey_neg)) + || !TEST_ptr(pkey_neg = EVP_PKEY_new()) + || !TEST_true(EVP_PKEY_assign_EC_KEY(pkey_neg, eckey_neg))) + goto err; + + temp = ECDSA_size(eckey); + + if (!TEST_int_ge(temp, 0) + || !TEST_ptr(sig = OPENSSL_malloc(sig_len = (size_t)temp)) + /* create a signature */ + || !TEST_true(EVP_DigestSignInit(mctx, NULL, NULL, NULL, pkey)) + || !TEST_true(EVP_DigestSign(mctx, sig, &sig_len, tbs, sizeof(tbs))) + || !TEST_int_le(sig_len, ECDSA_size(eckey)) + /* negative test, verify with wrong key, 0 return */ + || !TEST_true(EVP_MD_CTX_reset(mctx)) + || !TEST_true(EVP_DigestVerifyInit(mctx, NULL, NULL, NULL, pkey_neg)) + || !TEST_int_eq(EVP_DigestVerify(mctx, sig, sig_len, tbs, sizeof(tbs)), 0) + /* negative test, verify with wrong signature length, -1 return */ + || !TEST_true(EVP_MD_CTX_reset(mctx)) + || !TEST_true(EVP_DigestVerifyInit(mctx, NULL, NULL, NULL, pkey)) + || !TEST_int_eq(EVP_DigestVerify(mctx, sig, sig_len - 1, tbs, sizeof(tbs)), -1) + /* positive test, verify with correct key, 1 return */ + || !TEST_true(EVP_MD_CTX_reset(mctx)) + || !TEST_true(EVP_DigestVerifyInit(mctx, NULL, NULL, NULL, pkey)) + || !TEST_int_eq(EVP_DigestVerify(mctx, sig, sig_len, tbs, sizeof(tbs)), 1)) + goto err; + + /* muck with the message, test it fails with 0 return */ + tbs[0] ^= 1; + if (!TEST_true(EVP_MD_CTX_reset(mctx)) + || !TEST_true(EVP_DigestVerifyInit(mctx, NULL, NULL, NULL, pkey)) + || !TEST_int_eq(EVP_DigestVerify(mctx, sig, sig_len, tbs, sizeof(tbs)), 0)) + goto err; + /* un-muck and test it verifies */ + tbs[0] ^= 1; + if (!TEST_true(EVP_MD_CTX_reset(mctx)) + || !TEST_true(EVP_DigestVerifyInit(mctx, NULL, NULL, NULL, pkey)) + || !TEST_int_eq(EVP_DigestVerify(mctx, sig, sig_len, tbs, sizeof(tbs)), 1)) + goto err; + + /*- + * Muck with the ECDSA signature. The DER encoding is one of: + * - 30 LL 02 .. + * - 30 81 LL 02 .. + * + * - Sometimes this mucks with the high level DER sequence wrapper: + * in that case, DER-parsing of the whole signature should fail. + * + * - Sometimes this mucks with the DER-encoding of ECDSA.r: + * in that case, DER-parsing of ECDSA.r should fail. + * + * - Sometimes this mucks with the DER-encoding of ECDSA.s: + * in that case, DER-parsing of ECDSA.s should fail. + * + * - Sometimes this mucks with ECDSA.r: + * in that case, the signature verification should fail. + * + * - Sometimes this mucks with ECDSA.s: + * in that case, the signature verification should fail. + * + * The usual case is changing the integer value of ECDSA.r or ECDSA.s. + * Because the ratio of DER overhead to signature bytes is small. + * So most of the time it will be one of the last two cases. + * + * In any case, EVP_PKEY_verify should not return 1 for valid. + */ + offset = tbs[0] % sig_len; + dirt = tbs[1] ? tbs[1] : 1; + sig[offset] ^= dirt; + if (!TEST_true(EVP_MD_CTX_reset(mctx)) + || !TEST_true(EVP_DigestVerifyInit(mctx, NULL, NULL, NULL, pkey)) + || !TEST_int_ne(EVP_DigestVerify(mctx, sig, sig_len, tbs, sizeof(tbs)), 1)) + goto err; + /* un-muck and test it verifies */ + sig[offset] ^= dirt; + if (!TEST_true(EVP_MD_CTX_reset(mctx)) + || !TEST_true(EVP_DigestVerifyInit(mctx, NULL, NULL, NULL, pkey)) + || !TEST_int_eq(EVP_DigestVerify(mctx, sig, sig_len, tbs, sizeof(tbs)), 1)) + goto err; + + ret = 1; + err: + EVP_PKEY_free(pkey); + EVP_PKEY_free(pkey_neg); + EVP_MD_CTX_free(mctx); + OPENSSL_free(sig); return ret; } #endif @@ -402,8 +322,20 @@ int setup_tests(void) #ifdef OPENSSL_NO_EC TEST_note("Elliptic curves are disabled."); #else - ADD_TEST(x9_62_tests); - ADD_TEST(test_builtin); + /* get a list of all internal curves */ + crv_len = EC_get_builtin_curves(NULL, 0); + if (!TEST_ptr(curves = OPENSSL_malloc(sizeof(*curves) * crv_len)) + || !TEST_true(EC_get_builtin_curves(curves, crv_len))) + return 0; + ADD_ALL_TESTS(test_builtin, crv_len); + ADD_ALL_TESTS(x9_62_tests, OSSL_NELEM(ecdsa_cavs_kats)); #endif return 1; } + +void cleanup_tests(void) +{ +#ifndef OPENSSL_NO_EC + OPENSSL_free(curves); +#endif +} diff --git a/test/ecdsatest.h b/test/ecdsatest.h new file mode 100644 index 00000000..216e66e2 --- /dev/null +++ b/test/ecdsatest.h @@ -0,0 +1,10214 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 + */ + +#ifndef ECDSATEST_CAVS_H +# define ECDSATEST_CAVS_H + +/*- + * NIST CAVP ECDSA KATs: + * https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/dss/186-3ecdsatestvectors.zip + * + * sha256sum e0d9bee3f760ca3fabb82bd43dd04c13ee64ca9e0b719c6ea64fd52c9f0dd929 + * 720 KATs from the SigGen.txt file. + * + * There are also 4 X9.62 KATs; two for prime fields and two for binary fields. + */ + +typedef struct { + const int nid; /* curve NID */ + const int md_nid; /* hash function NID */ + const char *msg; /* message to sign */ + const char *d; /* ECDSA private key */ + const char *Q; /* ECDSA public key: Q = dG */ + const char *k; /* ECDSA nonce */ + const char *r; /* ECDSA signature (r,s) */ + const char *s; +} ecdsa_cavs_kat_t; + +static const ecdsa_cavs_kat_t ecdsa_cavs_kats[] = { + /* prime KATs from X9.62 */ + {NID_X9_62_prime192v1, NID_sha1, + "616263", /* "abc" */ + "1a8d598fc15bf0fd89030b5cb1111aeb92ae8baf5ea475fb", + "0462b12d60690cdcf330babab6e69763b471f994dd702d16a563bf5ec08069705ffff65e" + "5ca5c0d69716dfcb3474373902", + "fa6de29746bbeb7f8bb1e761f85f7dfb2983169d82fa2f4e", + "885052380ff147b734c330c43d39b2c4a89f29b0f749fead", + "e9ecc78106def82bf1070cf1d4d804c3cb390046951df686"}, + {NID_X9_62_prime239v1, NID_sha1, + "616263", /* "abc" */ + "7ef7c6fabefffdea864206e80b0b08a9331ed93e698561b64ca0f7777f3d", + "045b6dc53bc61a2548ffb0f671472de6c9521a9d2d2534e65abfcbd5fe0c707fd9f1ed2e" + "65f09f6ce0893baf5e8e31e6ae82ea8c3592335be906d38dee", + "656c7196bf87dcc5d1f1020906df2782360d36b2de7a17ece37d503784af", + "2cb7f36803ebb9c427c58d8265f11fc5084747133078fc279de874fbecb0", + "2eeae988104e9c2234a3c2beb1f53bfa5dc11ff36a875d1e3ccb1f7e45cf"}, + /* prime KATs from NIST CAVP */ + {NID_secp224r1, NID_sha224, + "699325d6fc8fbbb4981a6ded3c3a54ad2e4e3db8a5669201912064c64e700c139248cdc1" + "9495df081c3fc60245b9f25fc9e301b845b3d703a694986e4641ae3c7e5a19e6d6edbf1d" + "61e535f49a8fad5f4ac26397cfec682f161a5fcd32c5e780668b0181a91955157635536a" + "22367308036e2070f544ad4fff3d5122c76fad5d", + "16797b5c0c7ed5461e2ff1b88e6eafa03c0f46bf072000dfc830d615", + "04605495756e6e88f1d07ae5f98787af9b4da8a641d1a9492a12174eabf5cc733b17decc" + "806ef1df861a42505d0af9ef7c3df3959b8dfc6669", + "d9a5a7328117f48b4b8dd8c17dae722e756b3ff64bd29a527137eec0", + "2fc2cff8cdd4866b1d74e45b07d333af46b7af0888049d0fdbc7b0d6", + "8d9cc4c8ea93e0fd9d6431b9a1fd99b88f281793396321b11dac41eb"}, + {NID_secp224r1, NID_sha224, + "7de42b44db0aa8bfdcdac9add227e8f0cc7ad1d94693beb5e1d325e5f3f85b3bd033fc25" + "e9469a89733a65d1fa641f7e67d668e7c71d736233c4cba20eb83c368c506affe77946b5" + "e2ec693798aecd7ff943cd8fab90affddf5ad5b8d1af332e6c5fe4a2df16837700b2781e" + "08821d4fbdd8373517f5b19f9e63b89cfeeeef6f", + "cf020a1ff36c28511191482ed1e5259c60d383606c581948c3fbe2c5", + "04fa21f85b99d3dc18c6d53351fbcb1e2d029c00fa7d1663a3dd94695ee9e79578f8988b" + "168edff1a8b34a5ed9598cc20acd1f0aed36715d88", + "c780d047454824af98677cf310117e5f9e99627d02414f136aed8e83", + "45145f06b566ec9fd0fee1b6c6551a4535c7a3bbfc0fede45f4f5038", + "7302dff12545b069cf27df49b26e4781270585463656f2834917c3ca"}, + {NID_secp224r1, NID_sha224, + "af0da3adab82784909e2b3dadcecba21eced3c60d7572023dea171044d9a10e8ba67d31b" + "04904541b87fff32a10ccc6580869055fec6216a00320a28899859a6b61faba58a0bc10c" + "2ba07ea16f214c3ddcc9fc5622ad1253b63fe7e95227ae3c9caa9962cffc8b1c4e826003" + "6469d25ab0c8e3643a820b8b3a4d8d43e4b728f9", + "dde6f173fa9f307d206ce46b4f02851ebce9638a989330249fd30b73", + "04fc21a99b060afb0d9dbf3250ea3c4da10be94ce627a65874d8e4a630e8373ab7190890" + "326aac4aacca3eba89e15d1086a05434dd033fd3f3", + "6629366a156840477df4875cfba4f8faa809e394893e1f5525326d07", + "41f8e2b1ae5add7c24da8725a067585a3ad6d5a9ed9580beb226f23a", + "a5d71bff02dce997305dd337128046f36714398f4ef6647599712fae"}, + {NID_secp224r1, NID_sha224, + "cfa56ae89727df6b7266f69d6636bf738f9e4f15f49c42a0123edac4b3743f32ea52389f" + "919ceb90575c4184897773b2f2fc5b3fcb354880f15c93383215d3c2551fcc1b4180a1ac" + "0f69c969bbc306acd115ce3976eff518540f43ad4076dbb5fbad9ce9b3234f1148b8f5e0" + "59192ff480fc4bcbd00d25f4d9f5ed4ba5693b6c", + "aeee9071248f077590ac647794b678ad371f8e0f1e14e9fbff49671e", + "04fad0a34991bbf89982ad9cf89337b4bd2565f84d5bdd004289fc1cc35d8b6764f28c81" + "63a12855a5c266efeb9388df4994b85a8b4f1bd3bc", + "1d35d027cd5a569e25c5768c48ed0c2b127c0f99cb4e52ea094fe689", + "2258184ef9f0fa698735379972ce9adf034af76017668bfcdab978de", + "866fb8e505dea6c909c2c9143ec869d1bac2282cf12366130ff2146c"}, + {NID_secp224r1, NID_sha224, + "c223c8009018321b987a615c3414d2bb15954933569ca989de32d6bf11107bc47a330ab6" + "d88d9b50d106cf5777d1b736b14bc48deda1bc573a9a7dd42cd061860645306dce7a5ba8" + "c60f135a6a21999421ce8c4670fe7287a7e9ea3aa1e0fa82721f33e6e823957fe86e2283" + "c89ef92b13cd0333c4bb70865ae1919bf538ea34", + "29c204b2954e1406a015020f9d6b3d7c00658298feb2d17440b2c1a4", + "040e0fc15e775a75d45f872e5021b554cc0579da19125e1a49299c7630cb64fe462d025a" + "e2a1394746bdbf8251f7ca5a1d6bb13e0edf6b7b09", + "39547c10bb947d69f6c3af701f2528e011a1e80a6d04cc5a37466c02", + "86622c376d326cdf679bcabf8eb034bf49f0c188f3fc3afd0006325d", + "26613d3b33c70e635d7a998f254a5b15d2a3642bf321e8cff08f1e84"}, + {NID_secp224r1, NID_sha224, + "1c27273d95182c74c100d85b5c08f4b26874c2abc87f127f304aedbf52ef6540eba16dd6" + "64ae1e9e30ea1e66ff9cc9ab5a80b5bcbd19dde88a29ff10b50a6abd73388e8071306c68" + "d0c9f6caa26b7e68de29312be959b9f4a5481f5a2ad2070a396ed3de21096541cf58c4a1" + "3308e08867565bf2df9d649357a83cdcf18d2cd9", + "8986a97b24be042a1547642f19678de4e281a68f1e794e343dabb131", + "042c070e68e8478341938f3d5026a1fe01e778cdffbebbdd7a4cd29209cde21c9c7c6590" + "ba300715a7adac278385a5175b6b4ea749c4b6a681", + "509712f9c0f3370f6a09154159975945f0107dd1cee7327c68eaa90b", + "57afda5139b180de96373c3d649700682e37efd56ae182335f081013", + "eb6cd58650cfb26dfdf21de32fa17464a6efc46830eedc16977342e6"}, + {NID_secp224r1, NID_sha224, + "069ae374971627f6b8503f3aa63ab52bcf4f3fcae65b98cdbbf917a5b08a10dc76005671" + "4db279806a8d43485320e6fee0f1e0562e077ee270ace8d3c478d79bcdff9cf8b92fdea6" + "8421d4a276f8e62ae379387ae06b60af9eb3c40bd7a768aeffccdc8a08bc78ca2eca1806" + "1058043a0e441209c5c594842838a4d9d778a053", + "d9aa95e14cb34980cfddadddfa92bde1310acaff249f73ff5b09a974", + "043a0d4b8e5fad1ea1abb8d3fb742cd45cd0b76d136e5bbb33206ad120c90ac83276b2fa" + "3757b0f226cd7360a313bc96fd8329c76a7306cc7d", + "1f1739af68a3cee7c5f09e9e09d6485d9cd64cc4085bc2bc89795aaf", + "09bbdd003532d025d7c3204c00747cd52ecdfbc7ce3dde8ffbea23e1", + "1e745e80948779a5cc8dc5cb193beebb550ec9c2647f4948bf58ba7d"}, + {NID_secp224r1, NID_sha224, + "d0d5ae3e33600aa21c1606caec449eee678c87cb593594be1fbb048cc7cfd076e5cc7132" + "ebe290c4c014e7a517a0d5972759acfa1438d9d2e5d236d19ac92136f6252b7e5bea7588" + "dcba6522b6b18128f003ecab5cb4908832fb5a375cf820f8f0e9ee870653a73dc2282f2d" + "45622a2f0e85cba05c567baf1b9862b79a4b244e", + "380fb6154ad3d2e755a17df1f047f84712d4ec9e47d34d4054ea29a8", + "044772c27cca3348b1801ae87b01cb564c8cf9b81c23cc74468a907927de9d253935b096" + "17a1655c42d385bf48504e06fa386f5fa533a21dcb", + "14dbdffa326ba2f3d64f79ff966d9ee6c1aba0d51e9a8e59f5686dc1", + "ff6d52a09ca4c3b82da0440864d6717e1be0b50b6dcf5e1d74c0ff56", + "09490be77bc834c1efaa23410dcbf800e6fae40d62a737214c5a4418"}, + {NID_secp224r1, NID_sha224, + "79b7375ae7a4f2e4adad8765d14c1540cd9979db38076c157c1837c760ca6febbb18fd42" + "152335929b735e1a08041bd38d315cd4c6b7dd2729de8752f531f07fe4ddc4f1899debc0" + "311eef0019170b58e08895b439ddf09fbf0aeb1e2fd35c2ef7ae402308c3637733802601" + "dd218fb14c22f57870835b10818369d57d318405", + "6b98ec50d6b7f7ebc3a2183ff9388f75e924243827ddded8721186e2", + "041f249911b125348e6e0a473479105cc4b8cfb4fa32d897810fc69ffea17db03b9877d1" + "b6328329061ea67aec5a38a884362e9e5b7d7642dc", + "ab3a41fedc77d1f96f3103cc7dce215bf45054a755cf101735fef503", + "70ccc0824542e296d17a79320d422f1edcf9253840dafe4427033f40", + "e3823699c355b61ab1894be3371765fae2b720405a7ce5e790ca8c00"}, + {NID_secp224r1, NID_sha224, + "8c7de96e6880d5b6efc19646b9d3d56490775cb3faab342e64db2e388c4bd9e94c4e69a6" + "3ccdb7e007a19711e69c06f106b71c983a6d97c4589045666c6ab5ea7b5b6d096ddf6fd3" + "5b819f1506a3c37ddd40929504f9f079c8d83820fc8493f97b2298aebe48fdb4ff472b29" + "018fc2b1163a22bfbb1de413e8645e871291a9f6", + "8dda0ef4170bf73077d685e7709f6f747ced08eb4cde98ef06ab7bd7", + "047df67b960ee7a2cb62b22932457360ab1e046c1ec84b91ae65642003c764ca9fc1b0cc" + "2233fa57bdcfedaab0131fb7b5f557d6ca57f4afe0", + "9ef6ebd178a76402968bc8ec8b257174a04fb5e2d65c1ab34ab039b9", + "eef9e8428105704133e0f19636c89e570485e577786df2b09f99602a", + "8c01f0162891e4b9536243cb86a6e5c177323cca09777366caf2693c"}, + {NID_secp224r1, NID_sha224, + "c89766374c5a5ccef5823e7a9b54af835ac56afbbb517bd77bfecf3fea876bd0cc9ea486" + "e3d685cfe3fb05f25d9c67992cd7863c80a55c7a263249eb3996c4698ad7381131bf3700" + "b7b24d7ca281a100cf2b750e7f0f933e662a08d9f9e47d779fb03754bd20931262ff381a" + "2fe7d1dc94f4a0520de73fa72020494d3133ecf7", + "3dbe18cd88fa49febfcb60f0369a67b2379a466d906ac46a8b8d522b", + "04b10150fd797eb870d377f1dbfa197f7d0f0ad29965af573ec13cc42a17b63ccefbe27f" + "b2a1139e5757b1082aeaa564f478c23a8f631eed5c", + "385803b262ee2ee875838b3a645a745d2e199ae112ef73a25d68d15f", + "1d293b697f297af77872582eb7f543dc250ec79ad453300d264a3b70", + "517a91b89c4859fcc10834242e710c5f0fed90ac938aa5ccdb7c66de"}, + {NID_secp224r1, NID_sha224, + "30f0e3b502eec5646929d48fd46aa73991d82079c7bd50a38b38ec0bd84167c8cf5ba39b" + "ec26999e70208af9b445046cd9d20c82b7629ca1e51bdd00daddbc35f9eb036a15ac5789" + "8642d9db09479a38cc80a2e41e380c8a766b2d623de2de798e1eabc02234b89b85d60154" + "460c3bf12764f3fbf17fcccc82df516a2fbe4ecf", + "c906b667f38c5135ea96c95722c713dbd125d61156a546f49ddaadc6", + "043c9b4ef1748a1925578658d3af51995b989ad760790157b25fe0982655648f4ff4edfb" + "899e9a13bd8d20f5c24b35dc6a6a4e42ed5983b4a0", + "b04d78d8ac40fefadb99f389a06d93f6b5b72198c1be02dbff6195f0", + "4bdd3c84647bad93dcaffd1b54eb87fc61a5704b19d7e6d756d11ad0", + "fdd81e5dca54158514f44ba2330271eff4c618330328451e2d93b9fb"}, + {NID_secp224r1, NID_sha224, + "6bbb4bf987c8e5069e47c1a541b48b8a3e6d14bfd9ac6dfaa7503b64ab5e1a55f63e91cf" + "5c3e703ac27ad88756dd7fb2d73b909fc15302d0592b974d47e72e60ed339a40b34d39a4" + "9b69ea4a5d26ce86f3ca00a70f1cd416a6a5722e8f39d1f0e966981803d6f46dac34e4c7" + "640204cd0d9f1e53fc3acf30096cd00fa80b3ae9", + "3456745fbd51eac9b8095cd687b112f93d1b58352dbe02c66bb9b0cc", + "04f0acdfbc75a748a4a0ac55281754b5c4a364b7d61c5390b334daae1086587a6768f235" + "bf523fbfc6e062c7401ac2b0242cfe4e5fb34f4057", + "854b20c61bcdf7a89959dbf0985880bb14b628f01c65ef4f6446f1c1", + "a2601fbb9fe89f39814735febb349143baa934170ffb91c6448a7823", + "bf90f9305616020a0e34ef30803fc15fa97dffc0948452bbf6cb5f66"}, + {NID_secp224r1, NID_sha224, + "05b8f8e56214d4217323f2066f974f638f0b83689fc4ed1201848230efdc1fbca8f70359" + "cecc921050141d3b02c2f17aa306fc2ce5fc06e7d0f4be162fcd985a0b687b4ba09b681c" + "b52ffe890bf5bb4a104cb2e770c04df433013605eb8c72a09902f4246d6c22b8c191ef1b" + "0bece10d5ce2744fc7345307dd1b41b6eff0ca89", + "2c522af64baaca7b7a08044312f5e265ec6e09b2272f462cc705e4c3", + "045fad3c047074b5de1960247d0cc216b4e3fb7f3b9cd960575c8479fce4fc9c7f05ff0b" + "040eb171fdd2a1dfe2572c564c2003a08c3179a422", + "9267763383f8db55eed5b1ca8f4937dc2e0ca6175066dc3d4a4586af", + "422e2e9fe535eb62f11f5f8ce87cf2e9ec65e61c06737cf6a0019ae6", + "116cfcf0965b7bc63aecade71d189d7e98a0434b124f2afbe3ccf0a9"}, + {NID_secp224r1, NID_sha224, + "e5c979f0832242b143077bce6ef146a53bb4c53abfc033473c59f3c4095a68b7a504b609" + "f2ab163b5f88f374f0f3bff8762278b1f1c37323b9ed448e3de33e6443796a9ecaa466aa" + "75175375418186c352018a57ce874e44ae72401d5c0f401b5a51804724c10653fded9066" + "e8994d36a137fdeb9364601daeef09fd174dde4a", + "3eff7d07edda14e8beba397accfee060dbe2a41587a703bbe0a0b912", + "046dd84f4d66f362844e41a7913c40b4aad5fa9ba56bb44c2d2ed9efac15f65ebcdf2fd9" + "f8035385a330bdabec0f1cd9cc7bc31d2fadbe7cda", + "7bb48839d7717bab1fdde89bf4f7b4509d1c2c12510925e13655dead", + "127051d85326049115f307af2bc426f6c2d08f4774a0b496fb6982b1", + "6857e84418c1d1179333b4e5307e92abade0b74f7521ad78044bf597"}, + {NID_secp224r1, NID_sha256, + "2b49de971bb0f705a3fb5914eb7638d72884a6c3550667dbfdf301adf26bde02f387fd42" + "6a31be6c9ff8bfe8690c8113c88576427f1466508458349fc86036afcfb66448b947707e" + "791e71f558b2bf4e7e7507773aaf4e9af51eda95cbce0a0f752b216f8a54a045d47801ff" + "410ee411a1b66a516f278327df2462fb5619470e", + "888fc992893bdd8aa02c80768832605d020b81ae0b25474154ec89aa", + "044c741e4d20103670b7161ae72271082155838418084335338ac38fa4db7919151ac285" + "87b72bad7ab180ec8e95ab9e2c8d81d9b9d7e2e383", + "06f7a56007825433c4c61153df1a135eee2f38ec687b492ed40d9c90", + "0909c9b9cae8d2790e29db6afdb45c04f5b072c4c20410c7dc9b6772", + "298f4fcae1fe271da1e0345d11d07a1fca43f58af4c113b909eedea0"}, + {NID_secp224r1, NID_sha256, + "1fa7201d96ad4d190415f2656d1387fa886afc38e5cd18b8c60da367acf32c627d2c9ea1" + "9ef3f030e559fc2a21695cdbb65ddf6ba36a70af0d3fa292a32de31da6acc6108ab2be8b" + "d37843338f0c37c2d62648d3d49013edeb9e179dadf78bf885f95e712fcdfcc8a172e47c" + "09ab159f3a00ed7b930f628c3c48257e92fc7407", + "5b5a3e186e7d5b9b0fbdfc74a05e0a3d85dc4be4c87269190c839972", + "04897089f4ef05b943eeac06589f0e09ccc571a6add3eb1610a2fc830f62ba3f6b3e6f0f" + "062058b93e6f25b6041246c5be13584a41cae7e244", + "5b6f7eca2bcc5899fce41b8169d48cd57cf0c4a1b66a30a150072676", + "f12c9985d454ffbc899ebbbb6cf43e3debcac7f19029f8f2f35cce31", + "12fcb848adbd8b1b4c72b2b54a04d936e4a5f480ae2a3ea2e3c1baae"}, + {NID_secp224r1, NID_sha256, + "74715fe10748a5b98b138f390f7ca9629c584c5d6ad268fc455c8de2e800b73fa1ea9aae" + "e85de58baa2ce9ce68d822fc31842c6b153baef3a12bf6b4541f74af65430ae931a64c8b" + "4950ad1c76b31aea8c229b3623390e233c112586aa5907bbe419841f54f0a7d6d19c003b" + "91dc84bbb59b14ec477a1e9d194c137e21c75bbb", + "f60b3a4d4e31c7005a3d2d0f91cb096d016a8ddb5ab10ecb2a549170", + "0440a4ab1e6a9f84b4dedb81795e6a7124d1cfdfd7ec64c5d4b9e3266683aa32a3c2fc06" + "8e62626f2dafce5d7f050e826e5c145cd2d13d1b27", + "c31150420dfb38ba8347e29add189ec3e38c14b0c541497fb90bf395", + "bf6c6daa89b21211ea2c9f45192d91603378d46b1a5057962dafaf12", + "cb6b237950e0f0369323055cd1f643528c7a64616f75b11c4ddd63c7"}, + {NID_secp224r1, NID_sha256, + "d10131982dd1a1d839aba383cd72855bf41061c0cb04dfa1acad3181f240341d744ca600" + "2b52f25fb3c63f16d050c4a4ef2c0ebf5f16ce987558f4b9d4a5ad3c6b81b617de00e04b" + "a32282d8bf223bfedbb325b741dfdc8f56fa85c65d42f05f6a1330d8cc6664ad32050dd7" + "b9e3993f4d6c91e5e12cbd9e82196e009ad22560", + "c8fc474d3b1cba5981348de5aef0839e376f9f18e7588f1eed7c8c85", + "0466f49457ed15f67ed4042195856f052fe774077f61cebcb9efddc3653a6e3f3423eec7" + "308a69eb1b0416d67cc3b84d24f251d7cbdb45c079", + "5e5405ae9ab6164bb476c1bb021ec78480e0488736e4f8222920fbd9", + "7b7beaf9f696ca1a8051527478c4c075ab45aa4768937886dbf38618", + "93d4cf110a37c5a6f15c4e6024822118539e860dee2f60b8c3f462f6"}, + {NID_secp224r1, NID_sha256, + "ef9dbd90ded96ad627a0a987ab90537a3e7acc1fdfa991088e9d999fd726e3ce1e1bd89a" + "7df08d8c2bf51085254c89dc67bc21e8a1a93f33a38c18c0ce3880e958ac3e3dbe8aec49" + "f981821c4ac6812dd29fab3a9ebe7fbd799fb50f12021b48d1d9abca8842547b3b99befa" + "612cc8b4ca5f9412e0352e72ab1344a0ac2913db", + "04ef5d2a45341e2ace9af8a6ebd25f6cde45453f55b7a724eb6c21f6", + "048d642868e4d0f55ee62a2052e6b806b566d2ac79dbde7939fe72577379505a57cd5690" + "4d2523b3e1281e9021167657d38aeb7d42fc8ec849", + "ec60ea6f3d6b74d102e5574182566b7e79a69699a307fee70a2d0d22", + "2fd7fcbb7832c97ce325301dd338b279a9e28b8933284d49c6eabcf6", + "550b2f1efc312805a6ed8f252e692d8ee19eaa5bcd5d0cda63a1a3f0"}, + {NID_secp224r1, NID_sha256, + "4cc91f744ac858d3577e48813219aa3538dd813b186b42d1e6218376f07cc1cc448ddd6b" + "37240e98bf953f49cf54d65c12878b33c0bf6eb1c60254f0b6fa974f847e53abc56773ee" + "f6f29885dfc619e6a48fc15a667ca94001a0c945b6357a53221b0f4b266181456b0d2d25" + "e90708777f1a6f85971c00140c631c1991e0fd06", + "35d4bbe77d149812339e85c79483cb270bdac56bbf30b5ef3d1f4d39", + "047924b1d7f5920cce98e25094e40f2eb3eb80d70b17e14b3d36c3671c26c5af35f71e61" + "858582b7cc2b41790597c53ee514ffdf7a289d108c", + "751869c1d0e79eb30aae8fbfb6d97bfa332123fd6b6c72c9cd3c1796", + "26bb1b92b0f01e94eba5fa429271371db527ce857abba13bd1103f64", + "836aba9c63e1252c2b2d72a21e6a41b82241ebe32647e7f814652bcb"}, + {NID_secp224r1, NID_sha256, + "58f43cc1924de4bc5867664adbc9d26b4f096a43aca47c27c52851b006dc2a658919ef9c" + "e5b5ac48372703be15ac51631c2bd84b88f479f113b0569a9a09e230ec1e8e573474c607" + "5284d3e57d973829af35325d9e7dab4a5f9b065155bbcaff3642a82ef4c9b9e127d3575c" + "050721653da3b087d3fa394192897a5519527d19", + "2c291a393281b75264c9b8817af684fa86a1cdc900822f74039dc5d6", + "0418cb5826ad60e6696bf07655032a3749f6577ca36da3ccd6e66a137c194e14820fe02d" + "784fd1363ff7a30399518309765bd3f4412d646da2", + "e2a860416229dfd3f5a5cc92344ca015093a543943a0d8f73bf2b2fd", + "00e300c1ef4a8c4ca5da6413856f8981db49de29bdf03f32ffc3ceab", + "f250f18a51ba5f63e1584097841099fa6ae4e98ee458c061d1d5aed7"}, + {NID_secp224r1, NID_sha256, + "113a2806b052fde683ee09453098e402204155afb3776fd1cad3a9103421d327eab8f9ec" + "0dd050ffcc83f93b34ea707705fabeccfe43ab1a71c95298fd3ec769d99ead1066950eee" + "677d225816e0faad19cf69e1b35d16771689e2092cafe16d7c0dd7b0db73fffb8d0f3eae" + "d83004dd21e753530ec939c89ba25578fa5f785b", + "831ea25dbeda33d272a1382c5def0e83929170ab06a629eed6ee244b", + "04076518e393940d42dfd09819409d66966d8c9189c83d554a9cc8a08244d0ceaf4c0f50" + "e46bea4a52e30423ce3ada19edd363ac5694c65cb8", + "6be6dd9f6a083915ccba54626caf12d246d3aece0a7eda7d8d85599c", + "ff1460946e06fb6f5d35e8d2625ca70ffb9b45308e3fabf6ad8351b1", + "6029aa3990918e8cb8a388d53b0772e5cdfff49c3405fe0d3a95933a"}, + {NID_secp224r1, NID_sha256, + "64cbfc8f2e2149a31b3e8a80c4a552f6c62aaeb7990b6e0ee55500a9d17be04213406578" + "caf315951086dff5c2af3b5ce17d425d185101ef26f86396ba3a129a4f3f8e2dd595f59e" + "fb6c0f5c2dcc394569d7268695e9ac7daa84203f1f1895f1f9e4b514a5c9cd23baa63454" + "710144fe735ad9b8f42d8c43267aa434a26d7e5f", + "70f74c7324ef137318b610ead8ddc5b964e0eed3750b20612fc2e67b", + "04279649e2a2918e683520cde3fc98b0ae58a7100e8de35e7c9cc797b6aa4de6be34be61" + "f02880139787b9038f4554a8ef1c994b887c2974b5", + "8e984864f86f7a2a73f3edda17dbccd13fac8fa4b872814abf223b1b", + "3b18736fa11d04e27e2614cda03a63ec11a180f357b0b3192920d09c", + "2f0f3dbd570727b14fbb29155538e62c930dd51c4035275c1365dc60"}, + {NID_secp224r1, NID_sha256, + "a10a11c8e30fff118d371daf824f16c08200b83ea059436466a4611ccac93b2dea2de8c1" + "006f946196aef7fe9b0c251a391b0340f21797798278b412ff2b53842eec6450728e2bca" + "062f8337a2c204b9ea04ff660cd4d4db559f2f11c4d8ef199021339fcc82396f7a93926c" + "f5f247e37d8067fe50692de54f102bd5ab51925c", + "026be5789886d25039c11d7d58a11a6e1d52cb1d5657561f2165b8a8", + "043fa617c50b177da1a2bdb98b780ad21ad1195c4bd24465f6187de3c9e3fd8d8876dfd0" + "3a4a4e31a1acad3a08d983826d286c250c4e5620c1", + "0128b8e3f50731eb5fcc223517fc0cf6b96cd1d2807eb4524bc46f77", + "3a6b633f96f3d0b6d54f7fb29ac33709e4f0dd8fa0e51606ed9765ca", + "63e8c119dfa51784decd864f6911f2210a80f8f02d472d88df10d119"}, + {NID_secp224r1, NID_sha256, + "b3f720bf566ffa369259f4361959ae0641d2755ec264a4c4349981df2b02563275b2b9ad" + "b5aee47f7a456760a971991ffed6b17809bb9694138d1677fa916123795239353158fc6b" + "22d10f20d26f5d2dcd8c56c44373eea5b93067dba2d7c5318dac2e9e8714873cb1b37f58" + "c011fd14fa1e535554efe05f468bfc8e11cd8b99", + "e79c18d935c2839644762867aa793201f96a3cde080c5968412ce784", + "04b7ae1e992b1c7fde1141f40bd913358538ca0f07f62b729f13cea327811252d12120e0" + "4805fc171a439d382c43b68a21e1a0bdf5e4ec1da4", + "7abedab1d36f4f0959a03d968b27dd5708223b66e0fc48594d827361", + "d35047d74e1e7305bb8c1a94e8ae47cb1591c3437a3e185e00afe710", + "d9c425c9d5feb776ac8952e6c4eee0ecd68aef2f0e7bff2e49c9185e"}, + {NID_secp224r1, NID_sha256, + "0a398a46df7ccc48d1e7833f8bbc67100f1ef77a62dc78bbc115b2a662f9591fbaaa91ad" + "3d788e2fdd1b3164e45293d4f5686c151296901768028ac80ded4bf89c647ad35f0c7c4c" + "b318c0c757c1d83c44d850e5fd4677281b3f13b1ee54de79c8c042813f9d3312dcc6111a" + "68299cb7e829557d7f3d96e702f65aefc6499415", + "0d087f9d1f8ae29c9cf791490efc4a5789a9d52038c4b1d22494ad8c", + "04cd95cf8fb1cd21690f40d647f2353672a1076cc6c46bddaad2d0fc56934262f74d9ee0" + "f8a2754f64cb7415923d64bf00c94a39b52803f577", + "557d0e3995dc6377b3911546dd7aeaeec62a6d8f2af6a274382fc37f", + "56df0ea6afdcc232ceb41729eec00cf906b69b6e28423a36d3c92cc5", + "f4f70fd948c9a147f55317fdea7b8a84c33e721014552d5800d63edc"}, + {NID_secp224r1, NID_sha256, + "8c33616821a6038b448d8918668977fcf1ef5aa0cf7c341837b39bbcc9bca875a3757f4b" + "392630e9995b9bbe4eb66978b877586adaa02f99d2344dae082a7603351d8ffcfca081ab" + "403cd0acb90d078dd1d0789c2eb3185c62bff2d9f04cd38e509e3b83c12ed0a5c6808fc4" + "2f7ba5b06acdc496c8ad9be648ee6a4505f8560f", + "0830aebb6577d3a3be3ba54a4501c987b0e0bb593267b9bbadb66583", + "04b88652020e083ccc1c43dc83d1881884dd4c7e3b4e3460b344b1ea6422b69b517f86d7" + "c26dc37c0f8feb4bb07fe876149fbcc3334fd2805b", + "e4f4a3280574c704c2fde47ca81ec883d27f2c5a961a294db7cda9d2", + "b30b8a0079d9a134b5e1618c2ac63e3fbe0e95866b9dbc5f423f2707", + "3dc36746610271ef66e0aa52cc2ccadc5c9b08dc769e4dc4f6538c11"}, + {NID_secp224r1, NID_sha256, + "94d56535fd4edfe67a0daa6579f9d53bf6b7b8830ae2aeb62892ff59f18756ddf2811b44" + "9c7d20d65d54f8507de4e7c50eaa084830637812aa4b250a4d61ab67845be36e4a41cdc0" + "a70f8d6e3a63d4514f0dc197e6486015046a316153d5f3a3a4a0ae1ed7ea5fa55e12e73d" + "333333685c02e0eb636234ea7e6d4b76b4b76b5a", + "2acc9b97e625263e8e4cd164302c7d1e078bfcdd706111a13ccda5b2", + "04ce1a06f82df874dded37cca03b56c0648e4e8917ecd40ee73ee61588ceb6177b8f1ac7" + "c5c6e6e1f7737cc3026952ee392badd2cd7af32f9d", + "e401fa80f96480d437ed4f61a783888062ec33d530b188fd48016a6d", + "28674f447c4742e4087bbccfb522fbad4e18b56031d2ce8f532b078a", + "a5a7a13d15b423dd17771f73cea98d89dbffa846cc209b45c0e29b76"}, + {NID_secp224r1, NID_sha256, + "5d8ebdf9eb28b47bdafaa36bf0b66a9eaf99b6c83959da4f2b1151b4f4ecd28fb115a64c" + "0cb9491093a7e9b9c53ec423e4c72e7765bb9c818da0e8c428667e44474a71db4867130c" + "77c40bfd8544b2d7b9d6464d2b8e6a48482153256a32437c3a747231f51134dd14c70340" + "7e31146a6fcde23bededcf16950486e90ca69ac0", + "f4e873d4fb944fb52323406f933815092b7672221de4d1c45917f3fc", + "040dc2cdddb990341adb1de73f02d87fc3822485a659a15145f4251d5fcf78b2a83c7352" + "eda1af2c74e1804ea04b35f76c04e89d90281dc2bb", + "5d1476c682a64162fd2fdc82696fc8cab1469a86f707ea2757416e40", + "82982b38ed465138df4018d7cfb835edcb591cb57446ca49d163782b", + "8ef1d7b326cabee7f7ab95b7b98d3c27a069c0fd95a1599c0ccb422b"}, + {NID_secp224r1, NID_sha384, + "25e4416695f77551fdce276355528ccf1ddc2483821c5d22d751d50111ca2fadc6593b52" + "c74f4b5957494f1df25b0b2f86950d0d19229ec6506fee8581d2dd09d48418b146ff16bd" + "84a17ca0dc83b1888eb407376da6c8a88fa1e60b8c2a2471dfde4b3996ef673d5bde3d70" + "c434dc9f2488e9de16ae657d29e5e59ec922a1ec", + "62c572ee0d6f81b27e591d788bfc2f42b5105d2663078dfb58069ebd", + "04bd6ba605639b98fa8113a16a3bb004ddfaec901c98a931206165f4a5a3190b10ef39e8" + "8abd60b2293b4707512b45c6c5ed5794cc11454427", + "0f0bb1e428bcdebf4dc62a5278068efc0f8ce75f89e89b3630f102b2", + "aac0ea27e129f544abcc77f110e70bbdd5aa3e425dc39d5e8887025d", + "10e5dd06aee6b8419a04aa33d9d5678b0039c3acc3c4b61fe106bfdc"}, + {NID_secp224r1, NID_sha384, + "9164d633a553deccf3cbd2effccf1387fa3177cd28c95d94a7d1a3e159c5e5c027758cc2" + "6493301b2f4d141d8d07a5fe5fead987ce5f30abeafcb48c302afc6c2309f0e93d9b6818" + "cbb6972d222cb7b01302dfe202ae83b89f53150ae4a0e2b8fc0fd1091f19b4ab2e6ab213" + "ab322d04f2c5f57113bfad3c5675227237abf773", + "e2f86bf73ba9336fa023343060f038e9ad41e5fe868e9f80574619a3", + "04f5d5346f17898ea6bbdfff19c216a8757a5dc37b95315f5481628381ae61fd172ac8b7" + "a4f13870a932dece465834cbd4f50bbcfb802c824e", + "35724ac043e3b44b73b5a7919cf675190306d26aa67c27c28c873534", + "535147c265af138eec50c7fb570bcc8d2e6f675597b0fcc034e536bc", + "743812c188a1dddf9fb34b90738f8b2e58760d6cd20ccceb1bb9c516"}, + {NID_secp224r1, NID_sha384, + "019df05929321ecea7ee1de4f412aba1c8d3c24437db04b194a68a0a59dd871be10bd3a4" + "be6edf551350ea49fc7155a4d887e1221486291abe77a30633a4c4f7868fe2df24311cba" + "0c73804883954460e122387ed414111ff96ff1aebac8b6a6491d8a0d16e48a63bf3d027c" + "0f68ee4a4b234d73b412196706af8ea022b4dcef", + "b0a203438e2586d7575bc417a4a798e47abc22aa3955b58fc2789f17", + "04dc5d217862a1e5b00c95affa9d8b925a72b9beaeb7a86dc397e788d85f05f8e976ae1e" + "b1036eca6d683a82850795bf9127dee5f8b2859445", + "408e9c8b1f33136d6ddb93ff3a498bc09d4eee99bf69cdd5af0aa5a2", + "1b5a964c8b1fc634c6e2b82322499df1d7f0c12a4d2a77723c816ab8", + "cf54599a36ca064fae0aa936de5266f87704409d22a15d28c01b7f2a"}, + {NID_secp224r1, NID_sha384, + "5d09d2b1d3fa6e12c10d8b26dc9aabc8dc02bd06e63ff33f8bb91ede4b8694592a69e4ed" + "4cdf6820069e2b9c7803658949e877ffe23bf90bcf5ce1409c06c71d86885a94048b05ac" + "0ec9db193e489a5a2bfa367caf6aa8ecdb032be366174343f6875d2fe1785e8d77334f5f" + "469cec64998e08d3303e5c9a1923b34fdc105d65", + "efcfa50fad6fb2065f9a55f28c0c42fa24c809ccb19b6fc6d8ffb085", + "0461521a0cfb72be77ba33cb3b8e022743cd9130ff49e97093b71aa178ce0819aedaf6fc" + "e639d0e593f8ab0147eeb6058f5f2b448231584ea9", + "d1eea821f286eae6ebc1f61b08f9ad4323a3787e94af4c32cd31351b", + "b37caaa71103752ac559f9eb4943324409ebfa8b585f684dcaa5c411", + "7c28e7619e2944ab4b7be022878c8052ebdf2cae5dff4f976c49686a"}, + {NID_secp224r1, NID_sha384, + "50f6dfc81c6cf189e0a310f992907fe93356cee9dea9a41c7671a8daf3f4cfe0c459ce61" + "22c1e731dbf7593419d7114cb73b46956158a982c5d52c72f43f0f822046093c69aeff1f" + "7e4cd8af00ba655c5baa2e7b6a400b4be1f6fd51b3e4cfb35a69c80a28c5cafb771b6c2e" + "52e0aeef0e3fd045e8d40745f3f8b74fd969f816", + "61a17816937987764cdc064dc7b5b4f5b16db1023acdfe25902957dd", + "04a7e975c0a8f87c683bb8e31bc160843a7b69c945f4850bd60e1c08c08930a454dcc2aa" + "13bed7ea89368b2c9d689d816b2acf4e52585ee9c4", + "44b1fdec2629f9075f89c134ac28ff19bfddaa9db02a5d7f853582b4", + "b0f5635d8bc9c53a1d54a3ec63de59ed66e6b2358d4ab79755414326", + "67c68fe265c7e5aba4232deeafb88545a2aa266fb9f2c2bb3f3ae8d2"}, + {NID_secp224r1, NID_sha384, + "e90129ac6672c85bb7b6b18e9dc199c96c81fd65034b53c77818364d512366fb9cd1bc7c" + "82404c451e561fc1ed916c0948f6ac561b33a1ccca093f07684b8c2bafa9e966377bd208" + "556018a5bafb9edcecf70498c7140fe9c8cf3ad8b8c3b0aa489df797944465047465415b" + "b0e24333235fcdd59a98829a3941eaaf62033e82", + "79d5367314ec664aa0f6ca36f95549502a05bf8400bf532d669fab8d", + "043191f0237102dac159032ab2dde53cf56c9ec827b5caddfe9e83c02ab496b1bdcca443" + "4ac0d0d91ea38ff3bc33f9f54095bfe17796d5a9e2", + "da529c52f5cc1f435d873109cd991d6cd7e1631d9ff1dd9521dd5db6", + "8e0ac63903f4921755430572c3f08bc272790639bdf1009fe2a9a714", + "6278c841a2d0a270791fe54b36c49d426d67907aa4e4f59c8638ad97"}, + {NID_secp224r1, NID_sha384, + "3c9a483c9bee33b601549c592a82e95b4319b1e74b777877f0971bcb4273716b268e8f99" + "f876e42f942f4cf08284896bbc1ffbf094ac0956c3cedfc3580cffa8c74fc6db29a371f2" + "da2d05edb9185ece741fe0d3fabfe9d5b4d373755ebed13dc6840cfa3283b9ea46ec8b95" + "c434f253ae86998182e9cc0e95ee64f323fc74b0", + "1320eedad4745121793a7eaf732b0b4498f7cb456cac8cf45a1f66f0", + "049fdd99906ab77fd29e9021bde947d05a7a9eb153612269bfb0899bc9681b65b9ac8e4c" + "2899bb622dafb253b7bf5a6e38e5f6595f997c291a", + "66ed8d8934633f4125f593cf1b1d3745c4db1f15dde60cf46ca1c7f2", + "80199485a3a96447b39f7679cd47412a78675ba17dcbd10465dc5b48", + "a251fd9f136a3cb0dd0bc80659ae032e4a761ba7045da0034553fb8c"}, + {NID_secp224r1, NID_sha384, + "bfc073fdda63c5fccaa0ca8770c293e8154e7aec56128bbac4fdbd541d602216ebf7ca1e" + "02b514d6e396f20683802ba3f334310a9226576926e3bb19ceee27738d13377cbafeb09d" + "091043501702a07aa31d1f29d50ddc55adcf16ffd40578e734a4e6cb6535f26ad48e0c62" + "ad90e79720000e87d419e92dca3e11f943655b03", + "e18821329447d3f65ba7279e96bd4624ffa1b32b90f6e8331b1e876d", + "0446c9ed837232c47022df2f1a1578fbe65ac9f2e81c98a74cc22ea31a6fc5e9568ae62b" + "31412a0b0b367242e9fd7e518c83aa06a069e1d90d", + "a4c1eb402a2fb3af26e0e14a3d2fc8ed3bc1a8b2475270356a79fdd3", + "d478b68733d8ad44be46766e7b66af782fbdc7ff7ed0b191176da98a", + "5eae9160ccf71fd1d359d89cecce72ef8afaeee2365f6ba828aa450a"}, + {NID_secp224r1, NID_sha384, + "08079955d1a1f33728128c73673ec9f21a6ce138dcab5adc4dc068e6ab57314b9fbd8b01" + "3123b2fdafa9524fbdd0288777a233de8055cccfad83046ada6a19f01c47817496667bba" + "8fc8b9456fc0e044a562d931dab1adcb66af8b66325bdf28d83ded3e2937958ccd19da54" + "0d70ef2c189f55a506c9c0d63406394c5bd3823b", + "f73e030d5a696b358986d3efaca121cf71f775f8835a21e6135145d7", + "049ca2c6ea87ac8dd3a23a5b4010841a7c8af309038882ae44634bcf55b0a347dbd5ded3" + "b8702ac5a457e8b32bd4de06fd315095fa1b7d5fe1", + "e3cc786c1288ea567836c51d6d69dd0cab5c015987d936ccc3a4beb3", + "f1234da71761b7a0f49e661a419d2a739bdc4544bf87690e3d2f96db", + "096d16bf8020c3d3c233894ad8eb81206010e62c6e692a215e088fd4"}, + {NID_secp224r1, NID_sha384, + "23900b768f6cd42b8a8df0dcbc9cb5daec8de36b9d5c619adcc1ba2b649103d5af123746" + "cdf19c3fd0665a6fb9338156182aa06181e3c6e37ce56979612af2927440424f89cef43f" + "c754854b8a5c43370808cf5f9929cf47712512ce2f8a2a20d2e9f568c2848b27dfbe0914" + "2843c83905ffa5da3b15501761b03dbc2c5398b6", + "7a0789323f8741c157a1753ae165ecaf8e8b03a60561f8b80cee467c", + "04101271a9addd4bd1f19d00bf116c8524f52cefd598e85dc381597acb2f17d14f4d8ccb" + "28b216553718152ba7c104646d8eca986dd9ddea39", + "d169f04f05b60c625cda864d187938863964dab7bb3b9dfc04b05519", + "e4a51be686a764b709da23ab48b1985e153c6ee238d945e743907afc", + "118a8f1ffe3cd556ce6345bd1a398dd9cc3729b7fd6d8af9bfd82f40"}, + {NID_secp224r1, NID_sha384, + "1eb28c0bcdd18f73e347f957ece15b4cc83a771b0877e1feaac38e24028fb38ccea8b54e" + "e017dc7c3d5a1327bc6f40b294aa65d7dc487f278846cd101ee84202f14b38aa2c275046" + "aa2577f65ebaea41cd383e8def2fd0b4444dcf426fa75c4082cd7fa035cdb1e0d34a3c79" + "d42130f5b0273eae75bc701dda3aebe7358f41b5", + "78e795d0edb11fd9e28dc26b21e751aa89bea0d87932ef11c95c0e18", + "049edd544107977134bf6360d43ccabb3c94d627c03963c0a04b439627ece4c61d319a0e" + "41f3de7863e7c355bac94395aaa74cdb5f74a87a5b", + "36f7c0f76808b826a0a974a1fd6e155e00a73f1d34674a8f88be405a", + "3e319444438bc2cc92f323ea842cb402b3c3c2448c89869ef7998edb", + "3420cc38f058f41c31e71f4b1ad488f801111c73541de69fcee60695"}, + {NID_secp224r1, NID_sha384, + "efab51855407438fd5c250670366bca3c026ecec4a59394f00d8a4b51746d0c456436665" + "6d507e3e13e62fe7abeb976b8859895848dbaecf6582f1898ea06f00d4247702ed9721bd" + "375aa83ae4c67c2eaa6e080777ea5ecf2cf787d785389560ac91cf63a52f0373c3185e18" + "a3b8a466e21b61a239f1b77624eb1acacc76c4e1", + "bee02d8bc5bffb3fd3b4c9d6f686409f02662d10150d1e58d689966a", + "048848f964c847fe9dddc774618d4588c9cd56bbe588d7b1fb369c8bfaebbb699fbd0dc0" + "8859fe9132285fe20dff3b9d561c0640b6e0717607", + "59f1450d857b40e5552a4b8cd4ab0df2f01716635d172c1106840f21", + "a206d8398a16a991bc217f77f23c6f648384f254f255a8a876404444", + "eb1169cb5b1423dc0bfaffe565ae57f986e00de06405e3e7b605862e"}, + {NID_secp224r1, NID_sha384, + "31c29ca10279a417f0cc9b1382cf54dbfdfc89f2e6ef08c403c11f580cbf8674b141ed1a" + "417563282d99a55fc616d836421cde9424815c95e7fb7668bf3f137b29937f14882d74e0" + "34b732d78d91af7721aac4950734f5fa5d4b4d35534974f8cab6d2e6dca75ddb57e99148" + "c8a59df9fc5bcd723e546e8356f671cf2f65640a", + "dc0ddf6e501418bb8eafc5d7ccc143369e2aa441df8fc57d5f94a738", + "04063a5d632f4144376e14cfb03ad8ccf1489b613acd184d20dff66545e77727f057b043" + "d8a0f7458196b72e92d11f85b0891c6aaa9d915f58", + "ff0e5cae2671db7a1b90e22c63e7570bdd27352d45bac31e338debe0", + "5bc0b4998481ecbd3b6609184a84ca41d69b08c37138097f559259f8", + "0df8828eb1ca85e46405b94e1a2972c34c5e620a54e2f640f04aecc5"}, + {NID_secp224r1, NID_sha384, + "8db476f92e332519c1a0ece5d8deded6efbd2d8e8784eea0a6b4c3b4296c35f5f8de4317" + "e5c1627b91fb1973fee86c06e4992aa5a20cb7475c8808ff1da354d07a488dffa7838c6e" + "c1e3f99e3acba831f27bee8434eeda3eb36d0c6df3658883cd40068b1bed841310f6eb38" + "d4a3d07d85848770ff7933c054cd8b34662660b1", + "229d89b2fcf8441ffc95ebb2ac2ef156e25825782044b2b8bd6a3e01", + "04de616848d8044a44789ef1ba3a6dd66fe9257ddc57f7534e59a701be26cbf74a6d25e5" + "b34b96d30f327abd574cff7f7dbe6686573a7d6c5c", + "3b18ca6ec8e8e255ac88f64302745ca0b73ff94b2b2d48be95b4aaee", + "fa94fd8b827c06115c1eefd50afc02ce5926ee0e789667783c01c34b", + "edf766a66973cfc33e4159966c07321a7f6549c3c60e8586ef41402b"}, + {NID_secp224r1, NID_sha384, + "fcb272c828fe8fd3c6f8de9410c7b6e2b36717c1b0e5e359e9109bd7fc378978aa98182a" + "9d99961898ed88999b050d3b64d1457d7a899d6d273b9f4dde2aafa36d76329d62509043" + "c338f265fc4c7d938459b7fa3b230a9f6cb632b61489546bb4181a5ad7f0d7369b8caced" + "48eb374b075b2b325bc86add0f3b680cd9e80acd", + "97d747068147c0393a0bb5c159e2c9f1bd538f6204823294883abe28", + "043858a576eef2ce24d01766997fb81b3f3f78b6104cd188610be221d795ffc677ac7bfe" + "3e0bb4cffb17355a964c8356a807151b3cba5d1f4e", + "c1a2ec1ef16cfd5107c892790daefbed061be78bd8576696b60f64d5", + "18c908541843fcdac99b9ff6bb397f3f8094d16b42670216e4eaa2d7", + "c107a8a508ff57c5d4f78f86cc37e129c864d1c44ed5e73909613b74"}, + {NID_secp224r1, NID_sha512, + "7522492bdb916a597b8121f3e5c273b1d2800ef8c1db4f7dcbae633b60d7da5193ba53a6" + "3d7a377b351897c3b24903ae1cd1994211b259be3e6ae2cbc8970e4957fdf782c7d1bc7a" + "91c80c8ef65468d4ef35428f26e2940ae8b0bd9b8074236bf6c00d0ebe83f9ddb2ade0f8" + "35138d39f33b59f244e0037c171f1ba7045a96f5", + "ba5374541c13597bded6880849184a593d69d3d4f0b1cb4d0919cbd6", + "04ac635fe00e8b7a3c8ef5655bdfb7f83e8532e59c0cc0b6534d810ffa1d067aebeba66e" + "79b28ecfe59ac6fdf5e1970dc3a84499c9d90cd8e2", + "187ed1f45c466cbafcd4b9577fb222408c011225dcccfd20f08b8d89", + "f83d54945997584c923c09662c34cf9ad1e987da8bfd9be600e7a098", + "4ff2dba9dba992c98a095b1144a539310e1a570e20c88b7d0aa1955c"}, + {NID_secp224r1, NID_sha512, + "61097114ff855c3e34a62d9b853f8982d35f29cfa4a89893badbca7849e5fb437a1a38d6" + "451bf0ca5a0d528e352b8e4b57f2ea359a7fc8841d49dd3e570f9b016f14156b0bbc4be8" + "22e260bd147ec081454969e11cb0034b7450ef4deb7ed6edb977e2f4ed60121aa095fb0a" + "b40240dc329ecc917f5c64b4410612af065ee9dd", + "1e27187134d0a63542adf4665fba22f00cfc7b0a1e02effe913ceedc", + "04ecaea8ceea55c3bd418fd34a4ff2499e25e66a104eed846bc00c31d23933a356ab1f2d" + "abc303ff0a5d076131e77032e6f502336883bf78a7", + "34cb597deae9a3b1cada937abcd247161b19b2b336b20e2e42ae01f1", + "58177ba46fb291490b39368774accf72736412c1fb5ee0f27b9b1e02", + "58337d78b95a080bfcabb5809bee012501b4da84b8ef310a4628f11c"}, + {NID_secp224r1, NID_sha512, + "dd09ae6c982bb1440ca175a87766fefeacc49393ff797c446200662744f37a6e30c5d33b" + "a70cbd8f12277fd6cc0704c17478bbab2a3047469e9618e3c340a9c8caaff5ce7c8a4d90" + "ecae6a9b84b813419dec14460298e7521c9b7fdb7a2089328005bd51d57f92a1bcbeecd3" + "4aa40482b549e006bbf6c4ce66d34a22dda4e0e0", + "0905b40e6c29bfcbf55e04266f68f10ca8d3905001d68bb61a27749b", + "04d656b73b131aa4c6336a57849ce0d3682b6ab2113d013711e8c297626328335ffc2029" + "afbfe2a15cc5636978778c3f9dab84840b05f2e705", + "dc82840d147f893497a82f023d7d2cbf0a3a5b2ac6cc1b9b23e504be", + "583af080e0ec7c1ba5a491a84889b7b7b11ccfe18927c7c219b11757", + "b23700035349df25d839f0973bef78a7515287de6c83707907074fa6"}, + {NID_secp224r1, NID_sha512, + "37a73e2774d3b274db426c89b945696daa96035031f72cea01894b24508c7f81961ec254" + "d36ed6a0f448e11cf7950af769dc6cd2c47e52c6caf0ea92c270974f0214b4db436c36a6" + "0fb722060a6bb544462a82e1714f5906ec32886f7d59ebf289541c3a00ec1e004892ef2b" + "1286a0194f55d083c6ec92c64b8fd1452e1c68ba", + "afbaede5d75e4f241dd5b53220f3f5b9c1aa1d5d298e2d43236452dc", + "04fe83e59fc8ea8b939355d3258fe53a64d45f63031a0716b7cc416173f151d23060f1c8" + "56eb7f1f58be72a7228c3af89e43b56e9695b558c7", + "0fbbe7b40136c81a8fb894498d5502157a1cf5a89d0643de92cd38f6", + "24f3f457c7b72b7e759d5a8afbf330e31c5d8d2e36f92c0e79c5d87d", + "36fd1193def34f12a960740fd79fb38bf2b480726ccad540eb42cdf8"}, + {NID_secp224r1, NID_sha512, + "9dc2046ffdc6804544db964481abe5d2d276a2a9eeec4c7ad40215b1de23561d402db69b" + "d0f6eec2254711eea4487c64d9a6b62c3ebaf5ffa8db6e7e3a6e17154d126967a47a853a" + "6f8339bdca9be306a13c7f992ded7619b0da59909a49b1e0930360e05b47f18628a36d69" + "b2f87f2bfddd6a5d4a72f84dc76dbdd43f3a6a35", + "950b07b0c2b7539a21b5135bfede214733f2e009647d38d8b21d760c", + "04f43d13bbfcee3b724063b3910fea49fd591b81e86fdb813b1a492d0c6b4c8d6fa5dc66" + "1889e3cf5ec64997a78222837885f85d2fe9b684fb", + "83e110d0d1e700d2f36543028737d2a2f1474aa3b4b28998a39e4793", + "2685265bc878e85d10ab13293dec190881a57c4a467f8fc2170432ea", + "80a347bb49036522369339bd6485a967cdda818915d8eb947302fcf9"}, + {NID_secp224r1, NID_sha512, + "d9c6847fce688c5e7525a1098b545cb6c15dcd21a02761fc82fc664372a667390680135f" + "91c01a2fa5430c634b1a6d1cd6002d8aa021e7bf5956a7901c2f81bc25d502ba5f55a55f" + "30c0323dc68205cbefec0538e68654e7b327ac1743641896c3e740d8f66f400902b304ea" + "faa4e0d8cffae140536f0922444cc3216a675697", + "015bd9f5dfef393b431c3c7fced24385d861ccb563542574a5d2a9bc", + "04e868690641e2cda13b289a6c5d2fb175940396044d9cf27b4f2240af4c78c9abdf2b7f" + "c67ed4497001d7bcf1daca1739dc14a661f91d7c40", + "e2374350f47c08f3c1359d4edf87e61d1ba4e7dd1540d8d9062efa79", + "e12dc088d2bc032bb214c77d0e0fb749fc8e61ebe1ed72996f1084b6", + "0ab58aa31e0bba5fbc76855e6549f1036fba0a589aeab978ab01b8fb"}, + {NID_secp224r1, NID_sha512, + "69df8a01b66f04930efd2012ff2243874f256ca8758145d2a9e4ecc84d0dbdbd0dc494ae" + "06db0ccbe819918137c90957114558580d6623efbafdd342b38dad9f08708084d32f874f" + "ba04782ce26aaab78de2102ad171f8a8f2b30b5bd3d55fdac5fa3acd6f7def7e61c25339" + "38572b331ba6d1c02bd74bfdbf7337ade8f4a190", + "0a3c259df933247445acffb6d8265b601d597fb9997dc2a1eb4deef4", + "04e67f4385a9da54253cc371ee9bc6739ae6385a4b87669c7baf0c460d2bb00b6ddd7b67" + "d9ac5653ec04ca8529fbf16f815c04da3c2e58e82d", + "8bf5859665b6a23e6b05a311580f60187ba1c4ae89e44877fb48af66", + "653675fb993c3fa9e57b32e33029ec230b966e8077c72c1ec90ddefc", + "792723bf87e315147cd4303de7f1dfe95cd7658ebb95c38c1a196140"}, + {NID_secp224r1, NID_sha512, + "927524982b8d60777c1105c86fac05f634abf58c73f84fb95d81ba0b86e1e43592c4fcad" + "2e395a40fbe7005697d86088e2fb3bb7287eb3f917d4f2dc281f5cbe65d05b4f9623bca8" + "49b10a03beca6aa2056a12ebb91cf257ac448c5e9a78f8349a6a29b17c8978bef43a443c" + "bb8a149eb23f794844fc41693f2dbb97181444be", + "a1c8ef463f9e7e3dd63e677412f87cf9ea4ac9a6a2dae629da5b9916", + "04400e5cd4b315ceb309545cd3277acb70bdae2073fda6ad896ea14b27fbe1d2466cd2e1" + "16f38248bd5cabaa6cbe6c4a2694d998abd7b0c991", + "82f55a25d3ed6e47c22a6eed0fa52ed0818b87d6ea7950281dfefc09", + "16305a46a3f6f9e216ef8f6a6f5f0760d064a885657c864e1c1ea035", + "58fd97050bfbca6f87e64e1458c4ad80bae26e280356da344ad3b25d"}, + {NID_secp224r1, NID_sha512, + "5f9042283561e7f19a436d01c7ef5a950a6d77ede5629cd7e43c0a5d58e8c5673c37945a" + "453291d12938253c71dbe12c8b022ba7276eda6be034ef5ec1ec77dbd1e08f0d7b8e7725" + "b7ec671c075e008a20f77f4ab266f97079b0aa6337df59a33b881954084057b21f294dd1" + "4bcb0869a4a6f1f597955ec7bf9d19bb3537a66a", + "fa511dbf6fef7e5e9c73e4555eb75d435f7884322d9faf5d78cacc0b", + "04e8dccd706c31f895f2f261ab979cbab51b8ae28196bcc12a42046380ec246be8e71ea3" + "859cb717a59990fe22e4b76858ff49becd70739a01", + "a37d665fe4314aa4cd03eb8e6a1f366b43e11fdb419c96b48f787b62", + "05e4909bcc172ab4140be291aad4660e375032bce2d762b6269ba764", + "e347a1c9d3670690e1d8d1d4cd9579848f442199c10526488da5cebf"}, + {NID_secp224r1, NID_sha512, + "c2ae5573d3bf396523bfb703db8502fd0760cd1be528f6ddbfb95aad399e0b19f3bd9e0f" + "abdb05d49e3f893dffec5b627c9c2f7ad5f32e92e4e27a38cb5c28657657377fdfa1b66c" + "d7ac3d15c6d49df92d284db99f69744f37dc7cb4e7d52920fdb200a7942623a7057ba82e" + "467dcccaa5da416b48510d8364446a6a5e2a5aa8", + "a58bd53646400a646f0e4208320dc679a9664d1c6bfb27fdc8eac7ea", + "04e22e0dc4ecd96eb0071b72ba4b4988bf784f3fe73cb81bfb93d9ac4fb3e213e518bee1" + "367a4fb3703b9008bac9d95a1fc4aa61225fff9f3c", + "42c5b6f87d3bb1ed74f5ee8398d8f8c61e9e50ffa7a1da12d39893f9", + "5c0e5c6f057de1e99ef5d237a60d7a07fa9a42b120a82f573d9fb7b2", + "2fffc0bf550bd2f650fed085a84501cacfa6a1bb984df1f9237eaa59"}, + {NID_secp224r1, NID_sha512, + "03c1a1cd30a039d0dcb22fee2450a7fa79495a0d0f4f43d2de4d75bce003c0334a8860f5" + "c164dbd94888a9f751235a3e570d31070e3e1293a7be616af7176600585d36ac01360015" + "7d2569d491da4b8a3bf3630c26e0b9925412189f50b0ae6f04c86477932e2ecd8c354610" + "6ae1ebc684cc3adb27ed665eddece886adea4ce3", + "64bd4452b572cc95510ac2e572f41136299ff17f6e8448f4ffb571d0", + "0492521fa25c2e034d127e0921efdb167f0b2ff8b20504487ed87fa264e72c770e37375a" + "d7dc2c4e63e5701826f6606f6ffb9461ee61b4e872", + "eaf76ee4d7e00d13d8a6d03dffd07ad9a8bb6dc8176c9f93059b1b7f", + "cf5058e2a6cf5e61a138b013eb292f38a1b9f07239ae5941dbce8919", + "d14198621650d985d270bc997da6e78588fd0ef843b874c66a3de3c3"}, + {NID_secp224r1, NID_sha512, + "888f6d9bc7c86c0079fbfd42d8c08d6958f40f6e570fb0b1f03d2f8f8a63df4fcc87b379" + "a222cf835820a999d34996e08961f13b86b075e7fd1c303cd3baa44de42168561589012f" + "7e5300da4f8bdf470c07119a5d9f7ba7293568cd7c6a1b7fc1e41cda40bed7d46e5a28af" + "67ae2aabfefe67a86a1c601e6f5ee543e09bd7b6", + "7f3edb710df9d982f486233d0c176aa88f5a0ee81efa9b8145020294", + "04e7611e013e7b43ff5b8b57ad83333bffcc9e469ad23070b5791dc5947784da0a11dbe1" + "6208c6e0b6d5029e71fbec4dffc9fa046d3eeb71c9", + "94db7ef9a232593091eb9a74f289529c7e0d7fef21f80b3c8556b75e", + "a971f45bab10b1d16d7234ca8e4ec987da20d9e867f28aa063296e23", + "e38c538d65a7e1a28fd3ec53f015a7e5beb60e9d309f1e3ba4b2c3d2"}, + {NID_secp224r1, NID_sha512, + "48453340f1317769e6ee6e103153714365731163dc18f84e9f2fa4b120f9c5a9645ee2f9" + "b66c84c26d95912b422b009b64af96aa418b2427a4209f2e7513ba8e43ec8cf20b34e752" + "9b22eb1199545afe9a9f7d9bcb320aec9ee0162f91c0d1dd9674c9c284f25199c5e109f6" + "f84d7ed0d269cc6413edb81bc2c83e37d644d8b9", + "b569f8296ff1d9cc01fffd9919016e5730c1858bdb7b99527153751a", + "04242f34959516a4706172f7dede23110efa314bff22eb320ab88feeff45e3227710900a" + "8acfc9bcce728119d042f64ca40876c2b380ee46e0", + "ae61523866a8f43e6cdd42ba27a34ed06527e8a5842901a64c393f76", + "c2732a4e0815f9f785500e80147e9486994446beccf8a6a352b97585", + "6ecaece6487d7920e398f7f951ab7c7aba5832dabf03704106ad1244"}, + {NID_secp224r1, NID_sha512, + "4bdfd3b91d83108409ad765b256e0c9b9937ecf647f8e6f9fc807e2e72af8246178b3fe0" + "46b4ea10170450d71a4eec790ecb05f03d7077341de26c4db7eeae24d55c9a9093e837df" + "db38168fe8230cb9605825a1282fecd741989bfcdb34678fe077477927f66bd26d003e5d" + "da22043341a14dd31841ba483ad5ce2701e0f68e", + "41a4dd8eee39232b728516e2f21e66011e7426a6b25986c3ffa237e4", + "04c32988171caab178bf50dc7310bc7f604df5a9d19a8e602519c72d8af8985d112ad9de" + "05969e5364d943c1cc5cd198359f4c62b19da0e117", + "827d4999da81fa920c8492ccc1e2d5cdafed9754cf7382a859952071", + "89c61da7422ccd676baec07e2185c12e947a2374eede87847304be6c", + "2685379624717ea28422e8d001c090405a130b4ef9f1ac726c3ca502"}, + {NID_secp224r1, NID_sha512, + "e6cdee8558bc1eacc24e82f0624ce8d02cc8d925b4dd3dec3a72f4a4e0fb76076bfa3ef2" + "e2c33bdd7c27b322bdc09bbfee8fe46f75dbd7bbd2af09690b7137943efe21706e0a1b6d" + "3089540fc58d85ddb55ea836616db573e36c521be008893f40a0a7c349602cc178ea43be" + "59d31ec6449e7ff2c5379379f7d7645134df1bc3", + "67fa50569257c8cc89ac0325db4902003a62f30b917f53e4035a7e04", + "046773a0436a9c42635730413b19aa4166f08c69c0e5002953da42253b555138290b093b" + "f2fe79acda9131d920cd1e7ac43fb8775776cd713c", + "557cb45fd3a30b3bdbf08c56eabbd4478736024aaa52bf8448096453", + "8e92cf7a674aa5f7542dd95c695589a05747431692edd04804299b8f", + "af4908b41f8180b71a6ff10fd51f3d143147af6ddddf7534d3284ed9"}, + {NID_X9_62_prime256v1, NID_sha224, + "ff624d0ba02c7b6370c1622eec3fa2186ea681d1659e0a845448e777b75a8e77a77bb26e" + "5733179d58ef9bc8a4e8b6971aef2539f77ab0963a3415bbd6258339bd1bf55de65db520" + "c63f5b8eab3d55debd05e9494212170f5d65b3286b8b668705b1e2b2b5568610617abb51" + "d2dd0cb450ef59df4b907da90cfa7b268de8c4c2", + "708309a7449e156b0db70e5b52e606c7e094ed676ce8953bf6c14757c826f590", + "0429578c7ab6ce0d11493c95d5ea05d299d536801ca9cbd50e9924e43b733b83ab08c804" + "9879c6278b2273348474158515accaa38344106ef96803c5a05adc4800", + "58f741771620bdc428e91a32d86d230873e9140336fcfb1e122892ee1d501bdc", + "4a19274429e40522234b8785dc25fc524f179dcc95ff09b3c9770fc71f54ca0d", + "58982b79a65b7320f5b92d13bdaecdd1259e760f0f718ba933fd098f6f75d4b7"}, + {NID_X9_62_prime256v1, NID_sha224, + "9155e91fd9155eeed15afd83487ea1a3af04c5998b77c0fe8c43dcc479440a8a9a89efe8" + "83d9385cb9edfde10b43bce61fb63669935ad39419cf29ef3a936931733bfc2378e253e7" + "3b7ae9a3ec7a6a7932ab10f1e5b94d05160c053988f3bdc9167155d069337d42c9a70566" + "19efc031fa5ec7310d29bd28980b1e3559757578", + "90c5386100b137a75b0bb495002b28697a451add2f1f22cb65f735e8aaeace98", + "044a92396ff7930b1da9a873a479a28a9896af6cc3d39345b949b726dc3cd978b5475abb" + "18eaed948879b9c1453e3ef2755dd90f77519ec7b6a30297aad08e4931", + "36f853b5c54b1ec61588c9c6137eb56e7a708f09c57513093e4ecf6d739900e5", + "38b29558511061cfabdc8e5bb65ac2976d1aa2ba9a5deab8074097b2172bb9ad", + "0de2cde610502b6e03c0b23602eafbcd3faf886c81d111d156b7aa550f5bcd51"}, + {NID_X9_62_prime256v1, NID_sha224, + "b242a7586a1383368a33c88264889adfa3be45422fbef4a2df4e3c5325a9c7757017e0d5" + "cf4bbf4de7f99d189f81f1fd2f0dd645574d1eb0d547eead9375677819297c1abe62526a" + "e29fc54cdd11bfe17714f2fbd2d0d0e8d297ff98535980482dd5c1ebdc5a7274aabf1382" + "c9f2315ca61391e3943856e4c5e616c2f1f7be0d", + "a3a43cece9c1abeff81099fb344d01f7d8df66447b95a667ee368f924bccf870", + "045775174deb0248112e069cb86f1546ac7a78bc2127d0cb953bad46384dd6be5ba27020" + "952971cc0b0c3abd06e9ca3e141a4943f560564eba31e5288928bc7ce7", + "a0d9a7a245bd9b9aa86cecb89341c9de2e4f9b5d095a8150826c7ba7fb3e7df7", + "b02a440add66a9ff9c3c0e9acf1be678f6bd48a10cbdec2ad6d186ffe05f3f2a", + "a98bea42aec56a1fcecec00a1cc69b01fcbcf5de7ac1b2f2dcc09b6db064f92b"}, + {NID_X9_62_prime256v1, NID_sha224, + "b64005da76b24715880af94dba379acc25a047b06066c9bedc8f17b8c74e74f4fc720d9f" + "4ef0e2a659e0756931c080587ebdcd0f85e819aea6dacb327a9d96496da53ea21aef3b2e" + "793a9c0def5196acec99891f46ead78a85bc7ab644765781d3543da9fbf9fec916dca975" + "ef3b4271e50ecc68bf79b2d8935e2b25fc063358", + "7bbc8ff13f6f921f21e949b224c16b7176c5984d312b671cf6c2e4841135fc7f", + "04f888e913ec6f3cd8b31eb89e4f8aaa8887d30ae5348ed7118696949d5b8cc7c108895d" + "09620500d244e5035e262dea3f2867cd8967b226324d5c05220d8b410c", + "21c942f3b487accbf7fadc1c4b7a6c7567ce876c195022459fa1ebf6d04ffbaa", + "2e6cc883b8acc904ee9691ef4a9f1f5a9e5fbfde847cda3be833f949fb9c7182", + "2ac48f7a930912131a8b4e3ab495307817c465d638c2a9ea5ae9e2808806e20a"}, + {NID_X9_62_prime256v1, NID_sha224, + "fe6e1ea477640655eaa1f6e3352d4bce53eb3d95424df7f238e93d8531da8f36bc35fa6b" + "e4bf5a6a382e06e855139eb617a9cc9376b4dafacbd80876343b12628619d7cbe1bff675" + "7e3706111ed53898c0219823adbc044eaf8c6ad449df8f6aab9d444dadb5c3380eec0d91" + "694df5fc4b30280d4b87d27e67ae58a1df828963", + "daf5ec7a4eebc20d9485796c355b4a65ad254fe19b998d0507e91ea24135f45d", + "04137c465085c1b1b8cccbe9fccbe9d0295a331aaf332f3ed2e285d16e574b943bd3e8d5" + "a24cd218c19760b0e85b35a8569945aa857cbf0fd6a3ce127581b217b6", + "343251dffa56e6a612fec7b078f9c3819eab402a72686b894a47a08fd97e6c23", + "775e25a296bd259510ae9375f548997bec8a744900022945281dc8c4d94f2b5b", + "d87592ceab773ae103daebbb56a04144aaccb1e14efc1024dc36c0e382df1f70"}, + {NID_X9_62_prime256v1, NID_sha224, + "907c0c00dc080a688548957b5b8b1f33ba378de1368023dcad43242411f554eb7d392d3e" + "5c1668fad3944ff9634105343d83b8c85d2a988da5f5dc60ee0518327caed6dd5cf4e9bc" + "6222deb46d00abde745f9b71d6e7aee6c7fdfc9ed053f2c0b611d4c6863088bd012ea981" + "0ee94f8e58905970ebd07353f1f409a371ed03e3", + "8729a8396f262dabd991aa404cc1753581cea405f0d19222a0b3f210de8ee3c5", + "0482b1f1a7af9b48ca8452613d7032beb0e4f28fe710306aeccc959e4d03662a355e39f3" + "3574097b8d32b471a591972496f5d44db344c037d13f06fafc75f016fd", + "6de9e21f0b2cacc1762b3558fd44d3cf156b85dbef430dd28d59713bfb9cfa0b", + "a754b42720e71925d51fcef76151405a3696cc8f9fc9ca7b46d0b16edd7fb699", + "603924780439cc16ac4cf97c2c3065bc95353aa9179d0ab5f0322ca82f851cf2"}, + {NID_X9_62_prime256v1, NID_sha224, + "771c4d7bce05610a3e71b272096b57f0d1efcce33a1cb4f714d6ebc0865b2773ec5eedc2" + "5fae81dee1d256474dbd9676623614c150916e6ed92ce4430b26037d28fa5252ef6b10c0" + "9dc2f7ee5a36a1ea7897b69f389d9f5075e271d92f4eb97b148f3abcb1e5be0b4feb8278" + "613d18abf6da60bfe448238aa04d7f11b71f44c5", + "f1b62413935fc589ad2280f6892599ad994dae8ca3655ed4f7318cc89b61aa96", + "04e0bbfe4016eea93e6f509518cbffc25d492de6ebbf80465a461caa5bdc0181593231ee" + "7a119d84fa56e3034d50fea85929aec2eb437abc7646821e1bf805fb50", + "7a33eeb9f469afd55de2fb786847a1d3e7797929305c0f90d953b6f143bb8fc6", + "96d1c9399948254ea381631fc0f43ea808110506db8aacf081df5535ac5eb8ad", + "73bf3691260dddd9997c97313f2a70783eacf8d15bdfb34bb13025cdfae72f70"}, + {NID_X9_62_prime256v1, NID_sha224, + "a3b2825235718fc679b942e8ac38fb4f54415a213c65875b5453d18ca012320ddfbbc58b" + "991eaebadfc2d1a28d4f0cd82652b12e4d5bfda89eda3be12ac52188e38e8cce32a264a3" + "00c0e463631f525ae501348594f980392c76b4a12ddc88e5ca086cb8685d03895919a862" + "7725a3e00c4728e2b7c6f6a14fc342b2937fc3dd", + "4caaa26f93f009682bbba6db6b265aec17b7ec1542bda458e8550b9e68eed18d", + "04e3c58c1c254d11c7e781ad133e4c36dd1b5de362120d336a58e7b68813f3fbee59760d" + "b66120afe0d962c81a8e5586588fd19de2f40556371611c73af22c8a68", + "c0d37142dc8b0d614fad20c4d35af6eb819e259e513ddeac1e1c273e7e1dc1bb", + "25dd8e4086c62a40d2a310e2f90f6af5cb7e677b4dfdb4dc4e99e23ea2f0e6dc", + "90ad62c179b0c9d61f521dde1cd762bfd224b5525c39c3706f2549313ddb4f39"}, + {NID_X9_62_prime256v1, NID_sha224, + "3e6e2a9bffd729ee5d4807849cd4250021d8184cda723df6ab0e5c939d39237c8e58af9d" + "869fe62d3c97b3298a99e891e5e11aa68b11a087573a40a3e83c7965e7910d72f81cad0f" + "42accc5c25a4fd3cdd8cee63757bbbfbdae98be2bc867d3bcb1333c4632cb0a55dffeb77" + "d8b119c466cd889ec468454fabe6fbee7102deaf", + "7af4b150bb7167cb68037f280d0823ce5320c01a92b1b56ee1b88547481b1de9", + "04cb3634ec4f0cbb99986be788f889e586026d5a851e80d15382f1bdb1bda2bc7551e4e4" + "3bc16fb114896b18198a1aebe6054ba20ed0c0317c1b8776158c0e6bfb", + "98edd59fafbcaee5f64e84eb5ed59fff45d14aabada47cee2fa674377173627a", + "261a1cdb0fd93c0fb06ea6068b6b03c330a12f621a7eba76682a1d152c0e8d08", + "7ca049bad54feee101d6db807635ffb8bdb05a38e445c8c3d65d60df143514c5"}, + {NID_X9_62_prime256v1, NID_sha224, + "52e5c308e70329a17c71eaedb66bbee303c8ec48a6f1a2efb235d308563cd58553d434e1" + "2f353227a9ea28608ec9c820ed83c95124e7a886f7e832a2de1032e78dc059208f9ec354" + "170b2b1cab992b52ac01e6c0e4e1b0112686962edc53ab226dafcc9fc7baed2cd9307160" + "e8572edb125935db49289b178f35a8ad23f4f801", + "52ad53e849e30bec0e6345c3e9d98ebc808b19496c1ef16d72ab4a00bbb8c634", + "047cca1334bfc2a78728c50b370399be3f9690d445aa03c701da643eeb0b0f7fa83f7522" + "238668e615405e49b2f63faee58286000a30cdb4b564ac0df99bc8950f", + "8650c30712fc253610884fbba4a332a4574d4b7822f7776cab1df8f5fa05442a", + "a18194c7ac5829afc408d78dde19542837e7be82706c3941b2d9c5e036bb51e0", + "188ead1cdf7c1d21114ff56d0421ffd501ab978ef58337462c0fa736d86299af"}, + {NID_X9_62_prime256v1, NID_sha224, + "d3e9e82051d4c84d699453c9ff44c7c09f6523bb92232bcf30bf3c380224249de2964e87" + "1d56a364d6955c81ef91d06482a6c7c61bc70f66ef22fad128d15416e7174312619134f9" + "68f1009f92cbf99248932efb533ff113fb6d949e21d6b80dfbbe69010c8d1ccb0f3808ea" + "309bb0bac1a222168c95b088847e613749b19d04", + "80754962a864be1803bc441fa331e126005bfc6d8b09ed38b7e69d9a030a5d27", + "040aaeed6dd1ae020d6eefc98ec4241ac93cbd3c8afed05bb28007e7da5727571b2dda1d" + "5b7872eb94dfffb456115037ff8d3e72f8ebdd8fcfc42391f96809be69", + "738e050aeefe54ecba5be5f93a97bbcb7557d701f9da2d7e88483454b97b55a8", + "8cb9f41dfdcb9604e0725ac9b78fc0db916dc071186ee982f6dba3da36f02efa", + "5c87fe868fd4282fb114f5d70e9590a10a5d35cedf3ff6402ba5c4344738a32e"}, + {NID_X9_62_prime256v1, NID_sha224, + "968951c2c1918436fe19fa2fe2152656a08f9a6b8aa6201920f1b424da98cee71928897f" + "f087620cc5c551320b1e75a1e98d7d98a5bd5361c9393759614a6087cc0f7fb01fcb1737" + "83eb4c4c23961a8231ac4a07d72e683b0c1bd4c51ef1b031df875e7b8d5a6e0628949f5b" + "8f157f43dccaea3b2a4fc11181e6b451e06ceb37", + "cfa8c8bd810eb0d73585f36280ecdd296ee098511be8ad5eac68984eca8eb19d", + "04c227a2af15dfa8734e11c0c50f77e24e77ed58dd8cccf1b0e9fa06bee1c64766b68659" + "2ce3745eb300d2704083db55e1fa8274e4cb7e256889ccc0bb34a60570", + "2d6b449bb38b543d6b6d34ff8cb053f5e5b337f949b069b21f421995ebb28823", + "5e89d3c9b103c2fa3cb8cebeec23640acda0257d63ffbe2d509bfc49fab1dca6", + "d70c5b1eeb29e016af9925798d24e166c23d58fedd2f1a3bbdb1ef78cdbfb63a"}, + {NID_X9_62_prime256v1, NID_sha224, + "78048628932e1c1cdd1e70932bd7b76f704ba08d7e7d825d3de763bf1a062315f4af16ec" + "cefe0b6ebadccaf403d013f50833ce2c54e24eea8345e25f93b69bb048988d102240225c" + "eacf5003e2abdcc90299f4bf2c101585d36ecdd7a155953c674789d070480d1ef47cc785" + "8e97a6d87c41c6922a00ea12539f251826e141b4", + "b2021e2665ce543b7feadd0cd5a4bd57ffcc5b32deb860b4d736d9880855da3c", + "04722e0abad4504b7832a148746153777694714eca220eced2b2156ca64cfed3ddf0351b" + "357b3081e859c46cad5328c5afa10546e92bc6c3fd541796ac30397a75", + "b15bbce4b382145de7ecd670d947e77555ef7cd1693bd53c694e2b52b04d10e1", + "9d086dcd22da165a43091991bede9c1c14515e656633cb759ec2c17f51c35253", + "23595ad1cb714559faaecaf946beb9a71e584616030ceaed8a8470f4bf62768f"}, + {NID_X9_62_prime256v1, NID_sha224, + "9b0800c443e693067591737fdbcf0966fdfa50872d41d0c189d87cbc34c2771ee5e1255f" + "d604f09fcf167fda16437c245d299147299c69046895d22482db29aba37ff57f756716cd" + "3d6223077f747c4caffbecc0a7c9dfaaafd9a9817470ded8777e6355838ac54d11b2f0fc" + "3f43668ff949cc31de0c2d15af5ef17884e4d66a", + "0c9bce6a568ca239395fc3552755575cbcdddb1d89f6f5ab354517a057b17b48", + "044814d454495df7103e2da383aba55f7842fd84f1750ee5801ad32c10d0be6c7da0bd03" + "9d5097c8f0770477f6b18d247876e88e528bf0453eab515ffab8a9eda3", + "d414f1525cdcc41eba1652de017c034ebcc7946cb2efe4713d09f67c85b83153", + "84db02c678f9a21208cec8564d145a35ba8c6f26b4eb7e19522e439720dae44c", + "537c564da0d2dc5ac4376c5f0ca3b628d01d48df47a83d842c927e4d6db1e16d"}, + {NID_X9_62_prime256v1, NID_sha224, + "fc3b8291c172dae635a6859f525beaf01cf683765d7c86f1a4d768df7cae055f639eccc0" + "8d7a0272394d949f82d5e12d69c08e2483e11a1d28a4c61f18193106e12e5de4a9d0b4bf" + "341e2acd6b715dc83ae5ff63328f8346f35521ca378b311299947f63ec593a5e32e6bd11" + "ec4edb0e75302a9f54d21226d23314729e061016", + "1daa385ec7c7f8a09adfcaea42801a4de4c889fb5c6eb4e92bc611d596d68e3f", + "04f04e9f2831d9697ae146c7d4552e5f91085cc46778400b75b76f00205252941dbd2671" + "48174cd0c2b019cd0a5256e2f3f889d1e597160372b5a1339c8d787f10", + "7707db348ee6f60365b43a2a994e9b40ed56fe03c2c31c7e781bc4ffadcba760", + "5d95c385eeba0f15db0b80ae151912409128c9c80e554246067b8f6a36d85ea5", + "db5d8a1e345f883e4fcb3871276f170b783c1a1e9da6b6615913368a8526f1c3"}, + {NID_X9_62_prime256v1, NID_sha256, + "5905238877c77421f73e43ee3da6f2d9e2ccad5fc942dcec0cbd25482935faaf416983fe" + "165b1a045ee2bcd2e6dca3bdf46c4310a7461f9a37960ca672d3feb5473e253605fb1ddf" + "d28065b53cb5858a8ad28175bf9bd386a5e471ea7a65c17cc934a9d791e91491eb3754d0" + "3799790fe2d308d16146d5c9b0d0debd97d79ce8", + "519b423d715f8b581f4fa8ee59f4771a5b44c8130b4e3eacca54a56dda72b464", + "041ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83ce4014" + "c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9", + "94a1bbb14b906a61a280f245f9e93c7f3b4a6247824f5d33b9670787642a68de", + "f3ac8061b514795b8843e3d6629527ed2afd6b1f6a555a7acabb5e6f79c8c2ac", + "8bf77819ca05a6b2786c76262bf7371cef97b218e96f175a3ccdda2acc058903"}, + {NID_X9_62_prime256v1, NID_sha256, + "c35e2f092553c55772926bdbe87c9796827d17024dbb9233a545366e2e5987dd344deb72" + "df987144b8c6c43bc41b654b94cc856e16b96d7a821c8ec039b503e3d86728c494a967d8" + "3011a0e090b5d54cd47f4e366c0912bc808fbb2ea96efac88fb3ebec9342738e225f7c7c" + "2b011ce375b56621a20642b4d36e060db4524af1", + "0f56db78ca460b055c500064824bed999a25aaf48ebb519ac201537b85479813", + "04e266ddfdc12668db30d4ca3e8f7749432c416044f2d2b8c10bf3d4012aeffa8abfa864" + "04a2e9ffe67d47c587ef7a97a7f456b863b4d02cfc6928973ab5b1cb39", + "6d3e71882c3b83b156bb14e0ab184aa9fb728068d3ae9fac421187ae0b2f34c6", + "976d3a4e9d23326dc0baa9fa560b7c4e53f42864f508483a6473b6a11079b2db", + "1b766e9ceb71ba6c01dcd46e0af462cd4cfa652ae5017d4555b8eeefe36e1932"}, + {NID_X9_62_prime256v1, NID_sha256, + "3c054e333a94259c36af09ab5b4ff9beb3492f8d5b4282d16801daccb29f70fe61a0b37f" + "fef5c04cd1b70e85b1f549a1c4dc672985e50f43ea037efa9964f096b5f62f7ffdf8d6bf" + "b2cc859558f5a393cb949dbd48f269343b5263dcdb9c556eca074f2e98e6d94c2c29a677" + "afaf806edf79b15a3fcd46e7067b7669f83188ee", + "e283871239837e13b95f789e6e1af63bf61c918c992e62bca040d64cad1fc2ef", + "0474ccd8a62fba0e667c50929a53f78c21b8ff0c3c737b0b40b1750b2302b0bde829074e" + "21f3a0ef88b9efdf10d06aa4c295cc1671f758ca0e4cd108803d0f2614", + "ad5e887eb2b380b8d8280ad6e5ff8a60f4d26243e0124c2f31a297b5d0835de2", + "35fb60f5ca0f3ca08542fb3cc641c8263a2cab7a90ee6a5e1583fac2bb6f6bd1", + "ee59d81bc9db1055cc0ed97b159d8784af04e98511d0a9a407b99bb292572e96"}, + {NID_X9_62_prime256v1, NID_sha256, + "0989122410d522af64ceb07da2c865219046b4c3d9d99b01278c07ff63eaf1039cb787ae" + "9e2dd46436cc0415f280c562bebb83a23e639e476a02ec8cff7ea06cd12c86dcc3adefbf" + "1a9e9a9b6646c7599ec631b0da9a60debeb9b3e19324977f3b4f36892c8a38671c8e1cc8" + "e50fcd50f9e51deaf98272f9266fc702e4e57c30", + "a3d2d3b7596f6592ce98b4bfe10d41837f10027a90d7bb75349490018cf72d07", + "04322f80371bf6e044bc49391d97c1714ab87f990b949bc178cb7c43b7c22d89e13c15d5" + "4a5cc6b9f09de8457e873eb3deb1fceb54b0b295da6050294fae7fd999", + "24fc90e1da13f17ef9fe84cc96b9471ed1aaac17e3a4bae33a115df4e5834f18", + "d7c562370af617b581c84a2468cc8bd50bb1cbf322de41b7887ce07c0e5884ca", + "b46d9f2d8c4bf83546ff178f1d78937c008d64e8ecc5cbb825cb21d94d670d89"}, + {NID_X9_62_prime256v1, NID_sha256, + "dc66e39f9bbfd9865318531ffe9207f934fa615a5b285708a5e9c46b7775150e818d7f24" + "d2a123df3672fff2094e3fd3df6fbe259e3989dd5edfcccbe7d45e26a775a5c4329a084f" + "057c42c13f3248e3fd6f0c76678f890f513c32292dd306eaa84a59abe34b16cb5e38d0e8" + "85525d10336ca443e1682aa04a7af832b0eee4e7", + "53a0e8a8fe93db01e7ae94e1a9882a102ebd079b3a535827d583626c272d280d", + "041bcec4570e1ec2436596b8ded58f60c3b1ebc6a403bc5543040ba829630572448af62a" + "4c683f096b28558320737bf83b9959a46ad2521004ef74cf85e67494e1", + "5d833e8d24cc7a402d7ee7ec852a3587cddeb48358cea71b0bedb8fabe84e0c4", + "18caaf7b663507a8bcd992b836dec9dc5703c080af5e51dfa3a9a7c387182604", + "77c68928ac3b88d985fb43fb615fb7ff45c18ba5c81af796c613dfa98352d29c"}, + {NID_X9_62_prime256v1, NID_sha256, + "600974e7d8c5508e2c1aab0783ad0d7c4494ab2b4da265c2fe496421c4df238b0be25f25" + "659157c8a225fb03953607f7df996acfd402f147e37aee2f1693e3bf1c35eab3ae360a2b" + "d91d04622ea47f83d863d2dfecb618e8b8bdc39e17d15d672eee03bb4ce2cc5cf6b217e5" + "faf3f336fdd87d972d3a8b8a593ba85955cc9d71", + "4af107e8e2194c830ffb712a65511bc9186a133007855b49ab4b3833aefc4a1d", + "04a32e50be3dae2c8ba3f5e4bdae14cf7645420d425ead94036c22dd6c4fc59e00d623bf" + "641160c289d6742c6257ae6ba574446dd1d0e74db3aaa80900b78d4ae9", + "e18f96f84dfa2fd3cdfaec9159d4c338cd54ad314134f0b31e20591fc238d0ab", + "8524c5024e2d9a73bde8c72d9129f57873bbad0ed05215a372a84fdbc78f2e68", + "d18c2caf3b1072f87064ec5e8953f51301cada03469c640244760328eb5a05cb"}, + {NID_X9_62_prime256v1, NID_sha256, + "dfa6cb9b39adda6c74cc8b2a8b53a12c499ab9dee01b4123642b4f11af336a91a5c9ce05" + "20eb2395a6190ecbf6169c4cba81941de8e76c9c908eb843b98ce95e0da29c5d43880402" + "64e05e07030a577cc5d176387154eabae2af52a83e85c61c7c61da930c9b19e45d7e34c8" + "516dc3c238fddd6e450a77455d534c48a152010b", + "78dfaa09f1076850b3e206e477494cddcfb822aaa0128475053592c48ebaf4ab", + "048bcfe2a721ca6d753968f564ec4315be4857e28bef1908f61a366b1f03c974790f6757" + "6a30b8e20d4232d8530b52fb4c89cbc589ede291e499ddd15fe870ab96", + "295544dbb2da3da170741c9b2c6551d40af7ed4e891445f11a02b66a5c258a77", + "c5a186d72df452015480f7f338970bfe825087f05c0088d95305f87aacc9b254", + "84a58f9e9d9e735344b316b1aa1ab5185665b85147dc82d92e969d7bee31ca30"}, + {NID_X9_62_prime256v1, NID_sha256, + "51d2547cbff92431174aa7fc7302139519d98071c755ff1c92e4694b58587ea560f72f32" + "fc6dd4dee7d22bb7387381d0256e2862d0644cdf2c277c5d740fa089830eb52bf79d1e75" + "b8596ecf0ea58a0b9df61e0c9754bfcd62efab6ea1bd216bf181c5593da79f10135a9bc6" + "e164f1854bc8859734341aad237ba29a81a3fc8b", + "80e692e3eb9fcd8c7d44e7de9f7a5952686407f90025a1d87e52c7096a62618a", + "04a88bc8430279c8c0400a77d751f26c0abc93e5de4ad9a4166357952fe041e7672d365a" + "1eef25ead579cc9a069b6abc1b16b81c35f18785ce26a10ba6d1381185", + "7c80fd66d62cc076cef2d030c17c0a69c99611549cb32c4ff662475adbe84b22", + "9d0c6afb6df3bced455b459cc21387e14929392664bb8741a3693a1795ca6902", + "d7f9ddd191f1f412869429209ee3814c75c72fa46a9cccf804a2f5cc0b7e739f"}, + {NID_X9_62_prime256v1, NID_sha256, + "558c2ac13026402bad4a0a83ebc9468e50f7ffab06d6f981e5db1d082098065bcff6f21a" + "7a74558b1e8612914b8b5a0aa28ed5b574c36ac4ea5868432a62bb8ef0695d27c1e3ceaf" + "75c7b251c65ddb268696f07c16d2767973d85beb443f211e6445e7fe5d46f0dce70d58a4" + "cd9fe70688c035688ea8c6baec65a5fc7e2c93e8", + "5e666c0db0214c3b627a8e48541cc84a8b6fd15f300da4dff5d18aec6c55b881", + "041bc487570f040dc94196c9befe8ab2b6de77208b1f38bdaae28f9645c4d2bc3aec8160" + "2abd8345e71867c8210313737865b8aa186851e1b48eaca140320f5d8f", + "2e7625a48874d86c9e467f890aaa7cd6ebdf71c0102bfdcfa24565d6af3fdce9", + "2f9e2b4e9f747c657f705bffd124ee178bbc5391c86d056717b140c153570fd9", + "f5413bfd85949da8d83de83ab0d19b2986613e224d1901d76919de23ccd03199"}, + {NID_X9_62_prime256v1, NID_sha256, + "4d55c99ef6bd54621662c3d110c3cb627c03d6311393b264ab97b90a4b15214a5593ba25" + "10a53d63fb34be251facb697c973e11b665cb7920f1684b0031b4dd370cb927ca7168b0b" + "f8ad285e05e9e31e34bc24024739fdc10b78586f29eff94412034e3b606ed850ec2c1900" + "e8e68151fc4aee5adebb066eb6da4eaa5681378e", + "f73f455271c877c4d5334627e37c278f68d143014b0a05aa62f308b2101c5308", + "04b8188bd68701fc396dab53125d4d28ea33a91daf6d21485f4770f6ea8c565dde423f05" + "8810f277f8fe076f6db56e9285a1bf2c2a1dae145095edd9c04970bc4a", + "62f8665fd6e26b3fa069e85281777a9b1f0dfd2c0b9f54a086d0c109ff9fd615", + "1cc628533d0004b2b20e7f4baad0b8bb5e0673db159bbccf92491aef61fc9620", + "880e0bbf82a8cf818ed46ba03cf0fc6c898e36fca36cc7fdb1d2db7503634430"}, + {NID_X9_62_prime256v1, NID_sha256, + "f8248ad47d97c18c984f1f5c10950dc1404713c56b6ea397e01e6dd925e903b4fadfe2c9" + "e877169e71ce3c7fe5ce70ee4255d9cdc26f6943bf48687874de64f6cf30a012512e787b" + "88059bbf561162bdcc23a3742c835ac144cc14167b1bd6727e940540a9c99f3cbb41fb1d" + "cb00d76dda04995847c657f4c19d303eb09eb48a", + "b20d705d9bd7c2b8dc60393a5357f632990e599a0975573ac67fd89b49187906", + "0451f99d2d52d4a6e734484a018b7ca2f895c2929b6754a3a03224d07ae61166ce4737da" + "963c6ef7247fb88d19f9b0c667cac7fe12837fdab88c66f10d3c14cad1", + "72b656f6b35b9ccbc712c9f1f3b1a14cbbebaec41c4bca8da18f492a062d6f6f", + "9886ae46c1415c3bc959e82b760ad760aab66885a84e620aa339fdf102465c42", + "2bf3a80bc04faa35ebecc0f4864ac02d349f6f126e0f988501b8d3075409a26c"}, + {NID_X9_62_prime256v1, NID_sha256, + "3b6ee2425940b3d240d35b97b6dcd61ed3423d8e71a0ada35d47b322d17b35ea0472f35e" + "dd1d252f87b8b65ef4b716669fc9ac28b00d34a9d66ad118c9d94e7f46d0b4f6c2b2d339" + "fd6bcd351241a387cc82609057048c12c4ec3d85c661975c45b300cb96930d89370a327c" + "98b67defaa89497aa8ef994c77f1130f752f94a4", + "d4234bebfbc821050341a37e1240efe5e33763cbbb2ef76a1c79e24724e5a5e7", + "048fb287f0202ad57ae841aea35f29b2e1d53e196d0ddd9aec24813d64c0922fb71f6daf" + "f1aa2dd2d6d3741623eecb5e7b612997a1039aab2e5cf2de969cfea573", + "d926fe10f1bfd9855610f4f5a3d666b1a149344057e35537373372ead8b1a778", + "490efd106be11fc365c7467eb89b8d39e15d65175356775deab211163c2504cb", + "644300fc0da4d40fb8c6ead510d14f0bd4e1321a469e9c0a581464c7186b7aa7"}, + {NID_X9_62_prime256v1, NID_sha256, + "c5204b81ec0a4df5b7e9fda3dc245f98082ae7f4efe81998dcaa286bd4507ca840a53d21" + "b01e904f55e38f78c3757d5a5a4a44b1d5d4e480be3afb5b394a5d2840af42b1b4083d40" + "afbfe22d702f370d32dbfd392e128ea4724d66a3701da41ae2f03bb4d91bb946c7969404" + "cb544f71eb7a49eb4c4ec55799bda1eb545143a7", + "b58f5211dff440626bb56d0ad483193d606cf21f36d9830543327292f4d25d8c", + "0468229b48c2fe19d3db034e4c15077eb7471a66031f28a980821873915298ba76303e8e" + "e3742a893f78b810991da697083dd8f11128c47651c27a56740a80c24c", + "e158bf4a2d19a99149d9cdb879294ccb7aaeae03d75ddd616ef8ae51a6dc1071", + "e67a9717ccf96841489d6541f4f6adb12d17b59a6bef847b6183b8fcf16a32eb", + "9ae6ba6d637706849a6a9fc388cf0232d85c26ea0d1fe7437adb48de58364333"}, + {NID_X9_62_prime256v1, NID_sha256, + "72e81fe221fb402148d8b7ab03549f1180bcc03d41ca59d7653801f0ba853add1f6d29ed" + "d7f9abc621b2d548f8dbf8979bd16608d2d8fc3260b4ebc0dd42482481d548c7075711b5" + "759649c41f439fad69954956c9326841ea6492956829f9e0dc789f73633b40f6ac77bcae" + "6dfc7930cfe89e526d1684365c5b0be2437fdb01", + "54c066711cdb061eda07e5275f7e95a9962c6764b84f6f1f3ab5a588e0a2afb1", + "040a7dbb8bf50cb605eb2268b081f26d6b08e012f952c4b70a5a1e6e7d46af98bbf26dd7" + "d799930062480849962ccf5004edcfd307c044f4e8f667c9baa834eeae", + "646fe933e96c3b8f9f507498e907fdd201f08478d0202c752a7c2cfebf4d061a", + "b53ce4da1aa7c0dc77a1896ab716b921499aed78df725b1504aba1597ba0c64b", + "d7c246dc7ad0e67700c373edcfdd1c0a0495fc954549ad579df6ed1438840851"}, + {NID_X9_62_prime256v1, NID_sha256, + "21188c3edd5de088dacc1076b9e1bcecd79de1003c2414c3866173054dc82dde85169baa" + "77993adb20c269f60a5226111828578bcc7c29e6e8d2dae81806152c8ba0c6ada1986a19" + "83ebeec1473a73a04795b6319d48662d40881c1723a706f516fe75300f92408aa1dc6ae4" + "288d2046f23c1aa2e54b7fb6448a0da922bd7f34", + "34fa4682bf6cb5b16783adcd18f0e6879b92185f76d7c920409f904f522db4b1", + "04105d22d9c626520faca13e7ced382dcbe93498315f00cc0ac39c4821d0d737376c47f3" + "cbbfa97dfcebe16270b8c7d5d3a5900b888c42520d751e8faf3b401ef4", + "a6f463ee72c9492bc792fe98163112837aebd07bab7a84aaed05be64db3086f4", + "542c40a18140a6266d6f0286e24e9a7bad7650e72ef0e2131e629c076d962663", + "4f7f65305e24a6bbb5cff714ba8f5a2cee5bdc89ba8d75dcbf21966ce38eb66f"}, + {NID_X9_62_prime256v1, NID_sha384, + "e0b8596b375f3306bbc6e77a0b42f7469d7e83635990e74aa6d713594a3a24498feff500" + "6790742d9c2e9b47d714bee932435db747c6e733e3d8de41f2f91311f2e9fd8e02565163" + "1ffd84f66732d3473fbd1627e63dc7194048ebec93c95c159b5039ab5e79e42c80b484a9" + "43f125de3da1e04e5bf9c16671ad55a1117d3306", + "b6faf2c8922235c589c27368a3b3e6e2f42eb6073bf9507f19eed0746c79dced", + "04e0e7b99bc62d8dd67883e39ed9fa0657789c5ff556cc1fd8dd1e2a55e9e3f24363fbfd" + "0232b95578075c903a4dbf85ad58f8350516e1ec89b0ee1f5e1362da69", + "9980b9cdfcef3ab8e219b9827ed6afdd4dbf20bd927e9cd01f15762703487007", + "f5087878e212b703578f5c66f434883f3ef414dc23e2e8d8ab6a8d159ed5ad83", + "306b4c6c20213707982dffbb30fba99b96e792163dd59dbe606e734328dd7c8a"}, + {NID_X9_62_prime256v1, NID_sha384, + "099a0131179fff4c6928e49886d2fdb3a9f239b7dd5fa828a52cbbe3fcfabecfbba3e192" + "159b887b5d13aa1e14e6a07ccbb21f6ad8b7e88fee6bea9b86dea40ffb962f38554056fb" + "7c5bb486418915f7e7e9b9033fe3baaf9a069db98bc02fa8af3d3d1859a11375d6f98aa2" + "ce632606d0800dff7f55b40f971a8586ed6b39e9", + "118958fd0ff0f0b0ed11d3cf8fa664bc17cdb5fed1f4a8fc52d0b1ae30412181", + "04afda82260c9f42122a3f11c6058839488f6d7977f6f2a263c67d06e27ea2c3550ae2bb" + "dd2207c590332c5bfeb4c8b5b16622134bd4dc55382ae806435468058b", + "23129a99eeda3d99a44a5778a46e8e7568b91c31fb7a8628c5d9820d4bed4a6b", + "e446600cab1286ebc3bb332012a2f5cc33b0a5ef7291d5a62a84de5969d77946", + "cf89b12793ee1792eb26283b48fa0bdcb45ae6f6ad4b02564bf786bb97057d5a"}, + {NID_X9_62_prime256v1, NID_sha384, + "0fbc07ea947c946bea26afa10c51511039b94ddbc4e2e4184ca3559260da24a14522d149" + "7ca5e77a5d1a8e86583aeea1f5d4ff9b04a6aa0de79cd88fdb85e01f171143535f2f7c23" + "b050289d7e05cebccdd131888572534bae0061bdcc3015206b9270b0d5af9f1da2f9de91" + "772d178a632c3261a1e7b3fb255608b3801962f9", + "3e647357cd5b754fad0fdb876eaf9b1abd7b60536f383c81ce5745ec80826431", + "04702b2c94d039e590dd5c8f9736e753cf5824aacf33ee3de74fe1f5f7c858d5ed0c2889" + "4e907af99fb0d18c9e98f19ac80dd77abfa4bebe45055c0857b82a0f4d", + "9beab7722f0bcb468e5f234e074170a60225255de494108459abdf603c6e8b35", + "c4021fb7185a07096547af1fb06932e37cf8bd90cf593dea48d48614fa237e5e", + "7fb45d09e2172bec8d3e330aa06c43fbb5f625525485234e7714b7f6e92ba8f1"}, + {NID_X9_62_prime256v1, NID_sha384, + "1e38d750d936d8522e9db1873fb4996bef97f8da3c6674a1223d29263f1234a90b751785" + "316444e9ba698bc8ab6cd010638d182c9adad4e334b2bd7529f0ae8e9a52ad60f59804b2" + "d780ed52bdd33b0bf5400147c28b4304e5e3434505ae7ce30d4b239e7e6f0ecf058badd5" + "b388eddbad64d24d2430dd04b4ddee98f972988f", + "76c17c2efc99891f3697ba4d71850e5816a1b65562cc39a13da4b6da9051b0fd", + "04d12512e934c367e4c4384dbd010e93416840288a0ba00b299b4e7c0d91578b57ebf883" + "5661d9b578f18d14ae4acf9c357c0dc8b7112fc32824a685ed72754e23", + "77cffa6f9a73904306f9fcd3f6bbb37f52d71e39931bb4aec28f9b076e436ccf", + "4d5a9d95b0f09ce8704b0f457b39059ee606092310df65d3f8ae7a2a424cf232", + "7d3c014ca470a73cef1d1da86f2a541148ad542fbccaf9149d1b0b030441a7eb"}, + {NID_X9_62_prime256v1, NID_sha384, + "abcf0e0f046b2e0672d1cc6c0a114905627cbbdefdf9752f0c31660aa95f2d0ede72d179" + "19a9e9b1add3213164e0c9b5ae3c76f1a2f79d3eeb444e6741521019d8bd5ca391b28c10" + "63347f07afcfbb705be4b52261c19ebaf1d6f054a74d86fb5d091fa7f229450996b76f0a" + "da5f977b09b58488eebfb5f5e9539a8fd89662ab", + "67b9dea6a575b5103999efffce29cca688c781782a41129fdecbce76608174de", + "04b4238b029fc0b7d9a5286d8c29b6f3d5a569e9108d44d889cd795c4a385905be8cb3ff" + "f8f6cca7187c6a9ad0a2b1d9f40ae01b32a7e8f8c4ca75d71a1fffb309", + "d02617f26ede3584f0afcfc89554cdfb2ae188c192092fdde3436335fafe43f1", + "26fd9147d0c86440689ff2d75569795650140506970791c90ace0924b44f1586", + "00a34b00c20a8099df4b0a757cbef8fea1cb3ea7ced5fbf7e987f70b25ee6d4f"}, + {NID_X9_62_prime256v1, NID_sha384, + "dc3d4884c741a4a687593c79fb4e35c5c13c781dca16db561d7e393577f7b62ca41a6e25" + "9fc1fb8d0c4e1e062517a0fdf95558b7799f20c211796167953e6372c11829beec64869d" + "67bf3ee1f1455dd87acfbdbcc597056e7fb347a17688ad32fda7ccc3572da7677d7255c2" + "61738f07763cd45973c728c6e9adbeecadc3d961", + "ecf644ea9b6c3a04fdfe2de4fdcb55fdcdfcf738c0b3176575fa91515194b566", + "04c3bdc7c795ec94620a2cfff614c13a3390a5e86c892e53a24d3ed22228bc85bf70480f" + "c5cf4aacd73e24618b61b5c56c1ced8c4f1b869580ea538e68c7a61ca3", + "53291d51f68d9a12d1dcdc58892b2f786cc15f631f16997d2a49bace513557d4", + "a860c8b286edf973ce4ce4cf6e70dc9bbf3818c36c023a845677a9963705df8b", + "5630f986b1c45e36e127dd7932221c4272a8cc6e255e89f0f0ca4ec3a9f76494"}, + {NID_X9_62_prime256v1, NID_sha384, + "719bf1911ae5b5e08f1d97b92a5089c0ab9d6f1c175ac7199086aeeaa416a17e6d6f8486" + "c711d386f284f096296689a54d330c8efb0f5fa1c5ba128d3234a3da856c2a94667ef710" + "3616a64c913135f4e1dc50e38daa60610f732ad1bedfcc396f87169392520314a6b6b9af" + "6793dbabad4599525228cc7c9c32c4d8e097ddf6", + "4961485cbc978f8456ec5ac7cfc9f7d9298f99415ecae69c8491b258c029bfee", + "048d40bf2299e05d758d421972e81cfb0cce68b949240dc30f315836acc70bef035674e6" + "f77f8b46f46cca937d83b128dffbe9bd7e0d3d08aa2cbbfdfb16f72c9a", + "373a825b5a74b7b9e02f8d4d876b577b4c3984168d704ba9f95b19c05ed590af", + "ef6fb386ad044b63feb7445fa16b10319018e9cea9ef42bca83bdad01992234a", + "ac1f42f652eb1786e57be01d847c81f7efa072ba566d4583af4f1551a3f76c65"}, + {NID_X9_62_prime256v1, NID_sha384, + "7cf19f4c851e97c5bca11a39f0074c3b7bd3274e7dd75d0447b7b84995dfc9f716bf08c2" + "5347f56fcc5e5149cb3f9cfb39d408ace5a5c47e75f7a827fa0bb9921bb5b23a6053dbe1" + "fa2bba341ac874d9b1333fc4dc224854949f5c8d8a5fedd02fb26fdfcd3be351aec0fcbe" + "f18972956c6ec0effaf057eb4420b6d28e0c008c", + "587907e7f215cf0d2cb2c9e6963d45b6e535ed426c828a6ea2fb637cca4c5cbd", + "04660da45c413cc9c9526202c16b402af602d30daaa7c342f1e722f15199407f31e6f8cb" + "b06913cc718f2d69ba2fb3137f04a41c27c676d1a80fbf30ea3ca46439", + "6b8eb7c0d8af9456b95dd70561a0e902863e6dfa1c28d0fd4a0509f1c2a647b2", + "08fabf9b57de81875bfa7a4118e3e44cfb38ec6a9b2014940207ba3b1c583038", + "a58d199b1deba7350616230d867b2747a3459421811c291836abee715b8f67b4"}, + {NID_X9_62_prime256v1, NID_sha384, + "b892ffabb809e98a99b0a79895445fc734fa1b6159f9cddb6d21e510708bdab6076633ac" + "30aaef43db566c0d21f4381db46711fe3812c5ce0fb4a40e3d5d8ab24e4e82d3560c6dc7" + "c37794ee17d4a144065ef99c8d1c88bc22ad8c4c27d85ad518fa5747ae35276fc104829d" + "3f5c72fc2a9ea55a1c3a87007cd133263f79e405", + "24b1e5676d1a9d6b645a984141a157c124531feeb92d915110aef474b1e27666", + "04b4909a5bdf25f7659f4ef35e4b811429fb2c59126e3dad09100b46aea6ebe7a6760ae0" + "15fa6af5c9749c4030fdb5de6e58c6b5b1944829105cf7edf7d3a22cfb", + "88794923d8943b5dbcc7a7a76503880ff7da632b0883aaa60a9fcc71bf880fd6", + "6ec9a340b77fae3c7827fa96d997e92722ff2a928217b6dd3c628f3d49ae4ce6", + "637b54bbcfb7e7d8a41ea317fcfca8ad74eb3bb6b778bc7ef9dec009281976f7"}, + {NID_X9_62_prime256v1, NID_sha384, + "8144e37014c95e13231cbd6fa64772771f93b44e37f7b02f592099cc146343edd4f4ec9f" + "a1bc68d7f2e9ee78fc370443aa2803ff4ca52ee49a2f4daf2c8181ea7b8475b3a0f608fc" + "3279d09e2d057fbe3f2ffbe5133796124781299c6da60cfe7ecea3abc30706ded2cdf18f" + "9d788e59f2c31662df3abe01a9b12304fb8d5c8c", + "bce49c7b03dcdc72393b0a67cf5aa5df870f5aaa6137ada1edc7862e0981ec67", + "04c786d9421d67b72b922cf3def2a25eeb5e73f34543eb50b152e738a98afb0ca5679627" + "1e79e2496f9e74b126b1123a3d067de56b5605d6f51c8f6e1d5bb93aba", + "89e690d78a5e0d2b8ce9f7fcbf34e2605fd9584760fa7729043397612dd21f94", + "07e5054c384839584624e8d730454dc27e673c4a90cbf129d88b91250341854d", + "f7e665b88614d0c5cbb3007cafe713763d81831525971f1747d92e4d1ca263a7"}, + {NID_X9_62_prime256v1, NID_sha384, + "a3683d120807f0a030feed679785326698c3702f1983eaba1b70ddfa7f0b3188060b845e" + "2b67ed57ee68087746710450f7427cb34655d719c0acbc09ac696adb4b22aba1b9322b71" + "11076e67053a55f62b501a4bca0ad9d50a868f51aeeb4ef27823236f5267e8da83e14304" + "7422ce140d66e05e44dc84fb3a4506b2a5d7caa8", + "73188a923bc0b289e81c3db48d826917910f1b957700f8925425c1fb27cabab9", + "0486662c014ab666ee770723be8da38c5cd299efc6480fc6f8c3603438fa8397b9f26b33" + "07a650c3863faaa5f642f3ba1384c3d3a02edd3d48c657c269609cc3fc", + "ec90584ab3b383b590626f36ed4f5110e49888aec7ae7a9c5ea62dd2dc378666", + "13e9ad59112fde3af4163eb5c2400b5e9a602576d5869ac1c569075f08c90ff6", + "708ac65ff2b0baaccc6dd954e2a93df46016bd04457636de06798fcc17f02be5"}, + {NID_X9_62_prime256v1, NID_sha384, + "b1df8051b213fc5f636537e37e212eb20b2423e6467a9c7081336a870e6373fc835899d5" + "9e546c0ac668cc81ce4921e88f42e6da2a109a03b4f4e819a17c955b8d099ec6b282fb49" + "5258dca13ec779c459da909475519a3477223c06b99afbd77f9922e7cbef844b93f3ce5f" + "50db816b2e0d8b1575d2e17a6b8db9111d6da578", + "f637d55763fe819541588e0c603f288a693cc66823c6bb7b8e003bd38580ebce", + "0474a4620c578601475fc169a9b84be613b4a16cb6acab8fd98848a6ec9fbd133d42b9e3" + "5d347c107e63bd55f525f915bcf1e3d2b81d002d3c39acf10fc30645a1", + "4d578f5099636234d9c1d566f1215d5d887ae5d47022be17dbf32a11a03f053b", + "113a933ebc4d94ce1cef781e4829df0c493b0685d39fb2048ce01b21c398dbba", + "3005bd4ec63dbd04ce9ff0c6246ad65d27fcf62edb2b7e461589f9f0e7446ffd"}, + {NID_X9_62_prime256v1, NID_sha384, + "0b918ede985b5c491797d0a81446b2933be312f419b212e3aae9ba5914c00af431747a9d" + "287a7c7761e9bcbc8a12aaf9d4a76d13dad59fc742f8f218ef66eb67035220a07acc1a35" + "7c5b562ecb6b895cf725c4230412fefac72097f2c2b829ed58742d7c327cad0f1058df1b" + "ddd4ae9c6d2aba25480424308684cecd6517cdd8", + "2e357d51517ff93b821f895932fddded8347f32596b812308e6f1baf7dd8a47f", + "047e4078a1d50c669fb2996dd9bacb0c3ac7ede4f58fa0fa1222e78dbf5d1f41860014e4" + "6e90cc171fbb83ea34c6b78202ea8137a7d926f0169147ed5ae3d6596f", + "be522b0940b9a40d84bf790fe6abdc252877e671f2efa63a33a65a512fc2aa5c", + "a26b9ad775ac37ff4c7f042cdc4872c5e4e5e800485f488ddfaaed379f468090", + "f88eae2019bebbba62b453b8ee3472ca5c67c267964cffe0cf2d2933c1723dff"}, + {NID_X9_62_prime256v1, NID_sha384, + "0fab26fde1a4467ca930dbe513ccc3452b70313cccde2994eead2fde85c8da1db84d7d06" + "a024c9e88629d5344224a4eae01b21a2665d5f7f36d5524bf5367d7f8b6a71ea05d413d4" + "afde33777f0a3be49c9e6aa29ea447746a9e77ce27232a550b31dd4e7c9bc8913485f2dc" + "83a56298051c92461fd46b14cc895c300a4fb874", + "77d60cacbbac86ab89009403c97289b5900466856887d3e6112af427f7f0f50b", + "04a62032dfdb87e25ed0c70cad20d927c7effeb2638e6c88ddd670f74df16090e544c5ee" + "2cf740ded468f5d2efe13daa7c5234645a37c073af35330d03a4fed976", + "06c1e692b045f425a21347ecf72833d0242906c7c1094f805566cdcb1256e394", + "eb173b51fb0aec318950d097e7fda5c34e529519631c3e2c9b4550b903da417d", + "ca2c13574bf1b7d56e9dc18315036a31b8bceddf3e2c2902dcb40f0cc9e31b45"}, + {NID_X9_62_prime256v1, NID_sha384, + "7843f157ef8566722a7d69da67de7599ee65cb3975508f70c612b3289190e364141781e0" + "b832f2d9627122742f4b5871ceeafcd09ba5ec90cae6bcc01ae32b50f13f63918dfb5177" + "df9797c6273b92d103c3f7a3fc2050d2b196cc872c57b77f9bdb1782d4195445fcc6236d" + "d8bd14c8bcbc8223a6739f6a17c9a861e8c821a6", + "486854e77962117f49e09378de6c9e3b3522fa752b10b2c810bf48db584d7388", + "04760b5624bd64d19c866e54ccd74ad7f98851afdbc3ddeae3ec2c52a135be9cfafeca15" + "ce9350877102eee0f5af18b2fed89dc86b7df0bf7bc2963c1638e36fe8", + "e4f77c6442eca239b01b0254e11a4182782d96f48ab521cc3d1d68df12b5a41a", + "bdff14e4600309c2c77f79a25963a955b5b500a7b2d34cb172cd6acd52905c7b", + "b0479cdb3df79923ec36a104a129534c5d59f622be7d613aa04530ad2507d3a2"}, + {NID_X9_62_prime256v1, NID_sha512, + "6c8572b6a3a4a9e8e03dbeed99334d41661b8a8417074f335ab1845f6cc852adb8c01d98" + "20fcf8e10699cc827a8fbdca2cbd46cc66e4e6b7ba41ec3efa733587e4a30ec552cd8dda" + "b8163e148e50f4d090782897f3ddac84a41e1fcfe8c56b6152c0097b0d634b41011471ff" + "d004f43eb4aafc038197ec6bae2b4470e869bded", + "9dd0d3a3d514c2a8adb162b81e3adfba3299309f7d2018f607bdb15b1a25f499", + "046b738de3398b6ac57b9591f9d7985dd4f32137ad3460dcf8970c1390cb9eaf8d83bc61" + "e26d2bbbd3cf2d2ab445a2bc4ab5dde41f4a13078fd1d3cc36ab596d57", + "9106192170ccb3c64684d48287bb81bbed51b40d503462c900e5c7aae43e380a", + "275fa760878b4dc05e9d157fedfd8e9b1c9c861222a712748cb4b7754c043fb1", + "699d906bb8435a05345af3b37e3b357786939e94caae257852f0503adb1e0f7e"}, + {NID_X9_62_prime256v1, NID_sha512, + "7e3c8fe162d48cc8c5b11b5e5ebc05ebc45c439bdbc0b0902145921b8383037cb0812222" + "031598cd1a56fa71694fbd304cc62938233465ec39c6e49f57dfe823983b6923c4e86563" + "3949183e6b90e9e06d8275f3907d97967d47b6239fe2847b7d49cf16ba69d2862083cf1b" + "ccf7afe34fdc90e21998964107b64abe6b89d126", + "f9bf909b7973bf0e3dad0e43dcb2d7fa8bda49dbe6e5357f8f0e2bd119be30e6", + "04f2a6674d4e86152a527199bed293fa63acde1b4d8a92b62e552210ba45c38792c72565" + "c24f0eee6a094af341ddd8579747b865f91c8ed5b44cda8a19cc93776f", + "e547791f7185850f03d0c58419648f65b9d29cdc22ed1de2a64280220cfcafba", + "4782903d2aaf8b190dab5cae2223388d2d8bd845b3875d37485c54e1ded1d3d8", + "dfb40e406bfa074f0bf832771b2b9f186e2211f0bca279644a0ca8559acf39da"}, + {NID_X9_62_prime256v1, NID_sha512, + "d5aa8ac9218ca661cd177756af6fbb5a40a3fecfd4eea6d5872fbb9a2884784aa9b5f0c0" + "23a6e0da5cf6364754ee6465b4ee2d0ddc745b02994c98427a213c849537da5a4477b3ab" + "fe02648be67f26e80b56a33150490d062aaac137aa47f11cfeddba855bab9e4e028532a5" + "63326d927f9e6e3292b1fb248ee90b6f429798db", + "724567d21ef682dfc6dc4d46853880cfa86fe6fea0efd51fac456f03c3d36ead", + "0470b877b5e365fcf08140b1eca119baba662879f38e059d074a2cb60b03ea5d395f56f9" + "4d591df40b9f3b8763ac4b3dbe622c956d5bd0c55658b6f46fa3deb201", + "79d6c967ed23c763ece9ca4b026218004c84dc2d4ccc86cf05c5d0f791f6279b", + "2ba2ea2d316f8937f184ad3028e364574d20a202e4e7513d7af57ac2456804d1", + "64fe94968d18c5967c799e0349041b9e40e6c6c92ebb475e80dd82f51cf07320"}, + {NID_X9_62_prime256v1, NID_sha512, + "790b06054afc9c3fc4dfe72df19dd5d68d108cfcfca6212804f6d534fd2fbe489bd8f64b" + "f205ce04bcb50124a12ce5238fc3fe7dd76e6fa640206af52549f133d593a1bfd423ab73" + "7f3326fa79433cde293236f90d4238f0dd38ed69492ddbd9c3eae583b6325a95dec3166f" + "e52b21658293d8c137830ef45297d67813b7a508", + "29c5d54d7d1f099d50f949bfce8d6073dae059c5a19cc70834722f18a7199edd", + "043088d4f45d274cc5f418c8ecc4cbcf96be87491f420250f8cbc01cdf2503ec47634db4" + "8198129237ed068c88ff5809f6211921a6258f548f4b64dd125921b78b", + "0508ad7774908b5705895fda5c3b7a3032bf85dab7232bf981177019f3d76460", + "acd9f3b63626c5f32103e90e1dd1695907b1904aa9b14f2132caef331321971b", + "15c04a8bd6c13ed5e9961814b2f406f064670153e4d5465dcef63c1d9dd52a87"}, + {NID_X9_62_prime256v1, NID_sha512, + "6d549aa87afdb8bfa60d22a68e2783b27e8db46041e4df04be0c261c4734b608a96f198d" + "1cdb8d082ae48579ec9defcf21fbc72803764a58c31e5323d5452b9fb57c8991d3174914" + "0da7ef067b18bf0d7dfbae6eefd0d8064f334bf7e9ec1e028daed4e86e17635ec2e409a3" + "ed1238048a45882c5c57501b314e636b9bc81cbe", + "0d8095da1abba06b0d349c226511f642dabbf1043ad41baa4e14297afe8a3117", + "0475a45758ced45ecf55f755cb56ca2601d794ebeaeb2e6107fe2fc443f580e23c5303d4" + "7d5a75ec821d51a2ee7548448208c699eca0cd89810ffc1aa4faf81ead", + "5165c54def4026ab648f7768c4f1488bcb183f6db7ffe02c7022a529a116482a", + "ebc85fc4176b446b3384ccc62fc2526b45665561a0e7e9404ac376c90e450b59", + "8b2c09428e62c5109d17ed0cf8f9fd7c370d018a2a73f701effc9b17d04852c6"}, + {NID_X9_62_prime256v1, NID_sha512, + "1906e48b7f889ee3ff7ab0807a7aa88f53f4018808870bfed6372a77330c737647961324" + "c2b4d46f6ee8b01190474951a701b048ae86579ff8e3fc889fecf926b17f98958ac7534e" + "6e781ca2db2baa380dec766cfb2a3eca2a9d5818967d64dfab84f768d24ec122eebacaab" + "0a4dc3a75f37331bb1c43dd8966cc09ec4945bbd", + "52fe57da3427b1a75cb816f61c4e8e0e0551b94c01382b1a80837940ed579e61", + "042177e20a2092a46667debdcc21e7e45d6da72f124adecbc5ada6a7bcc7b401d5550e46" + "8f2626070a080afeeb98edd75a721eb773c8e62149f3e903cf9c4d7b61", + "0464fe9674b01ff5bd8be21af3399fad66f90ad30f4e8ee6e2eb9bcccfd5185c", + "f8250f073f34034c1cde58f69a85e2f5a030703ebdd4dbfb98d3b3690db7d114", + "a9e83e05f1d6e0fef782f186bedf43684c825ac480174d48b0e4d31505e27498"}, + {NID_X9_62_prime256v1, NID_sha512, + "7b59fef13daf01afec35dea3276541be681c4916767f34d4e874464d20979863ee77ad0f" + "d1635bcdf93e9f62ed69ae52ec90aab5bbf87f8951213747ccec9f38c775c1df1e9d7f73" + "5c2ce39b42edb3b0c5086247556cfea539995c5d9689765288ec600848ecf085c01ca738" + "bbef11f5d12d4457db988b4add90be00781024ad", + "003d91611445919f59bfe3ca71fe0bfdeb0e39a7195e83ac03a37c7eceef0df2", + "047b9c592f61aae0555855d0b9ebb6fd00fb6746e8842e2523565c858630b9ba00d35b2e" + "168b1875bbc563bea5e8d63c4e38957c774a65e762959a349eaf263ba0", + "ef9df291ea27a4b45708f7608723c27d7d56b7df0599a54bc2c2fabbff373b40", + "66d057fd39958b0e4932bacd70a1769bbadcb62e4470937b45497a3d4500fabb", + "6c853b889e18b5a49ee54b54dd1aaedfdd642e30eba171c5cab677f0df9e7318"}, + {NID_X9_62_prime256v1, NID_sha512, + "041a6767a935dc3d8985eb4e608b0cbfebe7f93789d4200bcfe595277ac2b0f402889b58" + "0b72def5da778a680fd380c955421f626d52dd9a83ea180187b850e1b72a4ec6dd63235e" + "598fd15a9b19f8ce9aec1d23f0bd6ea4d92360d50f951152bc9a01354732ba0cf90aaed3" + "3c307c1de8fa3d14f9489151b8377b57c7215f0b", + "48f13d393899cd835c4193670ec62f28e4c4903e0bbe5817bf0996831a720bb7", + "0482a1a96f4648393c5e42633ecdeb1d8245c78c5ea236b5bab460dedcc8924bc0e8cbf0" + "3c34b5154f876de19f3bb6fd43cd2eabf6e7c95467bcfa8c8fc42d76fd", + "efed736e627899fea944007eea39a4a63c0c2e26491cd12adb546be3e5c68f7d", + "cf7fc24bdaa09ac0cca8497e13298b961380668613c7493954048c06385a7044", + "f38b1c8306cf82ab76ee3a772b14416b49993fe11f986e9b0f0593c52ec91525"}, + {NID_X9_62_prime256v1, NID_sha512, + "7905a9036e022c78b2c9efd40b77b0a194fbc1d45462779b0b76ad30dc52c564e48a493d" + "8249a061e62f26f453ba566538a4d43c64fb9fdbd1f36409316433c6f074e1b47b544a84" + "7de25fc67d81ac801ed9f7371a43da39001c90766f943e629d74d0436ba1240c3d7fab99" + "0d586a6d6ef1771786722df56448815f2feda48f", + "95c99cf9ec26480275f23de419e41bb779590f0eab5cf9095d37dd70cb75e870", + "0442c292b0fbcc9f457ae361d940a9d45ad9427431a105a6e5cd90a345fe3507f7313b08" + "fd2fa351908b3178051ee782cc62b9954ad95d4119aa564900f8ade70c", + "4c08dd0f8b72ae9c674e1e448d4e2afe3a1ee69927fa23bbff3716f0b99553b7", + "f2bc35eb1b8488b9e8d4a1dbb200e1abcb855458e1557dc1bf988278a174eb3b", + "ed9a2ec043a1d578e8eba6f57217976310e8674385ad2da08d6146c629de1cd9"}, + {NID_X9_62_prime256v1, NID_sha512, + "cf25e4642d4f39d15afb7aec79469d82fc9aedb8f89964e79b749a852d931d3743650280" + "4e39555f5a3c75dd958fd5291ada647c1a5e38fe7b1048f16f2b711fdd5d39acc0812ca6" + "5bd50d7f8119f2fd195ab16633503a78ee9102c1f9c4c22568e0b54bd4fa3f5ff7b49160" + "bf23e7e2231b1ebebbdaf0e4a7d4484158a87e07", + "e15e835d0e2217bc7c6f05a498f20af1cd56f2f165c23d225eb3360aa2c5cbcf", + "0489dd22052ec3ab4840206a62f2270c21e7836d1a9109a3407dd0974c7802b9aee91609" + "ba35c7008b080c77a9068d97a14ca77b97299e74945217672b2fd5faf0", + "c9f621441c235fc47ec34eef4c08625df1ec74918e1f86075b753f2589f4c60b", + "a70d1a2d555d599bfb8c9b1f0d43725341151d17a8d0845fa56f3563703528a7", + "4e05c45adf41783e394a5312f86e66871c4be4896948c85966879d5c66d54b37"}, + {NID_X9_62_prime256v1, NID_sha512, + "7562c445b35883cc937be6349b4cefc3556a80255d70f09e28c3f393daac19442a7eeced" + "cdfbe8f7628e30cd8939537ec56d5c9645d43340eb4e78fc5dd4322de8a07966b262770d" + "7ff13a071ff3dce560718e60ed3086b7e0003a6abafe91af90af86733ce8689440bf73d2" + "aa0acfe9776036e877599acbabfcb03bb3b50faa", + "808c08c0d77423a6feaaffc8f98a2948f17726e67c15eeae4e672edbe388f98c", + "04b0c0ad5e1f6001d8e9018ec611b2e3b91923e69fa6c98690ab644d650f640c42610539" + "c0b9ed21ac0a2f27527c1a61d9b47cbf033187b1a6ada006eb5b2662ed", + "1f6d4a905c761a53d54c362976717d0d7fc94d222bb5489e4830080a1a67535d", + "83404dcf8320baf206381800071e6a75160342d19743b4f176960d669dd03d07", + "3f75dcf102008b2989f81683ae45e9f1d4b67a6ef6fd5c8af44828af80e1cfb5"}, + {NID_X9_62_prime256v1, NID_sha512, + "051c2db8e71e44653ea1cb0afc9e0abdf12658e9e761bfb767c20c7ab4adfcb18ed9b5c3" + "72a3ac11d8a43c55f7f99b33355437891686d42362abd71db8b6d84dd694d6982f061217" + "8a937aa934b9ac3c0794c39027bdd767841c4370666c80dbc0f8132ca27474f553d266de" + "efd7c9dbad6d734f9006bb557567701bb7e6a7c9", + "f7c6315f0081acd8f09c7a2c3ec1b7ece20180b0a6365a27dcd8f71b729558f9", + "04250f7112d381c1751860045d9bcaf20dbeb25a001431f96ac6f19109362ffebb49fba9" + "efe73546135a5a31ab3753e247034741ce839d3d94bd73936c4a17e4aa", + "68c299be2c0c6d52d208d5d1a9e0ffa2af19b4833271404e5876e0aa93987866", + "7b195e92d2ba95911cda7570607e112d02a1c847ddaa33924734b51f5d81adab", + "10d9f206755cef70ab5143ac43f3f8d38aea2644f31d52eaf3b472ee816e11e5"}, + {NID_X9_62_prime256v1, NID_sha512, + "4dcb7b62ba31b866fce7c1feedf0be1f67bf611dbc2e2e86f004422f67b3bc1839c6958e" + "b1dc3ead137c3d7f88aa97244577a775c8021b1642a8647bba82871e3c15d0749ed343ea" + "6cad38f123835d8ef66b0719273105e924e8685b65fd5dc430efbc35b05a6097f17ebc59" + "43cdcd9abcba752b7f8f37027409bd6e11cd158f", + "f547735a9409386dbff719ce2dae03c50cb437d6b30cc7fa3ea20d9aec17e5a5", + "044ca87c5845fb04c2f76ae3273073b0523e356a445e4e95737260eba9e2d021db0f8647" + "5d07f82655320fdf2cd8db23b21905b1b1f2f9c48e2df87e24119c4880", + "91bd7d97f7ed3253cedefc144771bb8acbbda6eb24f9d752bbe1dd018e1384c7", + "008c1755d3df81e64e25270dbaa9396641556df7ffc7ac9add6739c382705397", + "77df443c729b039aded5b516b1077fecdd9986402d2c4b01734ba91e055e87fc"}, + {NID_X9_62_prime256v1, NID_sha512, + "efe55737771070d5ac79236b04e3fbaf4f2e9bed187d1930680fcf1aba769674bf426310" + "f21245006f528779347d28b8aeacd2b1d5e3456dcbf188b2be8c07f19219e4067c1e7c97" + "14784285d8bac79a76b56f2e2676ea93994f11eb573af1d03fc8ed1118eafc7f07a82f32" + "63c33eb85e497e18f435d4076a774f42d276c323", + "26a1aa4b927a516b661986895aff58f40b78cc5d0c767eda7eaa3dbb835b5628", + "0428afa3b0f81a0e95ad302f487a9b679fcdef8d3f40236ec4d4dbf4bb0cbba8b2bb4ac1" + "be8405cbae8a553fbc28e29e2e689fabe7def26d653a1dafc023f3cecf", + "f98e1933c7fad4acbe94d95c1b013e1d6931fa8f67e6dbb677b564ef7c3e56ce", + "15a9a5412d6a03edd71b84c121ce9a94cdd166e40da9ce4d79f1afff6a395a53", + "86bbc2b6c63bad706ec0b093578e3f064736ec69c0dba59b9e3e7f73762a4dc3"}, + {NID_X9_62_prime256v1, NID_sha512, + "ea95859cc13cccb37198d919803be89c2ee10befdcaf5d5afa09dcc529d333ae1e4ffd3b" + "d8ba8642203badd7a80a3f77eeee9402eed365d53f05c1a995c536f8236ba6b6ff889739" + "3506660cc8ea82b2163aa6a1855251c87d935e23857fe35b889427b449de7274d7754bde" + "ace960b4303c5dd5f745a5cfd580293d6548c832", + "6a5ca39aae2d45aa331f18a8598a3f2db32781f7c92efd4f64ee3bbe0c4c4e49", + "04c62cc4a39ace01006ad48cf49a3e71466955bbeeca5d318d672695df926b3aa4c85ccf" + "517bf2ebd9ad6a9e99254def0d74d1d2fd611e328b4a3988d4f045fe6f", + "dac00c462bc85bf39c31b5e01df33e2ec1569e6efcb334bf18f0951992ac6160", + "6e7ff8ec7a5c48e0877224a9fa8481283de45fcbee23b4c252b0c622442c26ad", + "3dfac320b9c873318117da6bd856000a392b815659e5aa2a6a1852ccb2501df3"}, + {NID_secp384r1, NID_sha224, + "39f0b25d4c15b09a0692b22fbacbb5f8aee184cb75887e2ebe0cd3be5d3815d29f9b587e" + "10b3168c939054a89df11068e5c3fac21af742bf4c3e9512f5569674e7ad8b39042bcd73" + "e4b7ce3e64fbea1c434ed01ad4ad8b5b569f6a0b9a1144f94097925672e59ba97bc4d33b" + "e2fa21b46c3dadbfb3a1f89afa199d4b44189938", + "0af857beff08046f23b03c4299eda86490393bde88e4f74348886b200555276b93b37d4f" + "6fdec17c0ea581a30c59c727", + "0400ea9d109dbaa3900461a9236453952b1f1c2a5aa12f6d500ac774acdff84ab7cb71a0" + "f91bcd55aaa57cb8b4fbb3087d0fc0e3116c9e94be583b02b21b1eb168d8facf39552793" + "60cbcd86e04ee50751054cfaebcf542538ac113d56ccc38b3e", + "e2f0ce83c5bbef3a6eccd1744f893bb52952475d2531a2854a88ff0aa9b12c65961e2e51" + "7fb334ef40e0c0d7a31ed5f5", + "c36e5f0d3de71411e6e519f63e0f56cff432330a04fefef2993fdb56343e49f2f7db5fca" + "b7728acc1e33d4692553c02e", + "0d4064399d58cd771ab9420d438757f5936c3808e97081e457bc862a0c905295dca60ee9" + "4f4537591c6c7d217453909b"}, + {NID_secp384r1, NID_sha224, + "5a3c80e608ed3ac75a6e45f6e94d374271a6d42b67a481860d5d309cc8b37c79cb61f171" + "6dc8aa84cb309ef9d68eb7fc6cf4b42333f316a5c30e74198c8b340926e340c5de47674a" + "707293c4aa2a1a2274a602f01c26b156e895499c60b38ef53fc2032e7485c168d73700d6" + "fa14232596a0e4997854a0b05d02e351b9d3de96", + "047dd5baab23f439ec23b58b7e6ff4cc37813cccb4ea73bb2308e6b82b3170edfe0e131e" + "ca50841bf1b686e651c57246", + "04de92ff09af2950854a70f2178d2ed50cc7042a7188301a1ea81d9629ad3c29795cb7f0" + "d56630a401e4d6e5bed0068d1e6135adbd8624130735e64e65ecbd43770dcc12b28e737b" + "5ed033666f34c918eb5589508e4a13b9243374a118a628dd0b", + "f3922351d14f1e5af84faab12fe57ded30f185afe5547aeb3061104740ecc42a8df0c27f" + "3877b4d855642b78938c4e05", + "38e181870cb797c1f4e6598cfd032add1cb60447d33473038d06df73919f844eddd16f40" + "f911075f8a4bacc0d924e684", + "a58dd1ca18aa31277de66c30c3bb7a14b53705ce6c547ed2cb0e336f63c42809422efffc" + "c722d1155f2254330a02b278"}, + {NID_secp384r1, NID_sha224, + "e7d974c5dbd3bfb8a2fb92fdd782f997d04be79e9713944ce13c5eb6f75dfdec811b7ee4" + "b3859114b07f263846ae13f795eec8f3cb5b7565baff68e0fdd5e09ba8b176d5a71cb03f" + "bc5546e6937fba560acb4db24bd42de1851432b96e8ca4078313cb849bce29c9d8052586" + "01d67cd0259e255f3048682e8fdbdda3398c3e31", + "54ba9c740535574cebc41ca5dc950629674ee94730353ac521aafd1c342d3f8ac52046ed" + "804264e1440d7fe409c45c83", + "043db95ded500b2506b627270bac75688dd7d44f47029adeff99397ab4b6329a38dbb278" + "a0fc58fe4914e6ae31721a6875049288341553a9ac3dc2d9e18e7a92c43dd3c25ca866f0" + "cb4c68127bef6b0e4ba85713d27d45c7d0dc57e5782a6bf733", + "04324bd078807f6b18507a93ee60da02031717217ee5ce569750737be912be72da087ac0" + "0f50e13fdf7249a6ae33f73e", + "b2752aa7abc1e5a29421c9c76620bcc3049ecc97e6bc39fcca126f505a9a1bfae3bde89f" + "b751a1aa7b66fa8db3891ef0", + "f1c69e6d818ca7ae3a477049b46420cebd910c0a9a477fd1a67a38d628d6edaac123aebf" + "ca67c53a5c80fe454dba7a9d"}, + {NID_secp384r1, NID_sha224, + "a670fda4d1d56c70de1d8680328043b2b7029633caf0ee59ffe1421c914bb937133d5a0f" + "9214846b2e0b350455a74c4ab434c56de65a17139bb8212bf1c76071a37536fa29348f87" + "1dbb26baa92eb93d97e923a6d2ffd9be25cbc33075e494e6db657bd8dc053fe4e17148d8" + "cf6e2058164f2b5766750eb01bbe7b361cdb848c", + "dabe87bbe95499bac23bc83c8b7307fe04be198f00059e2bf67c9611feaffb2c8f274f6a" + "a50eb99c3074186d8067d659", + "04c2aa0a695125279705917e02a4f258cade4c3ff9140a071414babf87764f426f7f36ff" + "da9d5f3394375d24864235476f8f9808da0ce0227cf453f9e456f557db9752e23b45cce4" + "baad5fee3844ddd7e1112bcec01ea9d67c7a76f3535bd0cb58", + "65a0305854033cbc6fe3ca139c40ca354d45801ecb59f4a923c251dc6b25d12d452d99b5" + "d6711fdb5efac812aa464cc4", + "c7fc32997d17ac79baf5789e4503f5f1a8863872bc350a91f12dd3ef8cf78c254e829217" + "809e8e00b6b8d4d85be3f1fd", + "1422e1838a22496df93486bce1142961dbd8478ae844b8dda54e210afdae0d9e930d587c" + "91bb600b0bde7237186d94e6"}, + {NID_secp384r1, NID_sha224, + "7843f918fe2588bcfe756e1f05b491d913523255aa006818be20b676c957f4edb8df863c" + "6f5f8c15b3b80c7a2aa277b70d53f210bdfb856337980c406ea140e439dd321471407f37" + "4f69877b2d82367eed51e3c82c13948616dcb301d0c31f8f0352f2846abd9e72071f446a" + "2f1bd3339a09ae41b84e150fd18f4ba5d3c6bfa0", + "df43107a1deb24d02e31d479087bd669e2bc3e50f1f44b7db9484a7143cdca6a3391bddf" + "ea72dc940dbce8ec5efbd718", + "0476bd4be5d520471162cb5c36f80038301b325f845d9642204a84d78b3e721098932827" + "bf872bde0a9f86383953667d29415116b8b878f896a5aa4dbbdc21076f27135d8bbcaaca" + "02489ef639d742bd63f377da0c8e8ab36ff19b4a7cc5d4ceb4", + "798abad5a30d1805794540057388ee05e2422901c6335f985b9d4447b3ef75524751abfe" + "ab6409ad6bf77d4ae3014558", + "98744e5c6742fa5118a74a70db4957647a3cc12add4e876b45974a6a8707809f871daadb" + "fc0b865e01624f706b65f10c", + "9e256e8da8eff5a0c83baaa1ef4f7be798eba9543bf97adb0fff8719f5406ea1207a0cf7" + "03d99aa8f02169724b492273"}, + {NID_secp384r1, NID_sha224, + "caa83d5ab07febbd2e0fe2d63738b9b7b8752594bea7aaf50345b3d2f316653a8c9222f2" + "b7877b64679e9573e81461a426029e45b8873a575094a1d572e0d32a9f0a9c6bcb9a2868" + "543b7d8bbe4a69a09e7321f05f8366cced1b72df526f895b60aed2c39c249653c7839538" + "770d4e5f47d3926ec0d168ab6a1af15bf1dca1f7", + "ea7a563ba2a7f5ab69973dca1f1a0d1572f0c59817cd3b62ad356c2099e2cdca1c553323" + "563f9dfbb333b126d84abc7f", + "04cf4717c5f5de668b785f06bdc9845df5a09e4edd83f4669756407cbb60807305c632bc" + "49f818f4a84b194369aa07736f7391e4982af8a2218f704f627d01f0508bfc8304992a2d" + "598a420bf2eb519f33bd7caf79380793733b3dba0cc5e2b9d8", + "7b9606b3df7b2a340dbc68d9754de0734e1faeb5a0135578a97628d948702235c60b20c8" + "002c8fcf906783e1b389e754", + "0d680010bed373287f9767955b5d2850e150b6713b49e453eb280148e45230c853d99ea2" + "d2f8fcbd3ddcba19aeec0af1", + "64329763a930ab5452afdb0557fef16ff71810d6343dfc9c6ae18905c3d274db6554cdc6" + "9d6078a1ca03284474a94f30"}, + {NID_secp384r1, NID_sha224, + "594603458d6534974aeeafba919c4d0f4cb6843a3af41204bbb88aeb2fca2772d305163d" + "ba863da050aabedbaf89db521955d1715de95bbcef979ecdc0c976181ece00355385f8a8" + "f8cce127c9eac15ce3e958a3ed686184674ec9a50eb63271606ee7fdcb1323da3c3db8e8" + "9cad1fb42139a32d08abcfbf0d4ccfca18c89a86", + "4cc70cb35b3ddeb0df53a6bd7bd05f8ff4392a2db7344f2d443761484b3a468a4ee3d1a8" + "b27113d57283fd18b05f7829", + "0440e1fe21df34bb85a642a0abe819ebd128f7e39b84d8dcc4a9a599b372fb9588da1484" + "600ec28b1297bb685f9ae77831f3aa69ada57879fdcbe8df19cefabc308add7d03b17b1f" + "ac2f7783fece6a8dfe20bc36f518692677d96e3f730a67a671", + "8eda401d98f5688c34d8dbebcd3991c87c0442b0379154eaa2e5287dabe9a9e34cfc1305" + "d11ff68781df25d5611b331d", + "ff2d772786e159448bba26afd8c3281941a4cb0c56fec6f5cccb4c292c4ee0f7af9bd39b" + "be2d88148732585e104fdb30", + "07a1d890770daa949a17797dca7af3e8163da981ec330c03d63d1a8312c152be6a718163" + "205ffa08da7dcc163ba261f4"}, + {NID_secp384r1, NID_sha224, + "733252d2bd35547838be22656cc7aa67eff0af0b13b428f77267a513c6824c3dbae53306" + "8b6817e82665f009560affcfe4b2ddb5b667a644fc1a42d24f24e0947e0dc50fb62c919b" + "c1fe4e7ded5e28f2e6d80fcf66a081fb2763526f8def5a81a4ddd38be0b59ee839da1643" + "eeeaee7b1927cec12cf3da67c02bc5465151e346", + "366d15e4cd7605c71560a418bd0f382fd7cd7ad3090ff1b2dfbed74336166a905e1b760c" + "f0bccee7a0e66c5ebfb831f1", + "04a143f277ab36a10b645ff6c58241ea67ffdc8acf12d60973068390f06b4d8f4d773b10" + "c1ebf6889b1cfa73ebb90f6ca17a17cad29bb507b309021f6f92cb5c10ba535f4a3e317f" + "cc68cfd02d3ccd269f465169c73d30ff308f5350d881b08aec", + "dbe545f920bc3d704c43d834bab21e40df12ec9e16a619a3e6b3f08760c26aae6e4fd91f" + "ad00f745194794b74bb1baee", + "cdc39b12bba30da66fe9554713c05880ddc27afa4d2d151440f124c351fb9496dc950465" + "16b0921083347d64369846ac", + "797d0344e49f9ba87a187c50f664e5015d449e346b1a7bd9427c5be559fc58173651880d" + "5aadf053f81899d3368d6181"}, + {NID_secp384r1, NID_sha224, + "5a182bd174feb038dfae3346267156bf663167f713dea1ce936b0edb815cd9b8c8e4d411" + "c786ba2494a81442617255db7158b142e720d86c9b56680fb9efd4298cdd69079a281534" + "94c42a24251c7ad42ecf7e97eabc1b3997529b2a297cbad2474269b87a0b1e385f2d7f8b" + "6eb8d1cd75eaf7e91d1acbecd45d7b2bfbbe3216", + "e357d869857a52a06e1ece5593d16407022354780eb9a7cb8575cef327f877d22322c006" + "b3c8c11e3d7d296a708bdb6d", + "04ce9a2185a68d6094aa5849a6efe78b349946f7380f0c79aa9664246cfcc71a879e90ad" + "78a0474f58644c6a208168150e8354fa47673cb3e07d446521345706c5515584b2602f92" + "1c3b9c44dded9e2c3f90ce47adb36d7e5f9f95a8c5ad8af397", + "1e77367ac4e10924854d135ad2f2507f39e2bafdbce33ff256bcbe9a7329b8d27185218b" + "cc3550aafbe3390e84c77292", + "df3182d49ad70959fb0c95bc7312750ce70fc87f1a328d39d9b29ac05d31305ce7209d6c" + "24d13225d9567b489f7a187b", + "d812b05abab0e96de13291e1f0da6479444ed5cd9d959b76f6cb43d394769035364f7c83" + "1a104dc7b5bd9b4a8e64df64"}, + {NID_secp384r1, NID_sha224, + "aaa99fb1c71340d785a18f6f668e898c25cf7a0ac31d13c5b388b7233408493a5a109af6" + "d07065376b96f4903df7aba2b2af671a18772bb0472490d1240cde28967680727dd4acd4" + "7e0308920a75da857a6eeedee5b6586d45dff3d8a680599665aa895c89dd7770b824b7de" + "e477ac5e7602d409d3cc553090c970b50811dbab", + "745a18db47324a3710b993d115b2834339315e84e7006eafd889fb49bd3cc5a8b50c9052" + "6e65e6c53bddd2916d14bead", + "04f692578c6f77531210aef55c9e004ce3b66cf268c6900dde31a8bbb76e7562e3fb7624" + "2de34ca330d2501030aa11946640965833b28de926c46de060aa25beaeda98f8415a6b1e" + "3564aa77870cf4c89bd4fde92c8f5d9bf0eb41721586859d8e", + "11b9b36720abcac084efdb44c9f5b7d039e3250cb1e9c47850189ba3cfc1489d858b2a44" + "df357772b61d919c7e729c0f", + "02b252c99820cf50e6ce060ab55bd4f682276e29b4ae4197417432e6a7bfb8cf0bac89df" + "e105456af805d822cee77696", + "8e248bbf7d7028d63177e565c9d1666ee5be4d1ffbfffc9c7814b0cd38f74b98f3f2cd59" + "be42b9f132bfe5ee789cd96c"}, + {NID_secp384r1, NID_sha224, + "1fadfa8254d3a0b82d137cfdd82043d5dc1fef195d5297b09cc5cfb061f59c933451c0dc" + "2a11b4037f34f88dacb803251f8880c4b72585c3c196e6fb23484ca43a191f8e41b9b9a3" + "7e2e6fcaab6738c3c62d1c98e1c620bb788b7b51a04f998a510efdba0d3418622fe8ce20" + "3b3fcd553b9b4206365a39031797ad11e49745ec", + "93f20963ea5011ff4f26481e359309e634195f6289134087bd2e83eee008c962780a6797" + "84ee7ac6acda03d663ed27e0", + "040edcde3533ea019e18f1a3cd97b7962e8823dda36c389f8f9287549f796d11376392b8" + "a01c7a80f127a8f75795e04f5463d7c458dccfc02f5148d755d59f9bbc8e3c3ea3490877" + "7928440747795955741296abcdd5386676419ed8049fedb489", + "3ad308faf04c42ee5ac69d36bc0aa9a96aacf55ea0f27dac4f52e088f023d206340a6324" + "874ffad169ff80624de24c96", + "209b72f9aae72c4339813573c3a8408a9e0be641ca863d81d9d14c48d0bf4cd44a1a7985" + "cff07b5d68f3f9478475645b", + "f6292e599b22a76eda95393cf59f4745fa6c472effd1f781879ad9a4437a98080b0b07da" + "dad0c249631c682d2836a977"}, + {NID_secp384r1, NID_sha224, + "9ecb6f5ed3ba666a8536a81ef65012c2cb8b433508798d84708abb06dfb75503886f7838" + "4fb8c7a4d2d49ef539d9b8a0b60938c7f07471dda91f258b0d99691b38a8403a2bb3f956" + "bdfd09baba16d9b6877097a9b6213481b47a06e139d23ec7abad5668d21f912fdb70d31b" + "b9adf9b3ce80e308252fa81a51674f88d02db72b", + "f175e6ac42fd48ec9d652c10707c039c67c4cc61d8c45a373dcda6e4ca6c53e947e49c24" + "e01b48e7cdf92edfe6d316a1", + "04a40c64f595491ce15790a5a87fbe64c1800247b42acd08fe5257700719f46afc8acce0" + "e4ede0517a312092d5e3d089cdd565df9dc2f381cc0c5d84f382a43a98018524c0b4708a" + "44b3e2817f9719f29fbf9c15803591ed9b4790c5adaba9f433", + "812dcaa6d4f9a43ccc553288065d13761581485aa903a500a690ccafbd330ba4818c977b" + "98c4bb57f8a182a1afacfae9", + "d000f18d3e4c162ff0d16f662e6703e7a6f5bff7a333ed266fa4f44c752415946c34945c" + "342c20f739677186b1d80ab3", + "ae7f1271c89e0aaa238710d039ea73a69110cc28fcf426f2fe6754b63a59e417fa84f903" + "cf7dccb5468b43ff083bbfd5"}, + {NID_secp384r1, NID_sha224, + "e55bfca78d98e68d1b63688db12485578f36c489766f4d0bfaa0088433ff12133aaca455" + "805095f2e655940860958b3ead111d9070778ee3bbf3e47e43d9eba8b8d9b1fdf72f793f" + "cde2bcaa334f3e35fa2cca531ea7cf27fe9ccba741e38ac26129b2d612bf54a34e0ae6c1" + "66c0fef07fcd2b9ac253d7e041a500f7be7b8369", + "46c4f0b228b28aaa0ec8cfdf1d0ed3408b7ae049312fb9eaf5f3892720e68684cc8ad298" + "44a3dc9d110edf6916dfb8bb", + "0413ddec844731b7e30c467451df08ca11d6c581cb64abd8a257671cffd26f5ccad4df7b" + "9ee8924047a88a5d2d7567609cd74ca94f590fd1d13e190cc1e03c3da6c3faab15c7dda0" + "34af3deefee8aeec3628fa8b1978c54cfcd071baa319a46ec0", + "2a9dd520207c40a379cd4036adef9ee60fa8bc8c0d39b3ad91850ac93fd543f218b16885" + "81f23481a090b0e4c73792ac", + "94e08cca20fe3866f643f53ec65faf3f2b4d80cd9bcc8ff8f88bb28da9eada324fc2d048" + "908dd3d08a9e0ebb547731bc", + "8e6f82c4d3069b14f4c844b4ca133a9503493265c9f77a7d4775eda67de76798a23dd7ea" + "48e0ac3c337dd62bf058319d"}, + {NID_secp384r1, NID_sha224, + "02c6b3c83bd34b288d96409162aa4ff114e9d134bf948046eb5ebcc0c7fe9dfceadda83e" + "d69da2fac00c8840f6c702a3fc5e6959d70f7e8af923e99e4937232ae3b841ffefd2e62f" + "ab3671a7c94a0281b8ea5bc176add57c5c9b6893fe7f5d48ce7256b96510810c4e046168" + "a3c5be9843b84d5268a50349b3444341aa5490dd", + "1d7b71ef01d0d33a8513a3aed3cabb83829589c8021087a740ca65b570777089be721a61" + "172b874a22a1f81aef3f8bb6", + "048d2721370df8f097d5a69396249a315f6037dc7045b3da11eacae6d43036f779d5de70" + "53d101768b42cc2b1283a3aaeaa046039ae662141f9954d278183eaa2e03917fe58583e3" + "2d344074d59d60caa5b0949c53066525d5cca923e2f201502e", + "d1b25ad25581cad17e96f1d302251681fee5b2efbb71c3c15ff035b2145d015d18e0e52d" + "c3187ab5a560277b3a3929b0", + "d836f52b14c7391744868daa2d5cf27eb9380b9b6176195573d5b04842e9f2fc3794d6cf" + "877feafee63d11b05f6a6bee", + "8b89042fef2c04d4bd6c9d66a06a010514321d623a5f8d57ba5ac3686872eaabca9e0ba2" + "d058ae7028e870acf03ca32d"}, + {NID_secp384r1, NID_sha224, + "94f8bfbb9dd6c9b6193e84c2023a27dea00fd48356909faec2161972439686c146184f80" + "686bc09e1a698af7df9dea3d24d9e9fd6d7348a146339c839282cf8984345dc6a51096d7" + "4ad238c35233012ad729f262481ec7cd6488f13a6ebac3f3d23438c7ccb5a66e2bf820e9" + "2b71c730bb12fd64ea1770d1f892e5b1e14a9e5c", + "cf53bdd4c91fe5aa4d82f116bd68153c907963fa3c9d478c9462bb03c79039493a8eaeb8" + "55773f2df37e4e551d509dcd", + "043a65b26c08102b44838f8c2327ea080daf1e4fc45bb279ce03af13a2f9575f0fff9e2e" + "4423a58594ce95d1e710b590cefe9dcbcb2ec6e8bd8ed3af3ff0aa619e900cc8bab3f50f" + "6e5f79fac09164fb6a2077cc4f1fed3e9ec6899e91db329bf3", + "df31908c9289d1fe25e055df199591b23e266433ab8657cc82cb3bca96b88720e229f8df" + "d42d8b78af7db69342430bca", + "6770eea9369d6718e60dd0b91aee845ff7ed7e0fcc91675f56d32e5227fd3a4612bbcb15" + "56fe94a989b9e3bcc25bb20e", + "c43072f706c98126d06a82b04251e3ecb0ba66c4bb6cd7c025919b9cc6019cdc635256d2" + "a7fa017b806b1e88649d2c0d"}, + {NID_secp384r1, NID_sha256, + "663b12ebf44b7ed3872b385477381f4b11adeb0aec9e0e2478776313d536376dc8fd5f3c" + "715bb6ddf32c01ee1d6f8b731785732c0d8441df636d8145577e7b3138e43c32a61bc124" + "2e0e73d62d624cdc924856076bdbbf1ec04ad4420732ef0c53d42479a08235fcfc4db4d8" + "69c4eb2828c73928cdc3e3758362d1b770809997", + "c602bc74a34592c311a6569661e0832c84f7207274676cc42a89f058162630184b52f0d9" + "9b855a7783c987476d7f9e6b", + "040400193b21f07cd059826e9453d3e96dd145041c97d49ff6b7047f86bb0b0439e90927" + "4cb9c282bfab88674c0765bc75f70d89c52acbc70468d2c5ae75c76d7f69b76af62dcf95" + "e99eba5dd11adf8f42ec9a425b0c5ec98e2f234a926b82a147", + "c10b5c25c4683d0b7827d0d88697cdc0932496b5299b798c0dd1e7af6cc757ccb30fcd3d" + "36ead4a804877e24f3a32443", + "b11db00cdaf53286d4483f38cd02785948477ed7ebc2ad609054551da0ab0359978c6185" + "1788aa2ec3267946d440e878", + "16007873c5b0604ce68112a8fee973e8e2b6e3319c683a762ff5065a076512d7c98b27e7" + "4b7887671048ac027df8cbf2"}, + {NID_secp384r1, NID_sha256, + "784d7f4686c01bea32cb6cab8c089fb25c341080d9832e04feac6ea63a341079cbd562a7" + "5365c63cf7e63e7e1dddc9e99db75ccee59c5295340c2bba36f457690a8f05c62ab001e3" + "d6b333780117d1456a9c8b27d6c2504db9c1428dad8ba797a4419914fcc636f0f14ede3f" + "ba49b023b12a77a2176b0b8ff55a895dcaf8dbce", + "0287f62a5aa8432ff5e95618ec8f9ccaa870dde99c30b51b7673378efe4ccac598f4bbeb" + "bfd8993f9abb747b6ad638b9", + "04b36418a3014074ec9bbcc6a4b2367a4fb464cca7ec0a324cb68670d5c5e03e7a7eb07d" + "a117c5ea50b665ab62bd02a4914ea299c30e7d76e2c5905babada2d3bb4ee5eb35a5a236" + "05cdb0d5133471a53eb9e6758e49105a4eaf29d2267ba84ef2", + "935eeab3edeb281fbd4eead0d9c0babd4b10ff18a31663ee9de3bfa9ae8f9d266441158e" + "a31c889ded9b3c592da77fd7", + "738f9cb28f3b991335ef17b62559255faf75cad370a222464a492e27bb173c7f16b22100" + "ada6b695875c7e4b1a28f158", + "bc998c30e1491cd5d60dc7d1c38333165efe036b2a78db9b8f0e85ee68619cfba654e11a" + "e5ca5ee5a87099c27cf22442"}, + {NID_secp384r1, NID_sha256, + "45e47fccc5bd6801f237cdbeac8f66ebc75f8b71a6da556d2e002352bd85bf269b6bc7c9" + "28d7bb1b0422601e4dd80b29d5906f8fcac212fe0eaaf52eda552303259cbcbe532e60ab" + "d3d38d786a45e39a2875bce675800a3eaeb9e42983d9fd9031180abd9adccc9ba30c6c19" + "8b4202c4dd70f241e969a3c412724b9b595bc28a", + "d44d3108873977036c9b97e03f914cba2f5775b68c425d550995574081191da764acc501" + "96f6d2508082a150af5cd41f", + "04c703835d723c85c643260379d8445b0c816fe9534351921e14a8e147fe140ec7b0c4d7" + "04f8dc66a232b2333b28f03deec5d0bb054053fd86c26f147c4966757aa04b00513a02d4" + "27b8d06c16055c607955efdc518d338abfe7927c195dc28588", + "c80f63e080650c8a21e4f63a62ec909adfb7d877f365d11ee1cb260baf112eb4730c161c" + "1d99dba98fc0d5bbd00dc97d", + "81de2810cde421997013513951a3d537c51a013110d6dbb29251410bcb5ba001a9686b84" + "90f1e581e282fd2ed0974b22", + "9cab0bbaffe91c7677ec3dd1f17060211a3cc0be574cbca064aa8c4b66ba6e64f3d80e83" + "da895042ca32d311c388d950"}, + {NID_secp384r1, NID_sha256, + "c33ff63b4e6891e00b2349b3f2907c417ca355560544a91e24a7a0ee260d6850aeded29f" + "c0176b6039ca6187e8333391047cceaf14b1077df8f147dad84d36b2dac5666dc2f69dc9" + "b58b88cc73956efdb3b47f91831d5875051c76b0c4e9fc087012a1f03eeee85d6745b46a" + "a50bd9cb0110c2c94508765cec162ee1aa841d73", + "d5b72cbb6ec68aca46b9c27ad992afd8ffa02cb3067b234fcfa6e272e3b31be760695ff7" + "df988b57663057ab19dd65e3", + "04135a6542612f1468d8a4d01ff1914e532b1dd64d3627db9d403dc325651d3f82b0f6f0" + "fd1dbdeca2be967c4fb3793b5fcbbd40f6d3a38d0dfb64582ff4789d7b268241bc0c36de" + "2884bccfaeeff3b7b2b46a30bb35719804e0d11124b4e7f480", + "9da6de7c87c101b68db64fea40d97f8ad974ceb88224c6796c690cbf61b8bd8eede8470b" + "3caf6e6106b66cf3f0eebd55", + "17840911ecdf6ae0428b2634f442163c2c11b8dbf0cc7a5596fbe4d33e3e52f9d99e99ad" + "169867b1f39e89c9180cedc2", + "dd7ed67e480866d0474379ea4afff72870746f4feef2153be42f13bf472b1613d7faa5c0" + "abb7f7464070f94d7cf3f234"}, + {NID_secp384r1, NID_sha256, + "f562f2b9d84b0e96a52532c3b43c39c8018c738bd8dc3797a7de7353971b2729d522d696" + "1b1f2e4df3f6a4bd3653e6d72b74fc0dba92ab939c4b542e994e5db6dd8ed4f56f651e69" + "9052e791237ae1f552f990ad156226ae8f7bf17fcbfa564f749604f97e9df0879d509857" + "47d981422a23040fe52f5ec74caf1d4aaad8a710", + "218ee54a71ef2ccf012aca231fee28a2c665fc395ff5cd20bde9b8df598c282664abf915" + "9c5b3923132983f945056d93", + "0401989ff07a7a452d8084937448be946bfedac4049cea34b3db6f7c91d07d69e926cce0" + "af3d6e88855a28120cf3dba8dfeb064e029d7539d4b301aabafe8de8870162deffe6383b" + "c63cc005add6ee1d5ced4a5761219c60cd58ad5b2a7c74aaa9", + "c5d39b436d851d94691f5f4aa9ef447f7989d984f279ae8b091aef5449ac062bcc056774" + "0f914624ad5b99fc32f9af0b", + "07d5b1b12877e8cb5e0aa5e71eeeb17bf0aa203064c7e98b3a1798a74dc9717252dc47c7" + "f06aaf1d5fe15b868323bbb9", + "69428cf101a7af5d08161a9fd7af212e02e33b6062aebdce4c96bf3a0684b5394cb902ca" + "7c2dec6e2f01f40c4576009d"}, + {NID_secp384r1, NID_sha256, + "ace953ae851f571d71779aa120915f27450b236da23e9106f8d0756abdd2586193794122" + "8d225d5fb1aa1b1ebf759b1e326aeb3b6cd0cd87edd2ab9f6a7ad67b63d2c501d6a550ed" + "b2e7c9d216cc8af78dd33546af64d00abed4d0d2cfc5c9a7b5a055dbe8f7547902d185cf" + "46937314832bc5c602419a82ab83dbd9d3bd5aff", + "e6ab171f6937c000e144950801ad91023ae8e8476856c2592d9f7d5bb7180fd729211803" + "d39a412ead6c0be761cfa5d1", + "0438bc42b8c9d8866d09b214398d584b1b24a488dfacc3420d1e9506aa825b19fdf1ba74" + "e7b8f547f47b571467fe8c4d1f5179d62668d3f6a7ab5c8e3761a685e12008fb87d0529a" + "97645f65cfb5364376c1b6682e0ffcddd0bcd995c41d013ad3", + "05e9718aea9669c9e434f73866da5f252dec6d24c47a1c4ee3233450b6ec626de9746ebe" + "095b285558dfc89fc1b622fe", + "df9bab9dd1f22ec6f27116f38831cb2089aa78aa8c073024a0faddd9a48e810a5e8e2cad" + "d80fbf8dbd6088c71fe30b5b", + "1e0e8718567d12d18558c57f9e87a755c309e4ffb497335a3adfc8d7475ce8fd882d5dc3" + "3a8f5a16274b7ad74bb7862a"}, + {NID_secp384r1, NID_sha256, + "9635ab832240be95301bedb94c5aec169eedc198cbbdfedcf41e9b586143d829b4597a6b" + "2a81902828332825fd84a785f187a3894e21bd99d22c4f94dcf34453fc052f15ec64d144" + "7c932cb38fcdd30b7be851963409c11881438cbaad7e96f9efbde317f2235d66af804477" + "a5dfe9f0c51448383830050ecf228889f83631e1", + "14acd516c7198798fd42ab0684d18df1cd1c99e304312752b3035bed6535a8975dff8acf" + "c2ba1675787c817b5bff6960", + "0429909d143cf7ee9c74b11d52f1a8f3ebd4a720c135612ca5618d3f432f03a95602ee75" + "a2057e1d7aab51d0648ac0b334404b6c5adffbadfa1b0380ae89fed96ec1ca16cc28661e" + "623d0f1c8b130fbaa96dd7257eae2bf03c2d3dcbc3dbc82c58", + "7f623c103eaa9099a0462e55f80519c565adaeffcb57a29993f3a8a92e63a560be8f0fb9" + "d23dc80bff1064bb41abad79", + "932ab291950c16b2b19a8036cd2e905714c6229cb190a73b3ea49c48dd8e76063a453c7c" + "3267a57597d2973678216296", + "d17d4c5ddbb9c27beebf526f113b416c8abfad53d11c4224813c7f351ba41a77dd4e77d6" + "e4a65bef2c9f62cc37a469a5"}, + {NID_secp384r1, NID_sha256, + "d98b9a7d4fe9d0fd95de5056af164a8b7882cd34ab5bde83a2abb32dc361eb56a479a3a6" + "119db3b91dcad26a42d2206749567f0d97c34a981a91fc734921821a429f6a53401743a5" + "c406ba9d560f956203abc9d1f32f1a13e7d7b290f75c95fdbf857ea597021461c06a3aac" + "fa554ede3d69e4ff03bbbee5b7463ec77de2b3b2", + "2e780550984f3a00cb1e412429b33493c6eb6cd86d12f9d80588c247dcf567bd04296d2d" + "4b24b889d9c54954b7f38f57", + "0437dac42ef04663238443ef33e8addee2e78c40d50a1751913a7f5c37d1f23a26c7f86e" + "16055c788b8ca9554f06b2f2efbbed1549652904e3d00c39b01cc0460dbaf3185e6190c2" + "705677a9701de1fe56dff4f4d8418ee15059ff8fc36800982d", + "b788ca82811b0d4e4841765c71eafaa1e575378beedcd3860d8b92db3d070ac5aef7c425" + "067860fbee6c50cf0c642bbb", + "7292b3851870daeb2555a8a2fb198ead78739fcfb75327e5c32a82c6b77d58983e5ad548" + "ccb75dcf9411039c9576d9b9", + "a378c61802d9f1dd062b6e18f16416a954018f77df4df95ad1b983570377d5cfce4cc786" + "1759e802c52f81abc4f49aac"}, + {NID_secp384r1, NID_sha256, + "1b4c754ac1c28dc415a71eac816bde68de7e8db66409af835838c5bb2c605111108a3bf1" + "3606ed5d8ade5ed72e50503e0de664416393d178ea4eec834d8d6f15039847b410080fd5" + "529b426e5aadd8451c20ebd92d787921f33e147bcbeb327b104d4aab1157fc1df33e4d76" + "8404b5ccb7110055c2508c600f429fd0c21b5784", + "a24d0fe90808aecc5d90626d7e6da7c9be5dfd4e1233c7f0f71f1b7c1c6fd318fafe1855" + "9c94718f044cf02ed5107cb1", + "04ec8ae1fb9bb88589d27d6f27d790392853396f37bc0c381631d85800fc668eea0886bf" + "1c6cff801147df19778d5b16041e1a8336c1e2506f8ee388b55cc648ae73b9295ea78467" + "979d2affb364536fad28120f51ec62a67cbb6ce7784780389f", + "755d025509b73cf1ea8817beb772ad150b4c17a52378be187daffe3db0158921e5e552d1" + "ca3c85df28519939f3cb794d", + "23ff2ffa62bbd427d49995d9c9950116e0d5a06ef076a4553448bc109e6482c5e87d4c83" + "3bc88de0bc722bc98cae2e61", + "9aea13d487c3ea6917e16374caafcf0321c12a80d28902dd8cd81909bb04b8c439e2491e" + "504756742d0d0bfb15a9c34c"}, + {NID_secp384r1, NID_sha256, + "3cd8c053741dd9f974c6c5dbf8a1e5728e9b5eafb1cbcfc3452f5fbbda32a8c7564dee15" + "7e8d902c52514361da6d972934a56b3276e2a9379e328e24282e0db697c5bc29090fc489" + "ec46b7b188325dd4e96494c250de0f4a89fe2ccf919eaefcfb50c288113e6df92714feb7" + "f46e0822478c796d0f4ff3447a32997e892693ce", + "1c172e25732555afee7ded67a496f3f11babc0875898619f4519c29321e201e8ba1149f2" + "c20b48e5efba235d58fea7c3", + "0413e9e2c8bbcfe26e8f5f43c86268c5980ee693236a6b8777f3a7323718baa21005b482" + "d08aafc6fa6e3667d91353544c9ba181b3ee505be030f87ecd249b00670a791489b42af0" + "4976013483ff95b630c91c01e95757e906129f2f9b4ce719a8", + "08aec9a9e58bdc028805eb5dc86073d05fff1f5fb3fd17f510fc08f9272d84ba7aa66b6f" + "77d84fe6360bd538192bf01a", + "2b4337c3dfbc886ffad7858ae2480cb62227e12205a70361c42f1a5ca9e658ee30fc3cf4" + "030d85bd065edad83b99821f", + "2550cef8574bf17fb3d6b0c9d04ab266962bac3621bac233ff2e4989712d2a4a07171c0a" + "ebd3040cd6a32c3bd3efb8b5"}, + {NID_secp384r1, NID_sha256, + "ed955dda6d9650124804d3deb6aeef900e520faf98b1ef6f14efcada7ca2433f09329b70" + "897305e59c89024d76e466b28fe02cb2a9b12e2478c66470259d7c282137a19e5a04ffad" + "ea55245c0f34a681593fedc42931d8b3321b3d82e9cc102cd00540ad311ec7bd8c9d06db" + "21bea4ca3dc74d98931ae0d40494aefc2345132c", + "5b96555dbd602e71d4d5d3aee19fd1ea084ee23d4f55c10937056762bc2015cbded2e898" + "a487f5482ab7e1e971245907", + "046e14c17bb831b0112d7f3543c5fd17c78379a516c9e0539b03b8b4bfdead2820343fc8" + "4b0382807573ded6c4d97b70037f60021d2de77546db666721c9aec84c3e2ba8de0ba774" + "43600dc77e6839bbf9316271adb22d4cb47d08f745ecb1dafd", + "7ad6f4ffd2b429ba10c6f112f800cacf1ad508cf8eba880893bb9659c1ddaaec57dcdc09" + "3a114500460d457bdde324f2", + "faea950ca513806bc59028c638d6302ffc86978c3ff1f06db015dd7c4777050186cb8dd8" + "71f5e926e1416539c1939c2f", + "2c592240eabb8a1f9878e1b5c9d5d3ced7b3a7ae571f5a86494ed2ca567a36eb72e7bea8" + "934bded29594bccf67ca84bd"}, + {NID_secp384r1, NID_sha256, + "ce395b001da2a58e49691605d44af4206306f62f561bf2394060d2a5591a350277166bed" + "043819035f1e60b5b3fb5ae113ddd0473f8ef6b2b050c472c2a264e1d8b3ca82a4f158c4" + "0f2d78d9ce5e5ea6de243f2e1f13f47f6c6f403b270912c81c636be35b396ca58468b3fb" + "60aa83911d61441a0528d973bc31f965d4059080", + "8df9c3c710a25192f3dea970910bb3784e3509874cccf4334823eb9f7a8d05b067f2d812" + "d61e878e24b093089a0b8245", + "0492c9e32b20cbe6d4ed0727c6c942cf804a72031d6dfd69078b5e78ebce2d192268f1f5" + "e2abce5aaf1f8d6a35f136837fd5167905fa7689e03b9fb1487c566f62b36f2bc1c4a2bf" + "b6a836113b5c8d46f7c1ca51b628b14397fbc06ec9a07f4849", + "258dd05919735cd48627c9fe9fac5c252604aa7c2ae0460d7c1149cd96b7bd2ba195ad39" + "3bf392a2499f06aead5ba050", + "413793bcce52eda0f5b675a8d687cce86d5c9e1659b38a89e96246b5e05f8b0934d17dbb" + "a3b2ea44c838aa5fd87125d1", + "ce7309fc2d6e3438818a1a29a997410b025b0403de20795b97c86c46034a6b02afeed279" + "aeb06522d4de941bfdf50469"}, + {NID_secp384r1, NID_sha256, + "ffefe316455ae4ffdb890bb804bf7d31424ea060ecacff419d0f7134ff76ad434063c0ec" + "0f8bb7059584d3a03f3625bb9e9f66ace1a47ac4b8f3e76fc7c420c55edb1427d1fa15b3" + "87ad73d02b0595c4e74321be8822752230a0dcfb85d60bfa186da7623a8ec3eb1633f0a2" + "94b23ae87216b14ccee9ef56418dcfab9427371e", + "6002cb01ad2ce6e7101665d47729c863b6435c3875de57a93f99da834f73e3e6e2b3880e" + "06de3e6bd1d51ea1807ab0d7", + "04e4216e1a20af8e8e3e74653ac016545001066e53e64af679ad1c85841bb475aed3e00e" + "ad052ae9955f48d675ff4ace568804c17641be21d4c6386902c9c5c888af25d97ca38370" + "3ea4a85cf93bbab360c0bbd2993374da499a303778650270b9", + "6b9507fd2844df0949f8b67b6fde986e50173713ac03df2edf65cb339859321cd3a2b9aa" + "b8356f95dec62460ab19c822", + "018891f6381ed358b422f79a299cf0789cee783ba388af4d82cbbe17f3709751b7fd9400" + "e9702820c28b9afc62fdf489", + "aef73bd590802b2fd2a65c4f7fec89f9b24ecc199a69254785925f334cd1977c5e1f858b" + "d9830d7d7d243ea707b1af0b"}, + {NID_secp384r1, NID_sha256, + "304bccb718b3a9e12669913490cc5bcc1979287b56c628fad706c354241e88d10e81445a" + "2853e3fc32ece094ba1abc3fdcab61da27f9a0fca739371049fed462ee6b08fa31cde127" + "20f8144a6f00ce9b1a7a6eadd231f126717074b4efb5c72ce673ca5859000a436f67a338" + "d698759f12c461247c45a361fb6cb661fdbe6714", + "d8559c3543afc6f7b3dc037a687bad2630283757ba7862fd23ed14e2151a4cf5fed3d249" + "268f780e0b96b6b46274a2d5", + "045f94223918f2ec9f0a08342cb99e724881c92453957c59672860f69daac01b660331a0" + "f5845e50f1f27766b219c89e7ed76d83396130d10d1168d76c7fc83742ffffbe66d9f4da" + "4ca3f95f5ad6dac8cc7bb65d16d317d37aa99fdbf30ec7439c", + "4ad5a92b5b8e170b71c8a7ed419dc624c7680004562b8d16a37b6e639f581ce81d5f0d98" + "cce44d54c4e7136229148340", + "f7baa6a5488ab462ea59aa31a36402b15880c68110b6069f51ede0c3b52a7b1e5bf926fd" + "be95768931b7d5f87058835c", + "28b1c4ef448a432f7c91b98b0c6471691e888211b6af907369a8930859b8cdb2e94f466a" + "44f4e52f46df9b0d65e35de6"}, + {NID_secp384r1, NID_sha256, + "64f9f05c2805acf59c047b5f5d2e20c39277b6d6380f70f87b72327a76170b872bfe4b25" + "c451602acfb6a631bb885e2655aee8abe44f69c90fb21ffde03cef2a452c468c6369867d" + "fd8aa26ac24e16aa53b292375a8d8fbf988e302bf00088e4c061aa12c421d8fe3cbd7273" + "b0e8993701df1c59431f436a08b8e15bd123d133", + "b9208cbfd186ddfa3efd5b71342ae1efb01a13ebc4c2a992a2cbee7254b7846a4252ece1" + "104b89d13d835911f8511224", + "04166e6d96cb60d916fd19888a2dd945a3306ff0d7b0a5e30729f47d3dac3de2be3fd5cd" + "7437e9a80d6c48cf960d2d36f8e6b2b70f131092ae210f29cc6bad701318bddb31bddf92" + "1695855c6208941100d0cee5d10799f8b835afe3ea510e8229", + "da706ab5f61531f2378b3c0a2b342108cd119eadaa88b859df64923bccfb0ec2393fd312" + "826f65c15a6587d1d460015b", + "d9124c42858080c62400e4d4d8136304e03d910cbe9b9b3487f4d27c7e0540a314d34bef" + "8c850045c8746ca631c11c42", + "bbf6424a3b70166fa799f49e918439d515327039258ef9bd88435a59c9c19659f8ec3c86" + "60720b0c08354ff60e0f5a76"}, + {NID_secp384r1, NID_sha384, + "6b45d88037392e1371d9fd1cd174e9c1838d11c3d6133dc17e65fa0c485dcca9f52d41b6" + "0161246039e42ec784d49400bffdb51459f5de654091301a09378f93464d52118b48d44b" + "30d781eb1dbed09da11fb4c818dbd442d161aba4b9edc79f05e4b7e401651395b53bd8b5" + "bd3f2aaa6a00877fa9b45cadb8e648550b4c6cbe", + "201b432d8df14324182d6261db3e4b3f46a8284482d52e370da41e6cbdf45ec2952f5db7" + "ccbce3bc29449f4fb080ac97", + "04c2b47944fb5de342d03285880177ca5f7d0f2fcad7678cce4229d6e1932fcac11bfc3c" + "3e97d942a3c56bf34123013dbf37257906a8223866eda0743c519616a76a758ae58aee81" + "c5fd35fbf3a855b7754a36d4a0672df95d6c44a81cf7620c2d", + "dcedabf85978e090f733c6e16646fa34df9ded6e5ce28c6676a00f58a25283db8885e16c" + "e5bf97f917c81e1f25c9c771", + "50835a9251bad008106177ef004b091a1e4235cd0da84fff54542b0ed755c1d6f251609d" + "14ecf18f9e1ddfe69b946e32", + "0475f3d30c6463b646e8d3bf2455830314611cbde404be518b14464fdb195fdcc92eb222" + "e61f426a4a592c00a6a89721"}, + {NID_secp384r1, NID_sha384, + "d768f41e6e8ec2125d6cf5786d1ba96668ac6566c5cdbbe407f7f2051f3ad6b1acdbfe13" + "edf0d0a86fa110f405406b69085219b5a234ebdb93153241f785d45811b3540d1c37424c" + "c7194424787a51b79679266484c787fb1ded6d1a26b9567d5ea68f04be416caf3be9bd2c" + "afa208fe2a9e234d3ae557c65d3fe6da4cb48da4", + "23d9f4ea6d87b7d6163d64256e3449255db14786401a51daa7847161bf56d494325ad2ac" + "8ba928394e01061d882c3528", + "045d42d6301c54a438f65970bae2a098cbc567e98840006e356221966c86d82e8eca515b" + "ca850eaa3cd41f175f03a0cbfd4aef5a0ceece95d382bd70ab5ce1cb77408bae42b51a08" + "816d5e5e1d3da8c18fcc95564a752730b0aabea983ccea4e2e", + "67ba379366049008593eac124f59ab017358892ee0c063d38f3758bb849fd25d867c3561" + "563cac1532a323b228dc0890", + "fb318f4cb1276282bb43f733a7fb7c567ce94f4d02924fc758635ab2d1107108bf159b85" + "db080cdc3b30fbb5400016f3", + "588e3d7af5da03eae255ecb1813100d95edc243476b724b22db8e85377660d7645ddc1c2" + "c2ee4eaea8b683dbe22f86ca"}, + {NID_secp384r1, NID_sha384, + "6af6652e92a17b7898e40b6776fabaf0d74cf88d8f0ebfa6088309cbe09fac472eeac2aa" + "8ea96b8c12e993d14c93f8ef4e8b547afe7ae5e4f3973170b35deb3239898918c70c1056" + "332c3f894cd643d2d9b93c2561aac069577bbab45803250a31cd62226cab94d8cba7261d" + "ce9fe88c210c212b54329d76a273522c8ba91ddf", + "b5f670e98d8befc46f6f51fb2997069550c2a52ebfb4e5e25dd905352d9ef89eed5c2ecd" + "16521853aadb1b52b8c42ae6", + "0444ffb2a3a95e12d87c72b5ea0a8a7cb89f56b3bd46342b2303608d7216301c21b5d292" + "1d80b6628dc512ccb84e2fc278e4c1002f1828abaec768cadcb7cf42fbf93b1709ccae6d" + "f5b134c41fae2b9a188bfbe1eccff0bd348517d7227f2071a6", + "229e67638f712f57bea4c2b02279d5ccad1e7c9e201c77f6f01aeb81ea90e62b44b2d210" + "7fd66d35e56608fff65e28e4", + "b11db592e4ebc75b6472b879b1d8ce57452c615aef20f67a280f8bca9b11a30ad4ac9d69" + "541258c7dd5d0b4ab8dd7d49", + "4eb51db8004e46d438359abf060a9444616cb46b4f99c9a05b53ba6df02e914c9c0b6cc3" + "a9791d804d2e4c0984dab1cc"}, + {NID_secp384r1, NID_sha384, + "b96d74b2265dd895d94e25092fb9262dc4f2f7a328a3c0c3da134b2d0a4e2058ca994e34" + "45c5ff4f812738e1b0c0f7a126486942a12e674a21f22d0886d68df2375f41685d694d48" + "7a718024933a7c4306f33f1a4267d469c530b0fed4e7dea520a19dd68bf0203cc87cad65" + "2260ed43b7b23f6ed140d3085875190191a0381a", + "de5975d8932533f092e76295ed6b23f10fc5fba48bfb82c6cc714826baf0126813247f8b" + "d51d5738503654ab22459976", + "04f1fabafc01fec7e96d982528d9ef3a2a18b7fe8ae0fa0673977341c7ae4ae8d8d3d674" + "20343d013a984f5f61da29ae381a31cf902c46343d01b2ebb614bc789c313b5f91f9302a" + "d9418e9c797563e2fa3d44500f47b4e26ad8fdec1a816d1dcf", + "fc5940e661542436f9265c34bce407eff6364bd471aa79b90c906d923e15c9ed96eea4e8" + "6f3238ea86161d13b7d9359d", + "c2fbdd6a56789024082173725d797ef9fd6accb6ae664b7260f9e83cb8ab2490428c8b9c" + "52e153612295432fec4d59cd", + "8056c5bb57f41f73082888b234fcda320a33250b5da012ba1fdb4924355ae679012d81d2" + "c08fc0f8634c708a4833232f"}, + {NID_secp384r1, NID_sha384, + "7cec7480a037ff40c232c1d2d6e8cd4c080bbeecdaf3886fccc9f129bb6d202c316eca76" + "c8ad4e76079afe622f833a16f4907e817260c1fa68b10c7a151a37eb8c036b057ed4652c" + "353db4b4a34b37c9a2b300fb5f5fcfb8aa8adae13db359160f70a9241546140e550af007" + "3468683377e6771b6508327408c245d78911c2cc", + "11e0d470dc31fab0f5722f87b74a6c8d7414115e58ceb38bfcdced367beac3adbf1fe9ba" + "5a04f72e978b1eb54597eabc", + "041950166989164cbfd97968c7e8adb6fbca1873ebef811ea259eb48b7d584627f0e6d6c" + "64defe23cbc95236505a252aa141ef424b5cb076d4e32accd9250ea75fcf4ffd81814040" + "c050d58c0a29b06be11edf67c911b403e418b7277417e52906", + "e56904028226eb04f8d071e3f9cefec91075a81ca0fa87b44cae148fe1ce9827b5d1910d" + "b2336d0eb9813ddba3e4d7b5", + "c38ef30f55624e8935680c29f8c24824877cf48ffc0ef015e62de1068893353030d1193b" + "f9d34237d7ce6ba92c98b0fe", + "651b8c3d5c9d5b936d300802a06d82ad54f7b1ba4327b2f031c0c5b0cb215ad4354edc7f" + "932d934e877dfa1cf51b13fe"}, + {NID_secp384r1, NID_sha384, + "00ce978603229710345c9ad7c1c2dba3596b196528eea25bd822d43ca8f76a024e292177" + "03dd0652c8a615284fc3edcc1c5ad1c8d5a8521c8e104c016a24e50c2e25066dcb56596f" + "913b872767e3627aa3e55ec812e9fdac7c2f1beade83aef093e24c9c953982adf431a776" + "880ae4583be158e11cdab1cbca3ad3a66900213d", + "5c6bbf9fbcbb7b97c9535f57b431ed1ccae1945b7e8a4f1b032016b07810bd24a9e20055" + "c0e9306650df59ef7e2cd8c2", + "042e01c5b59e619e00b79060a1e8ef695472e23bf9a511fc3d5ed77a334a242557098e40" + "972713732c5291c97adf9cf2cf563e3fe4ad807e803b9e961b08da4dde4cea8925649da0" + "d93221ce4cdceabc6a1db7612180a8c6bef3579c65539b97e9", + "03d23f1277b949cb6380211ad9d338e6f76c3eedac95989b91d0243cfb734a54b19bca45" + "a5d13d6a4b9f815d919eea77", + "abab65308f0b79c4f3a9ff28dd490acb0c320434094cef93e75adfe17e5820dc1f77544c" + "faaacdc8cf9ac8b38e174bef", + "11b783d879a6de054b316af7d56e526c3dce96c85289122e3ad927cfa77bfc50b4a96c97" + "f85b1b8221be2df083ff58fb"}, + {NID_secp384r1, NID_sha384, + "54a255c18692c6162a46add176a0ae8361dcb8948f092d8d7bac83e160431794d3b98128" + "49bf1994bcdcfba56e8540c8a9ee5b93414548f2a653191b6bb28bda8dc70d45cc1b92a4" + "89f58a2d54f85766cb3c90de7dd88e690d8ebc9a79987eee1989df35af5e35522f83d85c" + "48dda89863171c8b0bf4853ae28c2ac45c764416", + "ffc7dedeff8343721f72046bc3c126626c177b0e48e247f44fd61f8469d4d5f0a74147fa" + "baa334495cc1f986ebc5f0b1", + "0451c78c979452edd53b563f63eb3e854a5b23e87f1b2103942b65f77d024471f75c8ce1" + "cc0dfef83292b368112aa5126e313e6aaf09caa3ba30f13072b2134878f14a4a01ee8632" + "6cccbff3d079b4df097dc57985e8c8c834a10cb9d766169366", + "c3de91dbe4f777698773da70dd610ef1a7efe4dc00d734399c7dd100728006a502822a5a" + "7ff9129ffd8adf6c1fc1211a", + "f4f477855819ad8b1763f53691b76afbc4a31a638b1e08c293f9bcd55decf797f9913ca1" + "28d4b45b2e2ea3e82c6cf565", + "7c26be29569ef95480a6d0c1af49dc10a51a0a8931345e48c0c39498bfb94d62962980b5" + "6143a7b41a2fddc8794c1b7f"}, + {NID_secp384r1, NID_sha384, + "692a78f90d4f9d5aee5da536314a78d68c1feabbfe5d1ccea7f6059a66c4b310f8051c41" + "1c409ccf6e19a0cbd8b8e100c48317fe8c6d4f8a638b9551ce7ee178020f04f7da3001a0" + "e6855225fb3c9b375e4ed964588a1a41a095f3f476c42d52ffd23ce1702c93b56d4425d3" + "befcf75d0951b6fd5c05b05455bdaf205fe70ca2", + "adca364ef144a21df64b163615e8349cf74ee9dbf728104215c532073a7f74e2f6738577" + "9f7f74ab344cc3c7da061cf6", + "04ef948daae68242330a7358ef73f23b56c07e37126266db3fa6eea233a04a9b3e491523" + "3dd6754427cd4b71b75854077d009453ef1828eaff9e17c856d4fc1895ab60051312c3e1" + "db1e3766566438b2990cbf9945c2545619e3e0145bc6a79004", + "a2da3fae2e6da3cf11b49861afb34fba357fea89f54b35ce5ed7434ae09103fe53e2be75" + "b93fc579fedf919f6d5e407e", + "dda994b9c428b57e9f8bbaebba0d682e3aac6ed828e3a1e99a7fc4c804bff8df151137f5" + "39c7389d80e23d9f3ee497bf", + "a0d6b10ceffd0e1b29cf784476f9173ba6ecd2cfc7929725f2d6e24e0db5a4721683640e" + "aa2bbe151fb57560f9ce594b"}, + {NID_secp384r1, NID_sha384, + "3b309bb912ab2a51681451ed18ad79e95d968abc35423a67036a02af92f575a0c89f1b66" + "8afe22c7037ad1199e757a8f06b281c33e9a40bab69c9874e0bb680b905d909b9dc24a9f" + "e89bb3d7f7d47082b25093c59754f8c19d1f81f30334a8cdd50a3cb72f96d4b3c305e60a" + "439a7e93aeb640dd3c8de37d63c60fb469c2d3ed", + "39bea008ec8a217866dcbdb1b93da34d1d3e851d011df9ef44b7828b3453a54aa70f1df9" + "932170804eacd207e4f7e91d", + "045709ec4305a9c3271c304face6c148142490b827a73a4c17affcfd01fffd7eaa65d2fd" + "edfa2419fc64ed910823513fafb083cda1cf3be6371b6c06e729ea6299213428db571193" + "47247ec1fcd44204386cc0bca3f452d9d864b39efbfc89d6b2", + "3c90cc7b6984056f570542a51cbe497ce4c11aeae8fc35e8fd6a0d9adeb650e8644f9d1d" + "5e4341b5adc81e27f284c08f", + "d13646895afb1bfd1953551bb922809c95ad65d6abe94eb3719c899aa1f6dba6b01222c7" + "f283900fe98628b7597b6ea6", + "4a9a38afda04c0a6b0058943b679bd02205b14d0f3d49b8f31aac289129780cdb1c555de" + "f8c3f9106b478729e0c7efaa"}, + {NID_secp384r1, NID_sha384, + "f072b72b8783289463da118613c43824d11441dba364c289de03ff5fab3a6f60e85957d8" + "ff211f1cb62fa90216fb727106f692e5ae0844b11b710e5a12c69df3ed895b94e8769ecd" + "15ff433762d6e8e94d8e6a72645b213b0231344e2c968056766c5dd6b5a5df41971858b8" + "5e99afbf859400f839b42cd129068efabeea4a26", + "e849cf948b241362e3e20c458b52df044f2a72deb0f41c1bb0673e7c04cdd70811215059" + "032b5ca3cc69c345dcce4cf7", + "0406c037a0cbf43fdf335dff33de06d34348405353f9fdf2ce1361efba30fb204aea9dbd" + "2e30da0a10fd2d876188371be6360d38f3940e34679204b98fbf70b8a4d97f25443e46d0" + "807ab634ed5891ad864dd7703557aa933cd380e26eea662a43", + "32386b2593c85e877b70e5e5495936f65dc49553caef1aa6cc14d9cd370c442a0ccfab4c" + "0da9ec311b67913b1b575a9d", + "5886078d3495767e330c7507b7ca0fa07a50e59912a416d89f0ab1aa4e88153d6eaf0088" + "2d1b4aa64153153352d853b5", + "2cc10023bf1bf8ccfd14b06b82cc2114449a352389c8ff9f6f78cdc4e32bde69f3869da0" + "e17f691b329682ae7a36e1aa"}, + {NID_secp384r1, NID_sha384, + "cf4945350be8133b575c4ad6c9585e0b83ff1ed17989b6cd6c71b41b5264e828b4e11599" + "5b1ae77528e7e9002ac1b5669064442645929f9d7dd70927cb93f95edeb73e8624f4bc89" + "7ec4c2c7581cb626916f29b2d6e6c2fba8c59a71e30754b459d81b912a12798182bcff40" + "19c7bdfe929cc769bcc2414befe7d2906add4271", + "d89607475d509ef23dc9f476eae4280c986de741b63560670fa2bd605f5049f1972792c0" + "413a5b3b4b34e7a38b70b7ca", + "0449a1c631f31cf5c45b2676b1f130cbf9be683d0a50dffae0d147c1e9913ab1090c6529" + "a84f47ddc7cf025921b771355a1e207eece62f2bcc6bdabc1113158145170be97469a290" + "4eaaa93aad85b86a19719207f3e423051f5b9cbbe2754eefcb", + "78613c570c8d33b7dd1bd1561d87e36282e8cf4843e7c344a2b2bb6a0da94756d670eeaf" + "fe434f7ae7c780f7cf05ca08", + "66f92b39aa3f4aeb9e2dc03ac3855406fa3ebbab0a6c88a78d7a03482f0c9868d7b78bc0" + "81ede0947c7f37bf193074ba", + "e5c64ed98d7f3701193f25dd237d59c91c0da6e26215e0889d82e6d3e416693f8d58843c" + "f30ab10ab8d0edd9170b53ad"}, + {NID_secp384r1, NID_sha384, + "d9b5cf0b50416573ff3c63133275a18394dd4326be2041e8d97e6e4e3855a4a177e9d26d" + "fd223fe8aa74564edb49bd72de19916fb6f001f44530d5c18e2c332bce1b7415df5927ec" + "e5f3824f34d174b963136b53aef1fb78fb0c06a201a40b2db38e4d8216fc1e392a798c8a" + "b4b3a314496b7f1087804ebfa89bf96e9cdb80c0", + "083e7152734adf342520ae377087a223688de2899b10cfcb34a0b36bca500a4dfa530e23" + "43e6a39da7ae1eb0862b4a0d", + "0470a0f16b6c61172659b027ed19b18fd8f57bd28dc0501f207bd6b0bb065b5671cf3dd1" + "ed13d388dcf6ccc766597aa6044f845bf01c3c3f6126a7368c3454f51425801ee0b72e63" + "fb6799b4420bfdebe3e37c7246db627cc82c09654979c700bb", + "28096ababe29a075fbdf894709a20d0fdedb01ed3eeacb642a33a0da6aed726e13caf6cf" + "206792ec359f0c9f9b567552", + "ee2923f9b9999ea05b5e57f505bed5c6ba0420def42c6fa90eef7a6ef770786525546de2" + "7cdeb2f8586f8f29fb4ee67c", + "50ef923fb217c4cf65a48b94412fda430fac685f0da7bd574557c6c50f5b22e0c8354d99" + "f2c2f2c2691f252f93c7d84a"}, + {NID_secp384r1, NID_sha384, + "9e4042d8438a405475b7dab1cd783eb6ce1d1bffa46ac9dfda622b23ac31057b922eced8" + "e2ed7b3241efeafd7c9ab372bf16230f7134647f2956fb793989d3c885a5ae064e85ed97" + "1b64f5f561e7ddb79d49aa6ebe727c671c67879b794554c04de0e05d68264855745ef3c9" + "567bd646d5c5f8728b797c181b6b6a876e167663", + "63578d416215aff2cc78f9b926d4c7740a77c142944e104aa7422b19a616898262d46a8a" + "942d5e8d5db135ee8b09a368", + "04cadbacef4406099316db2ce3206adc636c2bb0a835847ed7941efb02862472f3150338" + "f13f4860d47f39b7e098f0a390752ad0f22c9c264336cde11bbc95d1816ed4d1b1500db6" + "b8dce259a42832e613c31178c2c7995206a62e201ba108f570", + "7b69c5d5b4d05c9950dc94c27d58403b4c52c004b80a80418ad3a89aabc5d34f21926729" + "e76afd280cc8ee88c9805a2a", + "db054addb6161ee49c6ce2e4d646d7670754747b6737ca8516e9d1e87859937c3ef9b1d2" + "663e10d7e4bd00ec85b7a97a", + "fcc504e0f00ef29587e4bc22faada4db30e2cb1ac552680a65785ae87beb666c792513f2" + "be7a3180fc544296841a0e27"}, + {NID_secp384r1, NID_sha384, + "0b14a7484a40b68a3ce1273b8a48b8fdb65ba900d98541c4bbd07b97e31bcc4c85545a03" + "e9deab3c563f47a036ff60d0361684ba241b5aa68bb46f440da22181ee328a011de98eff" + "34ba235ec10612b07bdfa6b3dc4ccc5e82d3a8d057e1862fef3def5a1804696f84699fda" + "2ec4175a54a4d08bcb4f0406fdac4eddadf5e29b", + "ed4df19971658b74868800b3b81bc877807743b25c65740f1d6377542afe2c6427612c84" + "0ada31a8eb794718f37c7283", + "0433093a0568757e8b58df5b72ea5fe5bf26e6f7aeb541b4c6a8c189c93721749bcacecc" + "f2982a2f0702586a9f812fc66febe320d09e1f0662189d50b85a20403b821ac0d000afdb" + "f66a0a33f304726c69e354d81c50b94ba3a5250efc31319cd1", + "d9b4cd1bdfa83e608289634dbfcee643f07315baf743fc91922880b55a2feda3b38ddf60" + "40d3ba10985cd1285fc690d5", + "009c74063e206a4259b53decff5445683a03f44fa67252b76bd3581081c714f882f882df" + "915e97dbeab061fa8b3cc4e7", + "d40e09d3468b46699948007e8f59845766dbf694b9c62066890dd055c0cb9a0caf0aa611" + "fb9f466ad0bbb00dbe29d7eb"}, + {NID_secp384r1, NID_sha384, + "0e646c6c3cc0f9fdedef934b7195fe3837836a9f6f263968af95ef84cd035750f3cdb649" + "de745c874a6ef66b3dd83b66068b4335bc0a97184182e3965c722b3b1aee488c3620adb8" + "35a8140e199f4fc83a88b02881816b366a09316e25685217f9221157fc05b2d8d2bc8553" + "72183da7af3f0a14148a09def37a332f8eb40dc9", + "e9c7e9a79618d6ff3274da1abd0ff3ed0ec1ae3b54c3a4fd8d68d98fb04326b7633fc637" + "e0b195228d0edba6bb1468fb", + "04a39ac353ca787982c577aff1e8601ce192aa90fd0de4c0ed627f66a8b6f02ae5131554" + "3f72ffc1c48a7269b25e7c289a9064a507b66b340b6e0e0d5ffaa67dd20e6dafc0ea6a6f" + "aee1635177af256f9108a22e9edf736ab4ae8e96dc207b1fa9", + "b094cb3a5c1440cfab9dc56d0ec2eff00f2110dea203654c70757254aa5912a7e73972e6" + "07459b1f4861e0b08a5cc763", + "ee82c0f90501136eb0dc0e459ad17bf3be1b1c8b8d05c60068a9306a346326ff7344776a" + "95f1f7e2e2cf9477130e735c", + "af10b90f203af23b7500e070536e64629ba19245d6ef39aab57fcdb1b73c4c6bf7070c62" + "63544633d3d358c12a178138"}, + {NID_secp384r1, NID_sha512, + "67d9eb88f289454d61def4764d1573db49b875cfb11e139d7eacc4b7a79d3db3bf720819" + "1b2b2078cbbcc974ec0da1ed5e0c10ec37f6181bf81c0f32972a125df64e3b3e1d838ec7" + "da8dfe0b7fcc911e43159a79c73df5fa252b98790be511d8a732fcbf011aacc7d45d8027" + "d50a347703d613ceda09f650c6104c9459537c8f", + "217afba406d8ab32ee07b0f27eef789fc201d121ffab76c8fbe3c2d352c594909abe591c" + "6f86233992362c9d631baf7c", + "04fb937e4a303617b71b6c1a25f2ac786087328a3e26bdef55e52d46ab5e69e5411bf9fc" + "55f5df9994d2bf82e8f39a153ea97d9075e92fa5bfe67e6ec18e21cc4d11fde59a68aef7" + "2c0e46a28f31a9d60385f41f39da468f4e6c3d3fbac9046765", + "90338a7f6ffce541366ca2987c3b3ca527992d1efcf1dd2723fbd241a24cff19990f2af5" + "fd6419ed2104b4a59b5ae631", + "c269d9c4619aafdf5f4b3100211dddb14693abe25551e04f9499c91152a296d7449c08b3" + "6f87d1e16e8e15fee4a7f5c8", + "77ffed5c61665152d52161dc13ac3fbae5786928a3d736f42d34a9e4d6d4a70a02d5af90" + "fa37a23a318902ae2656c071"}, + {NID_secp384r1, NID_sha512, + "45db86829c363c80160659e3c5c7d7971abb1f6f0d495709bba908d7aa99c9df64b3408a" + "51bd69aba8870e2aaff488ef138f3123cf94391d081f357e21906a4e2f311defe527c55e" + "0231579957c51def507f835cceb466eb2593a509dcbee2f09e0dde6693b2bfe17697c9e8" + "6dd672f5797339cbe9ea8a7c6309b061eca7aef5", + "0a3f45a28a355381a919372f60320d6610cfb69c3e318eb1607db3cadfc42b728b77a6a9" + "e9e333de9183c58933daf60f", + "04832cbb7061a719a316e73dbad348fa67cd17c33f40b9000a3d3b691a2a2cd821052566" + "717c3ead01089b56086af1366f1e15a048d1dce642d9ebcbfac7f92b1bcee90fd0240cc7" + "9abd29e32e0e655c4ee1fd34fb88178bba92aca100e7794ed0", + "2a78e651623ba604c42cf094fc7d046629306f508853427ba091448800d1092c041bb232" + "3035fc9d19a8d44950f7dcc3", + "0db0cc9a2bda8dd7e565ad36f91b1c5756d78164dc8a72a5bee4b6bc45ea38c7a16b01d0" + "5b1893d4e06b62db24c30385", + "abd383edaeda7d0b8de1b54fcd3c28874fed62ab266f1f84c8ba796a7b54e5e0695fdb43" + "ce7fe90ed00fa468d87bca64"}, + {NID_secp384r1, NID_sha512, + "4672fce0721d37c5be166bffa4b30d753bcf104b9b414db994b3ed33f36af4935ea59a0b" + "b92db66448b3f57dad4fc67cef10ce141bf82c536be604b89a0bc0e8bca605b867880049" + "d97142d30538fc543bd9d4fab7fdbe2f703815cdb6361beb66acff764bc275f910d16624" + "45b07b92830db69a5994857f53657ed5ca282648", + "2e408c57921939f0e0fe2e80ce74a4fa4a1b4fa7ab070206298fe894d655be50e2583af9" + "e45544b5d69c73dce8a2c8e7", + "04a2b24a5ad4a2e91f12199ed7699e3f297e27bf8b8ea8fbe7ed28366f3544cd8e680c23" + "8450f8a6422b40829d6647b25c2732be0075536e6519f6a099b975a40f8e0de337fa4d48" + "bd0762b43f41cab8deafdef9cfbb9973e457801e3bf9c93304", + "b10b6258afdde81f9c971cc1526d942e20cafac02f59fee10f98e99b8674636bff1d84a6" + "eaa49c0de8d8cfdc90d8ce84", + "be428a8de89a364a134719141ee8d776a3a8338f1132b07e01b28573d8eaf3b9008b6330" + "4c48821e53638b6141f9660b", + "866181dbef5c147d391bed6adcee408c339982c307adc718c2b9ab9e5642d8dedc36dd64" + "02559a3ab614c99c1e56b529"}, + {NID_secp384r1, NID_sha512, + "9ae48fdd9bfc5cb0f4d4761e28b2073bda05a3e3fe82c212e66701dc4573cc67a829b0f8" + "2d7520b1bf11db0c6d1743822bbe41bb0adbd7222aa5fae70fbd1a31f2d4453a01c81e06" + "4d775388468be96f6063f8673b7b8d4455fe1bd4c801ad5e625a015eaa4a1a18da490d2a" + "f8642201eaba3c611cbd65f861d8e19ca82a1ee6", + "1c285da72a8eb1c3c38faab8d3bb4e68dc95c797082b9a3991a21c1de54759071ecf2265" + "fb1eff504ab24174bc6710cf", + "0411acb1b5cc59a4f1df1913a8d6e91cbdafb8206dc44aff7d9da45906b664fc33194d99" + "35a82aa4d62f39618897c86025832ed0b9575fff52a3603bfe89f312751b4c396da98324" + "117a61b3f525d27b2266f6cfb22be07e50b6874435e380ed62", + "2513075e02cc7fb3cff7b7adde46da31c5493749b5cf02758bd5b098a838bfd4d5e4c7fb" + "8268bdc37e219c30efebe878", + "b3d638b3be45f14f170da5bdc22d2114deac93ab340a25b3af2b5c18584bb9147e00dc6c" + "67a2274f79aa4838793eb63f", + "876112bdca2c725eb2f6dbd76d07710a31f0c16d38430cb0817f320a25a9ecfec8a66137" + "d0304612ae29a6a484fd3319"}, + {NID_secp384r1, NID_sha512, + "817d6a110a8fd0ca7b4d565558f68b59a156744d4c5aac5c6610c95451793de2a756f774" + "558c61d21818d3ebeeeb71d132da1c23a02f4b305eccc5cd46bd21dfc173a8a91098354f" + "10ffbb21bf63d9f4c3feb231c736504549a78fd76d39f3ad35c36178f5c233742d2917d5" + "611d2073124845f1e3615b2ef25199a7a547e882", + "9da37e104938019fbdcf247e3df879a282c45f8fb57e6655e36b47723af42bec3b820f66" + "0436deb3de123a21de0ca37b", + "04722d0ea6891d509b18b85ca56f74deb5c3030d2a30433824123d430d03c99279572c3b" + "28ecf01e747b9db8acc55d0ba37e2605ea7092214f366f3639037bffd89fe103c646e990" + "839d3a1ced8d78edb5b9bc60d834fd8e2a3c17e920bdae023a", + "c8c18e53a9aa5915288c33132bd09323638f7995cd89162073984ed84e72e07a37e18c4c" + "023933eace92c35d10e6b1b6", + "6512a8a2be731e301dcf4803764297862bbfa0ac8daed64d8e98b34618ecb20520fc5d3c" + "f890b7783edf86e7ea407541", + "4ff10301f7b4168fae066361376007c1d7aa89a75c87719d0b54711ffef5ef3726f3eef8" + "4f7ebc025c110bde511b17f6"}, + {NID_secp384r1, NID_sha512, + "464f10ec6fb229a51db5fd0e122f2cb8a9a022117e2987f4007bf5565b2c16aba0714e2e" + "3cdd0c100d55ac3017e36fc7501ad8309ab9572aa65424c9eb2e580a119c55777676ec49" + "8df53ef6ae78fd8a988130ee0e6082bf1ef71cd4c946021018a8ca7154d13b174c638912" + "613b0bdb9001c302bf7e443ad2124ab2c1cce212", + "0661ab3bf9f7bef51bec7dff758de289154557beb9ce18cc4b8cc09a871e8322af259cf1" + "88b593dc62f03a19e75f7f69", + "04b4f100558043858efa728082d9b99ad5192b59b0947434f5ba7ff2514508a6d71ba54e" + "7221c31cb0712103272b3f6fa434f6df4eeb2da11498044635067c2715ed15ae251c78ff" + "b9030d87909ea8539b66394e93109ca54c0406cf99960c3e93", + "84a87137edb6894f96c5a8e94a3765162034feb84dfea94e1c71411170c285a80321ec79" + "99e25861844143209804882c", + "4dc9d1b949b36e3c3847ac1c7ed114e1bc9cbe76119cf6fcd3f1b69ee6ee54e3255f1bb2" + "88fe2f8bd6d4049a21793c27", + "56a561d647b62ccae1e6df818b1a6fbde66c82ef0ff69ee415f183e7daf76be22630c7e0" + "2cd3fd729dfa490f26824584"}, + {NID_secp384r1, NID_sha512, + "4e3e0fb96320ddccde8b463c273654c4f7164920b1d63430921d2e808dee403e6420eedd" + "a0a557b911d00736a4f8798dd4ef26673efd6d190988ad4929ec64f8685cfb76070a36cd" + "6a3a4bf2f54fb08a349d44642b6f614043fef9b2813b63457c76537d23da7b37310334f7" + "ba76edf1999dad86f72aa3446445a65952ac4e50", + "66e7cfdeb7f264cf786e35210f458c32223c3a12a3bc4b63d53a5776bc9b069928452484" + "f6241caa3781fd1a4109d4db", + "043c7682de540ab231daf21bf9fc80bda6abf7e17dcc79d476c7b7c3bd4d42d386877fd8" + "ba495c1b0333e04fb5fd2a15050a1582e4f4d72abea9d3476aff8369c41261f0c5dddf2c" + "a82e10f7a163f73df09473d9e5e2552187104e4cc7c6d83611", + "2fa266f5cce190eb77614933ca6a55121ad8bae168ff7a9043d96d13b5ca2fe70101ff9f" + "e1e2b2cd7413e6aa8f49abde", + "e7ecda9da0c52d0474a9f70094dc8f061d7d6a22210d3b69a7be8f389aa666f256322099" + "b87d16ad35357ea856574dba", + "ba348eb40a2830ec5a1130264ac0a8675420b1ae243e808a778135809ece21f42c0c8811" + "66321102b4f02df4c5c7ed9d"}, + {NID_secp384r1, NID_sha512, + "c466b6b6baf7e6ffa876ec06105e2d43534e0517c07b1c4c9fb67ba81ce09525a7721ec3" + "c290f2b1f65b6463d41598e7a25b2238501629953a5ca955b644354fb6856733a2e5bb8f" + "5bc21a0c803493f5539f9fb83aab3dba2c982989c2270c61ab244b68bfe1b948d00c2ed9" + "75e09c29b5f8a7effcad8652a148cc880d503217", + "92c2f7ee64af86d003ab484e12b82fcf245fc330761057fec5b7af8f7e0a2d85b468c21d" + "171460fcb829cae7b986316d", + "04ca43a306479bf8fb537d4b9ff9d635bbb2a0d60d9e854d5b7e269d09d91f78c6b90b61" + "6e4c931629453645a2bb371e14356c4d7f10e690614eaf7f82ba0f9dc1aad98130c0ad9f" + "e353deec565cc04bef789a0a4242322e0058b46cd02f2de77d", + "6ec81fb74f8725ba225f317264460ee300cfd2f02092000989acbdad4799cf55c244a65c" + "557113328fe20282e6badb55", + "cd7a4309bcebc25a8e10899fe2eda5f8b2dbcf329cd2f3d65befd67393e83fba2f8a67a1" + "5c01a6ac8314f9f5e87a9dca", + "6dcfc0426bc148e67e91d4784e3d7e9bc3b7ce3676be62daa7f3f55dfdff6d9dc735b5e3" + "e0bbd0785db1f76f7ac065f3"}, + {NID_secp384r1, NID_sha512, + "feac892b7720af80b3c9eede51e923f18d3d0c5de4c31f4aa75e36df7c7c2fd8f4177885" + "1a24b69e67dccb65e159dd5c383243bad7cfedcc5e85c8a01c34b0b94ba8e07e4c024c09" + "d279b3731e8b62f9562d3c4f5042567efe42a9d0eaaabab28bc6f11232fc8ceaaf4518d9" + "f3b2bebf020294496b7f6b879e69503f75fecd3d", + "15347caaad1067f1848a676bd0a8c52021ae604b79d02775a0459226e0391a3acd26653c" + "916fcfe86149fb0ee0904476", + "04e5a0463163964d984f5bad0072d45bc2059939e60a826ccca36c151460ae360f5d6679" + "f60fe43e999b6da5841c96e48a30f2dd425a3fa2c95d34124217250b39e3b4a14f3e6e41" + "5ae8e5b0409eb72f43f78b64d0ce6f2d49980d6f04cd1391db", + "1a2d224db4bb9c241ca5cab18920fad615fa25c1db0de0f024cb3ace0d11ef72b0568854" + "46659f67650fdff692517b1c", + "87b4de0fb21df38dfc9a4b1e350da67547e307f55b5b9dd6615e408afe7c3553a6e02722" + "847367439e636074faa2182b", + "375d965753b9ed6c6c08576726f8308c2f8dbd2737824464e71265d47907e26f615bbeb8" + "203ec617520d4ecd1851dc44"}, + {NID_secp384r1, NID_sha512, + "cf2982e3bf174ce547741b969403cd11e9553067e6af8177d89511a0eb040db924530bdb" + "a65d8b1ff714228db0737c1756f509e1506014a10736e65be2f91980a73891496e90ff27" + "14a3601c7565cdcef5a395e2e0e1652f138d90d61eaa9cba993b823245647f6e07cec9b8" + "b4449cd68a29741cd1579c66e548ca0d0acf33aa", + "ac1cb5e59bda2eff3413a3bab80308f9fb32c595283c795de4c17fdae8d4647b5f108fd0" + "801aee22adb7db129283b5aa", + "04bc6b1a718284803553c173089c397870aaaecca579bb8e81a8cfa12473cd2057567fa8" + "726a19ed427cc035baeec2c55114f82997d1129b669f0015350e47ad561b1b13441af4fb" + "44656f15ed0c5706984d66655accc52f2e943eef39cb1cdc21", + "8053a46e875f446056b06d4318fa3e8977622de7207cbf0996bf35b0e9b19aaa507f642b" + "cf0be9f048f1af09806f6946", + "a994eb15b64114ce8a9342d18b5edda96a6d76314a5ac03da723699177d352a4a9f3b712" + "1b11a91e43a6af4025da51d6", + "8183ae33a888e99aa76882da0a6705ad102f2bbd9572fad0d2e4d6d70151970469e00c52" + "20e59c14724d771c1384b302"}, + {NID_secp384r1, NID_sha512, + "bf9fdd4107ef5a6070108771ac9eee4f0c8043bf0d04db772a47294f4137e2439d94b337" + "114b074e57e0cb78d0ccf352a2833e9788ee2a1a9ffeacd34f38fcefb86653d70c7dadd4" + "cf6548d608e70acdef6c7530974b92c813798add659752a8c72b05e1ad9c65c21834ce6f" + "be49d8a1426b5a54270794436d284364fac6ec1a", + "205f1eb3dfacff2bdd8590e43e613b92512d6a415c5951bda7a6c37db3aae39b9b7ec6ed" + "d256609e75373419087fa71f", + "04c9f1f63a18c761b077a1ec35fbb2de635db9b8592c36194a01769b57728c7755d4c79b" + "3d5b97a1a4631e30c86d03f13cf8c4a38770054d5cc9bb9182e6d4638242c4fd16e869ac" + "22e44c4b9402d594e0c6f5df6a9a7de32a4893d9f6588f1950", + "ecd395c5d8b7d6e6b2b19644e0d2e6086c912c6a0f5b8ed4b94b7290b65852c9741ce8ee" + "b08d8751ead8a183e17d76c6", + "e81331d78b438b0b8d98c1be03385ba5d614af182f1677f259126cc3de7eaac6c19b02be" + "955d936b6bf9c27c6796e6f0", + "17c2b7a8e0fc93909762aa9f86f9561e759ecb88f02337b2018363be6095d9e4324a6d32" + "96046686624b5efad6b52878"}, + {NID_secp384r1, NID_sha512, + "5d634fb39a2239256107dc68db19751540b4badac9ecf2fce644724401d6d632b3ae3b2e" + "6d05746b77ddc0c899878032248c263eda08d3d004d35952ad7a9cfe19343d14b37f9f63" + "2245e7b7b5fae3cb31c5231f82b9f1884f2de7578fbf156c430257031ba97bc6579843bc" + "7f59fcb9a6449a4cd942dffa6adb929cf219f0ad", + "e21e3a739e7ded418df5d3e7bc2c4ae8da76266a1fc4c89e5b09923db80a72217f1e9615" + "8031be42914cf3ee725748c1", + "040f753171922b5334f3dd2778a64ce2da8295121939beae71ad85e5344e893be0fd03cf" + "14e1f031adec098e0c4409449c45c10a0ffc0eb2f1cec5c89b698061108313ee7d449ad5" + "80efad344f0e7cf35be8a18fca620f112e57bdc746abdace55", + "d06bea06b25e6c30e866b1eb0657b45673e37b709013fb28fd7373afc8277cbc861354f8" + "21d0bd1927e52ec083a0f41f", + "e8d4a31dd0e7d2522be62a32608e744c3775ceb606dc897899f0c73f1a40ce9a8be854cd" + "506e65cd81fd7fa2c616cb7b", + "8151b681b6b6046d3c36f332d06d9ba7751e740631cdb759f88c50a25a8e950d5023df8a" + "15c77243743733c4feaf21d5"}, + {NID_secp384r1, NID_sha512, + "c9b4ff721b3e886f0dc05856ffff0aabb64a8504b1746a47fdd73e6b7ebc068f06ac7ffa" + "44c757e4de207fc3cbfaf0469d3ac6795d40630bcafe8c658627e4bc6b86fd6a2135afbc" + "18ccc8e6d0e1e86016930ca92edc5aa3fbe2c57de136d0ea5f41642b6a5d0ddeb380f245" + "4d76a16639d663687f2a2e29fb9304243900d26d", + "93434d3c03ec1da8510b74902c3b3e0cb9e8d7dccad37594d28b93e065b468d9af4892a0" + "3763a63eae060c769119c23c", + "04a52c25f2af70e5bc6a992ecef4ea54e831ed5b9453747d28aec5cffb2fcfee05be80c5" + "cbab21606b5507aa23878adee12cf2a9afeff83f3041dc8a05f016ccae58aa1a0e0dc6be" + "9d928e97f2598c9ba5e9718d5eb74c9cfb516fd8c09f55f5b9", + "13d047708ae5228d6e3bbada0e385afdb3b735b31123454fdf40afe3c36efed563fd2cce" + "84dcc45c553b0993d9ca9ec3", + "a0203f6f2c456baac03538ed506a182e57a25151802cf4b2557613b2fb615ebd4c50ddc5" + "05f87c048a45bad3b2fc371c", + "0eab56457c4080400fa3af124761d5a01fef35f9649edba8b97d22116386f3b8b363e97e" + "f3f82616d5d825df1cf865ef"}, + {NID_secp384r1, NID_sha512, + "db2ad659cf21bc9c1f7e6469c5f262b73261d49f7b1755fc137636e8ce0202f929dca446" + "6c422284c10be8f351f36333ebc04b1888cba217c0fec872b2dfc3aa0d544e5e06a9518a" + "8cfe3df5b20fbcb14a9bf218e3bf6a8e024530a17bab50906be34d9f9bba69af0b11d8ed" + "426b9ec75c3bd1f2e5b8756e4a72ff846bc9e498", + "e36339ddbe8787062a9bc4e1540690915dd2a2f11b3fe9ee946e281a0a2cbed426df405e" + "d9cb0eca42f85443efd09e0c", + "04a1ffb4b790d1593e907369b69de10b93cddbb02c6131f787422364d9d692768ef80979" + "70306cce16c97f2b10c538efa7d0692028601ea794d2563ffe9facc7273938fab47dd00b" + "8960be15549a9c2b3f8552583eb4c6cd212fe486c159c79153", + "2226f7329378cecd697f36ae151546643d67760856854661e31d424fae662da910e2157d" + "a9bb6dfbe3622296e0b5710c", + "20dcc25b67dd997621f437f65d78347fb57f8295b1b14453b1128203cda892bcfe726a2f" + "107d30975d63172e56f11d76", + "51cff592cbef75ef8321c8fa1e4229c4298b8180e427bee4e91d1e24fc28a729cf296beb" + "728960d2a58cf26773d8e2e2"}, + {NID_secp384r1, NID_sha512, + "dbd8ddc02771a5ff7359d5216536b2e524a2d0b6ff180fa29a41a8847b6f45f1b1d52344" + "d32aea62a23ea3d8584deaaea38ee92d1314fdb4fbbecdad27ac810f02de0452332939f6" + "44aa9fe526d313cea81b9c3f6a8dbbeafc899d0cdaeb1dca05160a8a039662c4c845a3db" + "b07be2bc8c9150e344103e404411668c48aa7792", + "5da87be7af63fdaf40662bd2ba87597f54d7d52fae4b298308956cddbe5664f1e3c48cc6" + "fd3c99291b0ce7a62a99a855", + "0454c79da7f8faeeee6f3a1fdc664e405d5c0fb3b904715f3a9d89d6fda7eabe6cee86ef" + "82c19fca0d1a29e09c1acfcf18926c17d68778eb066c2078cdb688b17399e54bde5a79ef" + "1852352a58967dff02c17a792d39f95c76d146fdc086fe26b0", + "1b686b45a31b31f6de9ed5362e18a3f8c8feded3d3b251b134835843b7ae8ede57c61dc6" + "1a30993123ac7699de4b6eac", + "9dbfa147375767dde81b014f1e3bf579c44dd22486998a9b6f9e0920e53faa11eed29a4e" + "2356e393afd1f5c1b060a958", + "e4d318391f7cbfe70da78908d42db85225c85f4f2ff413ecad50aad5833abe91bdd5f6d6" + "4b0cd281398eab19452087dd"}, + {NID_secp521r1, NID_sha224, + "58ec2b2ceb80207ff51b17688bd5850f9388ce0b4a4f7316f5af6f52cfc4dde4192b6dbd" + "97b56f93d1e4073517ac6c6140429b5484e266d07127e28b8e613ddf65888cbd5242b2f0" + "eee4d5754eb11f25dfa5c3f87c790de371856c882731a157083a00d8eae29a57884dbbfc" + "d98922c12cf5d73066daabe3bf3f42cfbdb9d853", + "1d7bb864c5b5ecae019296cf9b5c63a166f5f1113942819b1933d889a96d12245777a994" + "28f93de4fc9a18d709bf91889d7f8dddd522b4c364aeae13c983e9fae46", + "0401a7596d38aac7868327ddc1ef5e8178cf052b7ebc512828e8a45955d85bef49494d15" + "278198bbcc5454358c12a2af9a3874e7002e1a2f02fcb36ff3e3b4bc0c69e70184902e51" + "5982bb225b8c84f245e61b327c08e94d41c07d0b4101a963e02fe52f6a9f33e8b1de2394" + "e0cb74c40790b4e489b5500e6804cabed0fe8c192443d4027b", + "141f679033b27ec29219afd8aa123d5e535c227badbe2c86ff6eafa5116e9778000f5385" + "79a80ca4739b1675b8ff8b6245347852aa524fe9aad781f9b672e0bb3ff", + "06b973a638bde22d8c1c0d804d94e40538526093705f92c0c4dac2c72e7db013a9c89ffc" + "5b12a396886305ddf0cbaa7f10cdd4cd8866334c8abfc800e5cca365391", + "0b0a01eca07a3964dd27d9ba6f3750615ea36434979dc73e153cd8ed1dbcde2885ead575" + "7ebcabba117a64fcff9b5085d848f107f0c9ecc83dfa2fa09ada3503028"}, + {NID_secp521r1, NID_sha224, + "2449a53e0581f1b56d1e463b1c1686d33b3491efe1f3cc0443ba05d65694597cc7a2595b" + "da9cae939166eb03cec624a788c9bbab69a39fb6554649131a56b26295683d8ac1aea969" + "040413df405325425146c1e3a138d2f4f772ae2ed917cc36465acd66150058622440d7e7" + "7b3ad621e1c43a3f277da88d850d608079d9b911", + "17e49b8ea8f9d1b7c0378e378a7a42e68e12cf78779ed41dcd29a090ae7e0f883b0d0f2c" + "bc8f0473c0ad6732bea40d371a7f363bc6537d075bd1a4c23e558b0bc73", + "0400156cd2c485012ea5d5aadad724fb87558637de37b34485c4cf7c8cbc3e4f106cb1ef" + "d3e64f0adf99ddb51e3ac991bdd90785172386cdaf2c582cc46d6c99b0fed101edeeda71" + "7554252b9f1e13553d4af028ec9e158dbe12332684fc1676dc731f39138a5d301376505a" + "9ab04d562cc1659b0be9cb2b5e03bad8b412f2699c245b0ba2", + "1dc3e60a788caa5f62cb079f332d7e5c918974643dca3ab3566a599642cd84964fbef43c" + "e94290041fe3d2c8c26104d9c73a57a7d4724613242531083b49e255f33", + "12592c0be6cce18efb2b972cd193d036dcb850f2390fa8b9b86b2f876548bc424fb3bc13" + "c1e5c415fa09d0ecfcae5bf76fb23e8322d7eecb264a2ae6d20ef50d405", + "11bc9713be88e3b9912a3e5f5d7b56f20573e979b1a75d04ce339f724bddffa4665d2599" + "5fe24d32507d8a07c5e10169f5338ef2827737f7b0291752b21237217e3"}, + {NID_secp521r1, NID_sha224, + "7ba05797b5b67e1adfafb7fae20c0c0abe1543c94cee92d5021e1abc57720a6107999c70" + "eacf3d4a79702cd4e6885fa1b7155398ac729d1ed6b45e51fe114c46caf444b20b406ad9" + "cde6b9b2687aa645b46b51ab790b67047219e7290df1a797f35949aaf912a0a8556bb210" + "18e7f70427c0fc018e461755378b981d0d9df3a9", + "135ea346852f837d10c1b2dfb8012ae8215801a7e85d4446dadd993c68d1e9206e1d8651" + "b7ed763b95f707a52410eeef4f21ae9429828289eaea1fd9caadf826ace", + "04018d40cc4573892b3e467d314c39c95615ee0510e3e4dbc9fa28f6cd1f73e7acde15ad" + "7c8c5339df9a7774f8155130e7d1f8de9139ddd6dfe1841c1e64c38ea98243017021782d" + "33dc513716c83afe7ba5e7abef9cb25b31f483661115b8d6b5ae469aaf6f3d54baa3b658" + "a9af9b6249fd4d5ea7a07cb8b600f1df72b81dac614cfc384a", + "0c24acc1edb3777212e5b0bac744eadf4eda11fa150753b355bf96b189e6f57fc02284bb" + "22d8b3cd8bba7a09aae9f4ea955b382063425a6f8da2f99b9647b147172", + "183da7b8a9f9d5f08903359c1a2435b085fcf26a2ed09ab71357bb7634054acc569535e6" + "fe81d28233e4703005fc4bf83ce794d9463d575795aa0f03398e854cefd", + "0b3621145b9866ab7809139795cc30cd0404127a7f0fafa793660491009f6c53724fdb0b" + "1ffbf0fd51c131180b8a957fe66e76d2970247c024261c768dee9abbfb9"}, + {NID_secp521r1, NID_sha224, + "716dabdb22a1c854ec60420249905a1d7ca68dd573efaff7542e76f0eae54a1828db69a3" + "9a1206cd05e10e681f24881b131e042ed9e19f5995c253840e937b809dfb8027fed71d54" + "1860f318691c13a2eb514daa5889410f256305f3b5b47cc16f7a7dad6359589b5f4568de" + "4c4aae2357a8ea5e0ebaa5b89063eb3aa44eb952", + "1393cb1ee9bfd7f7b9c057ecc66b43e807e12515f66ed7e9c9210ba1514693965988e567" + "fbad7c3f17231aacee0e9b9a4b1940504b1cd4fd5edfaa62ba4e3e476fc", + "0401e855c935139c8092092cfa733db1292530506eeb2bbb1687f9602c36d97a6714e998" + "892d5d3b842d1896a6ece9d549e9792881a256256137b3dff180c96cc5d07b018d83b6e9" + "3cd287311f7bf7c1d7f9eeabcf0b69c12f2d8f40e333e81e956d968532a37a4c04d76187" + "4df293b484cd7053b03fdbc2fdcd3b4c412d6f272fb7c93fe6", + "1d98619bdc04735d30c222fc67da82c069aea5f449af5e8c4db10c1786c0cb9e6f2cc0bb" + "66fa6be18c485570d648dafcd0a973c43d5c94e9a9dacbd3170e53fa2a0", + "0bf47fabe107ce0ec03e2ad60a79b058e1bebb18568b6a8cdbe86032e71aa30c15766105" + "b2ea952cfa79bcab046df601159f96e179bbcf252dc68ac73d31481fdae", + "1f918fec69cd07d90f9d892b7117e7519c3224947f4262f1fd97077dd5386a6c78aeddff" + "3ee97e59ea353f06029f1336f0d6ef5c0f4b17ca59343a55319b7bfc3db"}, + {NID_secp521r1, NID_sha224, + "9cc9c2f131fe3ac7ea91ae6d832c7788cbbf34f68e839269c336ceef7bef6f20c0a62ea8" + "cc340a333a3002145d07eba4cf4026a0c4b26b0217a0046701de92d573d7c87a386a1ea6" + "8dc80525b7dcc9be41b451ad9f3d16819e2a0a0b5a0c56736da3709e64761f97cae2399d" + "e2a4022dc4c3d73c7a1735c36dbde86c4bc5b6f7", + "179fa164e051c5851e8a37d82c181e809a05fea9a3f083299b22684f59aa27e40dc5a33b" + "3f7949338764d46bfe1f355134750518b856d98d9167ef07aac3092c549", + "0401857cc7bbed20e87b3fd9a104956aa20c6502192910e0e7598410526ebfe1c99397b8" + "5189612a60c51fb8f4dd5cb08a8cd2e702563062dcb043410715c5323a004601fce8d135" + "284310d2f38c216030634b32cd223222f0d9d8d2b7c55477c4b8b74fc6c96a6092f34b05" + "ca44d3633a5037c2166c479a032bb4f949f89fc1ba5236d07d", + "16d9704c0cee791f2938bb2a8a595752a3635c2f557efeecefd719414b5f2aaf846080f5" + "82c76eae7a8fddf81859b49d0131c212524d55defa67dca1a9a28ca400f", + "1c9a4e51774384e8362876a87c572e6463a54413c7c6252c552ebb182f83e45ace436ade" + "4ca373d8a7216e83efb62c8b41c4d5132a0afa65078f16d189baca39187", + "1e92a7dd5fea29a666398e1df5775cbb5664fe6943fe4c1d2bba516b7543c84df584458e" + "53919c4ffab579a26fb3c892a5d1a77b0a07428c89350f8b559e627b014"}, + {NID_secp521r1, NID_sha224, + "14c69f8d660f7a6b37b13a6d9788eff16311b67598ab8368039ea1d9146e54f55a83b3d1" + "3d7ac9652135933c68fafd993a582253be0deea282d86046c2fb6fd3a7b2c80874ced28d" + "8bed791bd4134c796bb7baf195bdd0dc6fa03fdb7f98755ca063fb1349e56fd0375cf947" + "74df4203b34495404ebb86f1c7875b85174c574c", + "13dabca37130ba278eae2b3d106b5407711b0d3b437fbf1c952f0773571570764d2c7cb8" + "896a8815f3f1975b21adc6697898e5c0a4242092fc1b80db819a4702df4", + "0400bc2aebf40cd435bc37d73c09d05f2fd71321111a767c2b0d446f90dd4a186839c694" + "ceb734e027e7ee948f0f63e4d3f1656d3d543df23c342a599306909b34710901f4c98ac0" + "3f0718e58d5d1762c920445b11dbdd60ec7f60095809204e14965a4ecb0be6fea06adbac" + "8ba431d6f144c75c199225df2a619a34be99897125b3a10af8", + "0401187c8b89945a1e48cda9ee52167789f4121e67482a7ac797899f5d3d2e623aed31e4" + "adae08a8d43e69028fa074d2650317cbc765f6ed191cf0317b4bae57881", + "1e572afed754016fba43fc33e352932c4db65efcb84e2bd159b40fc5925893b161effc40" + "240be28d8c07154d2615f605c6f0451b976522d95afd37f46602df7a12a", + "030370c1c5352c2b663ac1858b42f69545b2f58ed5b2c007f303726977d3c756b5d644ec" + "6788f94c886f78269aa190a3d8d1ae10e4fd24d937c4556fb9e1953fd6d"}, + {NID_secp521r1, NID_sha224, + "8d8e75df200c177dbfe61be61567b82177ea5ec58e2781168d2277d2fd42668f01248ca3" + "eb29ffa2689b12ae40f9c429532b6d2e1f15891322b825a0a072a1c68fa09e78cfdef3e9" + "5ed6fdf7233a43cb68236560d49a3278f0b3f47cb08f475bd9ab2f60755ea4a1767de931" + "3b71a1b9ea87ef33f34682efbda263b0f8cc2f52", + "198681adbde7840d7ccd9cf1fb82056433fb4dd26bddf909af7b3b99da1ca2c05c8d4560" + "ecd80ba68f376f8b487897e374e99a9288ed7e3645cc0d00a478aae8d16", + "040057ce3777af7032f1f82308682e71fe09f88bf29dacd5018a725e1caa4b1e2bfdd894" + "fe618f9266f31ba089856dc9c1b70e4a2faa08b4b744d1aafcd5ae99e2c7360199bcfef2" + "021bc5890d7d39ec5dc0c26956801e84cae742cf6c50386eb289b6e97754dd25a94abf81" + "f1cb1b36935b5eb29f4b32a6516d2ff6a7d23064a0daec94b3", + "19d2d74ad8ee2d85048f386998a71899ef6c960b4ab324e5fd1c0a076c5a632fd0009500" + "076522e052c5c9806eef7056da48df6b16eb71cdf0f1838b0e21715fce0", + "18ecacbcffd5414bbb96728e5f2d4c90178e27733d13617e134ec788022db124374bbaa1" + "1e2c77fe3f38d1af6e998e1b0266b77380984c423e80ffa6ff2bcafd57a", + "1c727f34b6a378f3087721a54e9796499b597ecf6666b8f18312d67e1190a8a66e878efc" + "2367b551267494e0245979ef4deed6d2cbf2c3711af6d82ccfeb101a377"}, + {NID_secp521r1, NID_sha224, + "10631c3d438870f311c905e569a58e56d20a2a560e857f0f9bac2bb7233ec40c79de1452" + "94da0937e6b5e5c34fff4e6270823e5c8553c07d4adf25f614845b2eac731c5773ebbd71" + "6ab45698d156d043859945de57473389954d223522fbafecf560b07ef9ba861bcc1df9a7" + "a89cdd6debf4cd9bf2cf28c193393569ccbd0398", + "08c4c0fd9696d86e99a6c1c32349a89a0b0c8384f2829d1281730d4e9af1df1ad5a0bcfc" + "cc6a03a703b210defd5d49a6fb82536f88b885776f0f7861c6fc010ef37", + "040164ac88ed9afe137f648dd89cdd9956682830cac5f7c1a06d19a1b19f82bb1d22dfee" + "fea30d35c11202fed93fd5ce64835d27c6564d6e181287fa04a2d20994986b005cb83669" + "265f5380ccefe6b4f85fdf0049e6703f6f378a0b2e52ed0fbbcf300afebb722f4ed48e38" + "19cb976c1d60e2ba05646b478f6dfecfbae730e9644c297f00", + "189801432cba9bf8c0763d43b6ec3b8636e62324587a4e27905b09a58e4aa66d07d096db" + "ce87824e837be1c243dd741f983c535a5dd2f077aac8beee9918258d3cb", + "0917723f7241e8dc7cd746b699ab621d068dd3a90e906aaf0a4862744b96fd4e5ccdb9c7" + "796c27f7196e693d06ec209464c3ea60ad6313e9b77cceaa14767e6651c", + "0957b0ecdc3668f6efa5d0957615bcfffd6419c5e57579b74f960f65ae3fb9e8284322ff" + "710b066f7e0959ac926d3cf9a594bdb70bbec756c96910b26a2486dee9e"}, + {NID_secp521r1, NID_sha224, + "80aad6d696cbe654faa0d0a24d2f50d46e4f00a1b488ea1a98ed06c44d1d0c568beb4ab3" + "674fc2b1d2d3da1053f28940e89ba1244899e8515cabdd66e99a77df31e90d93e37a8a24" + "0e803a998209988fc829e239150da058a300489e33bf3dcdaf7d06069e74569fee77f4e3" + "875d0a713ccd2b7e9d7be62b34b6e375e84209ef", + "1466d14f8fbe25544b209c5e6a000b771ef107867e28ed489a42015119d1aa64bff51d6b" + "7a0ac88673bbc3618c917561cff4a41cdb7c2833dab5ebb9d0ddf2ca256", + "0401dc8b71d55700573a26af6698b92b66180cf43e153edadb720780321dbb4e71d28e0a" + "488e4201d207fc4848fe9dd10dcabec44492656a3ff7a665fe932445c82d0b01920b1633" + "1b7abeb3db883a31288ef66f80b7728b008b3cc33e03a68f68d9e653a86e3177bbc00014" + "fa5ea4c1608c0d455c2e2ac7bd8ab8519ebf19955edf1baf8d", + "160d04420e0d31b0df476f83393b1f9aff68389cc3299e42ef348d97646f7531a722b66d" + "dfb9501bbb5c4a41d84c78be7233b11489bceb817d23060e6017433fab8", + "08077aabd0a342f03f912007c586cfedfc63f93d1118f720d5b62b3ce141a60f86f111df" + "d8fc2e31a6778981f1a5e28f29a7369bd7897bb41240c8d3a9c170e0ee0", + "00abc75fc154b93840579457820957e89d1260fee0a4b9bb1946f61ca1e71afd76bb5e10" + "77b3e38ceb39d1fac5ef8b217c4110617b3ad118e02b3fcc2a39ef38613"}, + {NID_secp521r1, NID_sha224, + "8a7792a2870d2dd341cd9c4a2a9ec2da753dcb0f692b70b64cef2e22071389c70b3b188d" + "ea5f409fb435cbd09082f59de6bc2ff9e65f91b7acc51e6e7f8e513148cb3c7c4664f227" + "d5c704626b0fda447aa87b9d47cd99789b88628eb642ed250312de5ba6b25f3d5342a3cb" + "b7ebd69b0044ee2b4c9ba5e3f5195afb6bea823d", + "01a99fcf54c9b85010f20dc4e48199266c70767e18b2c618044542cd0e23733817776a1a" + "45dbd74a8e8244a313d96c779f723013cd88886cb7a08ef7ee8fdd862e7", + "0401912d33b01d51e2f777bdbd1ada23f2b1a9faf2be2f2a3b152547db9b149b697dd718" + "24ca96547462e347bc4ef9530e7466318c25338c7e04323b1ba5fd25ea716200bbe9b1e3" + "a84accd69b76b253f556c63e3f374e3de0d1f5e3600fc19215533b2e40d6b32c3af33314" + "d223ea2366a51d1a337af858f69326389276f91be5c466e649", + "14fafd60cb026f50c23481867772411bb426ec6b97054e025b35db74fe8ea8f74faa2d36" + "e7d40b4652d1f61794878510b49b7b4fe4349afccd24fc45fec2fd9e9e7", + "18b1df1b6d7030a23a154cacce4a2e3761cc6251ff8bf6c9f6c89d0a15123baef9b338ad" + "a59728349ce685c03109fcde512ed01a40afd2ca34e1bc02ecf2871d45c", + "0a399f9b9e21aeddf450429fec2dc5749e4a4c7e4f94cee736004dcc089c47635da22845" + "992cd076a4f0a01d2cc1b0af6e17b81a802361699b862157ad6cad8bd1d"}, + {NID_secp521r1, NID_sha224, + "f971bcd396efb8392207b5ca72ac62649b47732fba8feaa8e84f7fb36b3edb5d7b5333fb" + "fa39a4f882cb42fe57cd1ace43d06aaad33d0603741a18bc261caa14f29ead389f7c2053" + "6d406e9d39c34079812ba26b39baedf5feb1ef1f79990496dd019c87e38c38c486ec1c25" + "1da2a8a9a57854b80fcd513285e8dee8c43a9890", + "1b6015d898611fbaf0b66a344fa18d1d488564352bf1c2da40f52cd997952f8ccb436b69" + "3851f9ccb69c519d8a033cf27035c27233324f10e9969a3b384e1c1dc73", + "040110c6177ceb44b0aec814063f297c0c890671220413dbd900e4f037a67d87583eaf4b" + "6a9a1d2092472c17641362313c6a96f19829bb982e76e3a993932b848c7a9700f6e566c4" + "e49b2ee70a900dc53295640f3a4a66732df80b29f497f4ae2fa61d0949f7f4b12556967b" + "b92201a4f5d1384d741120c95b617b99c47a61e11c93a482d6", + "1a88667b9bdfe72fb87a6999a59b8b139e18ef9273261549bc394d884db5aa64a0bc7c7d" + "38a8ef17333478d2119d826e2540560d65f52b9a6dc91be1340cfd8f8f8", + "015f73def52ea47ddb03e0a5d154999642202e06e6734ac930c1dc84756c67bbb1cca9f2" + "1f92d61bfdb2052c5dd2833349610f68139393d77250a7662ef7bd17cbe", + "155c744a729f83b27d1f325a91e63a0d564fe96ff91eaa1bad3bff17d2abffa065d14a1d" + "20a04dd993f6ed3260b60bcc6401e31f6bc75aaafe03e8c1a9cd14d2708"}, + {NID_secp521r1, NID_sha224, + "ec0d468447222506b4ead04ea1a17e2aa96eeb3e5f066367975dbaea426104f2111c45e2" + "06752896e5fa7594d74ed184493598783cb8079e0e915b638d5c317fa978d9011b44a76b" + "28d752462adf305bde321431f7f34b017c9a35bae8786755a62e746480fa3524d398a6ff" + "5fdc6cec54c07221cce61e46fd0a1af932fa8a33", + "05e0d47bf37f83bcc9cd834245c42420b68751ac552f8a4aae8c24b6064ae3d33508ecd2" + "c17ec391558ec79c8440117ad80e5e22770dac7f2017b755255000c853c", + "0401a6effc96a7f23a44bf9988f64e5cfafdae23fa14e4bee530af35d7a4ddf6b80dcd0d" + "937be9dd2db3adcda2f5216fecbce867ee67e7e3773082f255156e31358c2f01e7760190" + "dfbe07ec2df87067597087de262c1e0a12355456faba91b2e7277050d73b924e14c0e93b" + "8457a8b3e1f4207ce6e754274f88ad75c000d1b2977edc9c1a", + "18afea9a6a408db1e7a7bb1437a3d276f231eacfc57678bfa229d78681cbe4e800e60653" + "32a3128db65d3aa446bb35b517dca26b02e106e1311881a95b0302d15e8", + "01c49b3c1d21f1678bdbe1ac12167e95e06617190bdee1a729c1c649210da19e2e210f66" + "89e1310513bfe2ac6c0f4ee5f324f344b31b18df341eaadb826d07adc9b", + "129d4931ba457443012f6ffecd002f2abc3a4b65a58fee8457917ebcf24b29a1d3055b7f" + "c62939a74ebb0c3582172ee7c3c75e0b2fa2367c6e04df63a7a91d593ad"}, + {NID_secp521r1, NID_sha224, + "d891da97d2b612fa6483ee7870e0f10fc12a89f9e33d636f587f72e0049f5888782ccde3" + "ea737e2abca41492bac291e20de5b84157a43c5ea900aef761006a4471072ab6ae6d515f" + "fe227695d3ff2341355b8398f72a723ae947f9618237c4b6642a36974860b452c0c62026" + "88bc0814710cbbff4b8e0d1395e8671ae67ada01", + "1804ab8f90ff518b58019a0b30c9ed8e00326d42671b71b067e6f815ac6752fa35016bd3" + "3455ab51ad4550424034419db8314a91362c28e29a80fbd193670f56ace", + "0400a79529d23a832412825c3c2ad5f121c436af0f29990347ecfa586ce2e57fd3c7e062" + "4d8db1f099c53473dbc2578f85416ad2ac958a162051014fb96bf07f9e1d17017c0750f2" + "6df0c621d2d243c6c99f195f0086947b1bf0f43731555f5d677e2d4a082fb5fe8da87e15" + "92a5fa31777da3299cede5a6f756edf81c85b77853388bb3ab", + "042d7c36fec0415bc875deb0fab0c64548554062e618aee3aa6670ffd68ab579fe620d3a" + "9316357267fd3111c0ed567dca663acd94b646d2ba0771953cd9690ef42", + "0d01dfbef126febbdfa03ef43603fd73bc7d2296dce052216e965fed7bb8cbbc24142bfc" + "ddb60c2e0bef185833a225daa0c91a2d9665176d4ad9986da785f4bfcf0", + "16627e2614dbcd371693c10bbf579c90c31a46c8d88adf59912c0c529047b053a7c77151" + "42f64dcf5945dbc69ff5b706c4b0f5448d04dd1f0b5a4c3765148bf253d"}, + {NID_secp521r1, NID_sha224, + "924e4afc979d1fd1ec8ab17e02b69964a1f025882611d9ba57c772175926944e42c68422" + "d15f9326285538a348f9301e593e02c35a9817b160c05e21003d202473db69df695191be" + "22db05615561951867f8425f88c29ba8997a41a2f96b5cee791307369671543373ea91d5" + "ed9d6a34794d33305db8975b061864e6b0fe775f", + "0159bff3a4e42b133e20148950452d99681de6649a56b904ee3358d6dd01fb6c76ea0534" + "5cb9ea216e5f5db9ecec201880bdff0ed02ac28a6891c164036c538b8a8", + "04012d7f260e570cf548743d0557077139d65245c7b854ca58c85920ac2b290f2abfeccd" + "3bb4217ee4a29b92513ddce3b5cbf7488fb65180bb74aeb7575f8682337ef50175601862" + "30c7e8bff0bffce1272afcd37534f317b453b40716436a44e4731a3ec90a8f17c53357bc" + "54e6ff22fc5b4ca892321aa7891252d140ece88e25258b63d5", + "14b8a30f988cefdc0edec59537264edb0b697d8c4f9e8507cf72bc01c761304bd2019da1" + "d67e577b84c1c43dd034b7569f16635a771542b0399737025b8d817e1c3", + "0fc50939ebca4f4daa83e7eaf6907cb08f330c01d6ea497b86becda43dfcad47cb5c48f5" + "eb2cc924228628070bcd144088c449a7873242ba86badf796097dbecd6d", + "0ccb6463c4301ba5c043e47ed508d57dd908fd0d533af89fd3b11e76343a1cf2954ce90b" + "0eb18cbc36acd6d76b3906612d8a0feec6ebed13d88650ed9c708b28a11"}, + {NID_secp521r1, NID_sha224, + "c64319c8aa1c1ae676630045ae488aedebca19d753704182c4bf3b306b75db98e9be4382" + "34233c2f14e3b97c2f55236950629885ac1e0bd015db0f912913ffb6f1361c4cc25c3cd4" + "34583b0f7a5a9e1a549aa523614268037973b65eb59c0c16a19a49bfaa13d507b29d5c7a" + "146cd8da2917665100ac9de2d75fa48cb708ac79", + "17418dfc0fc3d38f02aa06b7df6afa9e0d08540fc40da2b459c727cff052eb0827bdb3d5" + "3f61eb3033eb083c224086e48e3eea7e85e31428ffe517328e253f166ad", + "04000188366b9419a900ab0ed9633426d51e25e8dc03f4f0e7549904243981ec469c8d6d" + "938f6714ee620e63bb0ec536376a73d24d40e58ad9eb44d1e6063f2eb4c51d009889b920" + "3d52b9243fd515294a674afd6b81df4637ffdddc43a7414741eda78d8aa862c9cbbb618a" + "cec55bb9a29aac59616fc804a52a97a9fc4d03254f4469effe", + "1211c8824dcbfa0e1e15a04779c9068aed2431daeac298260795e6a80401f11f6d52d36b" + "cee3cfa36627989c49d11475163aa201d2cd4c5394144a6bb500bbaf02b", + "1d59401b8ac438855d545a699991142685077a409de2418c7ccfe01a4771b3870e76287a" + "9654c209b58a12b0f51e8dc568e33140a6b630324f7ef17caa64bf4c139", + "143af360b7971095b3b50679a13cd49217189eaee4713f4201720175216573c68f7ac6f6" + "88bfe6eb940a2d971809bf36c0a77decc553b025ed41935a3898685183b"}, + {NID_secp521r1, NID_sha256, + "8ab8176b16278db54f84328ae0b75ef8f0cd18afdf40c04ad0927ed0f6d9e47470396c8e" + "87cde7a9be2ffbfe6c9658c88b7de4d582111119c433b2e4a504493f0a1166e3a3ea0d7b" + "93358f4a297d63f65a5e752f94e2ee7f49ebcc742fa3eb03a617d00c574245b77a200338" + "54d82964b2949e2247637239ab00baf4d170d97c", + "1e8c05996b85e6f3f875712a09c1b40672b5e7a78d5852de01585c5fb990bf3812c32455" + "34a714389ae9014d677a449efd658254e610da8e6cad33414b9d33e0d7a", + "04007d042ca19408524e68b981f1419351e3b84736c77fe58fee7d11317df2e850d960c7" + "dd10d10ba714c8a609d163502b79d682e8bbecd4f52591d2748533e45a867a0197ac6416" + "111ccf987d290459ebc8ad9ec56e49059c992155539a36a626631f4a2d89164b985154f2" + "dddc0281ee5b5178271f3a76a0914c3fcd1f97be8e8376efb3", + "0dc8daaacddb8fd2ff5c34a5ce183a42261ad3c64dbfc095e58924364dc47ea1c05e2599" + "aae917c2c95f47d6bb37da008af9f55730ddbe4d8ded24f9e8daa46db6a", + "09dd1f2a716843eedec7a6645ac834d4336e7b18e35701f06cae9d6b290d41491424735f" + "3b57e829ad5de055eaeef1778f051c1ee152bf2131a081e53df2a567a8a", + "02148e8428d70a72bc9fa986c38c2c97deda0420f222f9dc99d32c0acba699dc7ba0a2b7" + "9ce5999ff61bd0b233c744a893bc105bca5c235423e531612da65d72e62"}, + {NID_secp521r1, NID_sha256, + "c4bc2cec829036469e55acdd277745034e4e3cc4fcd2f50ec8bd89055c19795a1e051ccf" + "9aa178e12f9beab6a016a7257e391faa536eaa5c969396d4e1ade36795a82ebc709d9422" + "de8497e5b68e7292538d4ccdc6dd66d27a3ece6a2844962b77db073df9489c9710585ba0" + "3d53fa430dbc6626dc03b61d53fc180b9af5dea6", + "0b65bf33b2f27d52cbfabcadce741e691bf4762089afd37964de1a0deda98331bf8c7402" + "0a14b52d44d26e2f6fa7bcddbe83be7db17a0c8a1b376469cf92c6da27c", + "04010038bb9a7aea626de68c14c64243150e72c69e2f8a1ab922bfbdaa6f33d24fb4542c" + "0324357b0dd640bbcd07632ecd253f64ca2bfbfbf3de9b24fffd0568ab82da00faf867d9" + "5308cc36d6f46844a0f535dc70f9768eed011a2464d2f308fa1d8e72c3616aec7e705169" + "08183ffce7fdd36984a15f73efaa3858c2edf16a784d40e6c2", + "14aeb96c57d99677a1f5e4588064215e7e9af4027bfb8f31ff6126dbf341b8e6f719465e" + "4273e91ba32670feca802549808322b7ee108bb20653cf20f93284d365f", + "075ead62edf7d86c5d1bc2443d1aeb5dc034fd999e6ea012cef7499d9d050cd97d262095" + "884e9fc89a42e15bd3dee80fe3c1ba10f4caabc4aabb86347023028b663", + "129a992a6ff66d41948d11fa680f732b1a74315b804c982805190ed9d2fae223f2b14998" + "0b9241998cdea0c5672595a8a49d5186a0ef7a46c0a376f925bdda81726"}, + {NID_secp521r1, NID_sha256, + "1c1b641d0511a0625a4b33e7639d7a057e27f3a7f818e67f593286c8a4c827bb1f3e4f39" + "9027e57f18a45403a310c785b50e5a03517c72b45ef8c242a57b162debf2e80c1cf6c7b9" + "0237aede5f4ab1fcaf8187be3beb524c223cc0ceff24429eb181a5eea364a748c7132148" + "80d976c2cd497fd65ab3854ad0d6c2c1913d3a06", + "02c4e660609e99becd61c14d043e8b419a663010cc1d8f9469897d7d0a4f076a619a7214" + "a2a9d07957b028f7d8539ba7430d0b9a7de08beeeae8452d7bb0eac669d", + "0400fb3868238ca840dbb36ecc6cf04f5f773ea0ab8e8b0fdcf779dc4039a8d7146a4175" + "04e953c0cb5e7f4e599cc2c168deda8b7f16084b5582f89f2ece4cae5167f701f90b5c15" + "eeda48e747cf3ee8183166a49dbfac6161cbd09d29d40a6854f4c495e88a435892a920cd" + "aad20d41985890b648badd4f0a858ffcbd9afdfc23134ede18", + "1f875bbf882cd6dd034a87916c7b3ba54b41b2ea2ce84ebaf4e393fcf7291fee09dec2b5" + "bb8b6490997c9e62f077c34f0947fe14cec99b906dd6bf0b5d301e75ca1", + "07aa70425697736b298233249f5d0cf25c99e640c9ff88035ef1804820e1bfe7d043755f" + "02d7a079494f7fa6dc26740c4e6b7b430c63f29c67bbd3a5c88d2f0e8d1", + "0e0d42e4ff11cf5be37a9fda348514d5097a662f214687cbfb28ff42d635b13029871ca4" + "f464bb1fbce02d5da4d5fb61b2a071844259fc863d136197bec3a61e7c7"}, + {NID_secp521r1, NID_sha256, + "adb5f069b2b501a3ebb83d4f1808eb07710ac4a7b12532996855a20bcc54b2f76812915f" + "632163c3654ff13d187d007152617cf859200194b59c5e81fc6cc9eb1ceb75d654050f26" + "0caa79c265254089270ccd02607fdcf3246119738c496dc3a4bd5d3be15789fc3d29a08d" + "6d921febe2f40aef286d5d4330b07198c7f4588e", + "17c3522007a90357ff0bda7d3a36e66df88ca9721fb80e8f63f50255d47ee819068d018f" + "14c6dd7c6ad176f69a4500e6f63caf5cf780531004f85009c69b9c1230c", + "04013a4bea0eed80c66ea973a9d3d4a90b6abbb5dee57d8affaf93390a8783a20982eba6" + "44d2e2809f66530adeeee7f9a1da7515447e9ba118999f76f170c375f621f7012f9dfaee" + "40a75d8442b39b37a5c19ea124b464236e9b9a31bae6780cfd50f7ea4a700154b5ea0fee" + "b64e9b35a1b0e33e46900cca1f34d13bb17e5017769841af27", + "18388a49caeda35859ef02702c1fd45ff26991998bd9d5e189c12c36cdae3f642ddd4a79" + "561bd1d3e1cd9359de8f5c9e1604a312d207a27b08a6033f2741794ced5", + "15c6264795837dfea19f91876455f564f073c5c84a3c9d76e67872ae0447ba0d4850d872" + "1302b25bec7ebfedd2721de140b2f3dead547042b24b0876117e7093cc1", + "060eb74236c189a28ed20bd0822eb22d75f7d97c9043a3c8e3f6d4c90bc8ca02ac4d37c1" + "171c799a1c7dfd2fcbf83406b5e48c051e0fbf0fd937bfe6c3db4e18154"}, + {NID_secp521r1, NID_sha256, + "f253484d121d1ce8a88def6a3e9e78c47f4025ead6f73285bf90647102645b0c32d4d867" + "42a50b8b7a42d5f6156a6faf588212b7dc72c3ffd13973bdba732b554d8bffc57d04f816" + "7aef21ee941ee6ffb6cce0f49445bd707da8deb35dca650aaf761c3aa66a5ebccddd15ae" + "e21293f63061a7f4bfc3787c2cd62c806a1a9985", + "0c4dad55871d3bd65b016d143ddd7a195cc868b3048c8bbcb1435622036bdb5e0dec7178" + "ca0138c610238e0365968f6ddd191bbfacc91948088044d9966f652ff25", + "040014858a3b9bd426b678fdcf93fc53d17e7a9e8fe022442aaaba65399d12fd3a6a3819" + "58fb0f07ac6088f4e490506ec0f1ab4d0dbd461126f7eb46ff69cfa8bd88af018c18ce29" + "ecc6d79d26a2de0cd31c4b32e84b5e90f6ba748f86c5afbd89618aceb9079460cbd1a826" + "1ed5476973e61bf1d17ea78b022387443800c9247d21dde550", + "05577108f4187a173e5c29e927a8fc8f5ffd37e184254a6e381ff1018955aec91a35f300" + "85e8cee6a7555c10f9efdce26d62f2b4b52dfdbaeafc3a30983e2d50d5b", + "0344375ae7c804cbe32ced7a20976efae5d9c19eb88b6e24514d1d0cfb728b0f4601098b" + "18b2e98f42b5222dd5237d4d87767007bf5acb185c5526d72047e2cb1a1", + "02de4cfa908c73c1102d6fb7062baf54a056a9517701e036c9c51e09899d60051612d593" + "48945f845dffebec5aa395b2fac7229929033615788777306ccad96d0a3"}, + {NID_secp521r1, NID_sha256, + "33bab1c369c495db1610965bc0b0546a216e8dd00cd0e602a605d40bc8812bbf1ffa6714" + "3f896c436b8f7cf0bed308054f1e1ff77f4d0a13c1e831efbd0e2fcfb3eadab9f755f070" + "ba9aeaceb0a5110f2f8b0c1f7b1aa96a7f2d038a1b72e26400819b1f73d925ea4e34d6ac" + "af59d0a461a34ce5d65c9c937a80e844e323a16d", + "03d4749fadcc2008f098de70545a669133c548ce0e32eec1276ff531bcff535331445557" + "28ad8906d17f091cc0514571691107350b6561858e90dbe19633aaf31bf", + "04010fe5986b65f6e65d13c88c4d2aed781a91026904f82129d46779bdadaf6b733c845a" + "934e941ab4a285efdea9c96ecc9dc784d87e4d937b42c337b3a9cb111a96000077853768" + "a2a4d6f596f57414e57ec60b76d3cd5ece8351cd1f335ebcb8801a3d91fb82c65caaeb5c" + "31eea9918367bb5906863ff3ccaf7a6cee415e0d75c15ac2e0", + "1fbb4de337b09e935a6dc6215ffcfcb85d236cc490585e73251a8b8bac37cfa36c5d1df5" + "f4536d33659be1e7a442529a783452f7efda74a4f661b6a127f9248aaf7", + "09d8f10eeff6178594c89d6e8184f9502117384813243ddf9ccf3c8eac5dc6502c472dfc" + "1487a5caffc569f7dedd14a8ebcb310e9bacdb79fb6655aba026cdf87f2", + "0f74236c7915d638708d17c9f10e39dda358faf9bbb821d8dcda0d151aac143bfb165ad0" + "a23a65cd3de532e32cad928728f5ae1c16f58fc16577f3ca8e36f9e708b"}, + {NID_secp521r1, NID_sha256, + "08c8b7faaac8e1154042d162dca1df0f66e0001b3c5ecf49b6a4334ce4e8a754a1a8e4da" + "f8ec09cf1e521c96547aed5172ef852e82c03cddd851a9f992183ac5199594f288dbcc53" + "a9bb6128561ff3236a7b4b0dce8eaf7d45e64e782955ee1b690ce6a73ece47dc4409b690" + "de6b7928cbe60c42fc6a5ddf1d729faf1cc3885e", + "096a77b591bba65023ba92f8a51029725b555caf6eff129879d28f6400e760439d6e69ce" + "662f6f1aecf3869f7b6057b530a3c6ff8ed9e86d5944f583ee0b3fbb570", + "0400fdf6aed933dba73913142ef8bdcd4b760db8500831cd11d7707ab852a6372c05d112" + "a1e7fbc7b514c42142c7370d9f4129493cd75cc6f2daf83747078f15229db600ef91dffb" + "3c43080a59534b95ca585ee87f6145f6a0199b2b82c89f456d8bd8e6ac71c78039c08177" + "184484eb2ebd372f189db3a58fab961a75a18afec1ee32764a", + "13aa7b0471317a2a139c2f90df1c40d75e5a8a830fbaf87030fffdb2ef6f2c93d1310c9e" + "d7fe9d7bcd4fe46537ff2495bc9c4f0aaff11461f5e4bebbfbce9a8740a", + "1c7a21800962c91d4651553633b18612d931bb88bff8b743ed595b4e869437e50f8e84fb" + "f334c99061db123a1c40b73b07e203790561a37df65a660355ba2017d78", + "1301e1782559a38f1ca0eebe9bed0f5c7c33103d506a24f8a688f500ee1fe37f97b66853" + "19279e82e6fe43cfd823ccbc123309974cffa76c4f8d41ec02a3cbc45f1"}, + {NID_secp521r1, NID_sha256, + "ba74eed74282811631bd2069e862381e4e2a1e4e9a357b1c159a9ce69786f864b60fe90e" + "eb32d8b72b099986fc594965a33285f7185b415df58fead7b8b50fc60d073680881d7435" + "609ad1d22fd21e789b6730e232b0d2e888889fb82d6ad0337ab909308676164d4f47df44" + "b21190eca8ba0f94995e60ad9bb02938461eee61", + "015152382bfd4f7932a8668026e705e9e73daa8bade21e80ea62cf91bd2448ebc4487b50" + "8ca2bdaaf072e3706ba87252d64761c6885a65dcafa64c5573c224ae9e6", + "04000b8c7c0186a77dc6e9addd2018188a6a40c3e2ba396f30bbd9293dba2841d57d6086" + "6b37f587432719b544d8bf7eb06d90a8c0dc9c93b0c53d53b2f667077228ca01dd2e5c73" + "ab908ae34f701689f1cd3cf5186d3a2bc941e208bf3ef970e5e429ee9b154d73286b2e5d" + "a423e75b7c7b78c7bdf915da92279db43265a0cdefca51f86a", + "0d03506999f5cc9ec3304072984a20a9c64a22ad9b418495ca904f4bbddc96e76d34672c" + "b52763339d3f3bc5b1701c00a675b972797e3a086314da1a8d338436566", + "085406c0ff5ec91f598bb579ad8714ad718c3e133d5dcc2e67c5d2339c146b69919cac07" + "f3bc2bda218f4c7c8be04855e2ca6fff7fbdc4fc0fda87c8c3081cad4f5", + "1b45f2066e583636215ae135afc202b8bf3f301eccff2e1c0198b9aeddf695fa8179488e" + "7b622fc307f601e2f6551815117cc836bb09ef888f8e64a45d9c84ad30c"}, + {NID_secp521r1, NID_sha256, + "dc71f171a28bdc30968c39f08f999b88dc04c550e261ecf1124d67f05edeae7e87fe9b81" + "35a96fe2bc3996a4f47213d9d191184a76bd6310e1ee5cb67ea7fc3ef6f641a0ba165198" + "040fa668192b75a4754fc02c224bd4a74aade5a8c814adf151c2bfeda65165a04ef359e3" + "9847c84e312afb66d4cd1db50d41ef3fe5f31296", + "1750ff0ca0c166560b2034bc5760fe0b3915340bc43216e9de0c1d4a76550e8b2036e8b8" + "74230f8d29354aed43e183610f24fd4abd4b0be2f111dae942bd7a121f7", + "0401b4b8947192a7c0166c0e0b2791e217370836283e805f3ee11cfb78445aba3c5bc39f" + "e594e01916617ad59e7c8e740d8f2d07d88905d3f33bd5e51aafd4943c5dc601175d1172" + "32836c28e717ce2a55e59f4ec550effde30d18e3d99e42c6aa2283c7b3e7f2f6ff1fca60" + "5dde78c3a5bffa689347b4c93f51ba59a1787bb7d5e43861dc", + "023645023d6bdf20652cdce1185c4ef225c66d54f18632d99ccf743bf554d04c214c88ce" + "52a4f71ec75c899ad1b3c07c34112ca20b55c217ff1d72c9528e2774ce8", + "1e933f68ce0f8403cb16822b8e0564b1d39a35f27b53e4ae0bcdff3e051759464afbc349" + "98ba7c8a7ee34ef6c1aaa722cffe48356fd0b738058358d4c768b3186c1", + "0a67368a305508ce6d25d29c84f552a4a513998990fef4936244f891a2909c30d5fdc9e8" + "a267ecbf3c597138f4a08f7e92bee57d5420eadd700fee864bf78b2614b"}, + {NID_secp521r1, NID_sha256, + "b895788d7828aaeace4f6b61a072ffa344d8ea324962ba6dab5efda93f65bf64a0f2ac6d" + "5721d03ee70e2aef21cdba69fd29040199160e3a293b772ffb961ed694a8dc82800dab79" + "367a4809a864e4aff6bc837aaa868e952b771b76591c0bb82249034e3208e593d85973d3" + "fea753a95b16e221b2561644535c0131fe834ae7", + "023048bc16e00e58c4a4c7cc62ee80ea57f745bda35715510ed0fc29f62359ff60b0cf85" + "b673383b87a6e1a792d93ab8549281515850fa24d6a2d93a20a2fff3d6e", + "0400ba3dc98326a15999351a2ec6c59e221d7d9e7ee7152a6f71686c9797f3f330d31501" + "23620d547813ba9d7cc6c6d35cc9a087d07dff780e4821e74ad05f3762efd6018b051af9" + "824b5f614d23ecadd591e38edbfe910ad6cbebc3e8a6bec11ea90691c17deb3bc5f34a4a" + "3acd90b7b10f521f6ee7b3cfbfdc03b72d5a8783a4a77c3e4c", + "06099d2667f06c58798757632d07d8b3efbe9c1323efb0c244be6b12b3b163ba1b7cf524" + "6c98dcc0771665a66696d687af5f28ed664fd87d5093df6427523d4db84", + "10dc80ea853064a2ba5a781f108aca3785c5ec0aa45aa05ba31d4de671170797589e863d" + "54a3a986aadf6f670277f50355713dfb27d4ec7e348f787910b3cd668cd", + "018572bfad4f62e3694d1f2e6ffd432faed2e2b9d7e3611a07138212f1e79e6c394839f7" + "cfae96bc368422630016fb9346681eadc5f9699e7331c3b5fde6d65e4c6"}, + {NID_secp521r1, NID_sha256, + "2c5bd848c476e34b427cfe5676692e588e1957957db7b5704492bd02104a38216535607f" + "5d092dc40020130c04a3aaf0f1c52409834926d69a05d3f3188187a71d402a10ba34eac8" + "629b4c6359b1095f30f710219298bf06b9f19bfc299981d7e251ca232a0a85338a7e0246" + "4731d1b25d4a1f68baf97064516590644820c998", + "02b8b866ce4503bb40ffc2c3c990465c72473f901d6ebe6a119ca49fcec8221b3b4fa7ec" + "4e8e9a10dbd90c739065ad6a3a0dd98d1d6f6dcb0720f25a99357a40938", + "0401b8c7a169d5455f16bfe5df1ba5d6ec9c76e4bad9968d4f5f96be5878a7b6f71d74bf" + "ac0076dd278bc4630629f3294646f17d6b6c712b0087e2c4d576039cfdc8b9018faffd54" + "22dfd1b61432fa77b9a288b2b7d546656c0dcca3032179e6f45ee3cf61d6a447fc51731c" + "b54457343a41569fcf78cef42895f4da5efcb14ea1fc065f8d", + "0ac89e813f94042292aa1e77c73773c85cf881a9343b3f50711f13fa17b50f4e5cb04ac5" + "f6fc3106a6ef4c9732016c4e08e301eefac19199459129a41a7589e0628", + "05bc7a253a028ee8b7253979b8d689d41d8df6fae7736341f22e28b6faf0cbbdebbd2ef4" + "d73e56d2021af2c646dc15539a7c1e1c4dc9c7674808bd7968d8a66f947", + "0fd71575837a43a4cf1c47d0485cfd503c2cf36ebcea0fdef946ad29acb7fb2e7c6daf6b" + "4eb741eb211081aed6207d02569f1518988f275ad94c7fd4735cb18a92e"}, + {NID_secp521r1, NID_sha256, + "65a0b97048067a0c9040acbb5d7f6e2e6ac462e1e0064a8ce5b5bbf8e57059e25a3ef8c8" + "0fc9037ae08f63e63f5bdb9378c322ad9b2daf839fad7a75b1027abb6f70f110247da7e9" + "71c7c52914e5a4f7761854432fa16b2a521e7bcaee2c735a87cad20c535bf6d04a87340c" + "229bf9af8647eedca9e2dc0b5aa90f7fea3cdc0a", + "0a43b32ad7327ec92c0a67279f417c8ada6f40d6282fe79d6dc23b8702147a31162e6462" + "91e8df460d39d7cdbdd7b2e7c6c89509b7ed3071b68d4a518ba48e63662", + "040172fb25a3e22c2a88975d7a814f3e02d5bb74cfb0aaa082c5af580019b429fddd8c7f" + "9e09b6938f62e8c31019b25571aaceef3c0d479079db9a9b533ee8e1670abd00ff551622" + "3b6cc7c711705f15b91db559014e96d3839249c5c849f2aced228a8998177a1e91177abb" + "b24b57a8ea84d944e0c95da860ae0925f1b40c0e1b7c9e0a46", + "0383eda042e06c0297fbd279a2ad40559c5c12ad458f73458eebcc92b308d3c4fcec20a5" + "b59f698e16fa6ea02dba8661b6955f67c052f67b0a56460869f24cfdf7d", + "1b9c35356b9d068f33aa22a61370dae44a6cb030497a34fb52af23c6b684677370268f06" + "bb4433be6795a71de570088aec17ce0c9933d2f76c7edce7f406f62fedd", + "06f07ea453cfa20ad604ba855332f62834657b0b795684d50c1562a675456e37f4dae45f" + "0df47d8e27e47bc9ce9c9cbba1554c5b94b0b17401b73c8d0c0902c6cc4"}, + {NID_secp521r1, NID_sha256, + "d6e366a87808eea5d39fe77cac4b8c754e865a796062e2ec89f72165cd41fe04c4814806" + "8c570e0d29afe9011e7e7a2461f4d9897d8c1fa14b4ff88cab40059d17ab724f4039244e" + "97fcecb07f9ffeec2fb9d6b1896700fe374104a8c44af01a10e93b268d25367bf2bef488" + "b8abcc1ef0e14c3e6e1621b2d58753f21e28b86f", + "03c08fdccb089faee91dac3f56f556654a153cebb32f238488d925afd4c7027707118a37" + "2f2a2db132516e12ec25f1664953f123ac2ac8f12e0dcbbb61ff40fb721", + "040193301fc0791996ca29e2350723bd9aa0991ddbb4a78348ee72bdcd9ed63ce110ba34" + "96f2ce0331b5c00d4d674c1b70114e17ce44a73c3e16bab14ed1ee924202e400aea9b288" + "cfb2933ec0a40efa8e2108774e09b3863b3193d0dac6cc16ccaa5bd5f9ce133aec5cd3b6" + "2cbaeec04703e4b61b19572705db38cfaa1907c3d7c785b0cd", + "0d0e90d5ee7b5036655ad5c8f6a112c4b21c9449ca91c5c78421e364a2160bbac4428303" + "657bc11ea69f59fb0fe85a41b8f155a362343094456fd2a39f2a79e4804", + "1a8c23a2965d365a4c2ffd0802ae8b3a69c6b84a1ba77fd8a5f2f61e8ec3a1dcb336f136" + "e2a997252eaa94caf9b5ad6c9ecff5bf33abf547ca84985bb89908a11d7", + "1cc42a2dd97aa42b9df5ea430e0d4cb13106dd6da6e8c9315c96ed7b052db365bbde6960" + "c9a965954a4398c18ea7db9593bbfc3c3b6b3466ff806fccac3de6424ab"}, + {NID_secp521r1, NID_sha256, + "f99e1d272d0f5fb9c4f986e873d070ec638422bc04b47c715595e2cf1a701cdf88bc6c4b" + "20085b357bad12ccba67cac8a5ca07f31ba432f9154ff1fadefd487a83a9c37e49fb70a2" + "f170e58889cab0552e0a3806ccfa2a60d96e346851d84b7de6d1a4b8cf37567dc161a84f" + "13421e3412457d4bc27f6213453c8519a2d7daa2", + "0969b515f356f8bb605ee131e80e8831e340902f3c6257270f7dedb2ba9d876a2ae55b4a" + "17f5d9acd46c1b26366c7e4e4e90a0ee5cff69ed9b278e5b1156a435f7e", + "0400fc7ae62b05ed6c34077cbcbb869629528a1656e2e6d403884e79a21f5f612e91fc83" + "c3a8ac1478d58852f0e8ba120d5855983afd1a719949afa8a21aec407516c300aa705da6" + "459a90eaa2c057f2e6614fb72fc730d6fdebe70e968c93dbc9858534768ea2666553cd01" + "db132331441823950a17e8d2345a3cab039c22b21bfe7bd3b9", + "19029260f88e19360b70c11107a92f06faa64524cfbd9f70fecf02bd5a94f390582a7f4c" + "92c5313bb91dc881596768d86f75a0d6f452094adbe11d6643d1a0b2135", + "07f2158e9b9fa995199608263969498923cf918fdc736427c72ce27ce4a3540dce2e8e5e" + "63a8fc7ba46f7fa42480efbf79c6ed39521f6e6ec056079e453e80a89d9", + "08e349eed6f1e28b0dbf0a8aeb1d67e59a95b54a699f083db885f50d702f3c6a4069591a" + "faa5b80b3c75efb1674ebd32c7ead0040d115945f9a52ee3a51806cad45"}, + {NID_secp521r1, NID_sha256, + "91f1ca8ce6681f4e1f117b918ae787a888798a9df3afc9d0e922f51cdd6e7f7e55da996f" + "7e3615f1d41e4292479859a44fa18a5a006662610f1aaa2884f843c2e73d441753e0ead5" + "1dffc366250616c706f07128940dd6312ff3eda6f0e2b4e441b3d74c592b97d9cd910f97" + "9d7f39767b379e7f36a7519f2a4a251ef5e8aae1", + "013be0bf0cb060dbba02e90e43c6ba6022f201de35160192d33574a67f3f79df969d3ae8" + "7850071aac346b5f386fc645ed1977bea2e8446e0c5890784e369124418", + "040167d8b8308259c730931db828a5f69697ec0773a79bdedbaaf15114a4937011c5ae36" + "ab0503957373fee6b1c4650f91a3b0c92c2d604a3559dd2e856a9a84f551d9019d2c1346" + "aadaa3090b5981f5353243300a4ff0ab961c4ee530f4133fe85e6aab5bad42e747eee029" + "8c2b8051c8be7049109ad3e1b572dda1cac4a03010f99f206e", + "1a363a344996aac9a3ac040066a65856edfb36f10bb687d4821a2e0299b329c6b60e3547" + "dde03bdbd1afa98b0b75d79cf5aac0ef7a3116266cadf3dfbd46f8a4bfc", + "1ff097485faf32ce9e0c557ee064587c12c4834e7f0988cf181d07ba9ee15ae85a8208b6" + "1850080fc4bbedbd82536181d43973459f0d696ac5e6b8f2330b179d180", + "0306dc3c382af13c99d44db7a84ed813c8719c6ed3bbe751ead0d487b5a4aa018129862b" + "7d282cce0bc2059a56d7722f4b226f9deb85da12d5b40648bf6ec568128"}, + {NID_secp521r1, NID_sha384, + "dbc094402c5b559d53168c6f0c550d827499c6fb2186ae2db15b89b4e6f46220386d6f01" + "bebde91b6ceb3ec7b4696e2cbfd14894dd0b7d656d23396ce920044f9ca514bf115cf98e" + "caa55b950a9e49365c2f3a05be5020e93db92c37437513044973e792af814d0ffad2c8ec" + "c89ae4b35ccb19318f0b988a7d33ec5a4fe85dfe", + "095976d387d814e68aeb09abecdbf4228db7232cd3229569ade537f33e07ed0da0abdee8" + "4ab057c9a00049f45250e2719d1ecaccf91c0e6fcdd4016b75bdd98a950", + "04013b4ab7bc1ddf7fd74ca6f75ac560c94169f435361e74eba1f8e759ac70ab3af138d8" + "807aca3d8e73b5c2eb787f6dcca2718122bd94f08943a686b115d869d3f40600f293c1d6" + "27b44e7954d0546270665888144a94d437679d074787959d0d944d8223b9d4b5d068b4fb" + "bd1176a004b476810475cd2a200b83eccd226d08b444a71e71", + "0a8d90686bd1104627836afe698effe22c51aa3b651737a940f2b0f9cd72c594575e550a" + "db142e467a3f631f4429514df8296d8f5144df86faa9e3a8f13939ad5b3", + "02128f77df66d16a604ffcd1a515e039d49bf6b91a215b814b2a1c88d32039521fbd142f" + "717817b838450229025670d99c1fd5ab18bd965f093cae7accff0675aae", + "008dc65a243700a84619dce14e44ea8557e36631db1a55de15865497dbfd66e76a7471f7" + "8e510c04e613ced332aa563432a1017da8b81c146059ccc7930153103a6"}, + {NID_secp521r1, NID_sha384, + "114187efd1f6d6c46473fed0c1922987c79be2144439c6f61183caf2045bfb419f8cddc8" + "2267d14540624975f27232117729ccfeacccc7ecd5b71473c69d128152931865a60e6a10" + "4b67afe5ed443bdbcdc45372f1a85012bbc4614d4c0c534aacd9ab78664dda9b1f1e2558" + "78e8ac59e23c56a686f567e4b15c66f0e7c0931e", + "04ceb9896da32f2df630580de979515d698fbf1dd96bea889b98fc0efd0751ed35e6bcf7" + "5bc5d99172b0960ffd3d8b683fbffd4174b379fbdecd7b138bb9025574b", + "0400e7a3d30d5bd443549d50e9b297aaa87bc80b5c9e94169602d9d43d6d0c490c0bed8c" + "c2170288b106bdbf4c9f1ce53fd699af0b4c64b494b08520e57dc01ab9a8b001d81056d3" + "7aec8a75d588f6d05977416e6f24ad0117a7f4450036d695612e7bc2771caed80e580314" + "eebc88c8fc51c453f066e752481f212b57165d67f8a44f375a", + "046639c5a3ec15afae5e4a7a418ac760846512d880c359bc2c751b199ce43b10887e861b" + "14127809754dbea47f6cc0140d2817e3f5b9a80ce01abd81f81b748433a", + "0f913de91e19bd8f943d542ae357bacc942a0967abc9be6c06239a379db8cc733fa50013" + "e0b0f088bce9d630262feaa33b30d84f91bcf5ce9976e4e740fcb112f84", + "08a73a5c9c24235e0d9cecaac653f68ce5a6fb186ce67fa058d6ddbbd4d0a8c4d194e571" + "148e8ad6c8882b4e33d2f60fb23dd7d07a1ae60864e8277918f592b3dc6"}, + {NID_secp521r1, NID_sha384, + "6744b69fc2420fe00f2352399bd58719e4ecdd6d602e2c80f194d607e58b27a0854745bf" + "d6d504de2eb30b04cee0f44af710dd77e2f816ac3ac5692fad2d1d417893bb0edba2707a" + "4c146a486f8728ca696d35cc52e9c7187c82d4bdb92eb954794e5ad15133f6bfea1f025d" + "a32ada710a3014cf11095b3ff69a94d087f17753", + "00a8db566bd771a9689ea5188c63d586b9c8b576dbe74c06d618576f61365e90b843d003" + "47fdd084fec4ba229fe671ccdd5d9a3afee821a84af9560cd455ed72e8f", + "04004f5b790cbe2984b71d41af5efed6c6893d15e13f31816d55a9c2926a104eee66f1ad" + "a83115d1388551218773b8b9d1138e3e3f027bb4392c90c14fd232580b4a1100660eb160" + "e9bfc8c5619e70e948e238c6fd37739bc1bb657b8e8436e63628f91992be7e63d9a73596" + "23a1340642777b22026feb51116a6c50c54c3589b9bd39b6cb", + "1e7b5e53571a24bd102dd7ad44a4b8d8a4e60e5957bc3c4e5d3c73109f55233f072e572c" + "7892f425ba5e64d3cb7966096bb34a47e26cd5b3e3b44108b310d9f681b", + "1a88bcd7e2bdff6e497d943dde432fb3f855a7177c466319cb53b701230c299db0302762" + "69685857d1e3f28110e690f2f529c8d18115eb381f313bc891d92ad278e", + "146f1984ea879274dfd5e86ad92e564a4de081523ddbb1c397b8f9595911ef2e6501bc08" + "1584d5340f7aa47e1af036234ac6f27a5ac31f78dd3b0ff1a62693c630d"}, + {NID_secp521r1, NID_sha384, + "16001f4dcf9e76aa134b12b867f252735144e523e40fba9b4811b07448a24ef4ccf3e81f" + "e9d7f8097ae1d216a51b6eefc83880885e5b14a5eeee025c4232319c4b8bce26807d1b38" + "6ad6a964deb3bdca30ee196cfdd717facfad5c77d9b1d05fdd96875e9675e85029ecbf4f" + "94c524624746b7c42870c14a9a1454acf3354474", + "1a300b8bf028449344d0e736145d9dd7c4075a783cb749e1ec7988d60440a07021a25a3d" + "e74ea5e3d7bd4ab774d8ad6163adae31877ef0b2bd50e26e9e4be8a7b66", + "04005055b9ad726ba8a48219b0ecbfffb89f8428de895b231f676705b7de9f2022d9ff4e" + "0114ebb52dea342f9bf76b2fb060c020e29d92074ebb1fbfe5290a58c8bc1000415af7f2" + "0a6e945315adbf757316bb486c80780a0a3a15b4b9609f126d7341053a2b726ab63cb46f" + "eee527b0bf532b32b477e5671aea23d9b3c3e604b9029954b5", + "05a2e92717bb4dab3ee76724d4d9c2d58a32b873e491e36127985f0c9960c610962ca1c4" + "510dba75c98d83beebdc58b1d8678e054640951d11db1bd2d8a4ab8476b", + "104a78ce94f878822daaf00ee527fbdbf6cceb3cbb23a2caa485e4109466de8910252f92" + "379ab292cac8d1eda164f880c0067696e733fc8588a27703a3e1f5b8f1f", + "1ffe23e8ab5a31668a81161a234ea14879771fe9866f8872eb6edb672e0fe91d2bb75c97" + "67a2dfbac7c15c802211236b22ea41ecd055a0b8b311ffc4255f86d5c67"}, + {NID_secp521r1, NID_sha384, + "a9824a7b810aa16690083a00d422842971baf400c3563baa789c5653fc13416111c0236c" + "67c68e95a13cec0df50324dcc9ae780ce4232607cb57dd9b2c61b382f0fa51fd4e283e2c" + "55ffe272597651659fbd88cd03bfa9652cd54b01a7034c83a602709879e1325c77969beb" + "fd93932ce09a23eae607374602201614ff84b141", + "06a253acd79912a74270fc0703ed6507ab20a970f2bc2277f782062092cf0e60ae1ca1bb" + "44dec003169bc25ef6e7123dd04692f77b181a6d7e692e66b09d35a540c", + "0401f15c6b1df156fdd8381cd7446e039435e445f8f36f0247475058da0e371bf72753f6" + "e39f98066bc79370b038c39687ba18e16cb118fe6538b7568c5403c251f6b7012d2b4f46" + "b854eeae75f1c63f55b76bf0c604d47f870c28a50ecdeb52bba1dd9a0ff12e680804ff86" + "4111207652da7dd10b49edf66bb86be00bc06672de91982457", + "165faf3727e42fd61345cfa7b93e55fb4bf583b24bdc14ce635b6c99dbd788012f14da9a" + "210b677c44acdd851e672f1a48188d6b8946c0efeebfe8a597ba0090a2c", + "1ad9463d2759abd568626548578deefdcd8b2d050ce6d9c7ed05feca20167484b86e89bd" + "cc936fd647e0f8aedd7b6add2b8cf13ff6ff013c2b5540c6c56fda97a0c", + "1645a7d0e11015256cfb034adca198695eea6aedd44d9fbf496850ccfed950f43fffd8db" + "f41e113f2d3837d8a5dd62b2ed580112ff05800b1f73196e5576810e15b"}, + {NID_secp521r1, NID_sha384, + "90d8bbf714fd2120d2144022bf29520842d9fbd2dc8bb734b3e892ba0285c6a342d6e1e3" + "7cc11a62083566e45b039cc65506d20a7d8b51d763d25f0d9eaf3d38601af612c5798a8a" + "2c712d968592b6ed689b88bbab95259ad34da26af9dda80f2f8a02960370bdb7e7595c0a" + "4fffb465d7ad0c4665b5ec0e7d50c6a8238c7f53", + "0d5a5d3ddfd2170f9d2653b91967efc8a5157f8720d740dd974e272aab000cc1a4e6c630" + "348754ab923cafb5056fc584b3706628051c557fce67744ee58ba7a56d0", + "040128a4da5fc995678e457ceb3929adee93c280f851abe900fa21f4f809dafad4e33b38" + "1e0cd49ce8dd50e2e281cea162bfd60a1d6a1c0ee2228e6a011e171b559ab8006eb0917c" + "d72256992c49ea527f6bb0315f13d8047794a0f1da1e93737703b1c2a74a00441ef3b47b" + "6a2ff789c49ae32d91cabe7b29247aeec44f6c40a76597a2ca", + "03269983a5c2bcc98e9476f5abf82424566b1f08b17204d29e310ece88f99eb677a537f8" + "6fe2529e409cfef2c12929644100099e0de2f27c0f0ac11105a4dca935b", + "1a5257ae1e8187ba954f535b86ff9b8d6a181a3b95c250d090cb4e9c3bfbd03aa64696a7" + "6c569728ef67780d6338d70ce46da40b87a3e49bfe154b93930890dfa93", + "05b6ccdfd5c63c7db76d3a0478064a2a376e0e050cb093be795a72a549247c2e4adba918" + "3145c63d46479dbbdcf09986a6f64c09c7e16abc4853f6376c9558b014a"}, + {NID_secp521r1, NID_sha384, + "09952b1e09995e95bf0022e911c6ab1a463b0a1fdd0eec69117b34af1103c720b5760021" + "7de7cd178fef92de5391e550af72a8dcf7badf25b06dd039417f9a7d0f5be88fcd4e9655" + "931d5b605452a667c9d1bae91d3476e7d51cff4108f116a49966fb3a7cff8df1c09734ce" + "5620faf2dccb3dc5d94e7e9ac812da31f6d07a38", + "1bcedf920fa148361671b43c64e3186e1937eb1bd4b28cbd84c421472394552889bc0550" + "9aa732ef69d732b21b750523fdfd811f36467690fe94e01e64c9d5cbbe9", + "0400d33c151d202a5d4d831348e940b027ee32e4b0b9b48d823a05c67ff3bdaee0189fc6" + "680565f352c062e99968afc643208b4f9c7af185b861658a88c4ad0fcc8ba200e4441ddb" + "546468ad8ffa6074f137edfbb81e82e0e7d8f05c4c54598aa996a9cde54cb371f642bfdd" + "4ae7eca5b769696030027129a4183da93567ad142a2dff5183", + "046e619b83aac868b26d0b3cbfab55e630e0b55c461985b5d00f94ff3a5ce90ff412cebf" + "46bbd84550d2031d573ca27d924624428360708c8d8491c29eb01d30f2e", + "08427c0f0ac0263472cd423c0fb554bf3c851b9c775c566ab0f6878717bd57665830767b" + "05b7789c5c0b078195bd943dc737325552d32877ecb04a7c41bd07cd80c", + "10bb6652d6a624c40a7dd06828f15774130d02369ceb1a7d03b553e16e17b7fa5b5401f1" + "5885d5e4fc2e55c0c7a1b97871ab02f76386b93a16aa6e7eb65debac6dd"}, + {NID_secp521r1, NID_sha384, + "0bb0f80cff309c65ff7729c59c517d50fc0ed5be405ef70cb910c3f62c328c90853d4473" + "530b654dda6156e149bc2222a8a7f9be665240e2fbe9d03f78a2356af0bacd1edb84c480" + "1adc8293a8a0bd6123d1cf6ba216aca807a7eb4dca76b493eb6e3dbb69d36f0f00f85622" + "2f24d9b93ec34c3b261be2fca0451c00571928e5", + "03789e04b3a2a0254ade3380172c150d2fad033885e02ea8bea5b92db3f4adbab190ae42" + "3080a1154dfedec694c25eab46ce638be3db4e4cba67bc39f62d6e7db2d", + "0401dbc2cf19627bdccf02432b1761f296275230c150cdde823ce3141ec315d7d05e16b2" + "c29e2a67491078d5316883e933d85b4b10d4f64c477d3c4e0442dc928983a2007562e720" + "807dd118d3d8b265b3abc61a71fce43e3dce0e7b5ae18b7a4cb01ecc00d39c1f22e150a9" + "a8728997e502144f5b3f6fa9b4cb8a4136212b082ca394e3f6", + "0fbccd8d7804bdd1d1d721b5ec74d4ba37603bc306f9fce2ec241853d8e07334e6b4b12c" + "4ecca0c54bd71193dd7146507933a20737c5f3e15085830fab9b30ca57b", + "181915a3998d8fa214f9715f4ca928d09c36de168dc15c6970a8a062b5cea2dc969b2437" + "ca17b684f78a1fd583aad8e6c762c8f4ab0c91b86a497145e3ca440d307", + "15a6c18c5c77f5470b27d061eafdc26b78561941a3b2ab0f5c81d40899fc053c3d9ed12d" + "7d61e298abbae470009c7b2157731c58d7b16a66fa5abaf5e8a1b8ed394"}, + {NID_secp521r1, NID_sha384, + "7efacf213382ce30804e78b7256854d759147dba9729c51b2759465715bf2c421034c23d" + "c651c13d6cce95f71fe6a84dfbee5768163ac5789ac0474c5ddf4115684683c5f7c204b3" + "3b8bcc0c03ac58f66cef2f53b721fe2fac91ad841126101a88f512a7c2ded38549d9f050" + "d4b7961dda48a1489f026c5d111701762418cfe3", + "124700aa9186353e298edefc57bec0c7d0201cca10c1d80dd408d5d71040592b0ac59fac" + "dadfa8712445f5977ef8d4854022720c3f02d60e0732dbb2f171fcf1490", + "0400c80fc4cecae5d53348524ddba6a160b735c75b22fdb39af17e2a613d09246e3bb0fd" + "3f2978577f6db5d2118e05c7898024808f8eb8e021d7969cdcf7fc981200bb01a880c939" + "43fd446d4b3923b574d2221c1bb7b645fb5534dda60e827b497666ff586b77921f7e7f60" + "5147947194cffd2fef0678880b89cc0bc7fb74fa96d4b112d7", + "01a05238d595ded5c61d3bf6fde257dbf13095af8a5cb3a2e579e8e4c550fe31d12b71cc" + "2dbcb295e6c4fd0fb8c22d1b741c097cc59d826ced1a8771f09983143c4", + "132762bc81e9922a8d642e3a9d0218affa21fa2331cfcb9e452545c5981c64a8f7e4cc8e" + "68056023b2aa78bead59061d19c7f646c931163a91e544b106b3be8de9e", + "0c3a1b0b000c3169984132add51d611e2cb7069a262a6983d2ae72b459c36e6469509bdb" + "0f473600b8686700b08910779dee9ba83f82e755d4a4ef5f124eb09397f"}, + {NID_secp521r1, NID_sha384, + "28edff8b9d85f5f58499cc11f492abdfab25e8945975bbaeee910afa2b8fc1295ec61406" + "309ce4e09f4ab4f462959fc2a2786802466eb26d3b01be6919893ae75d0fdc2dc8a82e66" + "2550f9fce9627dd364188aaba5c6faa1b2d8a2235adfa5ad0dc140f88a2b2f103f5690e8" + "77d07fe8fd30d02d2b2729bd3d8eb5b23a21f54c", + "1f532d01af885cb4ad5c329ca5d421c5c021883bd5404c798d617679bb8b094cbb7e15c8" + "32fb436325c5302313ce5e496f9513455e7021ffad75777a19b226acfa1", + "0400c0bd76b0027b85bdd879052220da1494d503f6a4bb972105a48ae98e7dda8c2d9fd9" + "336f5646385b961ef68e8464e3a95b00f96614b1a408ceaa2c87b077b6a8fb017eb7eb5c" + "78db7819af92e8537d110d9f05a5e24f954f4dde21c224d4040f059ec99e051702f39041" + "3d2708d18f84d82998c61847475250fb844b20082cbe651a6b", + "14e66853e0f7cd3300ebcae06048532e19cbb95bee140edc1c867ce7310637651445b6df" + "eb1d99d2e32f2ffb787ebe3fe35032277f185d3dad84f95806924550abe", + "0c5b3a57161098e2e8e16e0a5ae8ecf4a14df14927eea18ed4925d11dc429dda14515932" + "3ba970174b194b9b4608a8fa2373b7a825c5e8bd80574e49698285c2c82", + "1a0c038a51796158b42eb5b0dac37aff9ab93b903a47e06ebbdd15946e4bcc9a3b3875b1" + "8cf6294c33fc6c3693cef04ed1a43d08951e664c760e2cf3fb4e47490d2"}, + {NID_secp521r1, NID_sha384, + "bae2a8897c742fd99fbf813351cd009d3f2e18d825ca22e115276484bce8f82f8c7c0c21" + "dd2af208404d8ef45bb5a6c41693912b630897d5246801bf0775aa9bbac8be98cb861d17" + "2c3563dc59e78a58ed13c66dea496471b3ad0eeae8995293e4ab97373edc1837ffc95ff1" + "cc0c1e90e64ea8680b2ca5f1e09bf86b99b343b6", + "11abf508bca68a85a54bc0659e77efad3c86112c9db04db2883e76144aa446918bb4bb07" + "84b0b6a0e9aa47399fe3de5aaecfd8894a0d130bb0c366c40d9d5050745", + "04005c0ea363a3a12633ea39d564587ebdd3a22a175ef32b9ebfc7311304b19cb3a62b5a" + "dc36f6afb6a6f7fabbf810ee89fdb72854fefd613e7798e9b9ff5938ea54c600bd06a85e" + "47b885c08124b55a3fcc07ca61647cda6efbfdbd21b24d1ea7a4c7300d46cd798e76063a" + "a979adef6f0698b15e5b7ae8a2ab39ab4f50b2d20614db6317", + "19cadb8c7eb10565aa4567e0709873918720f0e4b42b4817afb0b0547c70cd1100229dea" + "e97a276b9c98ea58b01d4839fee86336d749d123b03e8b1a31166acc110", + "0667448a8bbef1c810d40646977dc22f3dfb52a4d80928ded5e976e199cbed02fbd5a085" + "46756ece14548d721a6eb380d0e1a71ad0660dbcac6163c776eedd3e249", + "0ae7f0a238daaddb7fb4a1707fe5132daf653f8e19f732347134c96f1dd798f867c479a4" + "a4609a568a15b61afed70790adbde13ac5f68c468d0230852c1a2c22581"}, + {NID_secp521r1, NID_sha384, + "d57a26a9593e72bfc87322524639bcaae5f2252d18b99cdaa03b14445b0b8a4dd53928f6" + "6a2e4f202fb25b19cad0eb2f1bfda2ab9b0eb668cdcd0fe72f5d9ef2e45e0218590f7ab9" + "d2c9342202610c698bc786cce108a7d4a6730a13e9ea1b470e781f1237d3f84f44abde80" + "8516975546bd89075ef9a9732bfd7ee33b6f4399", + "18dbf520d58177e4b7a0627674d220137983f486dd2fd3639f19751804e80df0655db6af" + "d829cdf75238de525e1a7a9f048049b593dd64b4b96cc013f970c05ea1f", + "04018b872690c37995be324ddb5c2bd5462841bb062f8e63da248a853de79c3d6bb9a2eb" + "1e6933afda0998ca43491cc807b08ace2d5336a43d0ab50563a2d3d98755f00002ff3122" + "1aa32aa6546f35e8fe5b9361f938362a5e89e77ae130ba8bce3729e912dfac35a2fd21ef" + "e84b45b8be2a340850e4b574e1885b35c2afbe196b57c6cf4c", + "098faeb73054639cb2e4442cd68e7b3a13f4b3f397a7b26f303afa40789f8ddd3d918f1c" + "e4f0be53c8cb69c380744e2297d7fc01e2b3daef4ce64dd3a2644234753", + "09c0e7649f814f70a8416cb78bc4601472a363fe97f5c587305778169677860dd97f87b5" + "ab07c3a953bc4615fc34634509d6a25621bdded33ed42446d059509c190", + "120b90e1cfb8a1b5e530df7b17d1128bc051ca4f1a65dd9c9d9d3c59d2f00c7c1e994c52" + "b8671d40294b4d574d2c04475d5bebeacd3a0d3870a54dc7a4805614f40"}, + {NID_secp521r1, NID_sha384, + "8fdcf5084b12cfc043dd3416b46274e021bbed95d341d3c500c102a5609d3a34de29f8fa" + "9f0adb611a1f47a97ad981f8129d718fc0d6c709eab1a3490db8d550f34eb905b9e00663" + "543afc5bc155e368e0bc919a8b8c9fa42093603537a5614927efa6be819ed42ececbf1a8" + "0a61e6e0a7f9b5bc43b9238e62d5df0571fea152", + "002764f5696aa813cd55d30948585f86288ae05aeb264ca157cd09e1d09a10515a849b07" + "91b755ccc656a34707be9e52f5762d290a7d2bcd6de52c600ff862eaf4e", + "040127279c88719dc614db387f102e55104ea1c704ac7f57f3bca936f728439b76556730" + "dd7cde2ac1ad0a4c2c2f036ab6f00cf34cb87ea36113571f300713044106d20134a0786c" + "31f5f2291b83c50fb579ae4c620b95e5a8bdc0c7e1ee6b996c89d764f1b20403e7faa203" + "f397425ada297045dd8ba0e4b155d4900da249e934faab7991", + "08bffb0778cbb06466cecc114b9e89ca243a2b2b5e2597db920bc73a8bbcbe3f57144ad3" + "3409ef7faaab430e13f4c42d304d11347360c84972ca20b1539cce3a288", + "1f8f504e64a502e51e7c129517931c3b71f0d8a63b19cfe01ff7c951c6525249608b3ef5" + "d00061d77eb6b3d69581adeaa3732c773bbb9b919c3e7c71fdc09f44d06", + "058044fc64b340604ffd02a5b2918d76fd6fb59ea895feab7aa218e6f1e8c8f226eb9ee3" + "45ef8140183a69272582005077b008006aab11597e808d7ff1e8382c924"}, + {NID_secp521r1, NID_sha384, + "00669f433934992257bed55861df679804107d7fa491672574a7624949c60049b0533383" + "c88d6896c8de860704c3e6a6aefce83efa57c4d57e9ab253da5d15e1f53ab6dce218b592" + "772ab0bc01fee8e63368e85c0639301456fe2d44cd5396a7f2b22761cd03b80eba7883ee" + "de8249a2f5db2183bf00550c5c002f45a5e4fb31", + "1b0c9acd3eeb618b4b0de4db402206f0f29adc69d7ad324b6db6601b351f723ac8fe949e" + "eacd34228649bf0126276e5aceb0137d00c30dd858aef2d6b6449de2e89", + "0401811c8884486aaa083ddee1c51cb6e861cb830bd5eaa929f72efadbbd1286566ae7e7" + "ba7fde7e02529900d35ee64591652d28798bfc1bed0d192602a9cf5a7d22e3006d7fc9dd" + "494816cfd29613d4689af67f7d0a2e6fbad5d4d6e0130189172a1ab601c5ca71deaa8bfc" + "b5a190d49da191672ff6fc048e146cb902acec5eae6d87e60a", + "1fdc4f108070af3c66c9ba7b6c1f2603a19ceb4760399df81228cfc7eafde1082b5a0716" + "a3ff82fbe84726f14dd0db3376ca184a78c3c60679bab6cd45f77f9b9ce", + "1ec310339ff056faeb341c4499c43782078b04be1725ae9a6cdcb6011c46d1a4eb3d75c3" + "58225e4ec142fd1cd344186f5eb597f7ba559ddfa954824365d5b6edaec", + "005b679a33fdb7e04834f071cd0ac514c04add9f2614ab9bbd9b407b1420fed3f3e02a10" + "8e7e279899e43dcf64ae4083c289a87cd7d2103bdc036a95d36800ac7c6"}, + {NID_secp521r1, NID_sha384, + "4be81dcfab39a64d6f00c0d7fff94dabdf3473dc49f0e12900df328d6584b854fbaebaf3" + "194c433e9e21743342e2dd056b445c8aa7d30a38504b366a8fa889dc8ecec35b31300707" + "87e7bf0f22fab5bea54a07d3a75368605397ba74dbf2923ef20c37a0d9c64caebcc93157" + "456b57b98d4becb13fecb7cc7f3740a6057af287", + "181e1037bbec7ca2f271343e5f6e9125162c8a8a46ae8baa7ca7296602ae9d56c994b3b9" + "4d359f2b3b3a01deb7a123f07d9e0c2e729d37cc5abdec0f5281931308a", + "0400cfa5a8a3f15eb8c419095673f1d0bd63b396ff9813c18dfe5aa31f40b50b82481f9e" + "d2edd47ae5ea6a48ea01f7e0ad0000edf7b66f8909ee94f141d5a07efe315c018af728f7" + "318b96d57f19c1104415c8d5989565465e429bc30cf65ced12a1c5856ac86fca02388bc1" + "51cf89959a4f048597a9e728f3034aa39259b59870946187bf", + "09078beaba465ba7a8b3624e644ac1e97c654533a58ac755e90bd606e2214f11a48cb51f" + "9007865a0f569d967ea0370801421846a89f3d09eb0a481289270919f14", + "19cf91a38cc20b9269e7467857b1fc7eabb8cea915a3135f727d471e5bfcfb66d321fabe" + "283a2cf38d4c5a6ecb6e8cbee1030474373bb87fcdfcc95cf857a8d25d0", + "1cf9acd9449c57589c950f287842f9e2487c5610955b2b5035f6aacfd2402f511998a1a9" + "42b39c307fc2bcab2c8d0dae94b5547ddccfb1012ca985b3edf42bbba8b"}, + {NID_secp521r1, NID_sha512, + "9ecd500c60e701404922e58ab20cc002651fdee7cbc9336adda33e4c1088fab1964ecb79" + "04dc6856865d6c8e15041ccf2d5ac302e99d346ff2f686531d25521678d4fd3f76bbf2c8" + "93d246cb4d7693792fe18172108146853103a51f824acc621cb7311d2463c3361ea70725" + "4f2b052bc22cb8012873dcbb95bf1a5cc53ab89f", + "0f749d32704bc533ca82cef0acf103d8f4fba67f08d2678e515ed7db886267ffaf02fab0" + "080dca2359b72f574ccc29a0f218c8655c0cccf9fee6c5e567aa14cb926", + "040061387fd6b95914e885f912edfbb5fb274655027f216c4091ca83e19336740fd81aed" + "fe047f51b42bdf68161121013e0d55b117a14e4303f926c8debb77a7fdaad100e7d0c75c" + "38626e895ca21526b9f9fdf84dcecb93f2b233390550d2b1463b7ee3f58df7346435ff04" + "34199583c97c665a97f12f706f2357da4b40288def888e59e6", + "03af5ab6caa29a6de86a5bab9aa83c3b16a17ffcd52b5c60c769be3053cdddeac60812d1" + "2fecf46cfe1f3db9ac9dcf881fcec3f0aa733d4ecbb83c7593e864c6df1", + "04de826ea704ad10bc0f7538af8a3843f284f55c8b946af9235af5af74f2b76e099e4bc7" + "2fd79d28a380f8d4b4c919ac290d248c37983ba05aea42e2dd79fdd33e8", + "087488c859a96fea266ea13bf6d114c429b163be97a57559086edb64aed4a18594b46fb9" + "efc7fd25d8b2de8f09ca0587f54bd287299f47b2ff124aac566e8ee3b43"}, + {NID_secp521r1, NID_sha512, + "b3c63e5f5a21c4bfe3dbc644354d9a949186d6a9e1dd873828782aa6a0f1df2f64114a43" + "0b1c13fe8a2e09099e1ed05ef70de698161039ded73bcb50b312673bb073f8a792ac140a" + "78a8b7f3586dffb1fc8be4f54516d57418ccc9945025ce3acf1eb84f69ceee5e9bd10c18" + "c251dbc481562cd3aae54b54ab618cb1eeda33cf", + "1a4d2623a7d59c55f408331ba8d1523b94d6bf8ac83375ceb57a2b395a5bcf977cfc1623" + "4d4a97d6f6ee25a99aa5bff15ff535891bcb7ae849a583e01ac49e0e9b6", + "04004d5c8afee038984d2ea96681ec0dccb6b52dfa4ee2e2a77a23c8cf43ef19905a34d6" + "f5d8c5cf0981ed804d89d175b17d1a63522ceb1e785c0f5a1d2f3d15e513520014368b8e" + "746807b2b68f3615cd78d761a464ddd7918fc8df51d225962fdf1e3dc243e265100ff0ec" + "133359e332e44dd49afd8e5f38fe86133573432d33c02fa0a3", + "0bc2c0f37155859303de6fa539a39714e195c37c6ea826e224c8218584ae09cd0d1cc14d" + "94d93f2d83c96e4ef68517fdb3f383da5404e5a426bfc5d424e253c181b", + "1a3c4a6386c4fb614fba2cb9e74201e1aaa0001aa931a2a939c92e04b8344535a20f53c6" + "e3c69c75c2e5d2fe3549ed27e6713cb0f4a9a94f6189eb33bff7d453fce", + "16a997f81aa0bea2e1469c8c1dab7df02a8b2086ba482c43af04f2174831f2b176165879" + "5adfbdd44190a9b06fe10e578987369f3a2eced147cff89d8c2818f7471"}, + {NID_secp521r1, NID_sha512, + "6e0f96d56505ffd2d005d5677dbf926345f0ff0a5da456bbcbcfdc2d33c8d878b0bc8511" + "401c73168d161c23a88b04d7a9629a7a6fbcff241071b0d212248fcc2c94fa5c086909ad" + "b8f4b9772b4293b4acf5215ea2fc72f8cec57b5a13792d7859b6d40348fc3ba3f5e7062a" + "19075a9edb713ddcd391aefc90f46bbd81e2557b", + "14787f95fb1057a2f3867b8407e54abb91740c097dac5024be92d5d65666bb16e4879f3d" + "3904d6eab269cf5e7b632ab3c5f342108d1d4230c30165fba3a1bf1c66f", + "0400c2d540a7557f4530de35bbd94da8a6defbff783f54a65292f8f76341c996cea38795" + "805a1b97174a9147a8644282e0d7040a6f83423ef2a0453248156393a1782e0119f746c5" + "df8cec24e4849ac1870d0d8594c799d2ceb6c3bdf891dfbd2242e7ea24d6aec316621473" + "4acc4cbf4da8f71e2429c5c187b2b3a048527c861f58a9b97f", + "186cd803e6e0c9925022e41cb68671adba3ead5548c2b1cd09348ab19612b7af3820fd14" + "da5fe1d7b550ed1a3c8d2f30592cd7745a3c09ee7b5dcfa9ed31bdd0f1f", + "10ed3ab6d07a15dc3376494501c27ce5f78c8a2b30cc809d3f9c3bf1aef437e590ef66ab" + "ae4e49065ead1af5f752ec145acfa98329f17bca9991a199579c41f9229", + "08c3457fe1f93d635bb52df9218bf3b49a7a345b8a8a988ac0a254340546752cddf02e6c" + "e47eee58ea398fdc9130e55a4c09f5ae548c715f5bcd539f07a34034d78"}, + {NID_secp521r1, NID_sha512, + "3f12ab17af3c3680aad22196337cedb0a9dba22387a7c555b46e84176a6f841800455238" + "6ada4deec59fdabb0d25e1c6668a96f100b352f8dabd24b2262bd2a3d0f825602d54150b" + "dc4bcbd5b8e0ca52bc8d2c70ff2af9b03e20730d6bd9ec1d091a3e5c877259bcff4fd2c1" + "7a12bfc4b08117ec39fe4762be128d0883a37e9d", + "15807c101099c8d1d3f24b212af2c0ce525432d7779262eed0709275de9a1d8a8eeeadf2" + "f909cf08b4720815bc1205a23ad1f825618cb78bde747acad8049ca9742", + "040160d7ea2e128ab3fabd1a3ad5455cb45e2f977c2354a1345d4ae0c7ce4e492fb9ff95" + "8eddc2aa61735e5c1971fa6c99beda0f424a20c3ce969380aaa52ef5f5daa8014e4c83f9" + "0d196945fb4fe1e41913488aa53e24c1d2142d35a1eed69fed784c0ef44d71bc21afe0a0" + "065b3b87069217a5abab4355cf8f4ceae5657cd4b9c8008f1f", + "096731f8c52e72ffcc095dd2ee4eec3da13c628f570dba169b4a7460ab471149abdede0b" + "63e4f96faf57eab809c7d2f203fd5ab406c7bd79869b7fae9c62f97c794", + "1e2bf98d1186d7bd3509f517c220de51c9200981e9b344b9fb0d36f34d969026c80311e7" + "e73bb13789a99e0d59e82ebe0e9595d9747204c5f5550c30d934aa30c05", + "12fed45cc874dc3ed3a11dd70f7d5c61451fbea497dd63e226e10364e0718d3722c27c7b" + "4e5027051d54b8f2a57fc58bc070a55b1a5877b0f388d768837ef2e9cec"}, + {NID_secp521r1, NID_sha512, + "a1eed24b3b7c33296c2491d6ee092ec6124f85cf566bb5bc35bffb5c734e34547242e575" + "93e962fb76aee9e800eed2d702cc301499060b76406b347f3d1c86456978950737703c81" + "59001e6778f69c734a56e5ce5938bd0e0de0877d55adeee48b0d8dfa4ac65fd2d3ce3e12" + "878bac5c7014f9284d161b2a3e7d5c88569a45f6", + "18692def0b516edcdd362f42669999cf27a65482f9358fcab312c6869e22ac469b82ca90" + "36fe123935b8b9ed064acb347227a6e377fb156ec833dab9f170c2ac697", + "0401ceee0be3293d8c0fc3e38a78df55e85e6b4bbce0b9995251f0ac55234140f82ae0a4" + "34b2bb41dc0aa5ecf950d4628f82c7f4f67651b804d55d844a02c1da6606f701f775eb6b" + "3c5e43fc754052d1f7fc5b99137afc15d231a0199a702fc065c917e628a54e038cbfebe0" + "5c90988b65183b368a2061e5b5c1b025bbf2b748fae00ba297", + "161cf5d37953e09e12dc0091dc35d5fb3754c5c874e474d2b4a4f1a90b870dff6d99fb15" + "6498516e25b9a6a0763170702bb8507fdba4a6131c7258f6ffc3add81fd", + "14dfa43046302b81fd9a34a454dea25ccb594ace8df4f9d98556ca5076bcd44b2a9775df" + "aca50282b2c8988868e5a31d9eb08e794016996942088d43ad3379eb9a1", + "120be63bd97691f6258b5e78817f2dd6bf5a7bf79d01b8b1c3382860c4b00f89894c72f9" + "3a69f3119cb74c90b03e9ede27bd298b357b9616a7282d176f3899aaa24"}, + {NID_secp521r1, NID_sha512, + "9aace26837695e6596007a54e4bccdd5ffb16dc6844140e2eeeb584b15acb2bbffd203c7" + "4440b6ee8db676fd200b4186a8c3e957c19e74d4d865ada83f80655323dfa3570907ed3c" + "e853b6e8cc375ed2d758a2f5ad265dd3b47650517a49b3d02df9e0c60c21576378c2b3a0" + "8481eec129b2a75608e13e6420127a3a63c8a3f1", + "0a63f9cdefbccdd0d5c9630b309027fa139c31e39ca26686d76c22d4093a2a5e5ec4e230" + "8ce43eb8e563187b5bd811cc6b626eace4063047ac0420c3fdcff5bdc04", + "04014cab9759d4487987b8a00afd16d7199585b730fb0bfe63796272dde9135e7cb9e27c" + "ec51207c876d9214214b8c76f82e7363f5086902a577e1c50b4fbf35ce996601a83f0caa" + "01ca2166e1206292342f47f358009e8b891d3cb817aec290e0cf2f47e7fc637e39dca039" + "49391839684f76b94d34e5abc7bb750cb44486cce525eb0093", + "01e51fd877dbbcd2ab138fd215d508879298d10c7fcbdcc918802407088eb6ca0f18976a" + "13f2c0a57867b0298512fc85515b209c4435e9ef30ab01ba649838bc7a0", + "11a1323f6132d85482d9b0f73be838d8f9e78647934f2570fededca7c234cc46aa1b97da" + "5ac1b27b714f7a171dc4209cbb0d90e4f793c4c192dc039c31310d6d99b", + "0386a5a0fc55d36ca7231a9537fee6b9e51c2255363d9c9e7cb7185669b302660e23133e" + "b21eb56d305d36e69a79f5b6fa25b46ec61b7f699e1e9e927fb0bceca06"}, + {NID_secp521r1, NID_sha512, + "ac2175940545d4fbab6e2e651c6830aba562e0c11c919e797c43eff9f187a68a9e5a128e" + "3e2a330b955a3f4577d3f826529ad1b03d7b60f7ad678f005053b41dc0f8d267f3685c6a" + "be1a0e9a733c44b2f3ca48b90806f935141c842e3a6c06a58f5343d75e3585971a734f4a" + "e1074ce5b54f74bd9342f4bbca738d260393f43e", + "024f7d67dfc0d43a26cc7c19cb511d30a097a1e27e5efe29e9e76e43849af170fd9ad57d" + "5b22b1c8840b59ebf562371871e12d2c1baefc1abaedc872ed5d2666ad6", + "04009da1536154b46e3169265ccba2b4da9b4b06a7462a067c6909f6c0dd8e19a7bc2ac1" + "a47763ec4be06c1bec57d28c55ee936cb19588cc1398fe4ea3bd07e6676b7f014150cdf2" + "5da0925926422e1fd4dcfcffb05bdf8682c54d67a9bd438d21de5af43a15d979b320a847" + "683b6d12ac1383a7183095e9da491c3b4a7c28874625e70f87", + "1c1308f31716d85294b3b5f1dc87d616093b7654907f55289499b419f38ceeb906d2c9fe" + "4cc3d80c5a38c53f9739311b0b198111fede72ebde3b0d2bc4c2ef090d2", + "00dbf787ce07c453c6c6a67b0bf6850c8d6ca693a3e9818d7453487844c9048a7a2e48ff" + "982b64eb9712461b26b5127c4dc57f9a6ad1e15d8cd56d4fd6da7186429", + "0c6f1c7774caf198fc189beb7e21ca92ceccc3f9875f0e2d07dc1d15bcc8f210b6dd376b" + "f65bb6a454bf563d7f563c1041d62d6078828a57538b25ba54723170665"}, + {NID_secp521r1, NID_sha512, + "6266f09710e2434cb3da3b15396556765db2ddcd221dce257eab7399c7c4901359251129" + "32716af1434053b8b9fe340563e57a0b9776f9ac92cbb5fba18b05c0a2fafbed7240b3f9" + "3cd1780c980ff5fe92610e36c0177cabe82367c84cee9020cf26c1d74ae3eb9b9b512cb8" + "b3cb3d81b17cf20dc76591b2b394ef1c62ac12ee", + "0349471460c205d836aa37dcd6c7322809e4e8ef81501e5da87284b267d843897746b330" + "16f50a7b702964910361ed51d0afd9d8559a47f0b7c25b2bc952ce8ed9e", + "04000bbd4e8a016b0c254e754f68f0f4ed081320d529ecdc7899cfb5a67dd04bc85b3aa6" + "891a3ed2c9861ae76c3847d81780c23ad84153ea2042d7fd5d517a26ff3ce400645953af" + "c3c1b3b74fdf503e7d3f982d7ee17611d60f8eb42a4bddbec2b67db1f09b54440c30b44e" + "8071d404658285cb571462001218fc8c5e5b98b9fae28272e6", + "00eb2bd8bb56b9d2e97c51247baf734cc655c39e0bfda35375f0ac2fe82fad699bf19895" + "77e24afb33c3868f91111e24fefe7dec802f3323ac013bec6c048fe5568", + "14bf63bdbc014aa352544bd1e83ede484807ed760619fa6bc38c4f8640840195e1f2f149" + "b29903ca4b6934404fb1f7de5e39b1ea04dba42819c75dbef6a93ebe269", + "05d1bcf2295240ce4415042306abd494b4bda7cf36f2ee2931518d2454faa01c606be120" + "b057062f2f3a174cb09c14f57ab6ef41cb3802140da22074d0e46f908d4"}, + {NID_secp521r1, NID_sha512, + "3de9e617a6868dca1a1432d503f923535da3f9b34426b2a4822174399c73b1c1ee673114" + "10a58c17202ac767844b2024d8aa21a205707d93865693ac25a24fc87034fa3a7a7e27c3" + "344cb03b87602c15180a5fe6a9dd90cd11af4a0f150207bf2d83f55b12c088adae99aa8c" + "fa659311b3a25beb99056643760d6a282126b9b2", + "07788d34758b20efc330c67483be3999d1d1a16fd0da81ed28895ebb35ee21093d37ea1a" + "c808946c275c44454a216195eb3eb3aea1b53a329eca4eb82dd48c784f5", + "0400157d80bd426f6c3cee903c24b73faa02e758607c3e102d6e643b7269c299684fdaba" + "1acddb83ee686a60acca53cddb2fe976149205c8b8ab6ad1458bc00993cc43016e33cbed" + "05721b284dacc8c8fbe2d118c347fc2e2670e691d5d53daf6ef2dfec464a5fbf46f8efce" + "81ac226915e11d43c11c8229fca2327815e1f8da5fe95021fc", + "0a73477264a9cc69d359464abb1ac098a18c0fb3ea35e4f2e6e1b060dab05bef1255d9f9" + "c9b9fbb89712e5afe13745ae6fd5917a9aedb0f2860d03a0d8f113ea10c", + "07e315d8d958b8ce27eaf4f3782294341d2a46fb1457a60eb9fe93a9ae86f3764716c4f5" + "f124bd6b114781ed59c3f24e18aa35c903211b2f2039d85862932987d68", + "1bcc1d211ebc120a97d465b603a1bb1e470109e0a55d2f1b5c597803931bd6d7718f010d" + "7d289b31533e9fcef3d141974e5955bc7f0ee342b9cad05e29a3dded30e"}, + {NID_secp521r1, NID_sha512, + "aa48851af7ef17abe233163b7185130f4646203c205e22bcc2a5a3697bcab998c73a9ffe" + "1d3ea0b7978ce7df937a72586eb5ca60b0d939a7d1c115c820171c89c8116b7e2c7b98cf" + "0f14e4c4df3cb2f319ad3ab0ea25ff14526ddc037469f000bf82100acd4cdf94feb4eba4" + "ea1726f0569336604a473aee67d71afebb569209", + "1f98696772221e6cccd5569ed8aed3c435ee86a04689c7a64d20c30f6fe1c59cc10c6d29" + "10261d30c3b96117a669e19cfe5b696b68feeacf61f6a3dea55e6e5837a", + "04007002872c200e16d57e8e53f7bce6e9a7832c387f6f9c29c6b75526262c57bc2b56d6" + "3e9558c5761c1d62708357f586d3aab41c6a7ca3bf6c32d9c3ca40f9a2796a01fe3e5247" + "2ef224fb38d5a0a14875b52c2f50b82b99eea98d826c77e6a9ccf798de5ffa92a0d65965" + "f740c702a3027be66b9c844f1b2e96c134eb3fdf3edddcf11c", + "1a277cf0414c6adb621d1cc0311ec908401ce040c6687ed45a0cdf2910c42c9f1954a457" + "2d8e659733d5e26cbd35e3260be40017b2f5d38ec42315f5c0b056c596d", + "0d732ba8b3e9c9e0a495249e152e5bee69d94e9ff012d001b140d4b5d082aa9df77e10b6" + "5f115a594a50114722db42fa5fbe457c5bd05e7ac7ee510aa68fe7b1e7f", + "134ac5e1ee339727df80c35ff5b2891596dd14d6cfd137bafd50ab98e2c1ab4008a0bd03" + "552618d217912a9ec502a902f2353e757c3b5776309f7f2cfebf913e9cd"}, + {NID_secp521r1, NID_sha512, + "b0d5d52259af364eb2d1a5027e5f7d0afe4b999cc5dd2268cfe76f51d2f17b541bdd7867" + "e23a1bb897705153d9432a24012108979c6a2c9e2567c9531d012f9e4be764419491a52e" + "ae2e127430b0ab58cb8e216515a821b3db206447c235bf44ee304201b483b2a88844abaa" + "18bca0147dfff7e502397dd62e15524f67eb2df2", + "13c3852a6bc8825b45fd7da1754078913d77f4e586216a6eb08b6f03adce7464f5dbc2be" + "a0eb7b12d103870ef045f53d67e3600d7eba07aac5db03f71b64db1cceb", + "0400c97a4ebcbbe701c9f7be127e87079edf479b76d3c14bfbee693e1638e5bff8d4705a" + "c0c14597529dbe13356ca85eb03a418edfe144ce6cbf3533016d4efc29dbd4011c75b7a8" + "894ef64109ac2dea972e7fd5f79b75dab1bf9441a5b8b86f1dc1324426fa6cf4e7b973b4" + "4e3d0576c52e5c9edf8ce2fc18cb3c28742d44419f044667f8", + "1e25b86db041f21c2503d547e2b1b655f0b99d5b6c0e1cf2bdbd8a8c6a053f5d79d78c55" + "b4ef75bff764a74edc920b35536e3c470b6f6b8fd53898f3bbc467539ef", + "1dce45ea592b34d016497882c48dc0c7afb1c8e0f81a051800d7ab8da9d237efd892207b" + "c9401f1d30650f66af8d5349fc5b19727756270722d5a8adb0a49b72d0a", + "0b79ffcdc33e028b1ab894cb751ec792a69e3011b201a76f3b878655bc31efd1c0bf3b98" + "aea2b14f262c19d142e008b98e890ebbf464d3b025764dd2f73c4251b1a"}, + {NID_secp521r1, NID_sha512, + "9599788344976779383a7a0812a096943a1f771ee484d586af1a06207478e4c0be9c200d" + "42460fe837e24b266c8852d80d3c53cc52ffb1913fc3261145fc6da575611efd16c02605" + "9a2e64f802517ffd1b6b34de10ad2909c65c2155e8d939b8115400c1d793d23955b15f5d" + "1c13c962ff92b4a815cee0e10f8e14e1f6e6cd38", + "1654eaa1f6eec7159ee2d36fb24d15d6d33a128f36c52e2437f7d1b5a44ea4fa965c0a26" + "d0066f92c8b82bd136491e929686c8bde61b7c704daab54ed1e1bdf6b77", + "0401f269692c47a55242bb08731ff920f4915bfcecf4d4431a8b487c90d08565272c52ca" + "90c47397f7604bc643982e34d05178e979c2cff7ea1b9eaec18d69ca7382de00750bdd86" + "6fba3e92c29599c002ac6f9e2bf39af8521b7b133f70510e9918a94d3c279edec97ab75e" + "cda95e3dd7861af84c543371c055dc74eeeff7061726818327", + "1b7519becd00d750459d63a72f13318b6ac61b8c8e7077cf9415c9b4b924f35514c9c28a" + "0fae43d06e31c670a873716156aa7bc744577d62476e038b116576a9e53", + "183bddb46c249e868ef231a1ebd85d0773bf8105a092ab7d884d677a1e9b7d6014d6358c" + "09538a99d9dca8f36f163ac1827df420c3f9360cc66900a9737a7f756f3", + "0d05ee3e64bac4e56d9d8bd511c8a43941e953cba4e5d83c0553acb87091ff54f3aad4d6" + "9d9f15e520a2551cc14f2c86bb45513fef0295e381a7635486bd3917b50"}, + {NID_secp521r1, NID_sha512, + "fdde51acfd04eb0ad892ce9d6c0f90eb91ce765cbe3ce9d3f2defe8f691324d26b968b8b" + "90e77706b068585f2a3ee7bf3e910528f7403c5af745a6f9d7ba6c53abd885c3b1be5834" + "15b128f4d3f224daf8563476bd9aa61e9c8518c144335f8f879c03696bddbe3ac37a8fbe" + "de29861611feaa87e325e2f60278b4893ed57fb0", + "1cba5d561bf18656991eba9a1dde8bde547885ea1f0abe7f2837e569ca52f53df5e64e4a" + "547c4f26458b5d9626ed6d702e5ab1dd585cf36a0c84f768fac946cfd4c", + "04012857c2244fa04db3b73db4847927db63cce2fa6cb22724466d3e20bc950a9250a15e" + "afd99f236a801e5271e8f90d9e8a97f37c12f7da65bce8a2c93bcd2552620500f394e37c" + "17d5b8e35b488fa05a607dbc74264965043a1fb60e92edc212296ae72d7d6fe2e3457e67" + "be853664e1da64f57e44bd259076b3bb2b06a2c604fea1be9d", + "0e790238796fee7b5885dc0784c7041a4cc7ca4ba757d9f7906ad1fcbab5667e3734bc23" + "09a48047442535ff89144b518f730ff55c0c67eeb4c880c2dfd2fb60d69", + "1d7ce382295a2a109064ea03f0ad8761dd60eefb9c207a20e3c5551e82ac6d2ee5922b3e" + "9655a65ba6c359dcbf8fa843fbe87239a5c3e3eaecec0407d2fcdb687c2", + "161963a6237b8955a8a756d8df5dbd303140bb90143b1da5f07b32f9cb64733dc6316080" + "924733f1e2c81ade9d0be71b5b95b55666026a035a93ab3004d0bc0b19f"}, + {NID_secp521r1, NID_sha512, + "beb34c997f905c77451ac392f7957a0ab8b23325bd5c63ca31c109ac8f655a1e3094240c" + "b8a99284f8091de2ab9a7db2504d16251980b86be89ec3a3f41162698bab51848880633e" + "0b71a38f8896335853d8e836a2454ecab2acdcc052c8f659be1d703b13ae1b090334ac50" + "ab0137ddb5e8b924c0e3d2e5789daaef2fdd4a1e", + "0972e7ff25adf8a032535e5b19463cfe306b90803bf27fabc6046ae0807d2312fbab85d1" + "da61b80b2d5d48f4e5886f27fca050b84563aee1926ae6b2564cd756d63", + "0401d7f1e9e610619daa9d2efa563610a371677fe8b58048fdc55a98a49970f6afa6649c" + "516f9c72085ca3722aa595f45f2803402b01c832d28aac63d9941f1a25dfea01571facce" + "3fcfe733a8eef4e8305dfe99103a370f82b3f8d75085414f2592ad44969a2ef8196c8b98" + "09f0eca2f7ddc71c47879e3f37a40b9fecf97992b97af29721", + "0517f6e4002479dc89e8cbb55b7c426d128776ca82cf81be8c1da9557178783f40e3d047" + "db7e77867f1af030a51de470ee3128c22e9c2d642d71e4904ab5a76edfa", + "1c3262a3a3fb74fa5124b71a6c7f7b7e6d56738eabaf7666b372b299b0c99ee8a16be3df" + "88dd955de093fc8c049f76ee83a4138cee41e5fe94755d27a52ee44032f", + "072fd88bb1684c4ca9531748dfce4c161037fcd6ae5c2803b7117fb60d3db5df7df38059" + "1aaf3073a3031306b76f062dcc547ded23f6690293c34a710e7e9a226c3"}, + {NID_secp521r1, NID_sha512, + "543c374af90c34f50ee195006d5f9d8dd986d09ad182fcbefa085567275eee1e742bfe0a" + "f3d058675adeb5b9f87f248b00a9fbd2aa779129123a5b983f2f26fc3caf2ea34277550c" + "22fe8c814c739b46972d50232993cddd63a3c99e20f5c5067d9b57e2d5db94317a5a16b5" + "c12b5c4cafbc79cbc2f9940f074bbc7d0dc71e90", + "1f0ec8da29295394f2f072672db014861be33bfd9f91349dad5566ff396bea055e53b1d6" + "1c8c4e5c9f6e129ed75a49f91cce1d5530ad4e78c2b793a63195eb9f0da", + "04009ec1a3761fe3958073b9647f34202c5e8ca2428d056facc4f3fedc7077fa87f1d1eb" + "30cc74f6e3ff3d3f82df2641cea1eb3ff1529e8a3866ae2055aacec0bf68c400bed0261b" + "91f664c3ff53e337d8321cb988c3edc03b46754680097e5a8585245d80d0b7045c75a9c5" + "be7f599d3b5eea08d828acb6294ae515a3df57a37f903ef62e", + "0ac3b6d61ebda99e23301fa198d686a13c0832af594b289c9a55669ce6d6201138476901" + "3748b68465527a597ed6858a06a99d50493562b3a7dbcee975ad34657d8", + "0cef3f4babe6f9875e5db28c27d6a197d607c3641a90f10c2cc2cb302ba658aa151dc76c" + "507488b99f4b3c8bb404fb5c852f959273f412cbdd5e713c5e3f0e67f94", + "0097ed9e005416fc944e26bcc3661a09b35c128fcccdc2742739c8a301a338dd77d9d135" + "71612a3b9524a6164b09fe73643bbc31447ee31ef44a490843e4e7db23f"} +# ifndef OPENSSL_NO_EC2M + /* binary KATs from NIST CAVP */ + , {NID_sect233k1, NID_sha224, + "f23f784fe136c9fc0d169503d361e9c6148b0f1fbdcae0a97fae1af7033ddef25cb7489c" + "9963cfcb009a8cbfe44a8510a64a073eb1deae4c324ceb9302008c92c69b2dafcc9077fd" + "3cc3c7c119edc3ced36d176ceaa55ac036bf7f07f6fa215e8bb8196e59a5e1c9af4f98b9" + "0ab4970885bd7015fa26a09e03c7cf6b4b23d929", + "04c1d414696cc3657dd9df73ace56eda2636769ce7082e064c260be45a5", + "0401f228c0a75b057eb07fe7ce8223ed4163148c1fdab61e0f787271f836a900cdfa5655" + "d96ffd5ffb6027bfaa04da7b5d8fbdbb6202c8bb79f056ce43", + "058f8511089fcd59324469f6736b92693afe26bd4719e198f1f2287dc5f", + "016bafefb4933ffd00bd1db6d6c4fac8a06375603adc0aa2a5664083ff4", + "03bcb84b8f1990cfc7b88f2b8cc817105cd8e150808e7c87b310cdc47e3"}, + {NID_sect233k1, NID_sha224, + "400bcb297552bb37f2f8135a9314a35f5126788bb6fa4dc74152731ff64c5dab4b902103" + "d85443dec20e16b1d6629930cdc2bd183d4099f0e96295a63c2fe266f5e9d050c401a868" + "1b4a438efe53cbd8f2f43e2a31e9f88926a9c82917d873f6e8cd5ff5eb8c1ca36126b0bf" + "c8c2b0e85a7c9e7a45f1875ca9c82019ebedb729", + "027cb1d84865a16992476c9e353283d5d6a40c349a8e9179d1b1f403531", + "0401191227d064176f4ab020faea61330df5eb59163ecb4ea59c23e6f1f6c8012dbfbf85" + "b3624b9f56446f840602f9b839bab1368295b3ae919cb07c07", + "01a41af270269be052a62a9879638e3432a1479b05776ce61f45c0c361b", + "041a5f1d28b70bfa2925b9428ab8bac9fa174d88ae27d754824c7d16ead", + "044d359065672b3d3dfe8389fbc6fc751ca6a46820626c466174fb9b922"}, + {NID_sect233k1, NID_sha224, + "5f74d4b35c49fa454c97c05fdb6b9f6822cf1a2295f15bd766dbcb413d77c910bd8f4147" + "e8f317fac2300fa21cb80134d1b6f8ae8e50518c1f648a28506e419f5a6e8f05abffdb3d" + "d2587606c7e9c223ecff4f46b121216730ea13202b59128a7616bb2fd23a7e4a5aa08641" + "cc07b669641313febfc88d64d99447353dae3f06", + "031b443f46c4b5224237fac1022ee1570173f664aba0c84dbaa4246bdc1", + "04005f57b0e5f2e175006f4058cbb4ca9a0cac912c551ef1b94e97498fcc5a00f3a554d0" + "77b751478f8a2b7c2a9cf15effed958e0ac1a9e3db1e023c5f", + "07ff6ef3026c5a960e632beeb7313b3bca0baec76cea1fd9b82cedc3245", + "0099741698549c32a4e86aab6194527cea703ff869849c538a938585a83", + "02ad706c6f5dcff512498d84f1877eb997dfbe9b3d13b339917632d3cb1"}, + {NID_sect233k1, NID_sha224, + "8f92096876d9f81bcd992369d42d0b5877ac969004d17c8627c58d8b8b7bbf7a37e8cb6a" + "fa962b9b043bbbaa5bef4a5ee38d8bd31cb5866b828265a2f4102a616f87009cd346fcb8" + "af5519fb577c60d8792472232f33dc615655e53d2b715b15a2697b492f108b7906e1e359" + "7c6911f8cc30c7121ae338a6b747ec368f8e4a36", + "048f6ca29f35f253a4962734357c995920967b9eeff1ba5fd2080bfede5", + "04012b7ca7c21292f8795b2fbfd63a28c5a4ec8c850d6240f973c903bc817001be9855e5" + "c5a5064c27d1862010b2fd0d7be5a0180c861a288ceac89d6d", + "07dcb9725323fd7668991ce9a907b7129d53fae9016e253c53d057d195d", + "0498c4fca6ed7c2998347b464d3e562a74b0e4f3a6c1dc453aaa61bb710", + "03a77a13f011404d5c5341dcd2ca44dc2b08f21f09f524045c281fb221e"}, + {NID_sect233k1, NID_sha224, + "3d275dbde44494c45fc15fe89e2ae32aa26426a17e923e895c7941a5582fb95df4d49873" + "ab1bde358017f336b911b886b626b744806ab8113418473c441f1964159ded1b12122d53" + "ac56573167588e4b55f36b8bca8c67823883a51fb6e7f204d1c6b07ea49b577bfab9ca6b" + "8d51f72268b022e3a4db6f9d265ee8382f9b7b66", + "019b940eabbe682f961d9f3d90432e347fef3910e641656825d775705b1", + "0401efcc9f4576047c43eab1c13e0547b1c5ec1cd2afd2345fda72b5e1b50f00c7b5968a" + "f47e58f4ec15c0cd82ccd0b9f5bfde06c7f86fe5cd0105d693", + "03f783a94d1de73e4593f5d6d02238cfa0486e3ddf2bc0b95a528038e3c", + "013c467531f3f6508534ad072edb210e4182ce5a798d8a46674e92a0b4d", + "0685982aa8e2f3e46ecc03e00e7323f3b891da437235cfe9800139ee8d7"}, + {NID_sect233k1, NID_sha224, + "d2fa68e1f7dad02916b12fa38f1849d6d409dbad0344438520b4dd9b77d62d39ac9ae3cd" + "eab03ccbcfd4de703c6e798873671731c108f322b9f2a68145e3e210c9b15b879798e5c5" + "3c5022742e9819b99edabb2f44d89ae221f7a99dc84421a6905695ff91928db608f86174" + "5f17584d56e34b75c47281435b1b0b34e490692d", + "07a884b22e29fa9fe945e9ba13c0df8d786dc87cef0f77f069e182dd56c", + "04011e831647d0ffd53d75e44abceda753ab470b3cc93b457590617d925a19003db5bd0a" + "ecd6504d904bcf9dcce131abd239aeadb9a64a9811eac823cc", + "00241b763c6245b83afe61762b161c41467ef35b7f27a9c1066f02babd3", + "0514adca3481ac5f99287e6e966a5c223296b07a9456eb582ec5568688c", + "07ff6a2f7cb1d2594a11d8d0adb6fe50b4e740f025e7b4333ee26163d92"}, + {NID_sect233k1, NID_sha224, + "3830f75cf9df4eb2998c7c1b5fe11c1476bcf849c3a8fa7d3d0b5bc2292e5d07465ab8cc" + "9381c575d909e509c5dac49c78817c04e4bef18bd51bb09aa5897f21634633a5ce6d20bb" + "4638cb6c3927351eaec7b62cf4a33956916045c392f325adafb10a88a5f86d7e41dd7790" + "8fa7284210071c22aa40ef40da6339c02da05392", + "05da61f881d5a0dc085bb93764f584352882923cd237d878220ec624c1a", + "04018d740441eff1f785a14d04da4ba69540cbb469780ffd36e1dfae4f1de2018072ab30" + "e999ae26b872ef46a9a0604296d02c08fba9477d9e03f0f75d", + "000f95c5678fd08dda790cc60bfa578118f8687228a2ef5f31e71a6884b", + "074a6599b8cab75e0cf752e3f41288fbc673d52074950edb14f76524949", + "03523804351e3224e816cd4fb7191f332585f68053ddb32a85cc0fadc03"}, + {NID_sect233k1, NID_sha224, + "65b9fe15e6c35d453caa6bad39ee78a720a04b60d8a0a0f049186d2f777e48ae2d657e17" + "4df53edb7beb9f7d8f21904ed674add0cda5b62a7308de76c324a144021e8c6d387daaba" + "4ce48bf7dfe9c8aeee2c64e434ece1fa5ddcafcf3e5d0013a1eeec1742a00d384cc2ec0d" + "7eda83bb4dccfb0e57045ebfc27a4f404d03da37", + "03fe9f04647f6d82b13ec1ae5a8c2e49bc66b05649ad778eb16149ad83a", + "040158eecc6b8918e7813ef990217c603b28ed1774c740382a8af5c9af613301bbffeccd" + "41107c7e6f83e24c822d634a7ec064fae125dc8a3ecc4fc9b3", + "07731edfb3ef523a165a1b5817ab2805a5cf88043c98ea2393898e19551", + "01fa44fa18ebafee6f419fdb9de0e8365520617558b57e9ee89f2c8fc88", + "053f1b2da4cabad04fea1111d525f341417587823fce71e5bfd2353c2f1"}, + {NID_sect233k1, NID_sha224, + "d26521fd41eb5d46ece6836e188bf9cb1b461d011c41e002a935d256654d01725378e845" + "920ec4a7fd3f379df54772493df50d312c7c6aa4e909e7b83f2442c3a5e85c37d68aa015" + "098ecfb0a5e077370f4576f4bc63bf37e1dee06d780a3b6949af5e21c2a0960fcd20821e" + "f5f17bebf5fd5b3bdda260842cbbfad45667287a", + "05ebce648ace4cd555413de6a456fc487d14bf4b0b9a72311ef480d2f26", + "040020b46ecbdc36b4dc01111932090ba185eab2cdc4fa89775f2a6177c5920104cac1c8" + "00103c79642321a216bcfae497b037b29888cf9f70c507114e", + "027733120626e564b06ba71c4946c9c8bfae43f88511ec6352d2a52f407", + "0592de5184510e6ecb7be8a011f862470b918354a1ad82458cf716137fe", + "010a9c5fb6e4b70571a35c56744b57baf0108728bea2bf639af1960d1dc"}, + {NID_sect233k1, NID_sha224, + "b778c021b1a92c41dbd09963da07018075d73e54d62df5c2b7bf8abe137151650d1c1c6a" + "bce7eebd8f32e8c3e6d1433773f257bb3ba4a4fb6a02c0db1e47d03c27d3a90898ebd192" + "7c21df24c4c5443ca5b81f8ef2cc0f5e8b3d08f472bf07085df737adaedec63d99acd77b" + "87ba98225f198b791124ac2d9b191cb9251b4b00", + "056653c2f85593f789a926ba49fa3da9d7f946d8f1020508c5a527ce813", + "04010d65f6f5415dd86a83bb10118abfc1b1670a1664eb6dae99fb68b85019012c1e673e" + "575086ec1e76b90d59c2cbd2727f726f88298552b678ba7e60", + "021e26c098c9f9da9c782857fe640ff6abb21caf20a093f2277845bd10d", + "01d67cbc8209494dca1a74cee5d9894f98f03728214f7bbdac29b0c0e78", + "02215f758fcf0d8dd603e79658a8061ab45bfe6d854e52ea7074fd5654e"}, + {NID_sect233k1, NID_sha224, + "ec14e07f615960015a489ef999e308b42a4c571473b9bd64b433dabd9a1b1ad02e33eee9" + "100064405175928a94543a80f440040afa2965b4e5f95f768e7fab6d3c0a5f5e1bf1df78" + "22f78384e80f2955ea85f044ac60537d895747979f935bb0cd3673193c4a32dd7803e48d" + "7daf70a71bc2aa97236615b6411e28fc9a652145", + "049a91d320783cc70a5952c32036cfc75d41f1aa84127db2dc759fb291c", + "040190528df8fc3ae4db6e12930f176ec9c833d1668ac5808f1046366445a401f647d55c" + "e80b18a9add47fd1a8e4aa725297d9da03246f5c1ce503dd56", + "01eb80e2596d6c01431e7a4fd9e22903ea85547a31d675ff157a789a137", + "04523776d88199ebac2f96f9faa434bd81bde770ad4458ef126fde9198a", + "054665f31f92f8897482d34fcb63141a7539577037c84496167e9d3389f"}, + {NID_sect233k1, NID_sha224, + "89c645339ad0eb850e4e2fe583cee175b35feb02ed7541d7e9aace24cdd3939584f73ad3" + "9526de6399c86b36de77a018e2c70b532bd0f032f9137d10480acc30c49f9baaa86f9df0" + "033b77e98b485bf7a69cb5c281e527d3ccd1fce2415f0dda4a268ce68a0a34b16afda54e" + "d922cd6810ac8dc766df2a3a6c5e55972e9786fc", + "016a20016602fc7088a60469843e1d29ad67e3c3cb9500b1e2a00d4050a", + "04004f157541dc3a8bc8a2ad4dfb3933039b67e331b7353a2fa9ede322f4ad01348a7b8c" + "9495bcbecd556870715faf3d543cb8f2368805473bca17b82e", + "01df1ee39217d7f0d838e8b2d30a1159d8003b06e50a00d637edf08d6d1", + "045d16826bbc425637e7a05b826bc907f7453c70141d1bbd2cda63dd490", + "01ae1703cf179dfd1d5407ba2b7324cc7cac15235ee9c3756177444e122"}, + {NID_sect233k1, NID_sha224, + "ace14c4b101d2d8453c2bc22b756af016b5de537df9c3e639d208ad04ae0bf6232dc90b9" + "0c33228dc85de956db771ffde05fb4d0b15e4f218ed2771d703ae5bf981252a5bcd60c16" + "f14483131a481cbe04dc0adb1fb8aa32cb48bb5008e8a8e5c7b7465be2fd7afbc811cf5e" + "a6293b1a464669b49f55f57b93a8707e6042fda6", + "00ba922149bada2551b7be1c3df076f3f97ce93c13c50c285fef3f42363", + "04012daff2cfab994b9d1d1ba73bd2f8e7883b2d92f760b0d16351ec125fd40115666f7c" + "65b95ec2d713c5ab1a3eeaaf0f931b1859733416c3c778aa2a", + "07fc7c9503fabba0972e0e8892ec6331e0812c6452d211c5561fde79048", + "06477ec9d8d8d45418b9efe7ae47c0863ff94c43d8f392c079b870a7cf4", + "06b5a5d020b3d980b9d7880130802435ddb4e7362e36a70d193f18a7fe6"}, + {NID_sect233k1, NID_sha224, + "cec2ba0d1772c87e87d5bbbd67220692bea4301aa1a66e8dbdd7e651d45c26dc2a0d45cf" + "c32c34d76ae3e1c61db7b0fe1863457b93937d929e6ece7462ebd16adfd708353d6f7c27" + "aafe06593c76da7149b0cc574a4290b0d8fe219f3eada7082aca38dba3f78ed0d5942d09" + "5fa5556fc8bcef331ff0a6d5d1f4e6c51d4ff5af", + "02d635e12a58cc6dea44e71e87c37f91e8d08659f0b7955d24f65ab55ba", + "0401dd33d8224ffe63a32f2de5d4fcb0e5f1fca7ca2ade5b35ffbe75cdc65800bfbe9dfe" + "13f99258c787af82631ce2133dc73207c579b29869c7463943", + "04ef333049c575d6688aa04f87a6162185e4a57bb752a7f903e3aff86ff", + "01ade04af08ea1c1877779fbf6335156b1a1437f3e449f07458d700c67e", + "010fa82467d39e5ad51cda8fcedc72ee6a78dccd0c90544814e53ba9cb4"}, + {NID_sect233k1, NID_sha224, + "ffa13cd0f51ae2643d5d4edecb493ddd653e9faddcffc370e7e958abf726a5d67a2ab36c" + "ef42ea8ebe22a6f01b9c31f6ffad01e6894487d979acb5e618f765ac0ec3550ac5dbbced" + "e8f9fdbe52fbaba5c087ff382b6d7a09b2b5084227d324d98ff98793040884799b96d2ca" + "593201f4414f18c43b51c53c5e5059e0641aca02", + "0073883e5064e06814fc4de32e15f7a6cf825d2daf6eb1df8c83e25d80a", + "04000d3c79d627ee0d2d88f2de2dd082112c20dbc5ed66089454f7b8fd9f8101a2580e77" + "9753bcb023acba1b0852492b989c767f664c7047de8e6689fb", + "020231e05166271f47a91dd883c580ee313e9a07195ae511f0ee62173ec", + "0303eb4a0df97577c4cff531b3f54aa282e76669c0c5ebf4c9779c9bb82", + "0692432a7dfde09db7743f08130b3d3327dd98cbdc323627603518f70d7"}, + {NID_sect233k1, NID_sha256, + "c73e3dbac9513d0361dabe94071faf03a11cba18c06d131a172d5f0125b01a5eeb6055bf" + "72c7106fe3f4be3bd2b1771cbe7f85366dccfbc3bac20538510c3f51179cc540ddafb2f3" + "b05a0d276899674ab1d7d8fb4f6838f04e4f9e26b8c6af31540f63f4953c85840af4c57d" + "fa78c704f637dfc8dd750fe45e2c1e149986d127", + "01532271bfae8d4dfe60f69b88d3006d58e28aacfa701861cde8d624db6", + "040041c1ca965338976b4c45c28b1cb64836b3b4d3e7ba2b1323ea26fbcca201a177d042" + "fba7903007db122eabc459e37c2c7fe82e42752b267fafe4b0", + "06a54894825644901baf2ec3681ce5aaf93a18757d93ec9cbce7ccd9d65", + "03edb77fc7686b520493604db18fc69edb4cad8195a958e27ef289c4bac", + "004337ecfac57abb9271909aa43ff4e32851df7818dcd87216d051189c0"}, + {NID_sect233k1, NID_sha256, + "d00dcd0f3212a3167403abed91c20e76f5e7a7678a4fd970f944d11e6a8cd149d0aa6fd3" + "164c5a74c0f55193a4fa3d8ba6f99cabed10544625a7bd92b3e0b46edbd4a269bbc10518" + "c5268c3910a2aea567ccd32d4c7a0cbef09ea42c20b636d1f711d220e23dacdb9d1146e0" + "494401349749e5ed88e38295232a7effbae3aed6", + "0550406c0db882c6aee6cf3b6baf377375208c3e90cc44a067cee43efcf", + "040073348eaa8f2885fca3baf31830a2b28bfe983e3046418561f62ac5d24700033de5ae" + "e6d0bd4de286f1de1e80bf72e5e17083032bd4dc24577b6d2d", + "05c0e7ad0f9bbd522c862326a5734a766423fff7efbe57c51c315fa574c", + "02103f1a0200883850b6476c7d7e7d2b3e2f60923d028ee6f8227b1ec48", + "007cbbc3c6295ceafb3d9cf8411f85a045b11ef8472c5ed45346d26192a"}, + {NID_sect233k1, NID_sha256, + "3d36221f87157ca4db84884b8666660c4e2b6af330480c516cded9f3bfe132543626a39b" + "b6aed1964eb5c33ea0b95b9841665417679fceb95d199d55accfce35dd3f2283c1a7ced5" + "7d0c4b9ebe3da6e1ff2f979b6440db27caf9f6a4bbfa47e20d29ae304f4d0551fce9cc40" + "97eb2fbedb9b24680bb17d207bdccdbe799d5b0d", + "0257dc63752920b6854d6c2d1cca68589a38418c3d036e73760a12214ab", + "04011a42e9f66ecf030d0446cfb751136347d4df0ee4e031058ebdcc04df8000fb7161fa" + "c8cc5ad7bc4477a39350e419776f76f184e28abce886ae9cc5", + "00391d36c4044896ddcd68604d5f677d1df298f46abc00eb12f1165e8a1", + "04e19bdc6755a603085b66355256bce98d5fdd49b4f06b628e3e185574a", + "07697b29ce5546de969c9c4bbb5ea65f712d6cda3410f3dbfa0cd5b1a8c"}, + {NID_sect233k1, NID_sha256, + "033d82a42d0eddf58fbe3e91ddff7190e3f9fc2b1e2eede977d2c0473b358b5fce1f981c" + "a6f88fd61ce2f79e453e3a2b77d1baab2b970ed28d5dcff58873a620e195085e61c4b848" + "0d829525a1a944e8a4b63352f0291f0311f1f98ceb262804beec1c74947618f8e3b06786" + "6255878c2502966cefcdda4f5fa2b13d92ce7840", + "029025352297a7be850f8852411c09259b83219135e0e8949c1bd5b94c1", + "040184345e37f07077cc8df5947c1b1fcd8404b3c31586d6ebd91b240cf42b019dbc9091" + "a5d282fd6e62c34676a06a425e098567b990c47e61ef14d77e", + "02b2663a449ead3f8cce2459e04cf84333376624d994fd9312401ae57f1", + "03af223fd3a6b6b240e59dca83ce2477a577494438ddee3fd09632ea67f", + "0606576d89f2094572f0bbcb58a15d9a4bf10ae3667d4e35cdd8da32102"}, + {NID_sect233k1, NID_sha256, + "671a7c81b64b2919722d7b258bdbd90165bb757b53106e0af03d0eef27452942f40cf52b" + "c95cc7f6567df2613cce795f8bcfc723b2735efc35375c001d37c58480d89343697146b5" + "24835df3dbd333f7c06c98e36d3c4592ecd1f34ab57c341bb0f4c785f5b8372775f74b4b" + "ce60763fad1788e77ea158d735a64861320b36c6", + "02dc82d0e69e498528925c0e62a13fda9af8cefd047c10c3ffc2e41da3e", + "0400e5463926235ce53a85b489c3c278320ed986003962a5fc7ad4cbab0d9f01453e6edd" + "e95670a4653186ebd8246c28a94dd84f5a669bd3293176f1f0", + "034a8dfbbdc98bb1d9b175600bffd866306dffadcc4bbb6f24e7f918da5", + "03cf1407445cf1a619a280e139242056c23c58979f0b3f0aa7e1fc074e2", + "02e55f27593f2c76fafccb71493f14daf50073b35cc85f002528cc6d691"}, + {NID_sect233k1, NID_sha256, + "0ef677f4799298f4aab73b7393598041f56e902ced1726af49657b6601a06186212e3ee8" + "cd4bd33b760dfa2ea3c38884f94358d51dd479f2ccc8b0b352fa4e44fcfdcfbb24919d04" + "e6ee1108527b8e8d60e8d1b467c30c18c5455e5835d483161d3fc26b4a67d6df9e3ddd93" + "31247cb18450188752a1ca219f3396a872cb13d8", + "041535fff5d279bcd744b04e643458ce20b81df8a9e01b1181d52bb14e4", + "040021e1227457be78e49db22335139a136ba290d34871f90ab5e6a8db6ac100df43b381" + "a4d757864c39ce8d0b64d6a32e9e8be30f92a10a252d46a2e2", + "03019bd459b34133dc7331caa8976bee67f76db3a45b1793cb545e26c68", + "0025611bd4e3473aaea85228b2bf37eb1b4458d8166012aa098d9c1cab8", + "07acd38506e984fb7f1607b50837018f9b4246623dcfc9d7aceb486e76d"}, + {NID_sect233k1, NID_sha256, + "9290df0cc50c3cab6655f3a6de1f4cf613d9bc06ea7c99f38038369ff2fadefa57a3c7ae" + "7940c1b98bb1d03503cc271f7a891bf38eec93c31dcec7892dfd2e1ab337bedde3e5325e" + "d8d9cb7fa3096f6fafc3beb3a66cba66ba826d1032debfb4908cc9dded8c0099c85072da" + "ac4373fbc428fcaa9a6da02181ebc33f0cf926fb", + "000ecfe580a624df66c25e87e7689fc3b471d205970ff9ab51a64aa12ed", + "04002ca7b9c98bb8106ae14a87d5f9f7ae1f99a5524992116e68af89da6daa00a2fbee76" + "9eec313cf3c8519d3f96167477f0f06dcc470408e3f637b6c2", + "044f065c49bb7ff0772d628104bc2e222f1fde42aaa8b9345d324d7f936", + "046301f3f07922d338d5b7d82104597fc50941e4bc0a15ab5e0408f9fa1", + "03495e335905b4842b97f00b344313ca7d6a4ff60cfeaa5d589e0a31782"}, + {NID_sect233k1, NID_sha256, + "855c7be75fda372f062709827f333630acf28954a62a5193ff675f0dfeb63f32bca418f7" + "cbdb346bf388d62315b19a592267ca407120db93d4e3d7125b867c4c4670b7a57a76f617" + "34cead2caf2425eb9ff0a63293e8cd6defc9648257b401463f4533a2425e0024f1ea9336" + "5eeee3c6da20d25928602ec8b426f9b39f97f3fe", + "013c72c73358ffa168423149ecdd897f0a5f75a641de008649f00134944", + "0401c70e1b6c01477f95e718f193e13c093b101e9f16024082ac699ed6ebb601f8013a88" + "264266cb5cc5bd38e477fe0a1aa49ae4a5ff94cb58439a7c1b", + "07ad8a117f34bf2fcf7d689b8124e08118e28ebd172f8c220d57d3f0b88", + "012bc7d380192f2efe55625e39927ef799993af9451c662b562a239dfe7", + "035961b27e88d6731220f70e96d555f63853d14149df7bf6d24fc29441d"}, + {NID_sect233k1, NID_sha256, + "9c896f800281812ed57d31623d563377a5c725cec84313472b90e73f77d400f5d4fb2362" + "55741b73d46f7e5254d04099bec274db8a9af5fc7cc220d42cc172cbd3c3595c49ff74bf" + "aab7b5e46c90855b611f74753ccdbbabf92e011d52e9ba753b83ed2a251a632e1bd5c6d3" + "46e38e743950c8ce0f394a837028575fa44bcc26", + "00ac60e2e70b7c4cda64071c7738f68773c94df9456a8ec3bbb468fa7f8", + "04000109614a2ca27b7a749e53777e0f3ee2f57013ee83ea539ada6d98d8a9005668f4b2" + "7213a8a024455b398de2cd7635cb620d7401f5deb4fa9ab2f4", + "00098489f0966e27555268a94378b7b8685ac610fb0964694aae9aa716d", + "06d151437a0aac232a472af038b0fac095d224ce0e5487510e30c31d605", + "0563dbfd021c1b77f980530d0120e93c9ee4f1f092a268bd8aba7d3110e"}, + {NID_sect233k1, NID_sha256, + "139a14ead998d1a962fa47c47ef2953aa136bd912fe940709b8c560bc2a0c4bf8f3aab30" + "a8e21b7d5f487d30b0097e3da723f11b5cb4e8c5724f5a2fe0d68ee4bacbb85e5eacf180" + "94d2a8ec4506cf8497836a4a905059a998ea750adc54c27c69cbd0b0c1f9743a62f3d988" + "f3fa0a9865a73fc071f526623085a2ef12838888", + "060bf720052e8b9508a801340c213cf53bbecf4975faee63d4b44fc647a", + "040196e37671def44b35c9e8c719130389b40c7ebc0ed5ae354dc73e0c40c700d3fa0a45" + "a3cc5dfb61085290f6d18d710ad5d0d3ab31ce65b0e6915a72", + "0729c7e1de10e92634857a65a2ed75103df6bd4bf63b1ad6383c37a0435", + "06808491ffebf088476de7daf541bca3fd943d4c2089b848a130abdc0d3", + "02c0dcfff06a07e928c15a1fc2aceaa4b4dd6fe8eb67ccd4d01240f249f"}, + {NID_sect233k1, NID_sha256, + "cf4a8e754b23d0fffc1c5c80b0cb11deeaba3064b315bc2cee96db5b9881baf90d30af4b" + "69066f757b3020706def77a5fc1632d96bafba22a9c8cd3b52d535d941b3c7cc02b7fe6b" + "51639d5e2084478ab3a29d2f5e0e16639fc2833a47b58e2c3fb5b2ea1830fe2ff68e571a" + "8f281617a23d9a28db1c64ddfb1083d055030e5a", + "07cf3c216592febd8630a478b5b3e3a605084020322adb13ac0a626bc7b", + "04008eee2ea13a08d4e4d71ecd2547f6d80b8f88879c9edfab5a675831fef2005117c0d8" + "a0442ad7b95cac1a984dfb9efbb7eb3c3866955da60e6cea8a", + "038de0be25c23cbde9ed9fb259cd9a06b69bf15dafed723970dfcb91307", + "051c9c5fe50eb81a11c8e7b2db145c6b5dbff2c51def56f4981774c357c", + "053887c6cc2f21bff461c9182c17f634ee2b301c3cc4af0bb1d3075f74e"}, + {NID_sect233k1, NID_sha256, + "ae64030d4af9b36c8d3a6af0aff34e5ab201df04274691fb420b7d5c40c401ed7f3ade96" + "065d34f2490d17943e27156e7bed83cd7222d0d5a73d167855fbe7ff6c3ed87f20986ad8" + "bbbd80fed5f9705c6c783b423f641d40ff1f367f9648af5a79ea3cea0236997558bd9dcb" + "011ea4dc64d61ea1e1f85b4f696ed586bc7705be", + "061eda5999e5a9ed4485d2a0ac5510549b76ca37df858ea5d95aeed571b", + "0401642d56359cc0a5f261fdc405030d45b0d6f9c08a182d354bf2687dd9d5011bf0dcbf" + "62749a99e4b02b284aa7a6479b59b363d25319a5315423a589", + "03094fac5381a1b31e53f43a537d9e22ebe6bd2c149f2f69d792bd56f53", + "053c8c4f9a30e0500e01100bb97c00ce98f5cc6578686daa1bdbd679373", + "047086a88ea014f06d6345608bd0a6010e650b9f6f984b6efea9a4fb277"}, + {NID_sect233k1, NID_sha256, + "94a9d9cd9efa3e4ccf2a37f904dd9cab5624ec9393cf8816ea591c5e70cccd2f105388ae" + "133708fb974998ae61d218c71785f9eb808d1c28d953cc7eed00dd9854b6b4568c5ed5ee" + "3df3b58a1e04c64f1c87fee4365ec9aa41b08a6bae234dc43a0bf2f61420acdb891a40f1" + "7f246972afee75a4c0b249dee0fc8f9b9c8a243d", + "07e7e73171e4d2f2989dc024757c186485435b82544a448f5cfca05f281", + "040181c8cf579d9259020461184979757b097d5a94245a2b9a1f8a6931ee0a014baf1b76" + "1a0af3dd9c0521c6489f9a778da824283c94087698daa7cf78", + "02b57fabe6b866fd25ad8802c6b02b680c137ea9b623457b35a24d5a5f3", + "07421dbfa83859354345b9c3f1ce6242605094d924a4d38c7bd952e3910", + "05ee48a3a5119bb3433b53a625101492216421ce67fc04dacf947ec600e"}, + {NID_sect233k1, NID_sha256, + "4db998df7b90678b8aa4ec6233c9b4629800ad1f3e2cf8f7afcac62fc6982dcb290e4458" + "7015eca8dfe77dbb4a80f9bffe75b11e961e70deed14555db6dae47d49e73004f000eb86" + "77c18f7e8234bf0a5a104266167a05ef07152e7acc2f0368b37efe69c0c2feb51eedf733" + "8cf9ed398f066cf1f66bacd89ab9376d41da35a2", + "05f7270764a0444c7159d2db867930fdb0fb9fa6b8fc80ca02e11753095", + "04006806c7164a09e11629e16608b7312d9d988acefa626fe8e34e03203d11019c4200c9" + "522618dab8a16e217beb3011599ed6cc09291fe9d451f0cf02", + "04a8958c80481a18c6e0893da9ab2d48fa6ae30a0f1d0512196e658eba0", + "01d301da51eccd15e09ce0bc2d0bdcb215a43ed13792084e2969260d46f", + "031f96a2f322d27d0bef23ba7c457fdc45a6e612f7d13e9277d36c8def3"}, + {NID_sect233k1, NID_sha256, + "dbf9b8a4ae316bd2df0c80db1cb5d7038364a2634925ff957d7c03511b57d486274b2ecf" + "191746827c325a14dc94daacd66ad86d369e3f598f176c4f0eadec7e9edd13e34043efbe" + "0a801b75b8186b4a6d89ceae4fb250ab570d65b6dd7c04382738fe3f6f6c867a7d84b35b" + "20720cb0036a5d81a87126f236833831d9ff00b1", + "0179b924afa4acf30ecbe2b3c12de533a1f9675687876a7e5e5ddc8e03b", + "040175bf95ac8e768727d3b4a74c2b8a04b221247a3b8386ddf35fc39976ad0122f32f94" + "1066150c151b9db92b86f86a10cab0828a77e4f0d5c4026540", + "0210c75a63699b424585f65497c6e46988c28eff3e0977e3ade599581dc", + "06087e46c0677e3ca64a0cf030236583935d0dc03c896685dc6e446d9e2", + "0252e42b8f03b085f38c6849bd420837d985c9fe14750a654b584c4cc5d"}, + {NID_sect233k1, NID_sha384, + "986d9e5d636526f4deb7545c037fe81b09c74496ddb8e42e61650c74b6fe348593f0cf8f" + "8eca5e839baf62f17bf6ad96ec0c71dc44fdf11259dbfe7499157e402f6bd50769723541" + "50723afb632799a990c44cd0a4fa9609ec4db133e3b4700be3ea4a338e8ba1873d345e80" + "163ed60d0de274d7617a8382980bc2138b0a2a01", + "02c9eb4d392d7f2eef606e1861183acb1fc753d666225f0f154d9eda147", + "0400d58fd7b5aa570b1c4b2190ec413fbcc9ef44d33ef191b6e23abcb386900173e85377" + "bdd8dac58222cd1d0f7ed98d73d6fb6c2eaf34819b08ececa9", + "064f9fb13784c99185f334700ccfcc4ff60b7f4d613c3de6dc5d1b8dd5a", + "03bff54e3610ade656bbe002867168db1b521c49225eb9662950b01955c", + "01da3fd8c08d8e17692059c669da3c7c4c146df6d3cbeaf34598d28eaae"}, + {NID_sect233k1, NID_sha384, + "68d0be2883598bfb1433886aff118349157708690380c42b8919859d96db069c7fde6e11" + "7a3669f2cff94a0f1b66b27b09e3f1b24d26299e11552a084be428446f3174da2e041465" + "5bdceb38e58fcb065b6661190862db39c6545dead34a03584632e988d0459659dc7c7c78" + "d4d00fc2aa10465cf24b2410f14e2a62173c9962", + "024661c89b77b2c743cc175a6130904461138ddc4ef771ffb9fc2c8679a", + "040090383de7ca48f1e71a43845565a9f0c53d2c9f8c2e0f6c4ec7eb6437fc0167658227" + "2e7ebc9fd56e1010a570d744ae4fa70eed3e6eeaeb0e0eda7c", + "05cc5b36c7300a1cc3f624e9e663861b4e296f7e7a27e8f8f0a2d54eecd", + "039c6f5b484411c434ee161ebeda7aa21b7bb26bde0301d9ff92921337e", + "02aaae737aedecfd5d53af56ef154ac6430a45ff03a3495a34a5fe0e97e"}, + {NID_sect233k1, NID_sha384, + "f0ba0407485fecd7337f4b22236533a926cc744a5f06dd08276750196f1bf7ea7984278f" + "789f92dd07e36895a8bfe297ea43d4a1177c0368900e3b969d3083cbe626f0e27e7ab38e" + "185c923dff46d9ba187b2acb9cf4b23ec8eedbb8044b96b5263d956e50cd6240c66d5d96" + "517130c743752404ed09473f05d0004dc5971ff5", + "0065e20e5ce534576d7c17616cd4ede3bf4f500894850723bcc9f895f4b", + "04001413f6dd5349e94311f1d25e400b69c0f0ea446294eba4bbeb10278b850066a05055" + "d856621161d4f0e33dac82e5c0cd91ed8aa56e9abba9ec80cb", + "07377147b59dba008ed0e6b366e511f94c7f7c9088615c6d46f46736b97", + "05515a6bdfde3b4b78489194d39f4bb439f58a6b3c3f9e16c8a71590b14", + "00778f79083d11efc8ff959f607c4cee7cc8f38b855028ea248fe291adc"}, + {NID_sect233k1, NID_sha384, + "3827276694e413c886129c452c9a66e7d09dee84f5f09bf34e4baa308b4627e096c7d45c" + "f6ef45ba1d9a4019a60399feec10fa80e333e2aff1251c85ca48574d9b9e1affb9666828" + "dff5afcef3edaf5e8cae823505a0c73afe76c1bf130399fb06b092ba34ab0ae15ac6c682" + "f9ee8479b065ce75b57213b8aae0f55e4e386de5", + "014c85f66fbbd653f1e4e590cffe62c343ba6062df4b271fbd02e5d42f7", + "04018930b4a59a1c0e92febe650347c49e29a4e83cb8c507e30ad835dbc94b00a237bcd1" + "30235e34b4439293f15e7a3913d659089e38e5619fa52e3c0c", + "03c1f8d076fb4fbea91a97800607b2db3fb5a45149c0d30dce79f07e963", + "04b9d2c66d8cc55b64f3f62dc629ce8e50ae0bad8a4d14e8b6567fc87e4", + "00b9dfdbeecb061a455dd052258f3828d4b7174af972c65bd0043a9776f"}, + {NID_sect233k1, NID_sha384, + "d1afb8965b48d66b9acb1ece674d9548f83395275f2d8135554cfcc7ceb96450d850dd87" + "4529433883709483d0743798db5e0dee955a4f30ba328c7934b8dd9207f3c336cf89141a" + "175ebe23d2faed629eb4236a8aea8300604c3eb7704512f240fda66acedf1494a85058dc" + "6a31bf9531958c332b93cfe5545046876c6b99e0", + "030ac7a78593b570b29f6d3d267abb6ba7e5870ee1c8ee4f1ab2f141051", + "0400a409e90eb4314f95967607ea3de9817a0fdb439cf406135262624e7fac004b1dd719" + "434e8dfa5861887736f32ecd635878ed4b9e290c423da09059", + "027c4987ff872fe499039b4432dc889960ea8e3f07be42e36a5827b3964", + "06829b5e02b5849689d152ceacdddbfa8f68d782b3ae8da23ea48b1acbd", + "03dba0d2b4400495ee098325ae4450b32b83689349e82a69b799dac2cbc"}, + {NID_sect233k1, NID_sha384, + "4f95b71669fdfe5dc46d4b951b085e099de349fc740535175337127910acf24e9a0e4b2f" + "23196ad23880da47b740d77d74fe9bcfdcc44dd7d8d1a181ac290de5cf4da22d5034cda3" + "d8020bcc776dde8cef1786c9ce4d2c2cfb035da61406af745efb7ef1a55f2eccc5000319" + "cf1d6380963025dcea641cfd15a3106751fec286", + "06d7516aa040f7d559cae248e485834e8d9bb608279ed4d4f7e1dbcd2b3", + "040127a92888fdac8d4ba9c0243c9aca516bcb431911254bc2cf51883623a100606c30fb" + "b9958fb1140643f32c5dd582c2319f71bff197d58ba3e598bb", + "01104b6ad82327b0445e75cff0efa1281d266a9dfe4019ba2ed22dd6976", + "01f247b2850463e362ff8879054d3459b2cbae84b9d4bc005a2ccf4736b", + "05b3dbdf04758d546e54c43ca5973bd8ceba646a4dd5d17ae5d2f8ec516"}, + {NID_sect233k1, NID_sha384, + "2ad9e17780c824c4f2d1e1cbf19ab85638f2f71cb4fa3518f08085b8b358f54d4f08394a" + "5ac29cbb3cab828c5f07f41eec51e6cd61a5f2cf44dbfa46834370cebdeb328fd3bf681e" + "61011b5c2ebc8945ac7a2a8467606051008b15c89390e111999255bfe28634ce9bc2850a" + "2b55a4af1c4c2f94403c78aba1ebc87386ab7b32", + "0137050d7b455f43a8dc2516cfff5a91062c1a2727b27df41488f3dcf18", + "04015ccc90a5f3906469e3ecf7a70c429f5b50fd0ce74065d41f1bd6dccc1f00fe5611b8" + "b1b35a907bc188ad2b1fb7507d1043d148283911af3ad782e9", + "04881e879d7c76eb2ee61fe1844567316d7efaef047b96979e6dceb7858", + "03799e90bc64cfd7d0246a7fc89a4d8ed0399277cab2af40fa2ec8196d8", + "067e8728f4d8398e4e1c25775620865bcc2d4cfe635a1f4c6b7306f6d9f"}, + {NID_sect233k1, NID_sha384, + "958773c37d3eba003aa5c489f72118b3022c52b93399e9d8001695664918b86893f4922c" + "7b6e55b1855ed0fd1d8de5dc61af403ad660fec60d7c44bd0102c069957ed804d0d416fa" + "cdc1a95355ef58554606579ef89b1842f1055cfa2ae118abbc485356824cc09dddb77d06" + "71cb3011b33bc86cac526e3f6bb3293c7bdca1ff", + "001fd447b33a2ee3595b9f885c290d241422afdd74c3dc4981955a7e9ad", + "0400e706408803188263cb149428c60de57ac757f0776e5b27a2d5a859f58c0153b5e13f" + "17f0178cd90427f7d608a5659b9e03effebc89da65d59698d5", + "0339300c00cf7e8c6195ffb71e509613018e6a417782e4f52704026a510", + "0227c80e36e3571e1c783358c9ffed237b251332e8ed05a8d3b454c53b5", + "0679a32cee8ae001a18d9a9d0ed7e99e5ae67ffcd54de7b48c62e76ac8c"}, + {NID_sect233k1, NID_sha384, + "9cb2c496b1bc7f040228571e005e7e936e48e8f469e295edf914f5648701249a20bff6b9" + "8b5e862603dd9f12bb71c160aafe9df02e2e383e9b8a9a9d700f4425ce408feabbf754be" + "543f52204c849fed6c9d3e36e03dfbd9e35c18d7bb2295f1c484a66e73440a0a5aece5fe" + "80b9ade9321ef18cde3eb2db15e4b18e788b0441", + "06a061e10b4a6e7001d95411cb31bdea9c84670a59ed61b14fbbb05c8e7", + "04000ad2b726b805919cabc90d058c78896d2dd8a78484c1fec5bd5fb0e07b007e048ddb" + "487f667633d6d030338ded21a2ac5f65373ddcfe1e4a3424ae", + "013b4a86b70f0e4de6efdafd7ecc993f0d6f231b3d743ee5adf82db1515", + "0541c2d3b2c6f0655dd415e327f0ef07b03356f8047117c41e704169698", + "00300f45026200b8cc84fd564778281bd1d7e03727c242a249d9ad33338"}, + {NID_sect233k1, NID_sha384, + "9a4bc0a029e97742ed3bca207d5912cb568e4403cda106b00247520ea02008b14c041b8c" + "9b976294252da835f4ff27456039d79d90315abcb0b9b6958a22352672e229665457ec79" + "571ca80447c8ff2a86e6af3dabe7427c8bdcae65e3c6746a56079ce2cf8d22235180f466" + "46a21cd9e86032cfad874cb9c67f882fb037a13f", + "027ec31ca31acb4d2fbacb49fc085f1261b0042cc755cc97f9b199e7a37", + "0401d521f7abc2fd3b0a10732ed641cc1b7fdd7b49cf61909b215220c5253e0019e9095c" + "67af1b89ae6c486c4f9889c3f2994743eafe55bd9eafe438d9", + "0151aa44fd97be14578d68f87dbb884c960ab59d950c392e607ecae6bac", + "07be427f46958538004186d52aa50a0f83d184a9d2f4da2974163854eec", + "029d4ea73ab5b336ed44556f6944e734e531a5c71dc6c929e7253323906"}, + {NID_sect233k1, NID_sha384, + "8d89e22cf802dc68ff22d43c436c79311e705ff6fd845e77c880f399f403e6d5e9e2b355" + "11553c978171189e288cb2200fd95f84ec5ee9865c0eb9190aff6dacf783ef200e82027f" + "a992741876456472bdf27f2bd8ee55db15408c957a120eb64cd24d299818726a73fbb069" + "7eba726a326719765735b37a2dcff0c853c906bd", + "04c6f4d88e5a4f4f83196f2dda9dcf2a66eaf94d50c851f59bfcea1d876", + "0401e2677c1305f545472e373615d195d1f7a315f592e26fbbf44c4255805001638140f4" + "8bad525625a87d0e537db5500f034e71e60e8a8c48eea04108", + "02185d8ec6f35d5c3f965cd00597d93caf45bbe186d4128bf877ec304eb", + "075199f4d8af090e4666754a7dac0c1599c207735c0f54c9f11e305727c", + "008cadf59a224f812d64c2f492e7ad4a923f3463b878dffc75eca5f8fb2"}, + {NID_sect233k1, NID_sha384, + "aa1bf5a79e5339fb9ef6c2817bd95725551d064bc5064d6586c5a879901adf808dc2ef7c" + "78ec3b434b84569988db58b5e8e9782b1cbc2cc7c9b68e66f32d4ac4ebe7e75b345f654c" + "7b8a5e650acc9f170f75b7aaa3957cce248cc69cf93faf8d72abc6fc1cfa9ae2d18a7b31" + "ce720147e88e84f6563b2197882fe302449ac5ce", + "01aa169ea84365c22981bb766bfdad27e373440850569957544b0f9332a", + "0401f97d91302c70798e2278348e36bbe01587e0031ac3c422141e3d4c150400a95108f6" + "b7ff41546c98f4ea4d1b587a3280e49c6cd0d33abdebf9a1e7", + "03c9efc0f72d88168c2b1f7fa1c6e275839303c2bddca136dd19ef446c9", + "0639d1a1066465b4b2f443cd9677cfe3bf5bb33e3e9b14cab2d37f4a859", + "04582792ba78f782f112711ceaf36f5f0774b92a6fcaee327d687658835"}, + {NID_sect233k1, NID_sha384, + "475664d5e22cbe0da0d0289ca9a666a37270dc71c81cffac91f6229fa39315c1d55f7e0a" + "89b6a7a07df7d391dbdf8fb7af63d2da46ecc3b60110dbcd842da97f98d2b67f562b0364" + "ef8e1c589519024177c8ea079794f271f6d35554c0e9d0a39062383c95721b72f4e74eaa" + "fb6fbfbda02cb670a7c4c94f67b8ebc6442e84e3", + "04a665b92c0c33a3f8b9eb4b0ec061d40b603de36c87096455102ffe57b", + "0400f0ac5238553f0cd74e6f34f7f82563cb01138e5c9bac6d5e7b8b7ad4fe01903e9fd8" + "a5a2aa32913b18bddef20667061f919f8d61a5b3c814ba4aab", + "070ef25950a795b5e22fe4cf5402f49029c5d97cf9f57f0806c0bbb5855", + "01248dcf1993ac2eeacd062f853ebb4b2072357e728f0589258399ea95a", + "069800eb2e2b3a9162196dbaaf67cab4ae123ea817f223acb6e889f6d7b"}, + {NID_sect233k1, NID_sha384, + "9e5397d94465390a82a3c07e3ebf21b515776d18b4463aa5810e6b2f96ca61e92d13e034" + "fa853c3fa45411f51f79df6f799a2c6906e6a5b7896a4576a4464f9e0be2b529a43e1f50" + "3fb640d79db6b68f3a3a7deac1b5832fbe86673784ff6db1f8438f7dd332cdd1e7ad9df8" + "b6731aad1b6a72bde52e6bc62d80b8da57822c48", + "00531540d94823e19ab2b95cbc6e7492e1effcbabce875de6ba96f53aa9", + "040031ba225249916a5380235220b9657162eef43d59ccab507639e19bcd6c0062e85d61" + "366a73b62255c741a065708701c8fa024a15401a4cd58640b0", + "05375df0a23646e8033ec9e3ad269e7167a663b97b4f52cf18fbb5f50f4", + "05bdf7d643ffde5ea191553a9c99eb42fba9a8b6e2013dcc520298d224d", + "06cdd9e0d58bd4c5cfe66589ed7c7d15331f3e164dff562b6971af1a41d"}, + {NID_sect233k1, NID_sha384, + "3cc4c4192f317e52df6f8cefba6d4cd823c942aaee11b9a0ef5de5c2d181073b7085a558" + "05e9554def8dc13eb978e7396044d4f4a14be2c7605998c062095c929b9c23b2b1b2fa73" + "dd19a0c0af44ca4789f9841fa62dee8a5f91b3cc4b3264f5f67334c3f0772b30bd7431c3" + "fbbf1f34318ce1889b6e8a76ce6d42079a451e56", + "022a89addd8b85809e87e0aa2c038593ec277054842854de1197833a51c", + "04008e760b282d0ae4eeb2fcbbfdec851468fd8e04c4dec71fc2d5d3a98a1300849a56b9" + "b0b0a1ede6b9f9522685e7ace3baa57f72709aba705814d138", + "05515b025d6196ffdc8bf275479d72b29a752eb3e70ebf07d4c4e7bf74d", + "041902f9b7bc81d3a88066b03e4111ad8ff4d99dd868d5608d1f43eead4", + "059adb96af9f404d2f04d89fb39cf38ba5689f47bda749ae9aa1ecb097a"}, + {NID_sect233k1, NID_sha512, + "72cdef5bdf710978e0aa334b86b8ff4a58630da314eabe98b4d611aab56f55c526983d54" + "d19bbbf9ddba30a84b18aa0bae9f9503e9b222f842f084db83aa39625403213ca321cc0d" + "9c8a136c826e6ea4ec108b913dd0a9ce9d5b8c7e3af53c3876e56a2037ebd6d99f037a09" + "7111c837647bedfe4c494e4288ed6427c15969e3", + "01df252a11ff97b4421b3a2361db94e908e8243cd50d9179f9e03e331f1", + "040129f011fd5fedf3526f0437ae800a110435db907af60e16912d58523202008026ed86" + "afa7ec80277f322dfc8cf693089968ed9ceb8c95c930415a23", + "04fce14bc83be6f862f06680a32e9a51d1a569fdf1d9b10a89eb9fef4bf", + "04d7b8d19dd9cabc3c2245a9d2c8431c3151eeb6f49676a865e78c26c2f", + "0373e69da1fe35ce41ff344447fa7ffe6fc71e28dc68244372745739fc2"}, + {NID_sect233k1, NID_sha512, + "8e4eb88c0b2d525b2c58b8e00f32def90e6dd382301de49e0ac053dbc6b61afe926d8519" + "3e2c4948f7402a3d7c614cb2c58e060362b0516a1ba4a7425f1b3d09aa20d4c3c8993a38" + "7a3248aeec51e6efa8f558dbdcfcaa13ee08413227c8351e3107e9a3e3ac124224aaea91" + "bfe50c11c1c8ae582e718f50bc5d5c06076517d6", + "01d7125c299ebd0dbcc050f07de931c7ad0450af590d0a2d0228a66ac5d", + "04013ebde8790a113bdde87c11ccdcbc39e354b193d772921b86657f53f74a00aae910b0" + "e22f1a2505f55fef2eae47ab6d47db6e49190a5469b4b6dce5", + "0113d1737bee59f9f477f71f77a0ac1aea86aa67002c34a1b31c421cd7c", + "066f9871da9a22f07c9b2a44fb6c01ac74ba17649cecc33b729afcb488b", + "037fad90c288510d0cd8e99e5d930f4fe197df779dfd6088da48986c601"}, + {NID_sect233k1, NID_sha512, + "370fdd80f330311dbb3959666001bba61cdacf20f72f78953d946fa6cba02d24b5003f54" + "52d535609e489b9434f192011f99f918defe877d51349870e7e75502f61145f7c261dbd2" + "a0840926d824ebe9be3c5a77a3a84340aea930378367ed3615a47e3f792c7773f83f91eb" + "ea718a05fc62e9ed1d78629b2c27ae44fe8f8d4e", + "021238e66119844b146d40e48341f522f6ac2f9c8a0b33aaf95a3099a41", + "0401dc3ac1ecb670f867337b752cdbf48bed9f32589366f7c6ba7424af1d6601e3a38ded" + "8148bf45484ab6b77e0beff759812493347e32d2d54a322a2a", + "03626adf8e70506e74ea27ce740f7eed1c8b37d50415be6a2681c67ad2b", + "07a9c9056b51f1fe3e7733c6f54ed96662aa7f5a08a961f91fd6d0276df", + "05e7600e9fda45bb966fbbb5a9404af961058a128824b6d84d9d47ebdbf"}, + {NID_sect233k1, NID_sha512, + "f86c4433787c3ec3cb1663389ccf53d62f9425274ccef05fd14b1b8fef676208867764eb" + "98d16d006ee6ebdc27b8d9a8ddd303d941fdd82b630694cdc698bbe6bd52441190783428" + "6c94b24ee199fe6d646064277f244b7df3ea2d9d52a9dc6a33d7c8d6dbc919da0fa987a6" + "7621ef0829e48310e0ea2bb86fedcf4effc0b94b", + "015e1bdfdacd87c42ed439f3e243abf27fd42e54f3ebdfb47f60dbae5fe", + "0400fb7fa51c1a96baab65fc85c3b769ac84ca7b63a1fe9f507a2ee0c49395005d450aed" + "449f8f1aeaa9df0131f696c2bcd4528808d2f52b6a73f72811", + "070ca3f5dc30c70e576e2d2b30935b05b6e68598eeaafa1bfcb9e156e05", + "07e3cdc4207456773aa52b44156801b316a7ac850b3a9e717a9ae7fcdb0", + "07ad6de3ba8730ac887f045cae80fe2fb5237a8594e7125c4792d478594"}, + {NID_sect233k1, NID_sha512, + "4117d593aa92e3eae1124ec7482737cd3573fe5f0f2a5051a7ce86946a2abb9e47a0c6ea" + "75b262689b0b486476d2ab09a20efc2fb921419b1811b51a2e15891ae9e45a17ab4b96c6" + "65c6c423fc00e2d66df5804a164f0f3c958df6f25d7da6829b1fe162a0a8cf130858c83f" + "3555d6ad627db70cb41303cc6380f7b3fed2563e", + "00e09410548c17bbbf28a68c3963a52d39743a4f1ac28e6dfe7a6ede281", + "0401f5f36a21a3b7fc5ea37528566da695922d7d9b7e6800af9c1a00f68242003df4e2ba" + "0c8648cb1fa19663f31786b850e6b80068b8c007f41de08608", + "03c0a2a4bea270eaf66adfb297c0e3213254cd87b11edcd90cfcd6f3104", + "07b684e337d6778f84bdb7a6835e91877b41d6af4b76311258fbb8339d8", + "064a0c22057a858b153ecdf4d275cf5523dacafdfcb46423b5613c85691"}, + {NID_sect233k1, NID_sha512, + "882ecaff3ec8f4023df5397167f238869f78a5c499be19aea85c7486e73f66f0e08e71cf" + "85f3f1b6f6a70796bf46a18e6b555a0a87c2088640ca73051b3dd59ebfef922be0372208" + "fce602d8001681297b285701dbbe24ccb42541b5db4aac1a1c7f407e11c83db15b38cdbc" + "25e930fdc6558f64d9503e214571a435d890169b", + "049f5bea6e72d98579b78cb07d89f64503f8759dd7a73cd73713c120428", + "0400974dcd68cd85117f363812a0473e972c89551e31c74c8d99f1073eaafc00f306c905" + "1cf3b84803307beb3dc0d34a9758a4f535100e846462a49053", + "022a5564b468e706762e3ff934aa22d9aea0bf2b116b61182c9f7be19fe", + "02e050afb84e1b0591fb64d46dd7d4a939552d68bdb4213f16c5d7ec5ec", + "063225df0057d5368b2e103eb2181ff5760e6b2a9c13c83da042722c3e4"}, + {NID_sect233k1, NID_sha512, + "99b3b8f876f8359bd6369ce84f9261581c52d744b90261a1427ab9e447e6d833b6b3e89a" + "f8dc770f1dd55692d01c8bbc4277a729fddfa7cbdb2ec99133201dde44ac691a77904ca8" + "16feb0a1aaacbb9fba85048bc63d73506eb908ecd697caf582747051a3a38ac8930c9a43" + "65f407ed94ca7f2d26913c53f4c010c7ed9d7ca4", + "005eaa818690d1ca4838f0bc667be5721d178c3869884260fb230277c3b", + "0401f7b3b50167cb2ff7482240bade95f2850a02805742e6e29eabf7f9ad3400f8038a8c" + "ffa0f798a01e333251996662bc3c0ee56d94c392269b63edb7", + "064d518f7b8c87325d8edfd42a52793d87ef8db283606dd676be8584562", + "07128123004a515e277dd5b571e31bbc877cc966e27ed5b2ab2c16e881b", + "051d70485148996ec30f92097e4a12b5edf804e03e312072336bd912268"}, + {NID_sect233k1, NID_sha512, + "8c1a83023930a85c5b2f9930521b8b8963d5523a3323d87f862a17d3505ccee01246ee10" + "29b8b8c2b608772c4096d1e914cb398f027d91184a8e94e4feeae121eabb504a2a35c8bc" + "9294edd15ddd979946c14c792ad787dc2d4deffa284830fc90b3f8c0ced6a99fc6de7c41" + "b9ed261402a6b3d702ff86a9392731ecc37430c0", + "0603d89cd2f741d734587e77554fe6bbb1e5739d5ff73084d4de8ed69c4", + "040122f2b7802917e4164ac2f54033621c78cbc7040217e5ded6b9217f95bb01f867df74" + "3e73806957066c2ab45c04bf1af158e146a9d1eda9e974e0d4", + "076850b8ca9e454bdb320da624c0dc63e14ad279185e4f8c9e49905666c", + "04bc63bafd5bad022fe5db246680a0a0ccd0b50ff50482d3849c92eec7e", + "07b6d8a8446ddfc64392af0aa1763d45877023c0be9ec78db47efd3c366"}, + {NID_sect233k1, NID_sha512, + "f3c9dedd7115339dd3ede7d8d06a44de66bf80b4888ab7bc386cd40a92789042440a13d2" + "cc90dbcacca5feeec1e0e3c51724146e2c4904ed6b05c7b4e9b49d7f458ada695c5d2fc3" + "6f1193329b87c1268aa38eda9151430aa0bc004e5d2a61b9390accfc699f2efabfec785e" + "b34f52b1beff1e4c5492e922acc348667d2a3986", + "07977b3aba53616dac27b4d74930da23966a88ad98f1769674789c0be3d", + "0400aa61b4bd2fa9c61914ae306d69d3ade7d6cf621399e5791dda8a054dcd012e8d9274" + "d5593f5074c49ca34a7e2d64f9d9ccdf42df6087134b811762", + "03b8ee56bebb59207e107bb0c16938cab707e425f38b70f0bc918fc1b8a", + "068502a3e5e51f5481aad31eb6614152f4957eef1becfe3a297b023a94c", + "07b6b43be63aa79c10876179703b69caf9b03c5401b999a3c5be4737999"}, + {NID_sect233k1, NID_sha512, + "d878c4ee0bd6c84652d7f9e68df7b90cc78776d8d1b60f3e4d7465032bf401f1527ca7bf" + "d4a3dd916e13e93fadaa5e5f20c9f47d12f8fc922a9a3aaeeeef294c221ca1adf7df85b8" + "88faec8002f17ff202da1be837827619904121167bee2d2cd694a263d9a99062cada3399" + "dcbfcb283597a96ebec129c65e0850ec4cb4e2d7", + "050cd20e7eabd29008cc977d0a17e1195d79587b8f15ac2447e15daafc0", + "04001ff23ff4ea1f30663b17d8f1c67ea37b8c5df7009d0c0301db483803a400ec6bde92" + "921b83d4d84be8a67a23e1718e575101b93d9a800550a20e7d", + "041ba36d2e810e47c3de583772e9b5908c257b2aec232d855669d4dae2e", + "079e96ed1dfc4e31774159ef311805b5f8001203cf37a72921efaf5cbe5", + "00b8abcd623b17357f65ac365301a8823365ab948ae3f7fc6a4a0b8ab5d"}, + {NID_sect233k1, NID_sha512, + "ac3c118cc9cbc8eb3b74d8ccc9ecbd81d1996fb25ca43c8a43bffeb244f722b93c9e9692" + "41d45d5b81fda0b399f1e3623687190e428dae077e54cad1eff75ec2f7fbb9434bf71683" + "3421bc2634885677579c237340f76787b2eb19b446d56c0f2206099b81493349f4db0eca" + "d0e2dbe85dbff7d7070abb3d3b12ef0cec828af4", + "02dbb24fcaf9f3cd5d50d209937f0e2d134fa20ee3c9c2f1fff3dfbf302", + "0400a07240c52e385ecf75525201f9810859123bfd8ce04a5e8f4dc4ec88b2009bd81119" + "6ca9ac45b28031b9f65f9a5c4ec497d995f7dec6eb06dd2874", + "05785beb1ff70c7bea89b1fa14be09332ef94b09eebcc9fb1150bfe0d55", + "05279bb1b1ad8174e88bec4c723d65eda768c1d08d1c64c332a240a284f", + "015a90383c2c40ddcf721067b3435915a843f9c4708cc133fd1ee53f442"}, + {NID_sect233k1, NID_sha512, + "700313698cdfdcf0044ca07bf9e5f0702ece7cc66e35decb28d5f8cb7e7e5367a95cc172" + "8a90cc9a53a2b5fcd4702028b742538e9b386f5d8b4a2411579ed9553021a95bd00a73f0" + "3c4184a6145aaa367e3af76659d677fe7a2e98f9ddf4aa20eb8d1a1db72c3f5590598801" + "be7ebf44255fd7376d89d998b7068bd1296fdc38", + "0047142197d3d43fa46545b547968680ec81688589d1ec8d7c7e90eb969", + "040179450d83cd6dd1609830ec78011143eb64d2d1509ed1adfa085a58d786003ee40673" + "ac564c6b5732868d0f8a57727150a23c484228890d768dae54", + "064f8892245a198c9c819152edc168e69dc7b562ef1f54dcc1960cc7db1", + "0293f2f989fb6b6e7cf304faf3f63eef61ab89a626cf8152e15f38bf93b", + "04948643075cea6413b1c88a9bf11aa176611f56d027f2b165d00d46e87"}, + {NID_sect233k1, NID_sha512, + "0374673e1a685bdee55504ce3cd333f70084dd4ae685464a16924eccea34531663fda602" + "29166478b30193459a3113253cd6494dc26154156252dc6e822552c7c04d790eb9f8fcef" + "2ea8dd79e72f881f7f20fff93cd73ad303c0918ec27c6486c4da61f82bcd55422d16650c" + "c68bfd4b0132c1e7075bbf17dad919095860d445", + "031352b49ecde5434aac05f898e6ce4337304845d748f114c14319fe97f", + "040187ae6bc9167d9c69ce5544ad650055cb9a4e69c1772322d5722e68e7e000042187e9" + "d11a921adafc694b5cc8da9226ddad1b65f764274954b17333", + "0761189e63fc0c3b5db92b281e5a4bc0d6fdb30bd14f8e69ca85a211bc7", + "0453560e6e725a2bfe0383884ba3b3dd0816d8522d9e0762f781f6b6340", + "01aaec4bd98c765e4830de6593280779d1222918d4acf08c8fc3d0aa351"}, + {NID_sect233k1, NID_sha512, + "8b237085f135d6e94592f8d855ca397c8c1028236a3b412adefdac888245874f586d0695" + "0ee18118f751bfe26f4c31465ec34b578caa44cf1b7109ac4f6eab7f97ff9699b34271df" + "035d3bf58a2ed4bcbf7577cf8e5792b1945ebb9389b680baeb8518c8fdc5540e192aa4fd" + "e0eed0d7c82be2e362b286f582d65752c8db7038", + "0176f124c24e4420f6e726a6ca25f09dfa0c5a37e5bf879e7bdd36c3b65", + "040098c37cbd44aac5d5c749524b840fd849652349fb3e02cc8f8fd0a237900151a9a88d" + "a407ae41e52b3dad1ea6031c7a36bd834007c0cb1e2c2f2f0f", + "022e299985cf289f2fbe2b1b270fbf12ba818cd2b506f642e659cd541bf", + "0686ac0c09f90a077cb446c910e07fdf23e845487d0333efc65b9b84147", + "01688b18cb42082bea69f18511b0fd9fa35da83d738763cf13ef92a119b"}, + {NID_sect233k1, NID_sha512, + "e3a086ec15574f7017b3cd5f5a47ab7a73980f11074333490dfe9f8ad8926f9ea7c82271" + "aaa74e77133b1025b0b22a6900fbb71251bb6549341a23d194e79d03462cdad52ee0d1b6" + "f5d0d14e1136026961fa3467ccf0864bf7ae3fcc3b68cb35df7324bd9bbe58fc8aa9f63c" + "19feedf19d935b71bf5981c74fb2a487f84e453c", + "0755c48c3dbaf71042c58cb137f3632e3cf9d90b7b9a58fd378feef3d19", + "0400bd9a720553afbfc5349e4a65a21fed0444c30304f7018ec1ff6fc8d1f90109a1d6b9" + "cc4fbd0e888d0a2b6883fd06a5da347c0d4f7882fd29eabcf0", + "04fedf8785c6648798748504b1c9b6a066ab6606bc9a69534f93e908f4f", + "001e71744a1b683858444da0d270f43b0d5644424f2b38ef48a639685b3", + "07ff8199ffe723abacf1947a828e8596dc49ce655319087e4aca6ca34ee"}, + {NID_sect283k1, NID_sha224, + "ef90f85fbda05e693006e4c64e1dac56223becaf0890f73b5274e6e289a5a1de2c141b82" + "5c24d595b3fd18ca855b5c1aa60dac6b5356275b11be670692cdbe5f282f93ac7b2e410a" + "96cb9e9f80defcde98f3449f99e192bfd62040421a0ab8f99acb85369f25e5efbf81439e" + "fa8a5e1d9cf781355a0f47b037b09fe4086389a0", + "1e846c830a8ec04e8572d1a9d2df044ab47352fb346f67403a3bf87243871b164511c53", + "04012e43e20941f2641154bb66a56f2e0428a7ad22d607fb8af658df0b382bedc7d5ae22" + "cc022f226cd65052071066963b112aa302973fe2b5fdd7bb827d13da7634dd2fb9e3852d" + "db", + "03a76f87ede2b5d40a0f10e15e90e29198fc3a03943efea39ddf7afc37ed4e18832af8b", + "1be2c776c707098438fbd0561de578e4b9449f955a25626f2fbea257fc578ffa1bbbb70", + "1aeef69983da1a535b10a47e66d890c4413c7a8cd6a2511a1a670a4c573d4808f46e23a"}, + {NID_sect283k1, NID_sha224, + "a3ebc17c867cc9c7c28797f6364f6574b80c7ec5b2d8e1542a6f5db8568c15032f92cfbc" + "eefa3fe4ee654f690b0455ee5d38dd84bb8665ffc1ff8c849bdbc4aa0ddfdbbca4eb3797" + "2fcbcee8cecc1aae21ec736ef61781716b60247b7551ec4e552d0b59a53cec5964c67cf7" + "988787cedf769eabcc9cd5243f58034d96f0e43d", + "101c5ed48231a56ca0ea85eb45de0e395e6df2efd4987a226ae36489dd8b2dfbf7c465c", + "0407011260f504d809baefb54af48c890f94fa5984c8bf228baa4b6ea14d46372390d1a8" + "ac02bbfabb680659aa2611435c4058ed773467a41cdda8250f3490e4f491f1bbae452c5c" + "36", + "12a3c7f0b3d64614ff97133873d75c7c1406e316e8cf60d22139dba462055baffe6c8f5", + "0a9933496d60716a39e1c3f3bf22a7da546eafebef80dc6f25d0c109ecbc430fdb3e80a", + "0be56197a0098b022a7914c10f40207da58403d6c7d04edaf7efc96de740cd71f67e0de"}, + {NID_sect283k1, NID_sha224, + "60269efa4d0ffafbbc655f6f00578eadce7fc0a7eb7db923dca49b6f2bf3e13f7f829cc6" + "133e022c3c92143c075ab9ced0531a91e6e79848194ab98bb852f40c84e7aebe71fb8bc0" + "fd1f97ed5bb6bad6783d8dc048df42738e841d978456e055e1b8a781dfecfce2218701c7" + "af77e7894ccac5bfff360aab0b6136b978bc39c4", + "019679dc589440b11f82b3716e5b2a2bd42c3b1c83e88a28e304cf5148877faf760b4de", + "040743ae04e4b07d154ca0749a011c97a31ac68d8e1da3491f331136873598896e5320dd" + "cf0776c05891c27fd912267ac166bc9acbaecbf80ccdd887aded2d7b8c2a4a5d139833aa" + "d3", + "099ad7fba5284e406f6cf200a39e398aa0426448c09b95e691f653d6096a63adbd39965", + "0285a82340d9a6d96ed9ad0fd0916216fd20edf979df41a55835ef8fafa00d242ef6f11", + "0a8548b405c171d2a428507f7adda4944bade7cda6dc580b1d3f94e15d7e10f0a08e008"}, + {NID_sect283k1, NID_sha224, + "59d704d5b1f3a0605f1497f22f71b8f45b26138bc86371f00a4517554e7f6e7fa5d35189" + "fc656ce68bd2cb8510fa3e3c3df815dfdd749b2b6ac997d443f3954c7a927e138b579801" + "ffd035cea90840733e7884ccfe43d8d3a4a26b430673274aae312abe4ac1e1d7c67b7358" + "0fedf2d8de46572493c9205ebf0e8b4d75ccc88c", + "1703c21fb1e09f8947e12fddf166fda6f685221fbd803d75a0ae377a54a1e494e6c5e7b", + "040767564e13ae544dab22c3763c5d330a5571e07ff8f2f5ba3fd729379709b1fb184f99" + "0c027f9e5efbd1ff6ac53a6174670eb463b12f70a603354e25c577ea292b13b8e5f022ac" + "9c", + "10d875acb4d0dc211a82e78c0249e74de16768003b53830bf5648cf911fef6a57f8f048", + "02af92243b9dadcf21561ce32ca0744810478f8d5be8e0f83d9632ecd8e86ff467268b6", + "1f6c50fb3bdea228a6b623be9e2ea2c371dcfeb0e604ef1029b6766c43b193d86c02f27"}, + {NID_sect283k1, NID_sha224, + "12c8fdba3bc5f68e13f7ff8e7bee876fa68a970afc6924314dae0c2482763ced8d4752ce" + "c29ea288d350acd8a06c69289ae41ad345a1b88bcccaac903f2bff39015c289a8ad60860" + "6bfd65270a7bcdb5fb10c89bbc2d16dcb91fc9735d66103f6b1f3575622cf4d820929031" + "5b033ee1f79968939410f465a2d37add46af2d59", + "071de8eb14cbfb88e61b908990ce08b81e624ef4f2cd9cdf3dd7ca9097d5ffed9ae9a71", + "040136d50e1aa8203a0cd2c2d545b81d00b95c6b43b74b1fba3a6402abf756d38087affd" + "49046bec77240de7bde85ca4345f27c6df341c72a4eccd2cd495e86376c183ccb34f271c" + "d6", + "1d80734927505d8d4818b3bdf1aa2e5c557e5f717a5b3fb856ca9a2161bfd74a130ee38", + "07894bf10885a698899b118f57e7da22222e3d187a0aabfb99fac0ce0e134b6b44a5f90", + "07b4a87592004d6ef8345415064b4b4672db2943c7e6098a9e6d59ee3324847e753703e"}, + {NID_sect283k1, NID_sha224, + "26013a3ddf687bb2f37d9700923906f118d5cba5d8ed5113a0e3e84cff00918125108f74" + "f4b243e351aa5d07fa7c6ece29f5700f23e50286447883d2a058c3258a12e4ed8770cabe" + "627ebea7ef6e8c77811ed7d9a19c53287093e39226236587ddbc63b7ad5e7ad9895c64d1" + "d03ee432d45a067afe27d4cca920ae88a7a68db1", + "1d156eb15762ed00c4021884adbfc2426e910b18a5bc474268196f4b74e593a8f38702b", + "0400a99b45860615d7caab2f4e9bc01196a61f52f95c6c7fef615a4746d48553692d5fcf" + "13056f81a0088dec1382f8a3a863901d3443c8792cd13ce13a8f63b02d107b66d9d23bc4" + "92", + "1999524ce9525d85b562fd13634fd9ac50fb76d83b9d72d6976d6fbc47af7e1f354eee7", + "067748d49389c9b87a85b518f84f41b18f52569ba531985b8fe5e1f0cf9cffa958da3f0", + "00c44a583c704f69160c6258332f3121b022759b163c74c7c96058fa8e3a9928afee948"}, + {NID_sect283k1, NID_sha224, + "c4dbf70b9a2165e7279122460d05ceb8e43e03fbe2ae7c314007fe2b1d8567cac727a10f" + "ba5cbead0ddb167d387da8e8f3d6bc0ad851cc32885809d07a776fd4a95a979fe3833610" + "af89df0f454d9edfabe12495a118fe83add5eabb2acf54ba7ba7c4be20fc77478c0a0f07" + "26c4e60317422a612a234a7567648603b63f1c12", + "17d6eb1219cab8577168be86b61f372b27ca70fb1f1a767947895c185344e966db17aea", + "04065d8e43a290a6957230501509b95a208a6c37ddcacd1e882d97c73c38b2a256caef5e" + "8b002169cefa6ce170ce20a0b5463f5bd146224e0813acff304307da88830b0777b86cd3" + "d2", + "1519e37a66b4e665b2e3e59b8e836869a886c879aa1ed47901a6c8a8f365efbc67fb410", + "1734a8bc9a13f51d921a297bc6b2d38610c20b32b0adfd5efdd01a4db5084f3b0697904", + "0f9f00b25a33b166f09e2a819dfda80d87f6a2419a7b4162e435ee02c0fc10a669df6d4"}, + {NID_sect283k1, NID_sha224, + "b1d53b6af1face9b59af11c726b0099111d1adb3666209ba46b1744a528ed0f72be5a1b8" + "2423153b896384faebef0362343e2a4599803c08b8513708938aa8a498145fca1c63ba41" + "aff06d1a18aa2a045fce7fcd7e5552a2b98d0df97b6876f06a9cf52a7a40fb737996adda" + "97c3cedf7fe421235ac6951060eba9c0377e72a2", + "10ede9be6615b3b2a294d67da78127ffbf3a15bdba6f4fd78be7a60415b5d1a097c0cff", + "0406418eac385ce94c1982c216ffeb0b26f9c061ccdfd785ded75efc6a329385898331fd" + "a307d41f9cf1248a37fb8baea7f3545bbca707a903966019ad56e4dc810b6863e243968b" + "48", + "134ac4de6ed71106d11fa736960eef2873223aa87b1c5bf5c823de6c78092cba4726ec8", + "12a37587ddf224faaf8dab61210310792d4ccef650c98155a227bf468b7f323575115cd", + "10982c965331cf8529ef6adfe17dc3fde63dc2a557cab451d7c9408a089229e22b73d43"}, + {NID_sect283k1, NID_sha224, + "e78f538b1ac21602b00a09e3db243ef4803b447329c94a1476cd91a88ff790da71421b60" + "092c8a6e55327c7982e7655eb1fd6e40fa9b9fd2f10107dfc585994dfc5bc2143d18794a" + "39f7f69ae679b27dd11ed22040d5e93aa83f71783525a4db0c3fd7b43e57dafd0033d531" + "7680df19c2ecaadcb37ef896c61a758a5e455206", + "14f237cface123b64e8578ff33f86bfd2a8181b9c81f36b9ca31e2a446f0d91dbbe2249", + "0407aa347c03d8845f1566bbc3fa1d66ecb41ed1dab0a402405d8300591a1f3078f9fa53" + "2c063bd10274437c2690ed6df60ea632f3d4faefcc07a72ae8d85c2f999bafd373053265" + "dd", + "0570bf3b42aa44c11603d94e14b524b8cb1363306196924082ae71021707c3138503031", + "10f7f4af1c1e3f9e8e0c95f991c348bce6725f60aa12ee7b398be64728242088a469a58", + "17145a39fa4dd237e31a98daf3974138638b9462a31b87ada3eade6bf7f597195eb28b6"}, + {NID_sect283k1, NID_sha224, + "8a6ca8ec436d2c706fcbec6486b5665b21c174edee7ebe108211c388b1219a8224179f74" + "38e0bb7d6e41ac4a67337b52d4cd9a069fe6c88960ae20be29c8060efd7c62cb7a9a3713" + "6a250e68f253e7f27755df53ce7c570135641ad49b43507e5483e17b919cedffdc0d4913" + "b1d5e0ca0629876c0a551841a0fc2090d2857cce", + "08dbecb26587cb2ed7df2404e680fcfa5bf8cf6a58e87a350a1600211b3c844ca86daa5", + "04066610ce348821a77e8a6eb74a675ad9312b2622ad2e1e6d8dcd0be8b27d8384844a72" + "340014c15776bbd144c0c24bf419237db9401fb7f97a7c4c0ef50a9afd27c3964088f796" + "43", + "0204586a9314bc14bef8ccce8b9ca3874572b375d01c6b4a41c743c16502a27e91a9fb4", + "0fabfeb17bb8c1a57af7af81d99cfb7b0ecbf4e5e4a6ed483aee4be8ee4c70c2ef23941", + "08071e162dfeb068e3cad256c3603e07ae48b35f1bafdb726cf4ce32844e1a2181f23f9"}, + {NID_sect283k1, NID_sha224, + "95bee02b423d2c6e60252da4632f693a2d8f6597b4f9c6e356f670c3a9e4e80063e92fac" + "b6421d0325b99dc150464ed2ec1d0bac72a042b35d56d33d2fda686a75d582d475652221" + "8b4ddd25ed45503d90d3d185cba6cf0ac211b22aa4e1318a8316c369186f7130446dafad" + "64f7966f5414f43af37a87127534060a23c6165f", + "191badec2d28cbbe62c072c6b57eb5d4644d0c0b3283951bb66096cd15edd43a1bbde53", + "040020224b00428031056ed370147c51e68ffc02e7fe269ca15b22310a2974d383c6c83f" + "cc01686568fc4768158e75b4ef0427d8e262cd0638801ab158311749e0f432d5b69a667f" + "0d", + "03b1b6ca5e627f00176b599b68fe54e1b5a272c323a06b55e4871875c0e729c4c79326a", + "1ade251b9360a6ca1b48c2fce0768a01193a415bd23956fee1e5c4c5076b3571abae082", + "0adff25020af4e2b4908a33ce1d75c793934921267b6c4a0542924300fce40fc0031021"}, + {NID_sect283k1, NID_sha224, + "ccd7f7c0e04d1ef9a3c5617d77480bc624beed6582bc28e9e3a369b12144fcd96b735ee4" + "1713f4173b64b28c6102d82dcfc7876e06e76fc497d1d238bf6d85bb5feca630bbd0c0f0" + "fa7c0c72e28e9259087698973ac66244bc6e69c04deb22eaeaee7b20da239ab6333576f0" + "1349c76f594498620933b8969450ac2bae66db8b", + "0ff5e3d66eb57fd35ba4472effd6e7a016ca461e39000a7125e99080f6ab6ef4380dd7a", + "04019d8c1d9aca39de0e627981d21e35a628c35fd4096aaa86f61625fcd078f0400f615c" + "d5052ba2854ccd64407f6779c5e259917b251c9e34ec0d95c05488f30802b82cf4b25b53" + "89", + "16c9cabed653c57676ee46c8912cbc507b246078834f1667d0708e4c666346299c1fc03", + "12ac0ec9501ac91a2b57220e9c00ec6e815399ede94a658c36f9e89bbf1674316d65dc4", + "0c9480160c4e9db4e82b4ad26cb79e083e9e2056e68a2ea554aca45802bbb188389bc4f"}, + {NID_sect283k1, NID_sha224, + "65e9124a2606c8784c9489add2999f4cbe6186395df20838d653b263a207ec46995d2685" + "b55d1874e7ef05a6a3bb5b60a7be6751ad568cef1bcea2debfc494d1e2ece0dc8028c88f" + "1b2c6e4ee26b639c5e81f6448bd25b73ec4608a8e8cf4e0155c29b6f0a62781493b03bb7" + "384c9808529d5f87da6564ae196a365bd282f46f", + "1f3591eec4a8a3fe6ae6debe230d238a6b73cf3791cb735add1abee64239bb100f15166", + "040483e7e2b8f7ff95b86008c3042ab83a4b6a48f15ce1cedbaf3b586b56ab606e6f23a4" + "ef0287cbc8c609426f1665976e8120afb8de96b43978762ed44bea5aa1418b9af6922c60" + "66", + "08165da5f5427b38c447382c8dd0940c3bddf8f048185e6cad260031f7c0a2ffb83027e", + "09034633dbd735cec6208bb6f4455b295b7d730c9301bbd1c0e9f101399f2b3425a13fd", + "0204ec149b416ca3467e92194449cf2ca0f41ca1fde79145f3af856085b298149a3253b"}, + {NID_sect283k1, NID_sha224, + "e793c60fc725fd537d5fd38e9b4fb52e268722ae6bde5a058de8d20db301f5e8d8e1ad85" + "532198835a04b76f27ca3c972be5617a55677cffa8219eb64fe53ced242efe1b88999097" + "9227dbaaa15ed39d3b6be8c5a3237ebe12bd96f333d947f80048463d3859e34f865d83fa" + "f03894c2243a06cc96788ed952e606c2d8948271", + "05af03cdb45961e7ff35fb0146904ddd6c2bfd3cce814073d3aa56eaa9f13b4f7423926", + "04070bf676b9b0db558eeb8bb94a1248bcb599d1e8975ee13cd37dcb78af19307d1b7e57" + "d506ed9bf30c627062b99ff9d05ca03441b6194c34364cbe7b73b46ec9716ad8a9970cbc" + "99", + "192c7b1fa8f221edecbeaa51447818474dd9fc89e962e8e87400938ef0dff432a6c4b86", + "1df1a4f9578e9cae8102aab5eac70eddbabe4ced99b5bab1b1dee59c41b81e392968c14", + "0f2b1319335ee497fe3ebf1891a71cded59704365774e1ed9950f79100e70950783bc7c"}, + {NID_sect283k1, NID_sha224, + "a57682d21cebb48190199e9f57493696eae3a59acd22f64d5ef4729decf6c2615b326817" + "a6bc118bb7234bebfc7276dd998838c009a7348e46431574638dadc48538d6048d572e50" + "d9c5974d2049ebe1837dd857bcd1447b1514b62808a4e7a88162ae1bb08a0f6d3db6f258" + "74c6cd0cd4ca6333f1bd57bd192ef67e4616d182", + "1ec9710ada06e6270720692a06d488ae2ba863b905dd2fc323e7ce68dedacb35fc8c7d8", + "0405cda72b5b068f70b3c431def41b8ca1d4381e8c2fdf0821cfc17eceadf5e3eabf7987" + "b7079ae508354fe31899cda71e01cbc80e5192d24f1f13c954208d2ab8412802407ae376" + "3f", + "04f7b9372a8fed536396f0b87d4b20494786bdb8db77200c1aac1896486a05d3c940cb5", + "072ecde2a8f506f0fef273c8915a9edc29e440d48fc6cefb50e7117492fb4a13e123bed", + "0010dbd6229d770c468f5d8bd20edd6928bd8824b7fc2b10dc45fbd3242191e7557b984"}, + {NID_sect283k1, NID_sha256, + "f646e7334e191c2bf0056d3bfd23f03ef7f0777b923f962519a8399d311b8f68414c689c" + "a34b96871fae99eb7ea534fcd83e788e56eeef817cbfe33677283c736b99bf6a626f9515" + "291e842bf99f694e4e8aa7c9911c591a87d5f112b3d96b064594e2b368e6d1bf1a1cd343" + "d54916a66da22c26355266aa2884120fffb8b94d", + "0668de088c6913640fbefbe6d2c44ab26e481802dbf957044a4957c3c5d0a0fde331501", + "0400d3a50cb9d347cfe45d2a313813fec8b928a9b1defca6ff4b89c4787717f275c6b733" + "7f0762e47b0669f625c39c74d50e2b46875ef366b7c3b005c16ede69a2fba161faf6b3d0" + "db", + "0b24bf54795fa02eb9527f21ead5497a6db2bcc7849a16d206239f830df313dfb7a2716", + "0852d8b6fe93b0b36af5d99530eed08669eb9a25972fbea59f32dafe88b722bada98ab5", + "0e5b08d410f2252f724dfcecaedb37b92a6c09cde646ff6237007f4199068f945ebebe2"}, + {NID_sect283k1, NID_sha256, + "a2d7e69ea381d3edfde4664c56c4cb140d01cc4425df757975cedc995b89640dc016ab41" + "9b137ff25a6a6d64a309b23890439d2ba157262393cf93d15ca1b1ffd19373ef12367f88" + "98aaf56d5544c2f019a4854f69b3d8d320e03135bb7b675e588a5c3fe4b703938fa0f964" + "916501297cee2fd04af767155c7739419f9dbb7b", + "0e6af57cf47de1e6f07041eb5e1a413fb7ddd82f8c7f7ce957eb28a118004930bec4dbd", + "04021e31c4e4d412a261e40483b9106bbc1b0d7e7414e53d7b9fd84175229c8cefbbf6de" + "fc046ff2dc601dd407883af7dc71a6ef4286cd3b1b6ccee4fd861865bff8fb38ad51b63d" + "49", + "08f9e2113d0b223c04e678e8ebdd3aab4816681a9ef08b18a38afecc57d79c971421469", + "0d2c9113a18bd51008fd327a55c214c9584b6f1b816cf3b95e7346080da2cb07dcef8aa", + "19167051872759c36ba9eeb5d620cafd3289e8b7660fc847ff385b5143b3aca38780639"}, + {NID_sect283k1, NID_sha256, + "7088f60e9375ec6a42f705f851fc76cc833c4dcbb3352adcce9f59197c1b7121e7aa661c" + "4f8ad9f4ef280af3a2981e90c01291f7d1cf7d3ae2d96b37fe6975e11b7c6c02b8ef044d" + "1470b1a26b9c72e8c4e7b1dd83c8acc9542e2fc7d211b87841dcceea2ab8128d0ff7bb62" + "2b60faa4a89ea7008f7d55f8f9de675bc4596fd8", + "19f9b63fde8c6aa6177f2a38981505d04f8ac62bcc21007b05615d028cfe851ab9cbbc6", + "0405a3e567b227869f948180547c2713703c90698dc04864140d22b24bdf81b3996829ac" + "a505b2ba535040afed0bf6f9d850713e54013729bc6dcbaa336ebbfb9c461f7ac61af480" + "01", + "051e20545a0a98dc3fec59e4ebdf101c6aa2768f344c1e19424c1eaae4aaf7ffeb5205f", + "05fb3329f63587e8febcdec49f92de88366a9f75d0b9a0f374dadc6e7a62b833753e990", + "12edfabf1ce434c850b58804f1f31f8afb20fbb36ee69b68668e231e4c04fa75e658478"}, + {NID_sect283k1, NID_sha256, + "ffd6044ab991849939e8a29184b4d0ac3e07acb63c7e6b886df9e8254073fa800d5910b9" + "fe34fceb547565a2344eed4de394ce2251ed51ec882ee9207eb7340464c742d9d140fa09" + "64f6bcb1efcc2d13919af4f727953de41b20728ab975c1ae0ce784865f23ed1325c68daa" + "95ed5c932893610179be94f13b9a4149f09833b3", + "17704c1f436beb52f7ec97192e23e206ec09f9e8986e06bef71467c192bad6f0066b3c2", + "040329294a36ceae2b2c56bb6e21e52ec32af11aca9ab7785be9c2d79652e7960c0cf7a8" + "ae0658a89a48fb95cb7028252fa9792d91b989d7cef3fda8ba9c8e4ffaf19269f2a69f0a" + "24", + "0aa8d2e210ae40ba1f9f051ad85d37f7cdea43aad890ef802519cc5773e9a0984fe5d6b", + "1908e3a2740fa04ec0b23c964c4c3cca51c4603e7553461dd02f8319a7ca2ca09d0aef5", + "12d7860d7b438df4653fe40fb9e986cb035b1384464e061bc4ee3bb29aec74d16b0a694"}, + {NID_sect283k1, NID_sha256, + "c9f81c9ff7d80011fd41f2de97a6c1e6a22cc2da7b2b9e4c50e1354c3e139b44529ac786" + "ce795fc501dcbf11a935d4728a7bba44b4e86b5e5990fed4d3e24fa5ab6f303e1842918f" + "156e00dccebed6897c852207ae5941c630014a41696882066c2b296d39cd8658cb5830ee" + "e78e29a00335a99a0ba90722ceca5a2e9a99a2c6", + "0c7d1ac8faa689698f5c6325a3b3f35e7730bdbddabd0693f2bfdc5c838bd62f84508d4", + "040095a930071ce56f28a79a66b751283c756c4f2566ebc2a10770ca60cced6914bc9a0d" + "77046f70021e7a949c7f55b059d4c8e81ee23b13809a35932d83b8398fc8684c5a90f3ec" + "71", + "038ae832c25dcd30c1ee3f5fbe84bd8779c876c0641907695aa598132b0e581ea528332", + "0eb27c86d3ca86ef53aef0465d257e6b681f891a6357cfbf51260dc6e35a82799de0e97", + "0e8207959e8be94e7407543df80d38d9e662106ed68e1456dd1826602c5b73f27ddc901"}, + {NID_sect283k1, NID_sha256, + "a60de761eb32490184dc1d29e21fa33889295ca587b994746874c7289eb9c83e9c7bacbb" + "4066c761a06b65ecd78d701bd41f305cd7eb258c630f3febfbb0a367ad16737b146fd793" + "dab23562e8001cd113135b1c981d1ca23eb3be0fe3e24fe3fe1089caf9fd8f4f0d1f90dc" + "c7dbea4a9e2357793b65daf342b8e6d109c6dd10", + "1a173d158866db0ec665ee632b5fc397893f6a44ee17c348e7452800aadd8ce676e7fdc", + "0406a9369a93e0b5165ac6e692db035495c5cdd6df243d9756098385ad616374ac1e1efe" + "e2032f72a02c36954cd8221126e4eaec02668f454214e4508cf72b6d945e14d9b7c5d404" + "c8", + "0200713a78f58c755db4897f9b7e52057a087816a07fc388d66d34ea9e0bcf2f47e182a", + "11a26ee24610e705a42329f86aaa80d78934b4bbf19314f06eec46067d85c8377e04d91", + "077e35add124574e98e0056bbb106cd28ba8c3bc0c47063ceebbbf2684983a2a0061950"}, + {NID_sect283k1, NID_sha256, + "2cd0320cc73120ef13e83c8144b270c9a1f2049a9250ef7ee83ccc7584025140a51e2227" + "a5ebb824deff55b3affcda63ecb1fd3f337c67c08054dc82fdace0c4bb9cef1bea9dd792" + "635f655363d05903cd6b5ed50ee669bcd8157509366cd85aa40d19593265da26e5641590" + "ccf04672a6df52badd4b99964a8643d9687b499d", + "05523cfacf4ed3b74ebc30f608292e45173001d80cc801f729c5f71fc213b243f041ad5", + "040410751ae7d8bb2295f584ba3d55eda41a80b8520b02bb4e5ca669a1003d6f2829e0a0" + "1e05fe16244f76f0c8b24bd3ca3b53c697097e3ab0e2b44962ea534a655d6c7d80b857c2" + "1e", + "0a634f4cef0ba37c9ab211c57fe6574c67933280c91c8b175fa4164755bcde867fe1772", + "0b9f6946a578ee38433e98478a4c31b67e838939cbf128f023090c4848471482fd1dec7", + "157159e15a2d16da2e913c5ef00833a8e5513ee4e7d6cdc849fd822c59886d0ca3695ec"}, + {NID_sect283k1, NID_sha256, + "a743d8337bdefc4753f937e869a36439da1f8c75e1278c3f6a4a969d93787dac93293818" + "b1cbef5b8636e1a6cb3acaac1e15dbe0841c8001512b689292f3f4805997ae26ff52f7fe" + "1842512a020c448ed01af2a061f3638689446ed5f6bed9fc70726ce4104bc11142de6387" + "3fa7039830223e8f152996388417c48e0c1fa81b", + "09f6bd008c04b8823ccc3ee7d5aca535c211f35e9d9e7cfaec518b98647fbe6d28283de", + "04070019957dac0e9be0fce6abdfc00ca737096ba2d2bea9ba570acab6d73eae2132d7eb" + "060559545f82741ddd1cbb9dab0cd06454fda8abbd9d1eca752e57ec05498b14e4189f1b" + "9e", + "0fe407c226fb15bc63d37cc9840a1a1fb0ac4fc2939fbbcb6e1236831379d367669ffd9", + "0e96e301bf1193dfdd2815597e016e0a282d6e8f9d1d67a7f7e7d05288594f1ea92584e", + "07488687f13c3a2b9ae90536db7868f2bde1529ccdc0c84eb85c53ea979228d1fda7c94"}, + {NID_sect283k1, NID_sha256, + "6a7a3ad614a3a09d2dc5a80204815d0c6471057acc0fa73f3cbbf1801902c3e1cba3c113" + "4a79a8ce61994a94a5afa85ae1a44b2cdcf5153f8625713c872da36aba0afcc5c2f26636" + "dc3f60e04c256a5b023e20e2e7a3f7305bd5b3033fcf05368589f19021f8c9096a886799" + "04b657bbe5b9bee67d6e53d176fce1de9e54c64b", + "150d2812505c82584201e93f6e0cb875d29dc7bd99d9c0f98e0ed20128886e67e1f1071", + "04012c7750172bea15487a05580891aed51bf81548f4b65c51c6c54b990bae8857a20115" + "b003db9e7a17dc8b24ff080d80842f0488f17f7d43a40ce6ffad52c65f5a875b4b33efe3" + "fd", + "0c5c52dfb50b210ae13c2f664d958b2491bfa91ced638f925941234bcc4d66de1eeeb73", + "03887a270eeb515a59a7387d8acbb4e72dcdf13f317a6a93ace5cc98d69a79c64a9e7ea", + "0e922b2d021cd71e213bdb36ce3ebf56a34617d4dcca30fc05f238a1c097e38d7cbcf91"}, + {NID_sect283k1, NID_sha256, + "65bcd77a3ab345cc99b9c1300755288102a6ccf140bc7d1ad25df246ef01fd57a8614b35" + "2033b88cc6ffffe5b38b99ecf03baa365ab5529d6751a3c020d0198561969aade0909143" + "4d84ffe13b46df043d0a61e20a08e9c32b646771fea1b29e202d40aae1c7079873c3af49" + "4ecf6ef5eda855736c9338b4a5c29a086a8266fa", + "1b3fb9e1ff70f94bc9d7742ea535ca982215af3df381b5ebdf1db40c7c849a7978ceb98", + "040769a897a443c41ae7a8c1e45290ef39c40887ab8f4aa3f9ee8f3096921222ed7de457" + "39072621bfa30973da61fb6d363d66db25daf818ce79dd3268ac0520fc99ca7917fa3a23" + "60", + "03fa84ee38587f9c848b65b07c47551e27f15e7a87ed0ab705c99c8b7a4ee9e86a8e4ea", + "11b214ebe67eda2bd6e84c33be05c4373d2536e2cccf152e56b1569cc96d261e50910cd", + "0e100646cbffa016664bb57c1a67108645238573867c0b595c46e6053f844e5482a993a"}, + {NID_sect283k1, NID_sha256, + "ed1acc360d02ee6c36bbc223d91bc1d2009a3e8f8dfc4c3796cd8555b0d2b46716f4c805" + "8bf34c2d4954e098274ab9c2cbacff46a0578a14e77fe104196cbc6d2753e3bb5422b8b7" + "9fd004ac0aa920eea94925c016ece16ed4dea916fd92563ec65692a61b28ee84bef00071" + "20bb1e31bb75b8ecf68406a71af9a18b4edf5320", + "147fa46fccf0805d14c1b84ea59bb8b8283d54ca0ceefb29b5585e7141340c55b7232f7", + "0404ace4c65ce07fe5ec22c560bc553bd791434a691c2d865c52b5e38d541ef191ef4190" + "67076250c829de137b6549d22a12f196629d9d34cdd83758e5daf45fae41872c9b15190c" + "e5", + "18c4f89cc022236a0da6105f19c6661a8325d36fa285e3ca71c1a4af3dccb016cac186a", + "0271b421fd572de8a71d1b18ad2325bc0fb58cabaabacc1f015ee6b14bec49762f1f8ce", + "12e679010ccb143b7de0c3f6c82cf99a961a4f154be6c87abb111cde2d721d864d7a1bf"}, + {NID_sect283k1, NID_sha256, + "2debdb95a21d72b69c545988727366a42b819ca6398a82129c5e3772aea93fac0aae9a27" + "b11969ff0ffb9dc0301132ca2452cd863316cf24ae7696422d4dc68e37316161abc146e8" + "6f04b72d9a27a350d8545cca245b2be43c33bb822dd813d13e08a718f784845df8a4ef49" + "b02529871ec76bb3fc1ba31089359f2ede73e767", + "0fae097ea56b35a517be5480802f450eb832b244558d0cc922cd4a5b40b84d02ef11216", + "0404f6bda2dcb9560174ffa54f13fa5edf17bebd41399a1dce1fe13e82a2b487eddfe25a" + "19076dd375f2c5f24c342a8e2491271cebf5b97ac666aacecc8d693a85ebd2a93eaccd40" + "59", + "05e3a67091b9e10c7fd20fd70d51162e5d78555059802d0c3b133f49b89f37be6a119ad", + "0ddf93ef8797571af3cc9a66660c569445a2b5384f95a12d680c570694bce49bf2264cf", + "02f50d68bda006b88798d87c232f5ed1796c841074f063da03a471e0c00f08b10f410b3"}, + {NID_sect283k1, NID_sha256, + "e4e0c6c8fc01244abf81e139c961b6a6e2d95de5dff1083e8a48b40e3e5b9ed909152c92" + "b1cf2263179629cdf76ae553b58bb2e9223ce4f9ffb5f170f5f0c5ec97294c34a7529a89" + "7e9397f71198cbcd68bb4055cb8cd6b690290761b3b73303f82788379df145358afe28f2" + "997d191d968929b7a4b9a0f6228797dfaa17c613", + "026cd72e6ae19b3f4c53493fba1e8082a8df1fb7da6dc111b47a41f713f49b33f618d0c", + "0401c411f5e298c9b61023fb26765cf4132cc78ed77c07c3e815fd43032cdf0ae8b8920f" + "96035647b4c0807b287014043560d70c9b14651cddff4bdf6d44ead5e87720294ff89544" + "06", + "10e9bc449e8480474afffd20b8acd6dd08344981c4a6cc789c5338ad7e486c526d6c4fa", + "0e81594f1064e018aa3504bac75946d77f9e745673043417a47c0c82488e224cc4104d7", + "111bf8635b1bc3f6cb7f9b685077b38d67160d143ede2bd8b6ae93327d7f55c5317f00f"}, + {NID_sect283k1, NID_sha256, + "04710947b7c90855ba4e59107b919d4a1df22b503c5c4c33b286b6b08e451e6fbef8ba40" + "852f9f0ee62c9217abe6156bed46ad6f0e25f70f528f3a73d099338c578bebd6879d810e" + "6e173c2b0af1f7caacb3531ff0e6a7856e4c84db355d110febdb21c683223eb5990ef203" + "8d462ddb7962bc0feea5f850954943d53041f66a", + "198e13c7d95bbbb6e226688719639bda988867764ffa9b029018b5547850daecf58fe1f", + "04030b511d719217c485866273ffe2996a19e0a670b7a3fb077944a21f63ca2f22fe5a52" + "4a03a4d9a808e8d77c9dfcec6d033139fc33e67d7c8dfd7329c895bfb77f565391c37c8d" + "8f", + "1721f1ad4adf3c32614feb7f8df3374e24f76a32e27854a57dcafcbaaa3082b13e461ce", + "14b2622432adcfed7c2ecd2b52e43be7f611680ceb4bedbfa9dd9af54532911a07440de", + "0ece991128b10399188b18933c0d185e85d111ad401baee5ac376b84c523f130f70fee2"}, + {NID_sect283k1, NID_sha256, + "c62d07bb1ef756b6b2fad355c66b5be086b6dc387b37cbc4a63c841dba3fce65b09d3de8" + "f239e3649382d172f065b78f8a53e0283cf345de06b4ee0b4b7d8611bfce92a7d993b193" + "8419afe817611bc6df3ef74191e7e39ca2339fcb5b5cfee3166d09cd52a1a7d3779722ae" + "c328d326a11bbafb6aa417920225ac453146b9b7", + "19098a39956747de24ded56435fa1e6c30cc2b8088fe9a75f5d07b2f5939c7a60db64ad", + "04068cf5a2023753717d89d12d6861c8411e6081c3158339573dc5598b1700148d00b39d" + "c5076a22dcd4ff4f062eeff83a58d2ce6a1808af8733ae254f5157efa8ea35a85cc74469" + "2b", + "142e4907ce239cdaba562d1fa7305bacff05a75e2927800c7b7ea322b47c9ea47846e12", + "104620d752b73379e1e5d35e5b24a793d7a309685c00f8bdb97bba9876999ed9c763d0b", + "059cab3abb0738d8af4ea6dcbfca6d0ef11b6e591ca109b040347d7d4736724953cd9fa"}, + {NID_sect283k1, NID_sha384, + "e4d8d49c9bc566261d9134d5e237d9cbd6b67d2619a9bd06b7c9c139e091aa10682cbede" + "114e1d4777d9cd67a16b7d64278e99eed62bbf25ec5a5a8fabcb0a3468b0e73fd02ac653" + "3e04b1110d29da3e34f33eaa228b78341b357a5d892a61beb2168c3bd5e66bffe3f2080a" + "1e246f55a41ebf9d579e188d16991aa060460d6a", + "1636bd2be121e07ee83ac5e880cfdfca6a56f2b9d0badff003e872348368c7c2cd96b6c", + "040007acf46ab68744a9baaa33ebf6be20c1c093242b0056bb9885d93a4a9bb4640f17b2" + "ef015415c1b671e98f00c1fa364bd69cf998c0ae140485159b0a341994a4e27000e108f4" + "fb", + "0d0d4886c3500bff68455c41f5840d0313f33ac0155a693d27c66fbdb12791c2b5f8552", + "0256b8ff7d37fff7dcc8cc4461984a9bd9661643fd3a68d07fd30d426d10b8c7f4dfa34", + "1f516f8ed4372780380a798d2da04d691aec379483bc0d10560ca79edaab453d3e77585"}, + {NID_sect283k1, NID_sha384, + "2d1358fdffc14630fbc421b443d3c22ba10ef34f15c6c5bb3c73a9b8714e4c411de69b9c" + "d6628fe2eba5efc4862af66ff916505023e0514f564164b389ea422d0f1beb92adcd65ba" + "f43556614eba25e43852ba65af78f62d64b36696519ef8284ef7316ea52c365b99f63a39" + "e6701f81ad520d7445cfc0113c38ecdad4bf5b7a", + "15e5f555119c19b055b15b0c0d2813068bfc184f864e250b202384f5728bbbda1cb0f5a", + "04013cae2f0c3ba04d039c42cae27de4cf5842a3e24be35d7a3cc7f05083f02951cbeaa6" + "3b05d69ad5b7d64d6b19772a1794562b1fa5c2fea03909bc509e7d47b0e8144acb3c26fd" + "dd", + "1b881d95b7de9aed9fb5ff0085ca4da2fbd413b9b947066c98aa0257142c9000bbb30e2", + "176f9e3c9e9f98b2f5f352ca74310badf9f598f4d42cd2b26e5ea0999ae31e3c678fad2", + "1f2dba4e17470cdf7e1815d30771f352807b38080d44465f86044f5969b017c9059daf3"}, + {NID_sect283k1, NID_sha384, + "d6336faa5c3e838f4fa58626eb353d4cff9ba8f0aa0e6c3d0d850e8b22f5b0f047afc977" + "67f1afe2040b85d4e401ba688a4da7a0caca7fac450899092c4fea789231ba9b07782010" + "720f45d16d353798867dd7fef4a324520014ad5cb32684ec50cab742b750e05db040ff51" + "140e8d740f6774a059feeb493b10d8ac722f23fa", + "190c8f17bdd38669e345440d2c7631d67cee9c6548c4e7b9452377adb9303430efeda0e", + "0403235a8b7981b3ff376b6b0959a42cb56631fbb9f82f1694b9e273e6b7131e758fa0d3" + "700444e5747420d7f5ffd6119ef43b998d4ea4a58da13ff6fe7f241ccdfd4b6fd33aa93e" + "3d", + "0b2a690793107257d7bdc37c492eca48c4c9650ba0d657e6eb62042b16169fbe27f8984", + "168a83fcc67e0c155f1fa2329363729872e254f2e0c3ef85f3b3c84fa3406de4191b6e8", + "18c0f8e6b486e6d7d16b4103506d74bb2021232c0b1638858295a63ca35e0d6d26a6266"}, + {NID_sect283k1, NID_sha384, + "07384a3f650bd270b14ca388a441af201b7767a2d47e9033f50cefd3af8257ecb38f5267" + "e141cbbb2ab7327d8fc78cf27198ca3543d39553e178390bf1b921618432ad895e4f8153" + "783a7ac22f4ca3cad4560e64f1ee4a7bcad05df98ea49a3847dc2143b27c243e48be59c8" + "69a547988e2205358e8db98b635ca21b745df4d2", + "0dbbc2a0409ca58a9e39e33b95fdd15080443c1dbdb5874bee991bd1b127047f08ec9f3", + "0405a687605e54e49e3c40fc5ee8fc014a62d72e8595280a66ce7d367aac2df4d16b98de" + "b3030abd03dfc224f459dccd1606287cc30016be317c6207532a0725c957ca5fde692a9c" + "43", + "16bc5aa29cea64ce3297172f36fe4ce820c943908c21c9967697db0cd93bb8a12e42348", + "1b1fdf26a6eb2d736b8c1ab165af2ac31a4c206c5410f61ac7805a68992dbd62b457708", + "14e9a22ce703d942a4fe2e84a4c1c1b44538a33fbfe904bfbb17af6490d372acae4668e"}, + {NID_sect283k1, NID_sha384, + "824f26dcb4ce0ca020982814d5c727e629cbeeaa818c49668f8f6d743f0d0ad362b24cba" + "c48027898f386889ca5411d7d1f9afc69493b1d9ae4d7b695c9fa0a30bb59e6be2cbff79" + "231767e96cd8bba349fa2f97955d56f05430ab4ebd007064e3d5add94dfe255b6deff196" + "50883ce9966e1a2affaf84d9540f65c87ab1f936", + "05495e6c59ca1873f36b756579632fd47f9fb95b64f52589d70f2739aa6a3bf8cf8c198", + "0406df40d8259be64c8ac64a28359290bd52e843f330a68c2b605ba4f777d7bd7a798e93" + "440458667cd7021b291c3415d64f9b054db71d3fe20f232f2a2286aede89ddaf1ee8c68a" + "a0", + "138f05303ea63bad47c4c9a9d43c52c264725a668db5b631d9892daa1b71f62656cbf73", + "05e35c1f3b30b43cc9d60bf8779f3b31e053de0a390da50ea676dc9722a17ef00d68aec", + "1691ecfb826fef1ea0895242129cc3e9a14e1f84fac49d62ffc0a3455ad9c97becd5980"}, + {NID_sect283k1, NID_sha384, + "07de1e4bb9be15a710a74806d4447b093bc08ed04392d1bd5abb414f5f4b4d9d43520d0e" + "46fc81c2a97e71086b28e53242449ed37fd7ed1c5772dbabc430fcf82ad20437b38eac15" + "820421e51912325c872894452c3f8a10ddb040b35308e583c155c3707b52df467c4945f4" + "e1071126ed46611a3253c297f5cbca9e27f58448", + "1724987c9b698519b6c225cf1261b77d0300045e5fd774dcbf13f285e6bd74512cb7edf", + "04046adc9bd5f0cc0d8bc64f4ba491eae3b7f6fb4229bf94b804807c6137787adc0fed4b" + "2f041375e2c89da41af84529811ce7aef26b983ea8add6e37c32f2b00bd47f23f25e5fe1" + "94", + "02ea4ed0e87687a50dc3acc7f4c089040ddd367d1a3f470a711501ccaad63c201b87ea6", + "1be198a1b6e91453018513902f0a8a085c76a2798a2a0538ede30dab65afb6b9b0496d7", + "16342f87a813780aec006ee218a615c4e1c78c0c759d48d4094639b5b4c32a9658c4d9a"}, + {NID_sect283k1, NID_sha384, + "1edbbbe71057bf7d0bfda922be21a3a4dff57b017ebf6fa99651246cd173bdc9b11eefd0" + "48ea599c1f98e907932aa04f64ed0a007831f30daf186c88807400970904d6090b2cf181" + "e0f65f03b4234aceeb420867812562e47f452152bb1ddaaa48487170d06e47c5e9a7c0fa" + "a4fe494663d2fec22f7665ceffffc214b21c6b8f", + "1a5489091cfd51a0970508ee3e8449081ed175928ff8386592c83043a7911bbc2f8778b", + "0400aa1562c94bd16a3f8a1d6c465908ce3b83ba6711e7d8b0b9353d3c55d13dee213aba" + "700103a789854f63a139e31348f1b2608f1e71c88b5d42809f2460642ff46a470ad85735" + "43", + "18435a6d3bc02b3019e1b156ddd6f3e1bb9c5af70d1a2cd2089e677cbacc21624ec8947", + "031f561b668aeeb4df43a3a34716c4e67232f56959104b7237b26e3c95dd40e15eb076b", + "0f2ddb6e6d18a7393425c16b3e5a5aa232cc48198d63e46a601cd3ed221a8427178a0bb"}, + {NID_sect283k1, NID_sha384, + "db5cf1de38a5187af11c1f0f19a36db52f8417de997229e83072fb51a3b7152a3b383e99" + "19c1b8427582e53d4e7e25433d46cdf01492021c237ea0a87d38c71634743115a6b2aba6" + "6d3faa8003158340a5078171e0bd55a6e5d8c7fb2631a31c1204e1479bbfe79ac70d5e58" + "23af502922a900576f0088a33e42ec3e26c0089e", + "1a45ecda0788fbd7cb7a716dcf4c6e83d4148bf63ed58078690ebd238c00329c462590a", + "0407a1e2fb4e8e79e3946086fa65042362418db0dce51541121c73972a435aecb99f6340" + "23006bb02df9899ac3f207732fa7cdbc36a60c17592af7ce06b8df4255110e26a02b2318" + "00", + "1c986f88ba3d5109c0afa2c213dda8df462282f024cc8efc758a5342a0de91c40452443", + "1efbd9e0d912e170c9c55bfbdfa6106fea4a4e013e7dc26628a1aea4f6b806a51866003", + "0b1347f4f85adef612f5c3a436cfa59eaced5c7cfdbb69444936d71812a2ab2461bbb5b"}, + {NID_sect283k1, NID_sha384, + "4adaa850eec8272d25d76600aacf2cf66e754f6c5efa65c55a2a31b7bc69437d9a7e47c6" + "f51c5da93895a45221f5f92c2e20ee6a95eed3cc7249688261a35d82872284900eb54dd1" + "df6024ec48963ce43e8ed8b8cca8ed22beee8f0aadeae53726cca05443316537840ab824" + "cd1b595f36064e9a19333748d4f4972178e7f5ae", + "11461776c33f20b176dc8f2b0cb2446a9b69e55b6c7bc7457a7fb4639116b452b79661a", + "040043ba7157559659954ac58b44f19262bef9e3a00829c70af66d07cef08ad899d7f8ec" + "2301e8dd9c947b5a6decd1a26fc5d0eecc9605d22abda747fca038571bb37036d9034e80" + "61", + "18b231de7fc499b461afed9b80f4405bc005011865cdfeb25570b7c0ff79b6ae94b6ce9", + "0fb203f47a4e2e9365ce070ee7fd4540f3f7e9ecf69b4400eeded0f5a7bf6e5a5c6d004", + "0e635dc65233f27b8350db22b90a3b8611e6fd1b3e0f515e42fe8788b1376079816308e"}, + {NID_sect283k1, NID_sha384, + "11d212a99c39fb5e4ca0096bbe6c81ae1490e1b8e07374b4e773bee4fdd24a3c13d65391" + "9db663d2c32aa4db140c4ae2d472d4f878946e527ad33b3dc93012d97458f96cb622ddb5" + "6f1ce7c2474ad0d5291dc35545de47b7053d137a8e79dabe06757ab53e26eaf751111bd2" + "7690e57ffdab5337eb6f81889e9d1b1ac729012f", + "025a65f627db2b4d6cf83c5b0c00265b9b63f7656c5e3382139e4992bcdf3cab502844a", + "0405a35e7e0b914a3e01ce3a885192d2ecd27418e09898631de122db0c48e8b58658720f" + "cc0009eab47197d5f56927848855b6ff96db7c36f810ee7c89b305ef780ba8c993d65537" + "ab", + "18516ceafb61cf2c7e7c511a8918bfe394c7fb2fbc40fb3052e156cd4020fc674684f84", + "1892ac13b86ad00e38ce2427c8c78c93b08605a75ca22b3658132dcf9d9df7c4b5540a0", + "0437b33615c16a85ccb8c4769ee7c5f94122d31e2b5fe66291b401fd90257ebefe33818"}, + {NID_sect283k1, NID_sha384, + "9e4ec74c09528fdf3153a0f6955f20c70915ff524b2e19c991ec4c5b41ea9185e3e876a0" + "2ed6f27c9b3479dba951bee8680c4c99be1a626808114408856994be7444ccbd5ef9859f" + "a479b1050bb836034e20c531b4d618f5843fe1d4b613a731895b489a2363f3f5397d5ff9" + "64cf037e9b11e3ff5e1c3d403e5a46b8387c1241", + "173b28fc29f10245221a907778708b3ee62e0480aa9051d4c3eb4e8d552e6aad5509943", + "04024bb9bdef975af892ddc1bbd31314926a9c81f8f1864829edafdfe2744e793c100c04" + "83028ddde61b4361ced9c391c86c28ece9b902c48d14c61684962007dfd69d0468dfd65e" + "7f", + "199af64f79ebbc5b789d4676a07c224e4f6fd33285e5a555ac90cf65d0b669bc58ced4f", + "137d746d515b90890a413685bd9b26a1c05efee4c11a4b40bb621c9fa2580c46c20a687", + "1647f70ab7c68a0f522420893a466940ccf79067b323d940369f8b8694ccc3fc0daccad"}, + {NID_sect283k1, NID_sha384, + "5fe8253d2134c434cb0866796013722e82184638b024a5a30938039929ccd8415c71f71f" + "239c5c5a81f7a9cb493dde209f189bcf766c17c6d9589cd0c7de7f07ff9f24d2320669b5" + "89d084f8a8ea71127b9760b7355b162616afb34bcdcd416f1a062035102e29b70069b2b4" + "dbf70179b8d60bc2ee5a455efd40194533bf560a", + "0624616adcd45e1fdc6cfeab2b17230d73d91fe0b39f4664f3c6891554f9b8e238257f7", + "04010917ef84bd5c0b36c97cb5586d3057a34f2827f239cab2af2e6081c5bdffd48dccb0" + "b2078ab47fe1bd3e28055c688c78e617ddcf6c5060123e9d65c562df2e94cac973ab3b18" + "07", + "0795e229185bc1b3d6d69b08189fdd7a822cd18ac55971e4b35e51838bf12eacbc50e2e", + "185483378a162b8edd6a12f44e3aa4ff829630fe3a1c9ccc66e34775f69bb6a94282489", + "01662cde6cd497be7966a0a77b0626ba3c4b82e20bb3f2e839178a31aaf440aa0e059cd"}, + {NID_sect283k1, NID_sha384, + "db49891838fe23f0530abd4a4fbba5ea970afa5747f6a0a10d2cf4d841581ea2178705c1" + "203f00cafec91d0a72d25448072c9cf7d7ca5580b39f8589ec63128faa95cb0689574a6b" + "ebd515049a1eb9699922cde0366b5cd58aa8f3d3e847706896f7e1cac667fbfe94b2eca9" + "e7be79a810806ca4bf53f219bb30532ca2254c11", + "199757ffaa2c59e198d66824eaad37cc42d49b2e241b6a60382d05e425e800eaaf32470", + "0406ad18bdb3e51cc053f56b9f9c35e2d6eaecbc9749f41a9ffbf54634838d7745ca0648" + "9005dd77c42b31aebbbb46277176df08d81919ee0d9ddf14c3e4c0cccb207bf649c48fc8" + "b9", + "109d6332ceec5ea211f642a746a6ce055986b4a2feeed7e847904f7f411bf8361318d92", + "1a49fe690a34151056d290790a6bfa7b70958e69e9baeb30c55efc61dc5dc4934f2fc95", + "1710a4ba5b404d65f66a8fca2751a920224db0cc0266f7b0bc054069ea4cc51b1f017bb"}, + {NID_sect283k1, NID_sha384, + "29d385d09c1142a7c181fe4b6e6132e414c15aa8605b44208c0399464613b966edcc2d46" + "cf203a3f85d943d8eae658695dac74366224a0d0348083bec0106f5eb8809ae8d07f792f" + "dd7c48fb1a25d5ef3bb9acd40b20c61c821024a9acb2ede321bd2d0dda849c22d76f421c" + "bd8d51565d3c4266f666455ca1c0c3777aa44107", + "06e51381dcf21050aef2e9b97e35303cf3bd91956854ecf9b6b9827871d2efbe8201c5e", + "04052fee805d7938b8b97459b9fcb4b80cbe29f20a9aaebc07ac019539a4a966c5ee4175" + "1d078aaae02974de6530f285b4bbe87fd5d0c9a2ecfde5fdc9a3303e4b988f673c778004" + "bc", + "0b426ebda6628125d73efd84e6bbab6c4c8fcf7fa29ffb3c8d6b0a861dbf81cd18d088f", + "1270045e963b59e4a4f1237c2240a5b26a7ba8e28ea01326fbec00e5d95d40e859d88b3", + "1d721477ee1df1388e1b7f92c048e5759c060ce1291098a2fa647974a62a258a189b4cd"}, + {NID_sect283k1, NID_sha384, + "774c1cb8fb4f69ecfb5c7857d46415568d88f1f9f05a4bf64a1e1ff6d64aec16e1d09292" + "010d1f067c68dddbcde06ea49be2ad3838053f0b9c0c2383edc451ef0188565118e7b3c6" + "6a4fa372b96633dc8a753106283b02d0322df273d58cc9bd061ec219f1e1a9c8ca1400e5" + "e39c1b2c254273377dc98a1a2c44e5c2a5b89167", + "018adcc22cb9a2db64bad3d60f1608c353e091637b948914115ebd43679904f955c8732", + "0400630bdd8937e961d5396f9ea5310123a340ba316fbb7d79bf8573f27a0065c6fd6f88" + "900737a0ac1116e0e2979f973cd705588a71cec5e2a9f22e7e81fc61a4375624f55a6182" + "bc", + "10a0c04762d02f9d3014bbff287864743426cee14daa43b22149ce73d1ba609c0ba6be6", + "0ac29b041a6b95f9ab685470f50445d416df5f7ee06313185794f2b542fcc00606bed69", + "00a4241b97b6ccf0dcd533a15867f5889349ec353395d47e31c9eb6b8785736b3e285cf"}, + {NID_sect283k1, NID_sha512, + "c406aa4295f85c854b4db2de5a7a2defae53a319866921a3673af5b48c85ef22f6eb4cef" + "892c790d8e64530fc20c729b2821b5f5e515560b1ac764106560c3a6a05657e34cd6dead" + "fe2884bd288cef4ca92e1f25adde7d68a30fb0a1b3678156ced62e466718e68e9d67099a" + "d82613b8d06bdda1a7b867c2455422818ae9eeac", + "1898276f159c10d92d8d4b6ae214d68c72792a4b5f1f79936ca3c063dc8d9a88be439e2", + "040394cf9bb273923c88be7a1c49412ab8599e0cc5509926102c122326bc0b34243f7d1c" + "f3072330906f47e8fe95f63d0f0aca1115e77fc702a923c32a16505bcd9021da05fd9cf6" + "3b", + "058772fbb30227a136de616ace4a0334be0996d60e9772ae9bf672b7c38fe3ee1b24f98", + "10e0cd3fccd1728e99e2294efd6dd4797b6492ad95a789aab7fbd177475a047f1e5d38f", + "0c5e0b2d1991718355be14bc57e2d6ff9fa63e0812b9adae69f64da610cc6cbe36fe4c5"}, + {NID_sect283k1, NID_sha512, + "cb2809152f8258660933472c06ddcdb65f6d5221fa29d5b0efec9c2a7914dbbf9ce0a468" + "ce146fb333d26f510a87a6bb01bf8816756a1b5df81c5f65360957cae84ba038e37e8877" + "7580e91c34e2f5aef4fb55af7b81ad28aeba05e0b1c64a15381a6719fd2c16e38a441516" + "e1b394952d984baf9e051b1dc1bda2e12f8ba5b8", + "12ff37c808c3cc029a9cfbb67a5ed21f3bf362b49270d4ed0f1e38fad25ebd79f112a50", + "0400cc00fb36bf62e777a9f6048761e53633b92866158200c43900db95aa1342b5760290" + "90055d7e57221ad939f5639282cbfc203114ee69baab4fdf194f4d2a937d8a57b70b54a9" + "07", + "163d8eec726d01a1bbb19995777919f68689f7c2920f3549fef966593c4fb012a5c3a1e", + "0cbf5c3bf1ee58869e1d3c15a05c23217f1c252da97f79334bc79efe3f5c62164669ac9", + "1fd51644f471ea497b0560b65fdfa2fd0a6cef469021303f97753d22ce1993d1ae5b96f"}, + {NID_sect283k1, NID_sha512, + "e060af96d4a7fe512bbf26be9a27bb6a8ff37547d4a7bbbfa710db24cffcfc760dac120f" + "89f642880db2df6307f9ea5441d5932d49762d182b29d8e7fb067a61ab0df622f75cecc9" + "17e27d0326085d34581e052c85f50a37713e27518aed7c4434f86970e00a0a4b8503989e" + "72614131b7164c1bdc82d2b6aeac0787f9838476", + "02b8c1fef9c6def32b5f4127273ce384b6add4aecec957c1662f52334f5ee97f49852d4", + "04036a4fe1d77bc431012d25ff49fb5468f975353be70e7507d71966a0ef433df51dc323" + "24058d705cc883a690641f0ab85af4959ef4258a7ba9cde36dab77c125a1de1d39536658" + "4b", + "0865f59502382b324e1dbd75db150f342336fb19145fb43a733971da555ac5828a3457f", + "1ccb2e56c02cbe8038bf78dea256704ee6e51054668ba8c2ba11aef4ac6f9320d46ee8d", + "030e662c0e7d47cb3b835c63599d0c9c2e77ca47dbecd7ac834c2babeb039eb630cd0ef"}, + {NID_sect283k1, NID_sha512, + "d235c31f0a82957a087c7597673970aa39321d4c2640685a03df8388b5eae4825d1fee29" + "926f416d5e62a2e9ca1ea7cefffd31607e750fa9675983608e0f8dc895371b190574d065" + "c5c0c23ffdaf49e65362914363a3fffbc2c1bb487cbd4f69ec22dda5c7dc3bbab805c81f" + "aa85787cc176bc0e5703924f395d8c9e7e7701e2", + "0afb1c45e9a9f02942b8e04da4b815498454dde6643de186625a98b3c1c6993abc8bba4", + "04002fed49c59e9d5c09202a5dc29d8dd527a870a180feded66ea6fc94ee094122ae9765" + "6b03620820bdd5910037f5877649be38db3571a9c6ac632602d2013d0d5abe1f00133f6c" + "de", + "1fe749d9916f11100af525ee343b3b74a493f92339e432a482dc8e86ffb5affc4630037", + "120f6f13331cd4d1a5b9707483c74dc0722452062cd4534e94cf40840d22ae263244a51", + "0bc2e37a481478f879de612cf4a833f7e12b8df33f5b0d6ac5f5aa431678ff053e2bc1a"}, + {NID_sect283k1, NID_sha512, + "1a2559777a5fd8f269048feda82c4d9fceca95803f84a813789d6ed070422240e443789c" + "5231d63d5268ddebc060dfb99c4eff2ff115d2984d8bbc5c05314562ea6864fd543e7e0a" + "3b8572c017d8ae3563027d79bbe164d40a5bab354720e45094b9b26391ceb55339592fc2" + "f10b97dc9c2649f7227648f5cd2fc46d78d31c0e", + "0ff537d73a4da0ae3a4894016b71dccef3bc886f3d24a5abb7dd96cf8fdcbdf0fdc5e51", + "04001bd0537dfb29f727f91fb469c31164e1bb0ee192a5b89b880f3fa40e3e5437f0d2f9" + "e106df9bab2f9198494094a63f2ea091f60108449f0741806400694a93702f61fb0351a8" + "1e", + "0bbc511c6e1772ca6cd1cd308126c18c5db498055a4b3f1cb0dba3285f6d38b083e647f", + "1ba756f3c89b732398b90bfa2f92b2a77159c530a8020b75cdb9697c6d75c18d36040b4", + "18207cf326bfe97d657ac4197ee5c20c75431ee552681a92a5815db0d984fe597700bbf"}, + {NID_sect283k1, NID_sha512, + "658c0d3f764bbc952fa55a258bac16a5bb5184bfa76cee06baf9ee6b9ac3f116e08bb240" + "6b1dd4be487b057f3b29c2043ebc33019b2017c4deccb86f50ff15fc9248ea5fb6426112" + "0b1960525aec3cc18827c23291722c5add8a3761ff8516c61956c62b8cbb13f3d92bf3eb" + "45a70704c01bb3625d21c38ffa83a6db086ee968", + "16000d2e879906d1040b32eb6ba3caff700e5565871ac75f10c5c15b509964bbe5e14c7", + "0402ba89255d1c89e42518662611e2efe3b5e3b8043926ae9c43974ee2986185269246a4" + "3302b87762b9ada81bde958d1f9b81246f49098695391ba3b4b3b9ac5727f19fe42fd079" + "46", + "14e837476e628007b2df21b5035a39c24cd4869bb52dbbe13c9666ddd8a7e3eeae29f65", + "1b5091fc755c0f908ee13ef9bee40dd16a5710befd1e265a312e595842d52cc135fd722", + "0fa25f43c3c074d702e45d216e3704d942e9d67b3c0728645ac6c53b9be7300061e5fe5"}, + {NID_sect283k1, NID_sha512, + "4f10001e3517c2c1f973b555f4827681e096d860c4db08f1f4aef8000c9c24bebe59f8bf" + "3d7d3cac959a1a5477bb0ea43f2e746b5d14ed48a58ef35484b0ac786d2fec669f945e84" + "6ad73e6b77a9e47012a951b398941566330d89125eb3c1fbb2f06adb951ff5f047d102fd" + "f28b5cadb4a3e1a10412eb3474d2ed5c3fce78f5", + "019528d505bf0584628d0214bc857150a929d3f59619bf8f3acab545fff0977c9bcdc97", + "0400cc8863e1443e61fedc61abaff87d80450345489728d78c333b36fa28d8754a29cf3b" + "a100205ae70c35396c07f9f96aa7c59cf8a28aa2a365b4a1b68e7414d8c4ae5220c8bae9" + "ae", + "13d555426101fa3c239b7830fe0b6cf08a1c01f9a991f806c84baae20daddf5dec8f868", + "0af8bd9856dfd783217cf81b09b464614aa824b0298f35308e6427c679607853eb66c7d", + "0e6c1933d6ce25d0a00effbaf1db2cb2542cbe7521330c34286cf3bdffc20c001cd7722"}, + {NID_sect283k1, NID_sha512, + "c43ec3c3232cae59bdea7cfaf18a4672035dbd2b8b6b1b44ede376b36cc2d8baeb921e41" + "6aa177f5977da8bf1d713509e5251278b6622790056271715cd5feac58bee5baf50b216e" + "8eb886279c5a384cdb696470275b7487fe9ac4c506706f6b0f9809d1ccb102546a4297d2" + "017c2a8df9f02f30d3d1bd9aebf6a92a02e0d202", + "067795ce117bc0a389397fc22a01cfd9422cfbfb5aa44131938a8c45e48e1d5a718539c", + "04007924de08acfae6260009cc2f02daa2fc2a809e6ab4cd8858a9e9c2c15b17e29f1bc5" + "ee004f36cc2d36df63474a579b96f6e59b890782ad8fa865efd80abd798ca2938bacbf82" + "12", + "1bf3242e75f8331fe70113ec8e14ad0814850bb8cb262c7d0a44ca69de52d32dfcabd0c", + "145148d59c5be2b6d39dfa33e904c161456822ec0ad64b9dc52befbd6496c9303fc062f", + "0b75c3c404d694e086c0f5aafd534e7d8596601f675b2fac9384fca6084711e35149f9c"}, + {NID_sect283k1, NID_sha512, + "9b7d675a3d2cdeb280ea28289b5fc2a3ef6b535ebee8ad242fb031e2e1f364e8ee806568" + "b2f8627c5a5b4f51f4f65c71acdc1152c08b9211b81907b551e0ff47f5a6aca45dcfa06f" + "09bf195d19d7b165b52111b601fbd97b192f62465f8ba20773b1599c8041e91448eac7a5" + "763ca0628f40768324c5304e1119ca6a1fdb0778", + "19269dbfe4184249952a651a507584746c5b62c64cb3b17e0158aaf4d086a4afb0330c1", + "0406c60a475f2a3635fa523e1b138edc36f51e94a34e75989c2cacdf8949115d96f11ae7" + "520494d5e23ba9071b3e52c58b1d0740cf90cee7b084b9ef7a4a7be8aa47ce7b3d97c8c5" + "1d", + "111f4dc771b6ce5cc2f42172d3d70fe77c73683bdd2ea331ff711b7e9d8c3e4f2d7d6cb", + "027f224c01847c52ebc180ae81009923ae3453be1e0d94b5c2934603577f36653ecfccb", + "1e7b771631e5e72b7ddfb9c73f684b93270269ba4216cf3926e43b2ceb49756e7e7e0e6"}, + {NID_sect283k1, NID_sha512, + "f4a08daf8f66ce57a986f14b918099bcadcc4308bcde7c169ce8536a40d94a928cfc0968" + "180a2c2a242c59df73ff79a03687998c421cf9a0e661630378779a4744ae2a6cd24ff61d" + "7fcd6c11a4c8bcaf358075e96f864df0998ee98ee393b37bb38747b70bb7a208740959b4" + "5174a60153ee566e0f62528e9a5e4466186fa650", + "03835814de0d6441cd80a44e40350cc8bd62ffcc81e939a4410bb9c9259e30463c453b5", + "0405ce9f6c979bc1d6bc41f41095b7677cc184da8918265a7f0e5b9dbece2ca9e0667cfb" + "ad039a395aeaa04f5168de809164285974d306e474a610d89fd401c375c9b73f0d23dbbc" + "f0", + "0b714d734d063aa81a389be69c56dcc23bcced3517e330572f79c769645e7dd2fd55c20", + "0e4d4494f91e79f2b1d1c0e22ebf744ef448f57c951f1b5f4da3592fe60008ab00f5f7e", + "02edaa4d8731b598c24b993dc5bb4888ea3c2dfe2807daf88170982667e69b76a8ecfe0"}, + {NID_sect283k1, NID_sha512, + "864647405c70939fdb4c026bcad53218ba1d438d82c9138f0f0ecac815dbfb242307cca5" + "2c84826cf6556c51082a23f14252dfaea43ba229f7493db2bf8ae9cdb0228dab9e25cf38" + "5b504b92cca94f813acceaa1f18de851b8936c4dfe9e4e17002f02dded6b4c231ea5e614" + "ab46fcdd637b8c6193e8d0c2df1b3d883b97e1e8", + "0aee83dbed3b703cb6e60d51e373eb20e298ac005fa6a572d02fa1e6da0345558ad2a46", + "0400dc25760af992a8ecc108373281bd0d246f95933ec943f6346c1b2b941a03b33951f6" + "2206e35f02d225ba11d2ed7ea392898f78ca0deb2a47871eba6cd2be7440a410d910097d" + "e2", + "1df142187f8b27f4888075a3784aebe0fb7d80b0b6d3497a7adbb88cb6bd26cb82109c4", + "05a530bf1135ea6d599928cb0383f5d391d19be333b1577ee4eb6f2a78b54e4aac0e09b", + "06f3033cf392f698d1a1141cabf138c411f4e20687920f2915e17e805e8657a887c7953"}, + {NID_sect283k1, NID_sha512, + "c87c8f3ad5c28a027b28ae5021dbe8d425f74181d519451f1fead7a1f9dd102fa6785b14" + "7b610610cb59bfa91fa363bb79ea602a7d7e1439f874c5dce748e5c320560c2d9676f3a9" + "48754c72b6db249478b7e19c9829ab4de2e344535d3e0b7c20c272f82556a280ef491524" + "b255c4fafb9c8ecb87b0149ddd9d7bf6159e3337", + "17b65c66514019ff935e9d571a4e68e9ee4463b7b9a754b93f4f7741693f4399879fa8a", + "0405bfb704629596ed05096783e49864a11874f319b4020917f1ba700ddb0606e6e72c17" + "93069194592be64c33c2f63771af0e4100d060e9750031048002680541815b311ba8f7ff" + "a9", + "171b5c698175300b95dfd5ed8d3fd7cf4e19105ed7193b6013103555808743501ee8c46", + "13f001f287dd5c7ad9af8d0105b47caed66ede41dc1e121a602610ce20e41af91cbe586", + "1433d5263d5233c40c0ca526b3657fcce8cb88ee65105b5f5ec82b26e12bfff11c8812a"}, + {NID_sect283k1, NID_sha512, + "ac7da7611e2ade20aad64b418a16e02e79ab4894d758550210eb10013a9b5533132be701" + "f8843c840807c4167c38d21dff168d3baa65d5bcf285b73dcbb75819f8d7a20a849de335" + "e19bae2aab2ca560b93d340731f291599a5b28afd7737460d291105cbba6d0290e836f6f" + "6c1113d1b2faf90ac5de7c64e25206d79380a4ed", + "17d2071f39ba35515a8ec977ddd36ca15983e15bcda626f15af61d87d58114f4c80a8be", + "0406f09c255fdaf78d7d341fde4586526fcdec34a28448c7fe65685a67b6c33564ce9249" + "a3024ae4483fcbe3f823a7ce53db96ef2f6c68670e107e68cee4f358dfa844112d6b2144" + "e1", + "1403078da10f55724fe7b56dfc55990507307386ba82ca8f6340d33769ab1f6ca894bdd", + "0a54a35767a1cc77b2332b04694404fe5a31ed8851ccc2abfa5542b0f5acd9be9b1f02e", + "0577e0a1937172a6d45177c2b328d72f75a08a8a774a31151b89fd451d531348695d870"}, + {NID_sect283k1, NID_sha512, + "5757c472fa2f81430dd920f39b61066a28c870b80e6c96f822f8f19b398c3574d159cc22" + "120454dcd7e97be8211916e4bc8db365b2dbb99a6e597d06e6645046a0abdccbd06741e9" + "c0eedf33cb78d78a540c2a390719acc498331e694e6b0118cf4f787b51c7b7237458a614" + "9d6dbd0a08bae8097e919f970fde920485e9a0ac", + "11504659e12235855fe55220287a101e511d39a627f8a0d414446385d4a88f31507fe74", + "040192fb9bcd157c7ef385d48470c3173ccf1ef9650da7d680d8473d45ab2064a073232a" + "c3014ddf872b711157d121b0a61b88a7eeb7cd260f1f82ec5f62fa2681e28c7f2640e305" + "e7", + "17e10962721f041946bb5ffcce724c9f284b1c8970f974a069c36dd4391adb8cecb8bde", + "1546450d25e2536aa14b8751e3b3e7eeec8a6c1cd967ba0f03e6bfe64c0a59072280636", + "0159c8d6499fcfe8ac7b2e84990a714d7888d883c16c016c4b165f36d62c3493afa67f1"}, + {NID_sect283k1, NID_sha512, + "e350383d04af0f4081bf09b95d1d53040e7acc64e56b13b653df31dd119617b800e0cdfe" + "b935dfa5d94f1d7814688d8ce41021810958759cec76560e1e5c0581456acd1a02016584" + "9b2203f1c11d318d816697f36a86b59f160faeac7dba71682d3c031d0d547725ef69cbaa" + "28345512e38b75ab011911d8924b2d17a857a96b", + "16e4cbabb03215767249ba2a608708b78d7387be9e77f5efd2462467fa05e8dcde2c036", + "040112b7ea5d21df8ce52772a1b76a52ef6f0da62cb7718a467a034618b7ce701a05cd24" + "670649e0ad181437b4eeec87e202d8fab1c240f9dd9b31311284c24d89160b1895be5413" + "19", + "120e4bce412311d3e7adb36dc11d4cc1da8a4b9d6cd5219e772b3dc2b2b8ce08833748f", + "1ff2d53a8e6c1c23807eee681156a146e8f2cc1a8c262850dc69dece31860bf094e7f73", + "1e8906c0bf2a5f922ca271def90d704a1425e5cacc64bc5761b000c7df0f8f9fab51f2c"}, + {NID_sect409k1, NID_sha224, + "f153cc61981a46d8a47d17d29ec157fa93fcf644beb84558db7c99c57fb131dcbc5b6558" + "1ced5ff0b29bfdc66ff703ecdd4290f7c353c02a3e6d6867f33f3dccd1a0b6752b8a35fa" + "143f8921a5078af9c85b212564c5b795da9858c7955095938fcd10c21e35e1abe905e84c" + "8b4bc05f2a06091ce876d9519b96951d08c7ac9e", + "011c6528939672bed3e8c905b7ba594c3ce95f37fb28044f210cccd01dfdb42c10e8e1a0" + "b5d6fc757834ca7f08e98cbc52b0edd", + "04000b570ec1fd09d7b4d102f83cf37129d94c9cf2f982b702c5d1172bae2df558008518" + "493c08dac6f76a6646156f123c4f33e79800e3cfe1aafbf25a5a4536d6c0cfe13a540b4a" + "3c97d4e7bc6c0346addb4b0c32dce089a7a5385e8a3e67606b45e2062c642bbbad", + "027cecbe83853037cf46aa98e1e1e552a96af0bb24e57756d8239fea5d769b51b83f195b" + "7801b562259ee644ab4047764d130a0", + "06a1601e07dfdff9d3b4ffdbff124b717403490853099fb4a00ea98f84ddd64e908f99b4" + "0a2ba6ab88b2491a8d948fcc2f207db", + "0741d27c0dddca3641b56ba1e9bacb0da1fcee46b9e33ecc6990b98cf0db74668ef1009a" + "50e5d55f80e6642ea48689a529c8a08"}, + {NID_sect409k1, NID_sha224, + "258c91524423b5c876432b1930c7b07b56eb5e3945f1e2296a4e5bfb9b9123f800ad195d" + "6104641b1f1970bca553c2032f83d17252e52403a9381c1fc18eaffdf026f7537aa27d84" + "c5e3d6e39e651a92a41139cec5181fe794457f556b390943093be719acd23fa1ddf7ff0a" + "af0479484a381a309b4f681af74bf97caef08c22", + "07e3b714496dd118d8f3f597961eec5c43d0265bf85723b0b9b0616977e0acc2cf686cb6" + "afa6cdc19114e27ab000e762dfe467b", + "04007dea0ceb73b9bfaff7147a36436cfa7955eab02ce7fe9b60dcff3e088c5c9281be59" + "07de3e06ebb2e21dce8bf3ff85feeed50001cfa9b30af20612666e5df798f91eb4647d8f" + "5e1747c1b18adc6b73a848d987434c56d13ad78b775c4096e9f20d4878bbd9572c", + "028a8353c05129dcaa7caf0343130bf2e2186b9cb5ed0a27a565e1c24eb882617cc299d4" + "86be76fe0f8f3c52678b6992288d7c8", + "034299ca2aaaad51f12c90e8205da305523713516ba6e7d245eed8ef94a1b2409b98ae93" + "476aed6c9b9aef50406860b4e490db6", + "01a1adc76c65d77ea686d769dcd007c0101b4cdd0934402fa47dac22f8ecac28fc05c2f6" + "763a6781655ed5e7d84c41157255a4c"}, + {NID_sect409k1, NID_sha224, + "a16a0d6fd57240fe88c7c36b9f7f9040cfcaa9afc4beeb8300818c5f90cce73b819a12c3" + "1d42af33146399cdfa4ed4954d068dbb0f1f342269dd29f1fe357e7224304b67b0f924b7" + "94780fe7e6aa9dfa3380252fe7177b43e7b1789718949b9ec1b943c83ed4399491482f0f" + "59d2cb8050ab6f8b5854d76c50651428cd29c40a", + "0182d1e937b037bf7f84144f7d4c94c935269c9aae7d500aa459a7a0ec113b232dcf2829" + "08eee4c84b8106cd38cdc41db3f89e1", + "0400bd4f1ee6a967123d70d488dbf0fb43aa5e93dee5794b4492277fe559776f74075485" + "0477e275cee9f1c375403a4933dc9869200191a544b98ba954cc6e060ba26a52fecbd1f0" + "dc7c15381004cccb799a9f7960a3cedd02d36fcaeb0ceb844bb4683998d776dc5b", + "07904af733742716366f8ba07086f924697ac8a01bb4895bdb5715081ee89eaeafbff4ce" + "c44eb0ce14e774dba71bb9b091d2594", + "0723b2068957c4f2ac1df69378fc013797a3b071de30b514c3e610002dc8bfced32bd2f9" + "e8f692b653e736696cf818b0ecc1e10", + "058455b8f9abd5fcc28a4ef839ac0245c3feda1fdcbc3c171b6928c6abc931e8b0ec3438" + "2d63e414657e9319d2965fdc9eb74cc"}, + {NID_sect409k1, NID_sha224, + "d02ff569828fd1add21f6bd1c50cbdcd09222e458ee79fd5dfdba3cbb84e9d926fcf196c" + "ccedece77d5aa17f8c8cbf3a9facf0f02c71d5c1c8aeda9d75f6fd7b6f2c5c70dff992ef" + "6e02c438fb3c66da5a503b3c39acbe2a069da457595b542190d818015d462670b0807c40" + "1e36b1bfe05baff3a8ccf8d1f5f8de7840e87993", + "07ed09428f460724c8a5225a31151e031d9949493fff5703369c401762345d002c4ce424" + "294baab22d9e71edc4f854510cf0e6a", + "04007fcd003a8cde5503f5582a42738738ac7efc6cdb3813a00c072fc114006be9881c0a" + "881ca35988dcfb8088f3d07a03943cf23000e7041e666c1bed3b80a691ecff60ad4afe3a" + "544ce58030bbbcc130045e2c611d65f322ec78aff6757cb5df8ad54ee8a09616ea", + "02828c8c4bb1722b0f03262de32ca8a605c4046badb20d8eb9f19aecc5c69f199aa48d09" + "b61f285254425cb4bb5e0763dd471bb", + "06c99d796c5d4fa21c5cb7cee0b7570edc9d7e9d7c3604f5ca3766b17e44bc71d8a74ac2" + "68b8713cc2ea0adc3dc1971c062b4a1", + "075962e0ccbda2280e502559f48c8d37704964f67f8cd3b443b89be740976f1bd929c175" + "560fc8cfb282661c0fa792a5b200401"}, + {NID_sect409k1, NID_sha224, + "57befce973b225cfce7f996fa5a1a43acd160681b88a87b7de04544eb7b6a719718f1ca7" + "f559b6531bfc18fca3836d2be7f7a6e48387b7579a6845796d30e46f0dda9d82680f8c96" + "c5f0989741adef9762c3db763cae2699cb6c112543635e20ed5cfb4b55ca2ccb32d2d139" + "36085a8ff95ed658a54be73f80c912ccfe5f0ca0", + "0390f05b9619c27b800e99aeaf61ef7f6249367d5cfaeae3c7b523a8b29153eb8a77132f" + "6c4412545a842d6deb7b7aea7e2bda5", + "0401cbcfc492a2a6bb8a7341df67ef2bcdcd706afabad5e7ed1d63387ad9b0dbc47ed17b" + "82de6de936752632e43c393a93fc5cec0e0111768994b2dfe9677d9dbc45d4b55fbbafda" + "aa2b2638ba1605c35301fa557d628a87d0a7febcad9f8eb4b51fc9c807652579f6", + "00b8d236a9f8edba7b5207b4c7848807b933b214fa25cfc5a0e73f750d30051264bb9f67" + "02837b0f65a451d4ef24f047ec4e9dd", + "076bd4755427fda22a0f177624477c59de12a12621aac274b980b5e1ce5dc700591eec13" + "dc5bb48c5c8643de287a07a48a6a7fd", + "065a5b0a00548bcd7f59518f122d79c7552ca6097f3867604b462201add5f326807f0e87" + "79f2177f277e5ed25253885ca81220b"}, + {NID_sect409k1, NID_sha224, + "4277ba40cb462860ca722cb4ee71c61836d2ceba18bc91f3fad7dea478972c6da0ebc028" + "15eaaada1d1a5e93d7ab353855ccfdfc94a5742fe18daee2328871e06c1ab0a9a989d123" + "9df2d2d27f96c415e7ef9a941f06c6790675361173cc229aac7045f49eaca207f59c4976" + "19ba32e932b5c1c6576812ee5b146e2cc7de5e62", + "007d18652732596add3db31f7a0ce6020d03f3df58131b0c7c633faf619b8210cd309d6c" + "0c4083aef1a1b6d2a756adad0bfe344", + "04015ad0682962b4dfc8901a0dc77d548ed616286733cd9b3ede937cdf4401ab8b3e3516" + "d466ba43b6ab5356c4e72845767d55d27c017e4de3288ed44b48e7c47b16e2afb513c976" + "3d5bf4cbf9a357c128c94a758e3ff946957df461531def2b8d8411b81f45f0c2dd", + "01a896c30fcfdbe583d6b0119f467f47758ee01d4d601eb698f444ed0f76515c2b8053b1" + "1ae7abd0eef7aa61145a53d12d560d7", + "053b1cd57dfdd8d1802f3e295e450a155c366bdc2bd222d18a4d08369c25e53f1f633958" + "b22d80755ecaf8362d548b28dff1ba8", + "069339fc6058762a99576a96e76f75275f848102bcbc281e59fda26c98fc48a3f1061755" + "e80740a233e03287f510f4549bb1874"}, + {NID_sect409k1, NID_sha224, + "57ff6792ed4b12220d179bc0ea57ff217f322c85bd3676a681d32d7e4a3e0c8e891fd267" + "df17caba5992f68c35ff670b60b4bbdfff82404f6ed996c30539bc395120f97d4d7a652e" + "aee82bd8f9360bf8bb73748b8bbda9f9480eb54f7eaf2609d4259329e8a5ea020521e7db" + "d3ec56f23c849932cbdf2875f5d5c774a9d6b0c9", + "02a91244ea4623b63403dba807d60b914ca3b901a2523244c322f2f11251446d3f15e869" + "d086ebecfa1a39ce304e8b5c8de23e2", + "0400b7ad8f0a52ec21e54e28ef603d76652dbfecc7dd2427cfaaff3d280f0d1f62187d77" + "effcb433b5bd44c3d0c0d26c38d3f5930e0080641bb0163130be4444f79c500ceb8d6a9b" + "2cac42d21d31b2fb29da075bd41c6613f278944adfe92d3c99d494be9d4714e9b6", + "070125c89a1262a88f22e874c55ed149de6d961d6abaab2d13db9174e3cecb8f49752995" + "7058a0afe5361ddf9d3a5a3b923c7ef", + "01a28cfad13969c6449e5a0f879e01ef7dc1cdcd0bc77d20f3989c588a9cad12a4b52743" + "c12f4f6e2154ad963bf234ec96263f5", + "066d7f0b364a640c6c620e3d030448d155cffc9ffd46a6adfa1c13e1b01892463a472446" + "5aba3eb07009fa604f3af18109cb72b"}, + {NID_sect409k1, NID_sha224, + "f85113eda64478f460b60f8084220134933de049200a5f37884da7901471542e26690a5f" + "abc3cbf9e679ade71b6e54d869bc136c3d34cc4a9efcafb777abf046b5ae5429136112a9" + "a36a475121eb1f33f1f43481286fc1ada98a41064a1fa38c89e99a93065bb2a119348a9e" + "452497fd5a0d2b83a66b09da9f47a0583732adf4", + "0068c56c6b5d50d1d4e13d3837d8c5e8ba2f825e121b63e97603fdfe78bb6899600ff0dc" + "87b6b3b6868ad0d2f62b7b7a31603ff", + "0400d9a4f5992308013573f97864c23b98d276975d80cd6455e9f0d8a62d6674f3aee3d2" + "7dec15903da4e9d5908cebeb765ee02c80001f61189caacb05dfb982bcccd603a769d0e1" + "be8f9223288b5426e7f88854356fe825f11a88918085692f33b0f4c61ab09a861f", + "02ea7f0d81fbe3d4c865ff5315d1cc38f9e9a8653fc91dbdf445b62fe09b30ccddf50878" + "3ad87c8a48a6ccd5c9e817fe2977f90", + "02d7847479c16c4cba834ce5962724f185be06cc04a9a8d710cc72e6063a7b64fbf2694f" + "5b62de65d3d347d34c0dbfd5a4d93b7", + "069e32bb19d20e873d0e62b306db4d5663576e4b2fe75e8ec79b7a63f38c8f1007a817ce" + "30612e8578d48c63b04b1d34904010f"}, + {NID_sect409k1, NID_sha224, + "42811e9ee6dc509572e1cddbe5baf00afeb0c5c13e3755b922eee9e210001676082bc9ed" + "c3d78db2b5bebea7a2c0cd2b369226c2b8f83b28f33fb513407ab9d287d14b112d6c3be2" + "493805ace5cf6fd366d03cfb28f4ce3f0f060880db64d6962e997463ba7c05b6fcd1e66b" + "abe4b94afc5c2d38c7050c69571d27b66ef0090b", + "03c88084f8b78446db431bd6e240a0c050813d2a763675b0ea869cbe183df697146cf29c" + "03479af3d34587a95cd257027fbeed8", + "04015a09436de00d8d129e297ea60e04b704c0a8183d64a77d1c527189e25e21d6bb62be" + "8ef5eb2dbd833e5f9c7d5c3e69c9c018820001c32ba376d2e9de28fca644b0d567ce1f4e" + "f0aaddb2adec6213d03bc8cc99f9140005bed3cb6c3c0f5533275734aaec47404c", + "0132f4763959863a32919eb591799ffb8613797bd0b617c73654ec9eb32e2fb86631b66e" + "28e1b4cc4aeba65ba8c75aa1cfacd73", + "05fe0ccbd430d9459e0093cfe2c1d1d3edff8c1ae7111299d2e04f414c46ed2cc88ce9cc" + "9e23e187e87ef551de993f52214d609", + "0557acfe6347baafe031dc16032c45559693e2793d9b6d372670b09757c6f4a3e5ae5e55" + "264137d1859c8d9f8f03c25de409bf9"}, + {NID_sect409k1, NID_sha224, + "b38f76ede7441ae0887e689d556f43155b38dab7cde487ce9ef9a46f2957c830d4d28006" + "873fe2368197a6931f6fcaad755102686a457a7edccc8d344e2d2a9162e3d71d41c09a02" + "2539ae6d404955a6ad748231aee1f974d4f159940532fb3b1fa0254bfc5805d2fc686968" + "56fadea386c542d3cefd1be3af04ca595e54be25", + "051af7b63bf3297ae20517faaa1552f4fde65819dbbff6a52721611e5b7dc1242ed6e697" + "68cdc37ea8cdfd1a5971f06b84b5803", + "04009cd1280a2a79b182ddbd1712dbfd12cee3345a89636d7673a5fc3e1e51400603176e" + "27d538e90005625aacf5cadcc8a8c25532008b5aabedce498476b4c65ab3cdc81f819c2d" + "b670a7236c0357a86f9087b83e7568cc6e5139fb92f81975756d7dc4f48be87df2", + "00bba308a3eee9e3ab6d2482bb728bf44cde9eedde15af7300c57c2c1e6fed2ee4e404ae" + "ee3923e7871a2ff4ba6df64f9d01a87", + "07a9e69664b7b81edc5d47c014696d194b2ca4705b2e79af692b285ec476169d041dd9ee" + "f20f7d496fc49b8597574d2602757ca", + "01521d7cf6aeaf1c8dd54a7776cfac02967983083770346d9768a2629d606be90d58ea82" + "377413a0fcc3e4e66f05a0d05d933ef"}, + {NID_sect409k1, NID_sha224, + "356dc86cef7979148e995fc5abe2b14a7d5e4e42c9b3509b4363bb80c581a66f4e7e4aa5" + "3a4bfd37f9a7eccf75fdd726f348f6a3f779e6599f61bd1d668517f40453b39bcf35db08" + "52a6a6218198f52b7ceda2ec55fca5abe8e5d93af9a42b9ae4de9530c5870211bacc27c3" + "9aa094013db703de2fd3121f08d7e97dbd4e8946", + "03d65bdec48972d03811b78150a06956eb22d337dbec5416bbd8185a6322cd8c0ff80002" + "10dbd1326422289071cab65175f5d10", + "04000c9c1bb0a80c4b4863d78003e21ee60fc553ff72968c165f6eb6940250a6cb7d545c" + "6aed3760e42370df79b0d37c2d1433c486001a9d994828ac09a86c18b9758b3f6b91a577" + "5931a7a6e4d8b052204c972b993a3b420eb8ff7e91df77253a9f5847c5968b5636", + "0156d12708324cd30037753c78225d183723d3f15930f23bae854f121094bfffb5d7dece" + "1fca93bbe7457a2237760aef3db8e3f", + "071466e80e2a7cd8e6cb6dfde259a08619f880a71899c58bd4cd33c29f7b321d26953372" + "0101f2ef70f5b8e8f05c9cbe1ebc303", + "077330e08712ad709f855d92355cfb7d565efd806c6a853712916f7c943bfc79e496366d" + "eba79ef7491abad23086db341f339e5"}, + {NID_sect409k1, NID_sha224, + "06fd39a50bf25e89f1071ff81fec5d1e35b6dd68990414ee403dfdebb792627b6a4ae3d2" + "236c159e4441ff90b61ec87b1592c538515f0486b19e58583394a05e6411e69b4285d6d6" + "589982ac0eeb2c912c4948789cad741183663fc070943389d4e9a1150b8f6088fc506059" + "15e9e24b2d98a1f539024770e4820e14ae42ea8e", + "01f1a8b5f35dbbf82c102df550c72216a243f986f0325920f6186a16d1da74228cc02be6" + "024c7411160c183c923c743354f9438", + "040157ae8d90fe2416f70a7ce0669acdc0b5064ba650cb5416e59e6672e45b591774ebb2" + "f793c3a58e953da1ac08272d0b949e7b50006d49b9784f8423812967b857e25dc3af1312" + "a6ff29579f6acb6e155b6848ffac6fbce51bd2d41a22ef955f690e2487a4bbff00", + "04cc45e00847818397c6abb3d176cb8bd77814abfc253e3b0d799dff2c3e09a5195ed5e6" + "232873f2783c8e670b52a839e06bc30", + "067b418a5395216b83ab00d5568eeb62ae0693af2b0e4d052c6feb70562dcc06ef852002" + "687099dda114477871b924775e8460a", + "061d1e4d713689b2036272ad41571759b52a78e0f8a84d1f3a277aaa33ad558f0b71f3c5" + "a99d403e49df1afab66059db20f9f32"}, + {NID_sect409k1, NID_sha224, + "6daaa41150ea252a3e966a338377307d909b95080e006f13027f2be5059d9208930c5a32" + "9994c0b794ef50eb059bc6c215f68cf42260bd410f9bd86d2ad5ab7179c7c92de4a93a5f" + "6aa17de5aefea815e7c0b78a8cc53c21dc4dee037b29c9df4e12343109283ffd5d8a3b81" + "fba1b5e95506c7e01ac056c86dd0ee23bc21af0a", + "031dc621200cd174193d95e9092ffb86189c52cdbb9ed937593f2cde7c4a0264b9100e1b" + "8407336c8dfb5520d28a18dc4e39a89", + "0400904bb904d50bff09bae5dd21f425c808b41001ac917b022f7e1cda6e46504781a69b" + "aab4a6f0f100c4fff9ced26f871159cd30015cc300b0efbac707635c72bf855de4290f1b" + "8b70c16f9bd0cb771ed5c760ada04d0ff648f118d64e0aff6a6de16def15cf7437", + "07e32b1fc1cebeec3d84f56a67c8ea2b78723e7010a725ca4745e849e573e8e4a4ce11d1" + "af4ee508b80fb5336de3cb53161bf44", + "071cd81dfbacbb67be5903cbcbe402c0420adfa9d14148bea600b178fd06278572d34eb4" + "6d857085a2a4f48cd4ee9109d607dae", + "0347b1029e67a6ea2a45af1f7410dc951db813eabfd3c7f3e2c294b81e1c54fa8c98569e" + "fc580b68007bfa316424ac6eb353ac2"}, + {NID_sect409k1, NID_sha224, + "6378dd1c12c5197b57d47dc46a67949bdd1e0809004e94d49b0234126a08ad5bf8723ebf" + "d132145813136d8b7dd096f56c34248f09a65c34f60c2f80f9a51b3795f3d2518b11aaea" + "f6dd45a323794080b78f85d629e5fa719b6ab0b14c78cd908befeaef0dbfaa08cec9318b" + "bcb376d48b11b68735c9554a45293db5e9239ae1", + "016e6750245a88340b0f0665b890459f8038e9b1366f2fc1326245a88d4c523ec94429f2" + "1869ce3dbf75126e58f77241c99efaa", + "04010184fd47e8e1e4d534ca1cf67f15bc8a80921b07e251c22eb88f25395e08d7a92837" + "74aed204fb5c14aa13c63a94ee691b4ff401252ad972bb8c0b286c222f42f7d42ca6561b" + "ac5e517921bda53e51043f13e711da8a813bb6880678e4d6a16820bab819d62e59", + "07f18539d00152f5b9a75d4f114812b87024e8a8f9c9a8d12139d0a74d87986f4305bde6" + "0375918ff2dfdb88b6deda640e17364", + "0735a15e7bd1f69f4e90739d42ae239a8e9238ad28b63ce291b57cb5b99922fbd5dbb7f7" + "4fcc23117243efbd036eded6ee0f28b", + "07bb3dc77cdd4138a02e2d5fd4f6ff8516b4c95b8255c629132ea8705c399fc60f8fb660" + "ed3aae52db283aabc3626a5559dfe85"}, + {NID_sect409k1, NID_sha224, + "b898d0f9bd80e083fa541f457d14d853bba55b120424a95e1d9511c8833f48444329e034" + "9d68204c4b4581ef1c4dee23ed0a4445727a72e1e6cde422f7c10ae132a3fe681f9d741f" + "da263e73f7cdf10759467c9d76164086abf6780ad474772771eee22d195339bb8f6235e0" + "d992bbe282b13ce4fe01417f507a2c4fa155e108", + "0788fabdafeebb72f6385301e30024b56639e629a400f9c50d402cfc9b5817844f06a451" + "fbda29c7ece41dc9ffcfc625fe0ff0a", + "04009b2c36d221d18189e1617cb2f2ddcd64cdf8a42ba6acc55f04e9722b11588f7fa861" + "a3940820d9dabbab631d7fd4106c60f37e00da099cdb10dfe2d7c0a16ed332b459e7be31" + "f44b0b2d595dc948f0b073ac4e439f24f215fba5ed50aef3702731d6561eee1986", + "00581369aca680beb705f52b6bef075de83ad29034c3d6b2949b551a0bbd100897a079b4" + "9d41d5030e1a6950fdb14d70dbbdb41", + "04f62415c99c8e6750f9c41c31cf050eb58f61f62eb0b0023d61dfc30e7879d4f5a87e88" + "faf55522631a29fb69d16e15c354323", + "06df238f34b5ae664860b43ea11defe3120591cfa371367096006c03e83d372bfb70da6f" + "789665136b7dd1c59894a2fc5038c4b"}, + {NID_sect409k1, NID_sha256, + "dbe04561ea8579672a2b3afa94426a3cbc274b55263989d41a778bcb082da797d84d930c" + "a847a481789524940701cd5f1d11b460bdac0bffb0b3a3abe1ab689c519700de85a0a571" + "494ba0cfc3c865450eba7a9e916b7fa9df55e8a1c246c992e6a0b44b78274e008472bed8" + "d8411633e6520e1a906c5d0c8aafd572fe6f1f64", + "01b8dfd64563dc219d6eeb53f2e3ad1d771140d0960b211dc1f757af5e297dc7548d6133" + "ddb574711d466688f80dbd65a7bbcdc", + "0401ec530638ea0663cd3a9b237dd66402adf50d3094391f2343d7d6c52c1d14145c2454" + "64a3b771e4b1894462fbfaf440e53eef7e018349e244b24c8353811c29a60d8e02caf195" + "a424aeafdfd0361846d5ce5eb83da1901700f00fcb85a0c2543b49a8a3ccbac157", + "026a26cd09c9329cd45ceb4c798846dd81af67759794f5cadab84de19a835f8a0ae49b12" + "853b1e92822477a73891f85acce4216", + "04d83a5f9dad246717135bec6e386ec6b73be9ea6d1a17334ea2003a723d510914167d13" + "6254d6cb64b16ef7eec5044b8f2ba28", + "03e81601d0c66b507a491c530075edc5b09d770633a4c2355b3b1c7df9b200ebc7dcb706" + "be1696aab70d4c6e1c4a7e532284670"}, + {NID_sect409k1, NID_sha256, + "48a8300820fea2ad83c83f7d6b24192715329c3f159d56644e11ed25efcbd3d31600a813" + "b909812987b97d1087e74a63b4494cc031c63492b6615e9d6e5b36f62cb2ef88b9f73659" + "5800de465789f43811165a5fc093ee6d776008739de8de2a84e878748641be8bd52e5b89" + "1c4145f52bbd46644852a43108e93d86352b2a3c", + "0422131829608ff730c24ddf7e8b4a2600eaa9681eaf45432daa7d41fe2fb488fd0199d4" + "31a1ed823801ce21f4f01a4dd4248ca", + "04006ff24eb0ab812303bdc9a23719caa789eb75775e686b9511bf6e07d60447d1601a48" + "ae7f3041cef5aaf3ed2adb6feb422fbc54009a351fdc9422a81ebef5407d0d74b52a348c" + "af3cf6e1c6c2af722c408941de154619a1d54bc23a9dfc0c4964f3936d62daa6a4", + "0313ec63c34ed325d770664aed3bfd1a16eb636516eb686e806b0acf6f0d117998b30fd5" + "2068a36f03d0db3ec13e6989c6f196a", + "0088167f96d807bdd61e65fadaf0c56b623db42b831909d12641e4d00e7bca6077b36cfa" + "759fcbbf087c31f294f20a09e0bdc96", + "01cbd06232b4c73cdd13208dd254ebf9351745ee6196e3a94b9213e931f141e4cc71f3d3" + "18a67e7b8060e11e88783fca0be41cb"}, + {NID_sect409k1, NID_sha256, + "276e3a986ce33256014aaa3e55cc1f4c75fe831746b342eadb017676b0cba7c353b3a2b5" + "54522c12e6aeaf1364cd2eb765a404b3d0aa61258194a30219d76d2bfa98ad20e7e91756" + "cf65e50d7914157f283f2ba3930c0ad3a97532cc747b1cb9c806fff497f0322025a3d02f" + "f407fc7b5808585b91d95523c9d5864efdf7d983", + "0095ae8e4c7e55eb5da01acc05ecfe72a4dcd8ec152f1c8dc165014f70eb4e4a7861aeb2" + "b96c418b2d4db58659e76184e013a49", + "0400a3987d7262dc30e8ec11458ff7091ca993bc61f142ee535d544a2c88a47f96011076" + "19617a5e65cdd6d5e1a034aaa22304434201fc8af29d5134ca9baf92041b6d6aefabccac" + "a4013c55c1581ac05db6141290235ea09650a289907785d282cef1b9efb381ae66", + "066015a77c99015ed6983bb379772bd90e03b9c010e695853ebf8e461a20fc12b20bdda4" + "7eef856f162dfbd9fd4fc1ec49105d3", + "067c49b96e5bfb6a6d625346c3ecff13b8c8b7e59c764b73b256ac970aa4056460000e59" + "9a8195f2d235a75cee8e5634acfa7ed", + "03ce25ef1af0784645f0579da381542f5b8aef377e5b79193314f84853e2a07a4f1aaa4d" + "8210f3a3c249a879cfa3ea8af43a929"}, + {NID_sect409k1, NID_sha256, + "6a4fc1827c3a7256faa8ec6a0f3d23559d6949f8cc20e7f76111dc4ebd59213951cbf0ea" + "dacaeb8862d6baa0cb298645e4314b1c303bd0d5e9893304d4b7fbd36ab05fb6a5edc3fe" + "f763e3a4124d61539eb616b359c5cb55b5e2bec50c91dd95fc39ddf521aa854216eb5a70" + "7819fa6f067b316a17a3b146e7cc2dd517f7d63f", + "006f2075bd730f34df111ebda919167b1d3358ada32cd6747cb3353bcfb814a77ac70cd5" + "1b31a0e538539453bf9eaf9d8b384c9", + "0400bbc153deaec0bcc36c03d24afd20dacd9e78d104d94c279278d04b597ccccae43cd3" + "e64c9e1e58fb5408f376dd7827ede9dc3a015ae0d803acf12d9d3fd41f74357b1c93cec0" + "480f2e586d0e18f15e569d27d3d106e192ee0c1c570351eff1f463dc07d3bea933", + "0314330098250e38145d11a48f5043190c6b44f8572ae57cf83b1f3c4c03ce38b90ed5e1" + "57464c2613c82943d78c938fcde89d7", + "0160b20c370ef4b9cca3f7dd3c23f70efe6bd80751ca021731bdfb0f45ae07e5f2144c77" + "795aafdb0c3a92ebbef75fb2d334dee", + "045188dd2402ad36ae4278a9910648ed5e71d64737651c133aa89850e3bef2207d58ba41" + "69e471a4737962f5fafd50a37a28e1b"}, + {NID_sect409k1, NID_sha256, + "4b088199bd8c94775d8ee508377d672dbf50f6d2c7370e99821ec8f9387492fb2eebdbea" + "473ea18465565f79e2af418555f10c4a527e05a9e20c9c00b807dc8b350cd4ccc2d87e91" + "f66addf02ce4f43597aa258ac6fbe9365cc2c8e8bbe5c884abc929710e8423cd6722a8f4" + "73bb55804159a92a3d8b6661a536b4fb9293bb0a", + "03887d284e9ad17d38bc6da9d83c192a434c509340a7f233cebb032b09ab7c4c6e8730b4" + "a80844898616c9abcd16b753c6bb4c5", + "04012a6d5c5690ebf14ecfa54ac97b73e88e16e757c34c6bbfdc9a3a119f298860d330af" + "295756dec41eedeadc5257b202451faa06019f40ff28bb72af659d5319286fe21f018199" + "52d471ce2433ade745042a47c2dae798199c364ceb99029c2dd5cf57ef5daa2b00", + "035945b45221300f83c5fafbaf0645a7386e209d025b3e1dc367819728f630663fb732b2" + "51a019e08dde0f64dd3f60a10065c50", + "00c323c86e8cc548123d1337936d4be948bd4bce4631a2194c2bf04e1fd714df2c90e368" + "1e41a21d58d9567a5df9fc478dca8e8", + "0493d3f4d22cf8517c301f15bde52cef17c05fed2482f3ef15cdbe32c5f0975e054d45b1" + "3faf906896201942f29e5693bfbb229"}, + {NID_sect409k1, NID_sha256, + "848a13465ddcfb2dc14f7bc0db0756832c22dde1e31e4d8b3ae0dd1aafbdf15e954889e9" + "5d3bdfd6e5ebb6171fad62592c23277a89e8ba53978c9b1afedfef7e1c3f6d9f31077530" + "460b47834b30bbd84a4da601be988738aa815d3d7e72043243a5288751ee08b4815a017f" + "b5d9bd55833698a0d526b1ed79da35ef0fac93da", + "02ea5430610864257c9dc393c3addcd0d8d5bc8aab1067643b08857210464428aa85cf1a" + "e6c743fd2682255d4c8eaa46ca21e73", + "0401e502d3f47823ac7207861855fe6f6aad1fa4f2149bff2643b079da23fb270599f744" + "669b3c8ceb4cb0989aabd43d26d93c814600cdcfc138451bb59f34dc82b8128088b5ae0c" + "b8a77dce1895d5ffdfc8b4be24a206b9856954508b82b80d0163b276683489074a", + "0426b90275d720d19c6ef5c8c74c568a636257740530e3ad10de0d518c4eaad8bc58cf45" + "06cf5cdf7f2b03edd1caadb28fa3787", + "0123ad87c094c4ccfe4346dadad54a6b1ee1bffaa1b7b9094fe2e6ae785a2b77ce3f5e56" + "8e43e8b7fa997206262645f56078657", + "00d56cd5cc64736ff7ea0d9840916b1e1c94e11611f93b1b11c2ee98c79d92a8af1a560c" + "9938dc4bdd0b84252e259ae5669d1c3"}, + {NID_sect409k1, NID_sha256, + "d1850545c04ea65528849973c220205c35eae98826d169348970d1420b4d872ce233af1d" + "aa9e62f6a562544ae3a0633a954a493e9766dd5d87e47486559fdf86229a7c9e1726de21" + "895abdcf2422d438f4ad98d88b45c56742694ad5e11894253270997c049f0f419842482f" + "21c792fbe5613e2defecd485585f1835b6f4c578", + "062c757c92eaef41f5d81169ec4968145b5aa2bc1d2a3a5fd000634777748ecb93677b3d" + "a12e3be33272a8f0a52300f4a5a37c4", + "040139660fb8bbba59e8f4e95e5ee5b97227220f0e1b293901fedcc6dab86e7c5a9d20c1" + "a097ee2e926a934cce679fb8dcd8d2ed6c008ac510ddf735184e8fa9693da264194fb78d" + "a5d1cdc0bf5faadb33950ca191fe233eb8dac8adcbfe15b4f7c09d5ddeef6bcd1a", + "026868bf1764993d650aaebf117521cd146ea20067cc14a5843f726a3d68e41c3fba82a8" + "3d406b2275b3459748b3bd1a8d32f1a", + "05b17d13ae4d9535d062a2653bae4d15b9b859a87c33e175adc3ef04781bced888f3e93e" + "9804b2251a40b9344c0f8c6bd5be0ba", + "01ec3322c5beba4423b13a0528c71739a6b39f7b0e0e58a8274a8386167cadef51e5560a" + "3e9d97447e3d3c06288459fe6569345"}, + {NID_sect409k1, NID_sha256, + "421c9784d6fd507c82904e1054edf9bdd1efb58a0b211340086069ad38b7b0dd15c2345f" + "a8767ef71254ed1bd5c35f742b1d3f4765ff9007a5477ba9e5d3d5a5cb5fab4efc1cad73" + "701d4776c6c4343f42b5d94a9eb78ae428dfe5fbdd8e6ece09d5b75cf4346cf27db85635" + "2225ab04e6ea56661554fbc39916accebecb3935", + "048a313c0c11489939fc0cffc6ccb9f179093c4e13141b92dbbaac441b7ae878c9d41206" + "6e95615174a24692555cbbe904a14cf", + "0400677c2d364fa86b8b0c79af754e675ea3e806d5583e62087e01590b824d2730e31326" + "591167f02bdd29f8178787c4e1ba9d249600e7f78c423baeebf6defe9feb8ada8874ceca" + "b083ca2e71d9d8a3fbe846eda69262a1f5b4a3baccaaa4f2cc87220edb1fa6b6bf", + "012b8df87dd935775b80c62ed6c76974fa5772939a9e7372cb74e033fbae4f78d75b8bfb" + "b82240cf91009b5bef4d63ded04cbc9", + "000590a9e8de60b5cb181a1c11c2f6115c66b05e71e0c558ae203ee18e54de68016f4c7e" + "d2f01cb0cbaf1bdc45218c0fe2b1552", + "0521844eee9168a501e235de5fd19c84f052445fb0e68bba687ace45d8630070ddd3b730" + "34d1d65788a51acf91273fd187a24ed"}, + {NID_sect409k1, NID_sha256, + "7910bab15b6429947655e33a67f41b76f1d7b71534f8904d6a0472c2faded038565272d0" + "b5f51aa915e0d624e9ff48d50ebfa2f09324864f26c29ab73eb39b436c5c459c7cff4d2b" + "62992e3489cb4ddfc05d7366b161a463aa1b782641d93507de43c8cd0a0a0a9d1c644f45" + "54e3edaf7fd794248110ca9387e73ae5d00d299e", + "046e2adfe5d3549e1e6fa1fe69a7cbb4ac9b111c8903d544268f8318b0b47d4b78fe3e56" + "eb5e639ad5382e7cd5bd4b2c3e70ef6", + "04012902439be50c97aae7b40328984934d6c843415f76f3821c8e8323aba96ee41359e2" + "ce5ad3179063ea5e2c7deeda4d728d585201eb59fe96b269cc973b1fe1f3720aa9aa6ec4" + "cf303c5cccbaaebe6ef7c9f5356ec5e76b26b09479d9831d9f5aa41ae1d61f4c47", + "031893aef1baee0e21b50cff7002435b058d73dc4d8301ffdcf1e0c315d18c2b16f282e5" + "b294dc88369b25e2a1a19abffb578ab", + "039281ef10b9a2664b755a2db67b3c410276a424edf7681a5c97244eaac5826368a8095f" + "1b9b76f8e490e2783694d5bcf3565ea", + "039edd50721dd35d1704167e8cb609f309b9ed73d3c1eece181f9582aabc647c5ec8bd25" + "8e5802fb0647372e4c3929cf59ae2d5"}, + {NID_sect409k1, NID_sha256, + "e6fc96e060b956c25d50ad25443f3c30a12d199a47451a49ce88307201dfb15ed816982e" + "8888a28daa92eaf3c5584ca6ab2ca9e14577f84396de2e0ac214b24a2279f5e7b344fb73" + "87e9afc8f0a2b77a4d024a20ce6183499b17096947444bbb753d9b39e5c694239d28f9c4" + "54bb05468d17ab564ee6cea3741747ccb7f108af", + "0480103fd6180a431c837643566706e2b9597de0a1346a224d176a5b2c54aa4d064418ed" + "654a5d39f4773fb509f86473ebb373f", + "0401d39e2772ff3d26c5936ab347bd5a2940ece42b1964f030c59ab453acd7f44716ba9d" + "88f0828de1a4e730ab27fe1859915818c60140b1b66b0a87de29ba2cfa799d944b3b898f" + "e7ac43de68b01fb41464506e2f014e0d11bbc0c24996428c93bc1a5ecee5956bb2", + "06e9bd0290548d35168f7db7fc292bc161a7710b78ac49ec6a42c9423afea1310597e597" + "8b22b4dfa192489323b2317e4714d37", + "055dbf88b6221dff098345226d59d396b6773611ca6e747d26d5d758760d830693df0f5c" + "602859f9caffd0dc3790dfa08c527c2", + "03e679447b622c4b06871f2337f5a24150e76efcef9698c6fd463867508e9d7b803667c3" + "2989a881c98a90998944c070aa58b17"}, + {NID_sect409k1, NID_sha256, + "c8a8a0d41f35537e6fd523ee099eb45e1ad6ab54bed4d3e315e20227db03292e39dc1a91" + "bab439c0d20e36e7fea6ef08983f390a6b5551ac3b4f1895220b2867fab95552cef9bd87" + "02962839bd9b2c72772640e7d3be3c5889d226acbefdcb448432bc503e5a5fe7ae9ae769" + "6c720a799f9882c64ae0385f656074dd8a6821f5", + "013c489e8311c6bef02c8f58903b2ba2a98a27cb935d75a30d320af9a14fa3cbc6adcce0" + "9235a9eaf333dd05f4b2f1694985dc4", + "040046a1c0e7753cb499d19b2805df770ba54f1c6e03611c302c73c72902867c51c1cf9e" + "d154b8f30f72002421029de7ba2d8fad22002aef9c34c7c8216a805a58dd88185f404930" + "86213cb4c85e4d226bb5e892aa37be353d9123e9900f8b0790a43d55a19d78c48a", + "0491dcc881731112ad5e9e1df459c27381a7bf8270f97743466e178bf5ca903971b362b7" + "3fdbef8a75d4292e63e225396c7b32f", + "048425b76147427b8b1969bba3809dd70f0fda24cfb0e92509a7824f027b61cd38441a69" + "1efe213f3c331da8c82f94bbde511d9", + "00df36683f22e9e86c88097d75409ea297d391550440e4327f67b7af1b09141a0e7a1db4" + "0c4b0bf4d60376a6636dbeeff0b6b91"}, + {NID_sect409k1, NID_sha256, + "3407cd6d2845197cd7414a30fc3df7184da204222ffd65c4d16a12cadabf603de8043ea1" + "4f5e6ddcc22d3572dc06dec1a23cd924e1847ae285ecf01754e2d1247876431eb98e897e" + "47412a2330bb32990f9714122109e94b38f82cfdbbf2eeb4c6f88f5dbf9f0ccb47939df8" + "be321dcd9bfd9bb99cac9f94885fee7d443fbd87", + "02419bd2200f8e1d87db848b0379741685e680d9affe693eed49d82931030b6cb05d21a4" + "965f4e1df2045c8513a8f574ca9f2e7", + "0400641a6ac72455ceb142e00d6854acc5f8b86db7bb239a5054c1ed48dffb6d050458ff" + "ea8adb68613ad3cf5977ea7330268abaa201a954ab7d62796e5aed370285d3bf91ddd34e" + "ff3b995d04967db41c2171cb2157d85032c998795ed476c891702d63ff0108f45a", + "02e9928f427a86c4491a47b31454ea7d497435af81c07bc96fa61f4507494fbe4ffc1fff" + "a8faadc2a44c7e69c4f976661750f8b", + "01e8ff4cb8c58fa48aaf61488cc4118df90e8c06cbd88234cc920e5795597ffdc0ab967f" + "a7461082a49de56f02f84cd9d564316", + "06e77ac43fc7af3c126f997fe15011fa87a27479fbd5af48e28ccc2c1bedb6c0695291dd" + "67beeec3f17cbfecefbea46b6325fdd"}, + {NID_sect409k1, NID_sha256, + "ad43f8440071285d01fd79244907803601aff4bc5d14c77483a87cd742144d41c68269d7" + "6c9a83c09d2178bbcbdf99f927b378497ffdc907a75a3b0ad019e69758dfffa480871eb6" + "e1e17c8539373de611a557fad120d0bd147f8debe5f09a02e56fb607e9c1253ed592071f" + "042e42fee39775b407225a2b86a950d81bb7d7ef", + "0722951879a65bfcb414e11712ee9431eeb32319e0ff28601112f89276ffc2b96eb65c7f" + "d77d023f09914a53e2aae2c84652bad", + "0400a0304caec1b68b34c822a2a031145677fe515dda977f6932ea2a3291c6bb4fe8f297" + "b7d3c632f9b3806a8cd26e32403c27fc7a00012d4c3231898a4202f3f251802c690353ae" + "9cc28ae5089e259149bce444d31a38927dcb42ed613d4818e235884749057ebd02", + "0331611e81d3e6e3a24cc829c1cb9087a8c6f64c286e5f1acfb1ba764eea5ca55be544d3" + "cb95fb98407fb6c8f9eb1b3f7ae7386", + "056901f11ec69f91b31f7f41f7856752568b7d34ff3af1a2259fe15ae0b01391eeaffb62" + "9976525fce5d182663b7b23a8001bb3", + "04e89c3155afda2e64c749536392554cc299b70020362e6701e3a649f0a63ae5a5da4efe" + "d5c73b5e8098c0cf47d6f4c45c6fab9"}, + {NID_sect409k1, NID_sha256, + "d61a3765229dcd0b4fa6c57280f851ec2bd54d3ee2436935cd6d94e0120d0844adda1639" + "95fbc4cd9d7275da859ad8ebf30af9efbdcfc31c7c9ef42bce9011d37cf9d15fb018e117" + "bbc102f7d05750e5072f73d02c2f45509a55627a78cbd9082cbf36807759d1fe2ecbb92a" + "b30cf28434941712d38bdd100955d611987b5968", + "03f5b5a772d24bd5454bf26759dbd433fcc7bae4f5c593664c4d75da0cdf9430d7d9162b" + "ce3d7f6e13a344259da5a7d6a1635bb", + "0401ca1441b1f6e13138880196e69743206ce09c439a507a11c0fed069d4ed23676b27a3" + "a337c976c276809ae725229c9001708742013c47b14e3069af070869c12f0f39e35a6f33" + "4d98210d33c9da01ac80057911f5a392fb5c8cafeea01c1953e97d47e744160243", + "01484461d02c0337e8113e51aa7d46330f57d423b79b580a544d372524a853db9dac0c0d" + "16f733b273bf888271135a5162e70f2", + "0256d7ab133904a792987f8cea69e8e3cc674cd3c577f40ef6f12b31f52ac6366a2a3ea2" + "b2272c7bab8be00ca0d17989b6801a5", + "020d82cb9b3b1f25d993fc18b7303db4cfab91c03a97b249176f9bb2aa5ae7f589c74060" + "d25058c7acb6de1e888ff44481185b1"}, + {NID_sect409k1, NID_sha256, + "1f3c23636414ced48fab6763eed5b22537968e6bf08c178b3d31fb1f6ea773c697975970" + "1d94bc1bee7c354272811edec58eff50c93331b22723d460e56dbee90466b894354777b2" + "3b13a37d15a84c762caca70c01518bf34d0c2f072145d274b3b6c932b48bd815fe81161d" + "8507ffbc2f783bd212c29b2887af6d2ffa9d2b4d", + "046bb4a141c9099d531dd23ac440eff1f5b10f7cf34920b6b702311d490d25344c665ed5" + "211d401def24986c8094165d10f8934", + "04013db47ac0e33af0cc7d74f6ce647fd80cdc1849b15c349bf501c95893be5a440f85b9" + "b029713339fb888d7a93632ea4e0bd813601f26f7009cede02e054d6499c9280794184e2" + "12e3e1091032fe0e3c189de26d04aa8a5909569017cf06ac2a20acf579ca81f3fd", + "046e55a908f13441bab63e5327ac346781399d5a9035a72aa21df708b814b67e420b455e" + "1410014cb53e6ab00f526ceb396bcf6", + "06db7a7b03d6a85069a943fcc332cb8c54ac978810374b12eaed4a5fa5342c8eabaec238" + "bfc6107fd03d75dc2c6d258c218a186", + "010a4115161765dd0c22a0915a0d8cc01905de91d3f08c6d2d85a6a92e1dc00904f3be67" + "fef000ce19f57157deb9afba7582b59"}, + {NID_sect409k1, NID_sha384, + "ec69f2937ec793aaa3486d59d0c960ee50f640a9ce98a3becffc12d6a6c1c6c2f255d37d" + "29f9b4d068373a96beadac98fd5203a9f229bfc70bcd449640165ae5128e3f8d057769e2" + "8356e73e35d8e9af7876f608390090892c67391ddfcc1c332aa61efbf72d54bc615998b3" + "be8ab0a9d372784bea48c9fab244482c75cb2de3", + "06f2c6e9ea8109223d9a349fce14927618fc4fa95e05ecf9aba1546619eaeaca7b5815cc" + "07e97ae8cd1e9973ac603f84d838393", + "0401f5a9824584cbb0d5ed57f677caf62df77933ce19495d2df86855fb16456a50f157d1" + "8f35ff79b8a841a44ee821b36ea93b4f4001a88299000c07a9ad0e57c22fa8f15218cd90" + "ea1de5b8c56d69506ad0fd12b513ffbd224cb6ad590b79c7677a8eda47a8bdc484", + "042325aded3f71fc3ff0c84106f80a10af08d76d5e710a35d462e880e015a36d06359957" + "3ce2044537b9f62b51ed4fd2ed8b860", + "0667c74ee2d632aed13cad47e0b46a5176940652d7da613e4965876e7e22d89994bdeadd" + "6b5d9361c516fd51a4fb6b60b537e9c", + "026a01220a1166a4d0172428753e98caf0aaac5b0a09c5a3f11b2645d243991d141f59d6" + "cc502ac44b70e7c48d6b0d7b6ec4869"}, + {NID_sect409k1, NID_sha384, + "70e11efc78d7f079ae41ac3c31c96d3220f4abfe23814a2a4a78d9b1a25e838c3408bd41" + "6062e4b0a5cdadf0c6e16a11e00f59711b417751f5e4b43ecad99efbdb2a81c91a034e89" + "edc94eb552c3eba62808563cdf64453a1db07daff8742aea4a9fa738e1322da316b26dbc" + "a2954b2bc0de6da7518d28e6677dec6ba8af4285", + "004212b7fd913d794fc6bb33e0276e349c052c969ecbf6afc89b28f75a599a9242acf74d" + "ec9f374361ba296ba42a38407f9b7d6", + "04019220ebacedc60762877881262c0c3dc0c8a709fe2ea16cdaad3b680d7cc8aae8617f" + "0acc9b5c9861ede651481f39927a24ecb2018afd77bc7fe54266275fcadc0fe8d4c0dba7" + "a1264c79bc31479f4bcd02245cde991791a7b7e65fbfa907457fb6d450c0985ae4", + "04c01ff477786304b24cb9c95ed70ba376ed6e4f6b3ab2f99ac575c92d3801e7f43bab07" + "2268705d61d3e2fd881f754b9c84235", + "00987cf8ef2b382fb25a6a542e688aa96c098f5d16be0c7d46e961b4a4152c372cc06839" + "93843bf5a04f81e6068843582fca48c", + "036fba32f80cd2e66bf31baf87616027c5b107f72f11fc766b42e2774e29e10e860577c0" + "d3a27a3b49754e6a189680b7a638408"}, + {NID_sect409k1, NID_sha384, + "d922fa515e3bed60b517a2d37cafe4c041e5ab4b5c8d8d4011bf9fc4013dd8abf7add71f" + "cfde5e71d6abe76bd0f749e960cbed55711c87b5629a2c39cff48ed7d0feaf5cc4765e57" + "6a4959521f9a45fcba0dc65ae618826447e02ce6e1cab5ce8d6c96c3211adbb0660de7df" + "7453f3aa726016941d00d8ee536cc106a603d126", + "06baeebb5ffc89c94c3e8b37b9b0904e7c4b251d204894655bf3b1235710215c29820b9d" + "401c9ca7df1404d2d62d708aafe208a", + "0400a0b2a185ad7ddcaa0d8d21b643a14948d3552e25875506d64e236a90d274ad1ca678" + "e628acc208bfe6b56c02df9f5a36aa94ec00fef210c7137237da8ecfc2f069cb9390c132" + "d1c6ce961f2bb3ca925ee727c967f8a46727c8811c94ef66f20836c661a5cd1c59", + "02185be104ad16abfe4fb83de5db067d37ca58510b786b109514debef56cceb4dd6ebe53" + "b25127b85faf9c28b56d6586c26d60e", + "0404831192b4bd453c0a7e850815ac3fad88c7a2da27d29e83ca6f22213635a366018ac0" + "038b1fb1e4c512cac15b614fb69b3e2", + "06f677c361547c91428d0e200dd00777262a138afcd828238d132c56b2c232e2b446cc69" + "3fdc4013f05ce7021aea5b5b2f1b34f"}, + {NID_sect409k1, NID_sha384, + "4f64d0f6bfc542a0d4347576935bd68ca88524ead03b8d2c494061d0658e6c3e14576b5b" + "cea5f2f992f54cfb52b5c7cf1dfc517205e0454510eef1b7054a8cd06ab53ed2468193f9" + "8ff0dd62faf076549ab2a270f259276d5729996c120792c6f466a74ab65035bf38ff2c05" + "5b43e2a8b8e2449a2375ddbfc18242157bd905f8", + "008e5f66ba53e7caad1feda122a80c32c82d2c32a7237b8ee8ead44ea8f2f01d77c7056b" + "9dd60b92d051f060da8532c1fd0e8f4", + "0401a3d020a0c7e3f3fe5b3d9fa6b6148cd0c481b4f9e14dc85aeffff35e62545654fc31" + "3f930ca2e33dced28ec28d0fce6ceaeaa2013c1ac166c3c088e8a4a9d44556e3344e52e8" + "741ed1a8b526a45268086e2fe54c24d398553d509439ad4957454eb68af594e683", + "0095caaf063abba5073aa7123b2c0e1666d29bfdfdfb0c484e18931d756ed0845ea15dee" + "1e9abcbbe4576113a8806aab9476b16", + "04d6e33001933221e9eaa78da5874f639749c7396dae90f2da4ccfca15b50ee9e50521cd" + "84d78a098e0c383fab0186b3dfe1b3e", + "001e17cc7baa3e9ff4d882da970caf7d55b4e0fb7f0cdaaaa8290fe2fc9cc31d51b34b5d" + "cc825bf6799ce22fc95382d46f3f98c"}, + {NID_sect409k1, NID_sha384, + "7047d478ec5282d55db8c19c97af10951982d908c759ff590f27d57e2664f08d526cbb2b" + "fde39bdbb1aa3dca5a8d3feb50b868be6651f197abccc9d8040b623de367e2ea1d20ecd3" + "02afb9e273f4be9f3f64f2c2eb3f92d5e0e375db6549da2a589f0604bc7146562ccefd15" + "995a7c4208f640e7a17afbca69cda4e173380523", + "04ecb22b44e809f89b16abb10be062c89b41ee34e110403e42a20ce59a99afdc22f6f6dd" + "a56e1d9d1b8ce1d057f390db111def3", + "0400dbb4a6ed11f36eb78417269c1b1e9725eba1666591afaffb5582c8b4d5bee1d73922" + "b0164a05bf21a12052171abbdd3130555201eb385afe8588ceaac9f39a5cb4455e02bca4" + "8f3d2242730e0f9e06ff1db24344379f96356531676cd5af234a120f4b61f7e041", + "01cc97a718ebeffed4ca7a9a4389d6b0fafb73ab000463b68b5580267aec203b6231cfb5" + "afbf7ad8192f0947c7f40d9e060ab32", + "021a29f56c31227daf0dc5dc919434978943b80f4b18748bb5f7d6702153b966a0a4af6f" + "209ecfa3aae0e4f32a1b7c6ae58a55f", + "06921b2e2ab81517a0785c4ac3be3d7d4b4c917d7a1e4313b123ae96056a2a4a66d9e008" + "19d8c1cca5bc0d75e4e05477c1fcbff"}, + {NID_sect409k1, NID_sha384, + "1a8384b4771a410663e56eb36c5d9ede8d161a8fb0e31d3f74bcb017b9e31232bb2e2f4c" + "65a2d85bcd1cedd93ef08d4bb4af0095731574ab3f2762788a1ba3bf0ee46684da8d9dd3" + "84432fee99ed3c69213d790a5d81b351063eaf2bda71ca4868ac36be1b571024a8bf0903" + "9b347fa996d5d161078314e24b7d073e05cb3d48", + "051f9500c15ae73d6d479b9f3d2caccc2039d8d03820befc2aae3bbaf65d59bd9cb3c4e3" + "aa8bed5b3acb70a5566047ffad80729", + "0400ee8ca7f55225760c515bae053ebbf4ab23567f95c7091fee2acfff079eda297ec6a7" + "e9d526e12e5976431f9d7e52a2318ddcd80185e2c17705a2555fbb8afbe8e41ced8ace95" + "c83e198be3c7dcdeac8c2c5bdd988800f1194e553bd0348ebe6c29c16f35d50895", + "073f96451cab2d3ca9810e265b3461e0fbe7f32fd6702f06891b97969b133eafd68e53b5" + "26b5e32b0d06ab61ecd75e1bbb21b7c", + "067d55e709f6966cb2082d8021a313850c53305a3bcc926b6f9a122181665328fdc8e05a" + "88de812357be85d22c61c919876fec3", + "063d5ee4a63b1fae39f266a9f826754f5bca4d7bd414dedd16858b5c6ac2d4162e28ab57" + "215c6713320d3d6960f6b55e3f1897b"}, + {NID_sect409k1, NID_sha384, + "43513d6dd8bb0af7a6f5a2b35f99957d335a48d54f2c4019ce9518b35441d4935518976a" + "b1df37110b5b53532cd9e2c66d9f87ae7f683d7efdbe1775a6c15eecee84c6f879999d07" + "06f6779dc158c111fe8d7201983883bc8334f51dec60004eb1087347bfdab20f8f2f2605" + "56681e05fdbb8a6139857fd3bb2df5bc1f2dc143", + "00cf01dc4462cca764f4f8cbef48c51980737b9b98d1384b8de9f4c733829db7718a9b5e" + "aa46a8475c2144fe4454cb8eeb0a443", + "0400806457fbb7fc577497c937600c5a9c4df2c20cf7dad4510e5ad617fb2849bfe6956c" + "3efeab6b805cb7b63bf5d1c94e5ddb456e00915071cee2094efdcc155f893da8d83d9a5c" + "234d0f04f738b7af5b8fddaf1d3aa152fc11894a13caee0009bc106a64323e9dda", + "024968902b50febf13be11821d0d316f2daaa07737af45ce2e855aea6ed58f226d2279eb" + "e4295c5d7674104bff75b899609561a", + "0549f18f1d654f26ca134df4707694e5d9b3693bb34ab5123ce4d9e4c2b2d9756ddad957" + "a4169fc9bcea29944903080f6f5d01b", + "021887355c6360bc4ee59f1badb5325763e9428e60b31a7abed06ef03bff0b1265662d60" + "4dd2e0140c355c70fce1b56ab143201"}, + {NID_sect409k1, NID_sha384, + "752300bc5066d0efaf807183a41725e349907b7339d77c79921ead3c685b616b0eb97e70" + "8f3880fce0136c510c8cb53b22cb424af6f1c34633600939a0647c02d8f9601f9416f1d2" + "4a51657241fb559c25dfba91402cea43bca1a13718b3945b048725f3df560e6717cfc6eb" + "d894e29bff1e0c7763f15b8ea93e67385f059598", + "063a9a565497974c6dd459bea0d1196d74f263f333c31b7e8591499960e1cd79e2ef4cc8" + "709f6d54713f873b16e7b0be42f71c8", + "04018872e9d9410dbde671fc050ab88101f01d146a72d62b630b29790b20fc02cb62cd0e" + "bb5b453a46c60ec2d2c66de8715c32057801b6af51db1c42b743b89be0900d23f7da80b1" + "5f2e7a2a965c7bc13800bf58589560af4697f873b6155194badf5a19a653e63da3", + "01d3278e6e78386146fc15006258d7a62a1345db3c2e44fb8d3bf8101727bef254a9fbff" + "157072326a85b5ef4e17c5b0212bedd", + "07bd5b54d9c6d6f9c87f4a66472be2c4bb7f521ae56c1dd71781d95440b0a151d206ddf6" + "27e5ed3f9c7df2fc914a78454e97616", + "075e39ff66ab0e0d1b46f9679b95d10b692874d45fd6898c569aac28a53569646bb29f85" + "56e529ef83a15c574ad5e1c82878154"}, + {NID_sect409k1, NID_sha384, + "f620603489944769c02e2f902c2299dd5f32b5fb463c841b7e1fc0249a85d2c31684bd3d" + "aacd97de8291c5d39e84d6e59d3dde1b30c181bfe8d31b8d8e080bd191690a67fa00024a" + "c8c1b10981b40d4f88789ecc58fc69b15417fff34834e23453bb9933a43d08afab74d056" + "f366b40ad167b51ee5f008db151a12b467d3eaa2", + "041074dc186193d30aac7cc6d269b938ab40b257d095e54ba79967a377a91b8f73671470" + "cd07f0a3d1db7cf0a31ba9070625e43", + "04018fe9848dc599a759d90530480a6f11d052d2ce21a7275769ba02a61658c3b69ecc54" + "6aa6599e6699353ee1d65ce533c69fb2180192b9c41bfeb2af4f29dcd1c43d3fe72a070b" + "5d085d070acdb8c02f0dba00c9471df1dcca1006709676bc08b8ddad97310e25bc", + "036447681292dc781f7f4ed60126945354ad1df5987266038c5049d698b2ae12965b6fc5" + "8f3e944c4751406087859973d8afcd2", + "0541c22a6cb984cafddb3269ba3ee56af64cb36d03b7cd1693b112a7df20f0422219f85c" + "6820130ad53ef69fb66f3326bb863a9", + "00fa66b163ec3582760b048ba9a0fba9443d7e908b67d749d732ac9b6e89c1fcbc6d3ff4" + "e02a43ee41414b15ead0cb83749e0a9"}, + {NID_sect409k1, NID_sha384, + "5575f610762b42ce4e98d7bcf45a7a6a0d66ec7f27d6b8b17f1961249d905bc7e58e2ce0" + "806d467f106b16285dce4544c72666d08b5e2276cd0c4e13187cbda8aecf57b1855afedf" + "8fad39ee4fe009f204e60bdbec79b123456ec2d85631d382b8a2f2c7634af3992e4707f7" + "b4215e2c9d3b0aa8fb08267953883a4213669d33", + "010820db54ccf0226161aeaee79cfd2797f87702b4ee91adf8543b3c9e79579d0df8a889" + "e366ec1e0718e039b87a37c24d620e9", + "04002eb4e313f158ba7497130e2d64804ac45a7db207c55d41f39979e0303dd2641c8105" + "0fb7f24f2fd2485b90f60985cbb15d56be00a190fb6c81c104164578da6bd4f2b193cd11" + "935e1f87f14e824c2bf8c82c39f0be1a6de3dfc6dd68af8cb14f6a78f38773a7ca", + "0118e911f676f004fe581d1855e5795e5f4ddb33fb8d409d557aeea87895b7c23a513ca0" + "010f98b3a63f2c65da5e3b6c37cf5f0", + "060c7f7c47c16b294867cee3e65eac8fc828229a5d3adf8e68e14dee620e9d4e7b78c8b9" + "02b5042b5f19c94e621c52836c95ba8", + "008d036087b23319553faf835b793c73204cdbe2c1c2463e74de8f404e66ff15ce9384d2" + "6149e7300ed1a109afd1f915edef912"}, + {NID_sect409k1, NID_sha384, + "81cf067411dde2d0ab04fe5fa1e28e6975cdcc571588de60a35bd956a535fbbda4affd08" + "03d244f3f7e6902a2c9a7ef2488691b6bef7f8ffb33be09ccae4c5285265e4957f7928ea" + "5cbabd6823297f59a7cfc9939a49f26bde74c4c69e2d38c1efbacbcfdef0112138431580" + "72be84ed3c1781f67a0e2d4e9ba76a585c17fc0a", + "059d2a06e8bfd5e14a9bc8777958b85be5e97af892d2cdeb0ecbd2d5017952b5042349db" + "5fedba2e26e7b85bbb31ad313d99434", + "0400af276952a1216ac88ca7a194f5b27b7c98c78c42f852dfc1a2cd4c1a477ed16eebfd" + "c90f613b6e264576a35c45f49aef8a564c00639625074b69346dc6c617d624d63ce415a3" + "6154a817f4e18c59a3b09e01589407077b19bbbdd57b04ef8fc2cc23c673d52910", + "002728f7e9b4772ab790af0be9ed5b3eab697c4710249169d2a5782ab3797b8fa21bf8c1" + "de659e3060af5a286353402ab982320", + "02a7027c6f94cc236dc8cbae35f9c38102a663b84f66143e2fbf9a152b1a6478bd803bf3" + "171f933f63509d539a54dd348002ef5", + "0549ecf85ca1bae6d9f0038dcef90c93121a654552780f5583a7d44a73a9360c6799e76a" + "632bc8907ce4626c0439f1518e3a250"}, + {NID_sect409k1, NID_sha384, + "8ea18387940035cff2f37278d321b344231075db43c7fa7fee9bd3fdefe5e8f03e7af9de" + "afa1022eb108e19ec11fae34536a4fbac2e8c8139a081a997c080cbe8f3e2d2a72ff26ed" + "cc5338b21372fa1498e439e4d9bb12d51cc539f859047957b1b1f1fc30b90231eb06b365" + "a4d404a1fd5a0e5cef171fc95b04d0b557d78ebf", + "0405590893cbbe18f4ad99df28b5f9d17f8f1882269aff0b7eee9392859d68927a99c942" + "a3075269ddec6d69c0df2d76ab9d801", + "04006ce67ace45a9cfa0cb45e8e1d0eeb44e94bd7527fed6b563f1069140a3f36e010f85" + "e1ae5ef14d626c78465cae43230090baa601a66a58d87621b63ca662130ea342db029acc" + "2d99bf76cf6ec4e53ba71bde4b00e508d332081055a65fc6f44a96f4e947d729dd", + "0035f09e0c15b41c958596ad3f5c4bd4a3685ac94f19fb97503fb5fa29115cb18fdff4bd" + "104535847ff36650b7461550dacf2a3", + "051775fe1503ce80b3d581ea3e5ba761665568ce0eb7d6a7163d8d025d76002ca7bcf6d6" + "88b6477ae85d09c0d4017aba5ea8019", + "035cbe69edfb6fb99c9e45240b7a587c3805ab2ed6b0399c7dd8dd76187363b2ba1def66" + "b2c3dae4bc2e40d164bf0f4837798d8"}, + {NID_sect409k1, NID_sha384, + "6a253c1aa17b2b1e6624afc8e7456d366ef5b1bd78e740538260f395481148a64da0b6a5" + "8cd53d7e06c691beae1a616547cd95c4d259a371e51c2c0e334c8a5311ae31e4c7af3256" + "86ff9f7a36f731010ee1a9b8a29169ceac36a060dd23611dc9713c615424888bb574ad5f" + "5755d7311bd169336ae986c977a394bf16487c4e", + "062bbb4f565aa0f23b88ab9029d33b995729d10fcfc33ba7c4051e2fbc72f15636a834e3" + "ebfe604b927cdfc89f53c57f36890db", + "040125242acf14c7e08e9f2f0194f734841758b1eea1e37ba80b9855a14100a5f0b57bc5" + "2a0200cb640121d96769e9cabc45362f5600dcf52cb899470943a37d260aa85fe83c3869" + "c862001021660ad09b4d73f7739ad331b3566bffad590534207c6db9acf98399b5", + "06095b4ed8d51e37f6c723648af4cd4585d9d250d7519139f58a93c75f197c4bbd1142da" + "59769a5fe178415c677caed1c3da667", + "041b212a54d4396ddea2898dadc363ac3ec5385c9b3b8ef1ea17c3d2f751d4f791372385" + "48ad759b5e1700d7d78072df3bf84e3", + "0149242afc524b0c3583037da153f539aad85aa0c19c6c70852e3c3923df8c3abd0189a2" + "abba872932eee2e6f45e02f98e810bf"}, + {NID_sect409k1, NID_sha384, + "0f91d0f0139faf3b90a3d4bebd7e96ff6bb6f90f6c68321fb392637d8ab2a60d649a7b73" + "64ee6e4e274e1a8d342caee36cc11c56c54247fb0a8e8ef81ac4322b454dc9a195dc5456" + "7bf47ec8d4fa4cd32e76d78ea2d08bcbce3edbb68fd8597e56d5a9f2df4e47b2701046df" + "89615961db601bd8204584a6a6cfbb627e2a1190", + "03fad7031cf8810544a3e4bd1382c0a2e22c5a9fe4804ce67b27591fc516ee81dbac841d" + "399327168aa6abd79e2b5ef85df1528", + "0401ef0f918c683be57eeab95d5d1850bd492ace7f4b37785863647774a028e963ee2c0e" + "ea801838aa8217fad75c5780f1c36e8d4c01d5dfc69bcad46bde5539c58ebc89e1db2a3f" + "65069ed963280cc2cf228b2568bd53c6e0e164d6b63a5d3c2b8e3be9d5139a62ef", + "00eb16d784e2aed724cf1e4b72fe76b00dc80948c07f9c7524eb0e83bc59c12a8ed16fa7" + "ff21dffb8bbaa82925848a19c93884b", + "04a07e79b4f771363ad4c46cde0aadf3df4a233740a89168c97b54559029c51dc2c79b7c" + "c94a0e4e3d2f94e376fe47993da28bb", + "0360f559d37a777119b2aeebf00cc17e2edf04a2cbdf74366f5d34368d2eb2c92958e4dc" + "2b7453d5a509407a4d4643cc0235f57"}, + {NID_sect409k1, NID_sha384, + "50c17c1fe4dc84648e5c3c3ab8f7c971d4c58d8d56d2b5ddd92e35e6792111ed8dac7644" + "ac8a07ca8bb4e38e071aa47b22ffe495e9083f9bf781ac1b5fba571862c909c7aaa7b8d0" + "5ddfb7ef61c99700de734d5658f44ae9fc908c85a2dac8e7f854d6d24be805fcd7f873a9" + "1252985c5c73129c60177ba8fd99daa87b25a073", + "03db41b4f637fe7977c90e4f1a21799baaddd1826c667102414877138436cfae1b995984" + "2b8097b5276f15f2b982ee59df263c8", + "04018eb25bbdeb41c5d14edc675fcac8a523acbfadd6456632bd593ab5f694a7734b163a" + "ceb6e6b3d8ed83fa1cf7b5adb9871a6626014975abca1cb769a243936e65123167e53527" + "9197a37d8c92c7b138f31cad4e95c5f62b06f438f94c1a61634b34be7b96f09fbb", + "055fce73c9c385f007256253281c6b9d0930d127939026495d0a30f25f77fdb6b334043c" + "39fad4223852f7101fce72746ea205c", + "01d7c26e0236afeac032fc5f3dbffc8c03b04417b514adc26d6a4f697b4e87a008d5ae97" + "544a274c25ff66b98111d7c651c9381", + "07954191fad321e7f2de95a87d5a9c4527e658ef85faa6622d5f34f8bc2b84c881ededbe" + "0281456e9b70eaf7a207e253d216533"}, + {NID_sect409k1, NID_sha512, + "3583a3226e2dc463a462fefa97024e6e969c1b13bdc1d228e2d7823d9f7c09012390c253" + "5baf086588000e908309090daac6e6d2b06d2ede6fae838ed47f30b5b481185f607a3586" + "f6dea47c8f84e9d3b96d5b0ebae2462fde1e49d84d36658e87dccf5e30c0937feefd8862" + "dcdb1a1ca373f6ae41641502ac54df6633a8cec1", + "065b76c6093d9c49591293471286df1a4444e60d9d06cfa114e175afb5f119d2abeb273b" + "0596019a0ec5db5b5869f2cc827b364", + "0400266321fd15bf6b1af862496f467069819e3860f74a07825e68f3d023985bfbb838a4" + "9b6a41b6515cacf404ebf12ce0bd3d6d70001593c7a8e629599e63d3282cbea780235182" + "77e6731fe8d88cbe525ded554b51a7f8803ab9e330f210619dd07df8f67e1066a4", + "035682af873829e16b72bb86f3ee99b5d9f052e4a631b07f87d3b361c8d8260a877231db" + "cb3f4d461b4a1d4467824a26a5a6414", + "00a483dc2dc6408c256fdf63b04d71d3c58a08db7167da217f466cbbfb2d68444c10e87a" + "9a1bb04efd71135c00226e58414d407", + "078acfad2f2492f74b0281d53e4224c7544588ca9ceaeb16bf759b20c2f3d3ed69c64615" + "c247213d51800569dc8b00078de68ef"}, + {NID_sect409k1, NID_sha512, + "60ca58462d53d074b370127132f4e59f5eb8d15594dc721a94286afd082a8934e52462c9" + "c1c3910f8b50d7aa3671dafa5972958d876d7992467b2fee3795a6f9d8a7bd3003a8582e" + "a8c003aa1e02c08ab6804d85bcfa13a815d75c938671f0af0706c68bc70a6155708ca755" + "cac2fbb68b2952208d63e0e2e3d816f04c61bc03", + "07e9993f3fc1fdc4c376ef77ecded96006ac1159740bd1b2dc6ae3d97e15a67383f1fc93" + "1e460b9af3fe14a54e47919667ed06c", + "040189b82003b546f94c066963239c7a590e064b88bb4548678853545920e413f2be3212" + "5e40efb82d2c9582d2d8269c1d408a7ff0011583b267727ba6c1e17a244ba7acdcd83698" + "6089860ee312b6dc2d88a984b1fa232eb0419730db8fb94a5e077009c1d55979bf", + "07574dbe04e1ac2bb34e40f32d6f6db364a95cc5770b79888d72b74bd4dbce9fd91136e9" + "e1152424d76688dc995bbf2bea34175", + "009e42a63b41877e200829356a2191fbb6f2a9a234be58c76b0852e4f348ca61e7492f90" + "a37feb8b95a6dd6df9d1a2e61c63b4b", + "01499fdcc804fee8193de080b085b7513eb8022503de5f64dc12c04c0ba24af30e30f63f" + "0e3eac2c82eb20c6672336f8732ec5a"}, + {NID_sect409k1, NID_sha512, + "c749f9bb92ca9957ca6d0124206ebf65e860ff38a225e241950bf4526cef3f4fa9184ec8" + "3f71f813fe852dc08eca6b45b14fc7f2c6a19296529bfda007efe9d0d26492de2a902b45" + "ed39603e22f0a763dfa5deadd97ef6feb859d860baa2cfd1d066c0be0f9f4e0e2fafa69c" + "c51b12e814ad2e33b0acc0bcbe1df8cf018dcd4f", + "00c11e2979498695c660a2bdfd105b115bc4ff8664ea15cfb40c725406c6fc9a13027bd1" + "d72ffff6258f29e4e19b845243444a7", + "0400904a9bfebc23607c7c89b7aa89315343852cb894f54fe42ba4225285e58c6bc318b5" + "5691aa6a6ef22eb11f44cbda89f157d7a8019cc1826280e54832b455f0ce0cf89bdb62e9" + "73a8e819fb776b1a202b4f207b8baf9072929c9e3f6a8ff996d6d529de899b024e", + "070fe023c9341df9348f08882bef47bd8dd7f13db7215d1cd52cdbe7919031a62455ca96" + "9a8cc6db0a05a0b4befb47c142c4f34", + "035e7130d59d92ff8c4f264fb2c346e052bc305c7f57549a0fe43cc7cdac6aadf2ce1939" + "222decef4e1f900e3c2fb2c52bf53f5", + "0008d5ec1ed2091309ac11eb88157ba5122bb9b5c858a46769a130f7a941818445664ac7" + "8325e0b6d2a11bc89d08fe0e87a5bcf"}, + {NID_sect409k1, NID_sha512, + "4de8414780ea20f7943b1f1adae5e3962d96e828fee43bdbf2831bd71bd25df2976a3be3" + "7a7a667c7fbe1200de578920090d131a750c9bc09bd95b261234ea8cc25423c4ddfff565" + "6d6b32da6e2f6f530e6673a8660aeca31273bb9a3a21bbd7031a2fa71ba37c004d3d1c64" + "b2c0798783e47b2efe1a208959ac16e35d444245", + "068dfc23c6635bd1fa1076dcbd456ad6e8df7ce7c1370fe275803befc4ffad007fd062a6" + "1cf1d50b93aeb9afe1aab47a65af82a", + "04005591f8cb59ccea17bfbcb74e69f05218d16175f0547ab95f507ef8d7426c077b52b8" + "2dcd06baf6eae7a66bc72422236e589e420126a01d5c2331a2d00949e07ea9242ebb50d8" + "30b0aaa74bce841d4e43bbaa9e9aaa01ba25db7a8a2f4d72977c0f016f625cdebb", + "070682c9659089a703dd9fcdf2f3fa0c1d1ef5fae3f8f1b3dda55d9b611770244f892689" + "8c904f6952c1847d287bca21db4dd59", + "02734111e3b736ae795929f835701bf290dd50c0fd625738ab2769242c1403197a3f4dc2" + "9ca618c2e292c6bec6dccff71adb698", + "0755292cc5363fa74e0193a806879d3a275b4beebc97250fb230efbb8364b2a30098c048" + "8bcc6e20449622d6a5fd2ae24d7abe0"}, + {NID_sect409k1, NID_sha512, + "a081d54232f84bb19dbd52ec3812748e2e6486f6cf1b177b27929504ca878036547eb435" + "31bb5b3edc81bfe105370427e92831d2239cca0106d031d9fa8da9cf89c6fb6401377d59" + "36b6329ccad854e5567181b8f16a37c35f333eaa0ffe91d727d183fbab935fdac2d5670d" + "afb3fba59e4fa2df1746c58dd8360fa08af7f4e6", + "040807fb888e1d9fd33604546656a493629d94d4a0a9de2608962225ed158167f9e2438a" + "be2d12a11e2adb6c2b66ed78215b0b1", + "0401787c0e6c55acd69bde9b0a84d6022796d5b5c60fe5357bc0fa4386c16f61b38bfead" + "b6cfebee7e7701bde24418b8b5642afefa00d9579d271ba3d5e2327eb863cfdca3970700" + "55b97714e385ffc2fc23528f696dac1a4d0e535641f6c876f1819f2672a8c31cdb", + "010b8f5356d8a029659492c444876f1d274b82681d4f600cdb5fb2afde13598ddb71676d" + "9ed86e83351c70678886e8237a865d1", + "0304f43f9705d189f47ee09a079494030b0756993a93e4c6ee6b5e664f63431f99e50574" + "7c24377e5930f13492483e6cd06ebdc", + "0580d4707c97f0330f908042a6cb2a2b313f07bab34774ee03bbee63a4ff881b68def47c" + "d300fb49deb49829bf486d1efad39b8"}, + {NID_sect409k1, NID_sha512, + "ea60266f1538565b3ff42fa4bbfe319be070329059c52c8bc04a7da2824f209c1145a05e" + "551ea59ded8ca8439c328f6907da4e81d658937df614be98c7b8648818ea80ef40e49aaa" + "4431f4a211d62acf2611f5d60c446b2b25745078c643859be1b12b3141a09ab765dd63ea" + "1f2a2df015eca0840087a5db378c4c4cce76cba7", + "033bda0a02badae08fe40c239b9d59e5bfe1c4d4b9b7a5acda6790bfd77ad08dde5e93a2" + "da80ec54a7f88146d72218bbb88aa10", + "04002dec536832c8acf007daa66a47e4eeecfb6991a359f8c412299ef56c6ca2faaf18c4" + "db708493e84786a7837ab74c5fe0644cee00906c8f603b579cc2384e0803d31d577f7c91" + "c55406db3b2db91bbca323fdf3cb6d010617ad1aae7bf414c4d974f22e6f05af53", + "051e8d027e62db2397e4a807d98a24455a76eff6dc259ada89e794dec1484b44724894ee" + "ba842f60b73287642570460896dbe77", + "031769e6777444095d934d05dcdf82405c43ae91ad5fa9201568ae2aba25712717f1af2b" + "8f49f6eef373237bd70c34889d0d271", + "0023498aa50ee095f33a4081bfd70a9484089c85fc7a4569f560ed67243745c823cc0217" + "d29e2938f06ba9c8790650d10fa5b1e"}, + {NID_sect409k1, NID_sha512, + "82f38c9405ef0d26bcdd5b3fce4fb0060c3095f61403418e17c337933f0563c03691fabd" + "32ab5e896c593439e7492a9970ae325c67196d9e83fe0f9780409a930326f7e6efae035e" + "f8c321cb9ad12461edd5cde66c04739fe079db65406b3c2d22f2d04b1a4335285513d4ce" + "b901d2ca2ad10c508302266c2cd6079ff14eff4b", + "04ff431769d26b8837d3e1295f5464fe82be29edefba76323e92078a6483ea0daa962215" + "49102509a1bdcfd46a5a2e5de10c39f", + "0401beb74d427d849705cf26e26312446f27a7c5ff26ea9dc1aadca763254fe53a622de2" + "9cba4fa81ee2f9e0319e752f72be46cc7e008dfcda35a00ab77c3c47dbc05b0678cf561f" + "575369507097833e86e523dec879e0ae9583b4261f7a73c9dbd417accd4ae6688f", + "005aff3ad332af23e0dc38c16853252825076d602ed4c6d947be751af5dff3f59611e616" + "6c31740b5e5a167260adf2a5466289f", + "035c4e8e1858b9694cfef3e864ed959638ba309ba2066a28fb9d0e02a66cd4c187dc6fd8" + "ca5fabe68acbc2074168157b685aa6c", + "04ec2db89645018f9845b7ae31b8418a767e3570d401f41db18e424fe861bf09114d7860" + "6a056617613447d125a283be5bdb6ae"}, + {NID_sect409k1, NID_sha512, + "d8506fab4f681ba4ae86066aed447571eba4fe04e6585fe3be6af2ab1000a3da68c5b0c7" + "11a85ddf3a40cb7c8944eef81f2094650459e14f5b848e6add7e580b0198070f873eb3ed" + "5d0728eabd92bc1398764b94cbb4cdd7cc2027b9762dd10782658cd9e8a5022ac062fec5" + "35d892198c8a387b3d2b6f7c92b1af6ab7dd9e4a", + "03f85ca1169ca7e9df44cbc6bc7d2868c9d94e8f8b699a42ca492dca0914eb5789a90322" + "18dcef7f95f959c9554a1cd83360439", + "0400aa3c77dd4324258bebe7da5338c772d3496e3fd0e57f455459542f1a1c5b47692f51" + "c3815c9549d0c23fdc1ff610fff6847ea8005e626d6aeb86dc51f3b359b10862cd33ac99" + "27e38127f7f17426f2369d62132a2a62fb6b8354c5ca0b3e5c7c87117b4f777a0e", + "0495099cc73c9930333ae3f9d0b7057d7c70e2bc7c805c0c6a44404739b3fb68f9fafa53" + "033b54b7ad7bfaf4bbf7baba0dd5a0f", + "005612fe87c6a3a164d269da902aa43c5a4e0333770ea6334f05750be3f31ee758d16929" + "1e15b1540d40b60d1bda279599f254e", + "011a633bbc058550a597585bbc9f33099eb517795600b019255f649493d4a6dd533be8b0" + "965d9f9d9698677491bf929198ff34a"}, + {NID_sect409k1, NID_sha512, + "b3f30d34f252a4c26f396079e773142bf61c0981d912333ade3de4e27cbc72cd8a16b318" + "07f0c46116f87accb854487d83ec8c6a61565e6fca145eab70048245db08616779d7047d" + "b63aabd90dd15acbb05eaa510072c151c0518f1b34582b95f43ec7b9484b2993c176de79" + "e84566764467f72392ef31619426d159c91816d4", + "03a97deb36d68f81f50c8829d412ee5de7f9d775633cb69c09dac558182039e275fc2582" + "40517a7c4aa592e364765321f27cb12", + "04013f0f4c16a47ec3a46e7a088c1b6a63ef61eaea46aa9b2c532d8df84dbf64991bdc2c" + "81ced3635e562d1403dbcf6aab2f8aa9da003aaded3b99a454b820fed989dbf6430ddcda" + "67db58e356397d06aa137fbdb365ec43994abd9c0a9fadd2887da9539bb4ab3c44", + "06620ad14a5835b9e9e104607c317cc599416683a60ed8865acf78ae1e861246567cf9d9" + "1f759c2d4c82cec835a4784d3c231f4", + "068faabcb7c716fd73f129ebc6625f5b4660a88e47dc7dbcebab321051a61e46b74409e2" + "b0af420e1671ef4efe04973c43471ff", + "06851e5da033da0f28a89dbbdabe93ef11331c55cc03d5b096c0522370be681241fbe71d" + "1349f219ce57761c85fbe208ac36a36"}, + {NID_sect409k1, NID_sha512, + "0fb13b7c09467ad203852738eda5ddd25b17d330e82c279630b0e1f0c86681f67f6e537f" + "b00da9419114973c8559306de58b0387d86e52d821d982a60769d2f15fd5ac2ee6dc55d8" + "ac04ee247282cb2866b8cb8b4d7b4b6cfb33bfefdff09a73d727193e5fb939ff66ac5fcb" + "644a44f9083a790888cc538c5eb435243c6a34a8", + "03b1da0ffed24e1a3b5ba22bd684337f6b08053591620541bdad50c761d66201a2cf21a4" + "cc636426456525b598e96baf97d9851", + "0400116a1790e621272b56cb4579ffe6ab629a2d077b779b73e039d74f58c476283c110b" + "b18b9c9ed63de7288dd678064de68b7df60122b43afccb88982f2e07ff35468178572bd7" + "2b644322d9e1ee68f78880169a83a5bb88c6c994762a7e8d80e09333487ac30fa4", + "06d7a24f0fcad549e9c36dbc70ce264a75eb37b74db98b1f6a824ad1e5635be9818f45c7" + "544927807dc0fb3bb5fd38556e8656e", + "0232339b50bdb772d15f2cb8973f6dd9397af45cebb69adfc089bb802e9c4029dfb2078a" + "8a26d7197de10638ce512e5904ccc5d", + "056add03244174966d53105c570e8fa660ae8c5d53316a24cd26f24e29e4b7459f4c9dae" + "f07442247b63665f97a3c07d91a8706"}, + {NID_sect409k1, NID_sha512, + "f9b8124281628cf4e1da0cb4f021c8d19d815644cd80c7c8de4cc62722904ec4cddd26cc" + "4891f30b15098a25ba6923c6abf4774deb6e1883fbb409862f94467e75a725e7154be860" + "fd58347577c83adbf18535c54b102220197afa062cc1c84f6094490ce488af4a08d2c5b8" + "08a2572e18a59de96c87162f88413795351cedc1", + "040bac7e0d3b54c7753c79d43469e310d876015d948fac4e3a9765444754476af72330e8" + "8d79ee6119697aafac8435ab5690754", + "0400bd4fe8daffe47bfdfc43deca20b15da7c999084bee8983c62e3dd33740143c38d8f4" + "32cbacea51e6f53994265b2d8f4c393f6e006d88c33c31f4e143b13bedd5738bc1191fe6" + "815a099fb7b44617fdeb08daa0cb74edab7f9a8c67ac1e9c0f0fb21a9f02ef4b6b", + "020f2f6fcb3e471d47f21fb15301784f7cf3632dad3627a9ebfce587c0097871eca580bd" + "a051b100f991aa6de5edd3a7684e839", + "014f8884b5107e9ee5cf6f5d137ec9d59a85a6fa0431053d58a1400fbf0d518e8910179d" + "a1160de2c6cc8ea8ba8f3af8e0e1f6a", + "019aa8d55c8d876989f9b9559db0576f91c4610dc9187c74aae2d4f212cd94d90dd81ee4" + "483d88d866aec1ed469c5e3eed7d90c"}, + {NID_sect409k1, NID_sha512, + "4e3cd6100520db050af0daa69fe3cfe6603a223d4f2a6318fc5836db8640d4c7fb80bb78" + "1302036d2d6fb8e552b4eaef3133b98ba2d36b9ef0b86243b0391413c73d48ecbf1d1917" + "0f1b3b781b35ffd316afb1d55d1dda8e91eed5553780cb2714a93e7ece698b832e853e25" + "89c5ba2b8a997bbbbf625071ded66762af8cad42", + "025b7eb3bdefba3c5134438caf968f615b315204f348006f82e8d61057a8a8a853230cf0" + "500f9d0b8c1551a59b9184862dd2ed9", + "04017d2029cb711e52df416c54b63a95a66602a1d15c3761d91071964e0128c91ea766b3" + "d409f72d9fbb5161a459c3fd7990f87d8801e71a9c66a4d4dcf199aa329e44b99f80640f" + "c760fa7326f29c273aa13b153df5277feb3c049e407630173fdc9f735d7aee4e10", + "0575aade2692534b5a1a17d36c36973d24dc501c75c3b0b497a3d2fec80c67be7107988e" + "47199d4863044fe9176762497b5aff3", + "024c6004fa92cad446b8339917f517f04d22db47b3f9bdb83d863dadb5431866ce21b13e" + "780495bd66152ab33eeff8830cf8538", + "034aa568aca7be851d276d2235e42b6624df1cce2b97f6413dd3fc506f0f18483f95f911" + "feb0eb220415ac593f2c93dca0808fb"}, + {NID_sect409k1, NID_sha512, + "5411708381a65bef4381c9e13a04cdd5ba0c15829f7f25ccadf695f635384d8e4704cb56" + "2741747831b33852567f42fedbd190d2980f1bc921ce01c17d659d4bdd7eb787b3927fce" + "e659dd3b65132496c687f2249272a473d46326e66b3cb78dafbb522390162c168f73bdec" + "88adb145e6afecd561979846ea4c8cee38dc1686", + "0673b3a2985c95904732632e5d988d8d437a60db13215bb6aa880b348f011c609a1e8604" + "61427a8cf0d622abc47f910f5c97ffa", + "0400c4f1c0cdc44d867ed38d093eb967bfe285df897868c83ffcc0c53463e3852a1b2039" + "506d9508bf01d0d79ae537e42fa2070a5e00c2bd9343041c2c4100c5d795ef355c796a6e" + "a7954cd729e11063b14a27fc2c3a9ffdb3647613b44238eee17d9cc49e8c5dfbe0", + "019a9509f5f6d947532638a3c80782b556c553edaee9ade91e457f7b5d2c9055572fb116" + "f52cf4d3a2a0eca72fcb32b2f58e952", + "02def440e968d17d9904c5640619af2f447f74b7c067537db4a15be87df4fe68f4489704" + "7fa8af146462ceed4beae36d54e1aaa", + "013d5b00fef639c556d66420090c2cab1edc57b7257dc35addd62a5337300e94ea7ee116" + "e06b744da1b575d90da81e8ae2cd424"}, + {NID_sect409k1, NID_sha512, + "23757fa60fcabf543e603d8b31ef0cc99b3ed16b4816a84e01dbfc858872fcb79fd03d2f" + "8a1d4f28c25dc42a39e20c34f81ebccda1682ee9bd22fe323e7f8ea90cf4a2a6ebb634cd" + "1153cdc35f7306f28a2efd822bf23131baa1543d0ed5ab4c8168d3199983fbee117085f9" + "0550ec3ffa2b06070d3add1d707fc2593285ff58", + "00db7dcac414010b816236cad584dabeaec1da76c97182d1b62f87bb7fe2946a64d10430" + "571b2b29ccf2ef72c969a9f045f1f3b", + "0401f2a6cbb9c1fabc8db2848c74d918312267888d822b7dfd1634a543dcca4be7c99723" + "9f6281d1d8b5da9adc694706b7b19cfb0c01bde57a2ac15f4e6b26a373a624588a3379c8" + "eec758f3c68695e2eb1856075d90085f43283d982526c5e57913cca5e2b4169f8f", + "05a3d856ad1d6164993cc59e70f8551e2408da92c7e6cd52df51b37dc22e9ebc42fbe6b8" + "3c332eedffd4086a382056175ad7009", + "0489b0344ae4278a0376dcc64ef9ba8595bc2fd62ad22d42fb431d2863d8ca353cd9e59d" + "e4ac10108fc247d6ee9ef643f6bdb3f", + "06aa27335e15dc910515385764387798cd4a9b4cd6d99d7c42e07fc04e2bfedf8dfaa7bd" + "a396f88253357d3e2545e895d9aa3b8"}, + {NID_sect409k1, NID_sha512, + "b976314d2f066f8893307a726f450dcf2cf865c170e90e6908ce9787eec48e1e2119a731" + "b2bec3c12fd4e6282a393774251bcaef91af6ce57c63a8b45bedd72ab862cd169b7c84b8" + "f6a72084ff823a96f2f8eff3483a7ebfabdabf0998377c5a6836d88135cf61c65a0ca7ca" + "57727da68047dc635c17ad13731035fe9a6402af", + "04717efef16e1ae267e155aa1daabafc68515aa391dfeb73c13d01f3132bd22c984228dd" + "dc4dff4c39979e7585acd3f730cfcfa", + "0401526c58a3de46c95cb0527869f7d637f9441cb5504e6a01f339907c6df3d079361a41" + "571cf0a0f11996028a41682dab5decf78601581903be8a19bf8bde1d89bee0d436f061ca" + "1a3ddded4b7793fbc32ff852671103f34e16d469eacdbfa457643d1b18dd1c4107", + "05c846bf61c068b421efc472469ab1ff8d9f34847ae0065ba6f4a000be53727b3fcf97a7" + "80362566e13ebab84b9ed5f0cbbc225", + "00aa138e742ae81eafa820632f31e87bdcfce6b909d85805e46d87d1cdb8b968907470c7" + "ef5806accbf6245628c70d264fdd95d", + "04df507115384327f7b8311dfd1227c19a6124cb9bb5901bed45d8d5ca45db0903f53e7b" + "bf136350e66bf2b4f3d978f8bc546a5"}, + {NID_sect571k1, NID_sha224, + "964ad0b5acc1c4db6674e86035139f179a9d5ec711b5bae57d2988456bb136d3aade7ac9" + "ef10813e651ae4b9602308b071d75a934a6c012eb90c5eb9b2947b50fc97b1d36c5bf9eb" + "13a7b06c94212c3dcdab402a563262298defff62b836ead1f78f9d20713710fb48115cc5" + "045ba15140fbb4bdf516e4150d830d02cf30963d", + "19cf4f4d06825499949f9e0b442586fe1bfe3459813a2b92cd8de0f775a4735e02655702" + "ead8e60824180761808d9e816d60bdb0238e1e8039ca7bb63c92e1cf8433ef447e64ead", + "04007b9cb1728cba80367b62872a986e4fc7f90f269453634d9946f79b1fedf42ca67af9" + "3e97ee0601bb3166e85357e8b044e39dcc19e608eaaa8a0066ffc48aa480c0e1e8d5569c" + "bf0580858ab9223c2b2ea58df506d703d64b387a78ef43846894e7a2e47c02252bd2c1e3" + "d21ada7c21d50a08cef0f9a189c4e850c058cc57c37918251b5aaaff2321d7355b6b5556" + "44", + "0726d5e317f888dddc94c73acb14b320ff509908052868f8c6b14e531ca467c1f7c82874" + "76674efd0d636ca94c24a69d15210bb43a368a11d3453d69ca80430cbfb8b6e45d8f21a", + "04ec6205bdd8f7eab414110ed620dd3fbbda4cb3ad9e5559a114ca9344782847621961a3" + "577cbbe43d94eff6ffc8dd7dd09c049239f026a928301ffcddcc910bf196853edc86d31", + "16535b1af98a75b9bc0f122ca3ce23a01800fa33b43584a94fd8a8d6f40077eb739f07c9" + "f0e179a157a28023735fc8da2e2ebbee5f7308925900e657fae7c3b321f14fc45346f89"}, + {NID_sect571k1, NID_sha224, + "baddec4794effa668cde267016dda67bc70b847919a9aa595f93ba9dc27354399ef7a607" + "fbead31e57a8ce698beabb10f313d393980425e67cf95be45d512f00e950c0c5409573dd" + "c3d556f23daf056259ee8914e860562a674311452fed780b3e0317a7fe93baa81fb98df3" + "ae4328b28ad0ac8f8ea33efe24faee658ad026f6", + "098521a732e72ed945a549afc92318fef7156ed1d1ed9bab93b581478cb2339eb32bcef7" + "05c9bf61cf2873ddbadff8ff3806740a2e30ce67d1807a8179dfd5d952e6f8a583baf81", + "0401e09410bf4f84d53a2abf8d106fc64e643edefaea263dc98c308aea16ec75f083b3e6" + "b442ab261226c59ca5fa622db68f5cb5f2d1d465b01d0048554b0ccbf67c0aaf934d2365" + "f60361e5b43d313a62c7b3897c7db8a42116127138a1009f0bf9892981fb4fd6ae231b89" + "40e7509f96e2a49285143010dfb4516ff810a91a4d9d2974c522ff343e93e8aad00aaa78" + "b9", + "128056de96666acd09b93c5db7ba1b8fabf57251ec480d42b702940b5847d2a59b04eb51" + "01bb3990c3ae2a41181f19a2afcf08424f8b922a95df6b292b1856dc4a9dbb1c717ba5d", + "163483a7e0d1012695ce0c113ec8fae3694bccd40fc038d4038f81bd39e71c969cc7f0af" + "8313a9fdd3d028ab24a43279569dcba73fd78ad74897964ae715928b1cf7fcb779b12af", + "10aac6929432a6bc7e12ffa86e4d2421e0535fc44a1160fcfbee477c29a987e783a7f753" + "eb2278ce08954c7e90284d2ce7c42de103a9c59d8e4c459b457688ad515cf156cfc56f8"}, + {NID_sect571k1, NID_sha224, + "7ef7138fc657492d229054f8a50dcafcfcd1dc06f1c16640af3f658907e2969248b54416" + "066eb119adbfa23b8dc578aef18bba79610b9cc109394b900a25e55a779230bb858b2ddd" + "9499a7775d392328db9177aa9571c2f61dd52010b48502154e914a0c55a54edcc04a6713" + "cf7bda8744a893926118b09df877d1a4f3d95e8c", + "0336fb21549e397a190beac38a1ee10f0551952da15f71e11dfda415e5ee08da2356f114" + "d450c661f52b2b32cfc7b9be61732672691a079f0927989b7e9f4efe6095a242155b641", + "040316800fa2d8f8f3f9aa87ffb628dd7b2f63d4d8389ee86ed41bd4c3eecd3f3836ba92" + "e2ff7ee5626213f9ddb41b43561c5dc0bcc3df0a872e4b8026c09c7b52b89b4975a43f60" + "b00207f956df58f75286232967dc1d3e6507634f45c0014c48b42868fecce5b9434463ab" + "fcd2b3722a7f5ed25607270148466f6ffad6a8c86e538640ece80e84f7368d33c68807fe" + "d6", + "1517b3524b6d43dcf3964f7c35c89bf14dd1542c37606452e2035ff0bd0cd1edd6d7b801" + "ecb1f573e957131c0b3f30d5006f6e4748a11b9db10fad41961f4ae53e848c6dc6e1a52", + "1ffd4865dae7387ed797c5ffe58a929cffeab521e48284bd7d4427d5856e9d2582b91363" + "f1d353a0ab1aabfc132a778a516d4033c64cbc991d724115d72ff8e94ab4f95a9514843", + "10f010aaf1bb714042fb8cf06a9501dfd1ffa598d6b3e68e7addefe00e18f3a5db8414d6" + "25e374d9ae70bea43b57c6be4a590c28e50a548cdb2e30dd9d6e3ed1d9cdada9f8b0049"}, + {NID_sect571k1, NID_sha224, + "d58e1ff1d49a471d0567ecf8f29173dab5fe5f6184ab4cdd095c231fa7b82551f99a4829" + "94a46c3d8ebc07297fc9e952a5dee7d5f199b119f6f8b250f8fba45701ac252db725e75c" + "4da27ad77d59a4eac448e54a277986740dfee6596811e59afc9755e53d24b826c09e497e" + "29e69a22bbc85be11763064e9ecad7ae66458ca0", + "0e287ebfd9ba294128cbd484fc5121d271cd33e685bb1804f09b40aaacf64b5a9f2cde9b" + "30a4a02d3a9bda97d92f46bb8787b3c61f280b1e1a0680f1f0679d3bb34d53725d62e52", + "04052903a7afc17cce078b4b658766a67f2f75ac04e296757fd762fc05d6a7b4e4151598" + "a872eb4618efcd06c43cdc3e54f437c0ef1b091ab5e4927d3ab4227fb24d4413e0327abb" + "840385e808bee8dad1a1b84d644aa29fec324dac2242709421479fa7a712d18b54db5977" + "8724ccaf4e51a27da090c6dd0b7967024db0a8684944b77295c9624ce3aba24ff48c86ac" + "85", + "15e8cb22e371965801d99407d96200015ba58fd7eaea52c03269d8a374fc7aef17fbfd44" + "80d29b781292e179936a68ed175802f34043018ed1d6b5a4df667d859cd2ae53ed3cfcf", + "0d3a57af73b7504ef18c03ed2c52aefe1d1a3f0e27f78c11d45e9825647d5ff6e97af51a" + "5e366e52e01e5e832e4264a1d5b6967cd9debda59c955568e4c8bf804d843a49a0c5401", + "064fd7ecf4470f07b4df3b3046041e49f310a463210571606f00a1915c5220a27bb7a28c" + "d0bcdbe374651aac06d4d9e017e31879b7819301eabfe3a7afe4b53f75ccc465815b4cb"}, + {NID_sect571k1, NID_sha224, + "4949ba765c14c31f68ee0ca26bb42ba2edee63537de4a6f5c42bbd862c21288d6ff48145" + "260365193c6fd2b56dfb014da26b8a483776b717c6874f627c9a622154b824565b23e178" + "240f53ee9748c45759ba5c035b584df0f09504e95eb9bce0301653aadb860bb25e6ea6b9" + "606e0ec3bdb8089e6aa0d5763d331757490715f9", + "149de496fa8f88b2741864d0c35b3df666b87179b7bd06cd426a45f13bc87ea9f50dea85" + "e1fd02a532630e0e3a231cc3e7fbb7c7ba85b40cff1124e72c677c6a3ea6aa40ffc64b7", + "0400bb610e4308e229e4b4ddddff5c4633ef2ab40bf74514433bd068c7d59a6260ac7936" + "6dcdc039d5585e660a4cbee990a2cb55a99ea3d26dd9df856b0f3ee5b968bcc349240a9a" + "2d03e3ef4be63fde6ca09f12f8220e1d9b5016f267ca5aa09a2dca8a0e0feda9647fe0e1" + "f7ecae7147a10ff893f69a4f74172c6e9a62f0c5bd96d49b47379c9c84f5ef8e59dea104" + "bb", + "1cffdb963c2c8b8609809e998075299776b44d2808df509773f310124b5f318d7431f1ef" + "8b38fac5cd5580348abc41e6e6396767f4780656361dc9a71dcc8e7c9239d6eec5cdb94", + "0982b9989c92e1a5d25dce832bd8a3f602f0eaea69abcfda285cb3841fe3f019503e6faf" + "8a693712380a48a6af8844b6bd718f0edf3b57662a4fe82ee28d036ecc4cfc7310871c0", + "1678bec58d69def3fe35a64810b27fd06bc29d165593990f6f42c4c7676fd5d4a965fc92" + "cf20ab8616c7ac7b4b308ce6290c5e8b4edf6859fd6f6f01878f2601e22acaeb5ce1f36"}, + {NID_sect571k1, NID_sha224, + "5bc63e5c50b1650f0ed4a599960f1e4e11f6c151b2123fd71d9e3c44662312a74b685429" + "0628e20b30eaba81555acb2fb49b640bdab2528619c7fcad0f2a2880c7ea232d427d7c93" + "5fba2313370fda8863a7e7e203d63ea15d0cfa083e716ce6068c63fa616ddc225c9e413e" + "694cdf6b355cb1293af5d6cdea51168f5634e878", + "17605d7c5873d870462375d741b4bc6375f3d47f7f5e9d998917adf2137a81e63b66917b" + "3dda8968930c4b850f2270eb3187fc756e2beeaa67fe0d73053e6cc0ff0004a21250551", + "0400d8ac3e76c25cdf4902426569763f4ae0638ebb1fbcee6e12a4e0b89d6d451cf420d1" + "0441a0a9984710dcac13bfd7ba70370afdfb58e2d982ac367e178f6834b4cd2d232e7f24" + "6e012b5fd5b686e58df08b695fc333937eafad6006be5a7bfb1426206102a79bc32fd9ef" + "46e19869448fed0e917fe059b76c8b5a9c403c3921ad07e6c19ca7bbfeff5491b22f8bb9" + "61", + "09179b3ea906137dcdbb97b27f3690bbe3bc4f1f57c46ed60b8503cae97602717a0724e0" + "55a5c52199ae3f08f1586b87fbbe514667d2eef2fe44092f3c916976c7b71eed67e8fb5", + "05b28342703c83ec2df898458fea6f71030e4e9c567d140ab09cc95df29ccfe199837cd5" + "8ed00d07241988bf3c863504d065ebbeb8ed11cdcb02da0a945ff38ca58d629f76832f1", + "01442a5606791569749b5a9f20ba8eaaedd1a2ceaab2ef55d5d41271ba23f6a5b6a33c76" + "763fc99b291b07283122596a3331fcc9ac038447f3e0cb54872c140300fea65d7809191"}, + {NID_sect571k1, NID_sha224, + "610f6633718e49d232b3798654095e2efa0de11f41258b27aa01956480c870d901efa77e" + "109d5f95f1f5101d3c90fc51312d9b3019d2e42e0067eed7b457dc7fbe5466923b62c83d" + "7347e4dada571b57813bb9c21d5e308519b8eedb7a7706508ad04aa69698e03636eb30fd" + "9fb363ef3a185756494ee01175b16847f5b68076", + "09214dc2da0967912c31995cb8f5bcf4bfa832c5a2d3610f3a9857e5eee7c77100d599d9" + "ed003b4106013155dffd6c48859b846e45e0ddbc5fe24f4891c9b2df51407e9cddbd974", + "04064376a92c1227c1c479260c7497147760c103bfa5be95ca1593f29a851daf2e5c3a5c" + "73c1fe3e6e2506fcea710254ab5eb2daf8aaefc19cbce7b1c4afbaa2fcda1ef85750fc0a" + "3e070638482e5c7c17a82980b863cde11294c0df717bfa4b9f884cbbbbf80a64dd2cc7c7" + "d89ed21e10561260d372da2fb726de71863f0f60e8ad0fa5e74fb5d29bae0cbe8ad6b32f" + "6b", + "0621176102c6ebc2c810eabab9f60feb71083c07751c66f719370713ec2de9ee3957bba8" + "d768b076885db1f226a9d37588abf1b141d81b70f0af711c52edd30e92e34a1d3ed214f", + "1a21d460ae85d0703b4b10a2f77547e45135048ffea590ce86e0a1c049f8a4aa7b395f72" + "3b7480cc84e33f4772df8f181f3919f3c0b0b4f276b0f855174103a2f7bd757584425cf", + "0b56bbdf6e2be1b9e754f9b48b3ba9a13403c17c5cfcc4910112704aceea9a34209df406" + "ee40e0a10cbc26d03839f95e775e80ec5e29b156fa277a5ac68abd99c7005ea6ba2695b"}, + {NID_sect571k1, NID_sha224, + "c548f0546cee0c0400401cd540a0aa9377f27ac64492e6baaf38e794db4df83e64ca3d83" + "b67bbb46a6c269c04c2725287cce0dee984a0d468c9ce495a7e554a6835d72c7493bfe88" + "dbd5a044a148c89001b8087fb03e57c2b7212d0b175d616333a9affd8a1802dd49ba9be3" + "ab6c6d9f99a5578d26cc4707a5860c6c804d69ce", + "042f2682e9ac8b76f3c0880e12c292524601dce9ea6982dcf68bfdb0d3fbfb50dc9229e5" + "4149ef09b95bbf624eb04ce1427077f30d8536be9f69970ddb449ca22ab8368d2689ed4", + "040116135b273ef876453b9c4c39e4be5a815874857f4a72602f0d03b4ecd9a4ad73b906" + "00c71111e317df0782fc92e6ce2b194c204340bc11e68cc22ced38e99f90dbaf0f917e97" + "0d036dfa65a6e9d0ba521ade7daa2f6b01e1d14fbe7b5abd29ae71c4eff66c390914bf46" + "f09f4ab8a06dc0fad6fa257a85f993d6829b5e0add5086b8fe2ecb8027d08eec1bea981c" + "c4", + "0bf116711b31ca347d41a6cee5aa13a74e042ffbf79d2ae9448598e6950d721b3773ae6f" + "25d7b49ca9dbcd62feb011d5d556bb9f8a55a7acc9a3a166a4169351bc31a293db68eed", + "11dcb7f4103e814439df22764f776a74aa86ce9717585712b224803f0ff193d5f541d941" + "42812c726b75e8c2c37f2a4c33db6af118af73d3ec4fda49cfc911fef1eda9a470ff200", + "15fa4ada3a6e95164aa8972f14ab7572a3b898feb6cde160b8f25094f67343d35e6efdfa" + "b18793f77e09e5a42f56bae747b2b66fa9fe1e4a97e5e05ca743c058b1024cc848393b8"}, + {NID_sect571k1, NID_sha224, + "9431c6c5237f6b4b35682a0c32f68752035c8b295a1763c5dbdfd73466cea64a00ecc113" + "56d02d2a9211dc54548f5db1651e4471898402c887fbf45005a3bda271df0158c98319d4" + "d6751b8ca6b07100182957d5fe0d97c4e2294406f83e9afcae4850bb089f2252490417b5" + "afd8f07f4c795fa84c9c7cdcce26bd97273c0072", + "17ed9a9c75cf66528428e85b0f019e3488af8b893b12023ff1b4ca9c3691b74e594539af" + "a0f4d7c3863d15399b862f15e27bb077392d6bbd546ddfd46728c75177338466eb2f4ff", + "040760779389124c702686d8d7c25dccfa74fb333317bdb414965d2c271ca5e687c4cca5" + "7e6f6149e1714551761abd4d651e7b04451d8be8e58c0c9e361fe0c6771e3d547d6ac3e8" + "cd052d5725d14b9aef93b83d638377f5a19e3cd6e3584121fdfc2c3ba1a588491d7e9892" + "be081c9e7585a15b37a9cd4c204054dadf06a9f4ebe98f95f6554941982faf109c2af98c" + "65", + "104ba3049a642d9b49c4302e9173a9efaf215b67e060c5e9673521641c9c2a5b14bad25a" + "448e46faf73810979a3a50104ec8c5230a909ae588213161fbc10381d7c75b35c84046e", + "1bf3e89fb0beb1ab854a5513278dbd8b9c6b05c94ab67145ceb1ffcd93d1a2aa374db46e" + "f327043518a7f272b957dbbf9d6cbd6708f4c89f05865932b7e816b12a59647d972f6e5", + "13a8c121c9c170b244ae3a55aa2d53f4ae5af91b1f72c066207e3f52e44723bd4ae419d2" + "4821b83648cd64fa70536605912a5a9319dc446a6b2b639cb99ed2485271acafc2bc988"}, + {NID_sect571k1, NID_sha224, + "417cd5f60416f17081d2c70e9a510114e08be83573bf9deae75fbc3095dffc8a7f7325f6" + "1f9d6565381710eda871388cb17619e4448836076338ee309a2bba5f737319002e259b4a" + "875cce1bb97996101c9a7abe0278dcac203a712f0809eb3c4b85a9c380550ab0bbc5067a" + "8edfa78abf03c09b5c08f21714e1022ebfcada4a", + "1bcc09b3f2f1d26ab9955bff7e8c0f85c8a61293511a196b53d7963f4a4503849c96fb4d" + "aa68c9852ad9185e01a35f0bf298e34a09ec352cb6da34f89a1f23e8ea27712a8f43aa7", + "0401326341764a4aea222e7413a4a6f7bdc0c35ba246e3c68728ce06bdb19f2e1b9102ad" + "d88a8511130ff48c0cbe4012ab52de93329670a319f6b1e7e7dbf177667d4a98d3891ec1" + "4707a4aaa73713bf8fb3907d49e5653cf82a9587518c2f8269cd1e556a3be3589dad4c23" + "8e4c80681e141be93c318f0efddee3e378cd46512d778b9033dc8706bb843a3c3546e76e" + "4a", + "13412a98a2c14a9672ecd42db9c079a689b147ad91869c3d45a7046aa9dfd3f31edb43ce" + "6b84e9edcd7e3ac6b96d89f13878cf5befb052a6f8a4e5577bdf916adb10d908d5e99b0", + "11c8a92044a30be397007a71d9af3e4222556a10f3a07a1521c1bcef73b4ddb94fefdebb" + "a5944d5bd91313560718a8f520bb5cd5666539756a5e9b66a1b2d18fde5ae72e61d584c", + "1ea510e23ccc7596db529dfbea78c99fc78ae53da32ad7c7bdb1df01039310988ea60182" + "8fdfc59a0cd237110cfee9de8711c073be44dd4d04bca4b1cbec278b1a9ef175d93f70e"}, + {NID_sect571k1, NID_sha224, + "eced8c412a153a643ccd69596389f83b6a36880286f8aeede503452bef8305942d95734f" + "b5733f37ffeceb1c2dae7b1396c3323de11089082745c28a1756f784423fa7ad68bbfbf0" + "d93ff8b7ad62220500df6d6895788402c1f5c69c06dd9ef55e2401cf297184e411be87c1" + "bba657f847208c0e750f94a3df92f253b377b4da", + "0ec52fc3d9c272ca80623e06b15c35f349b13548ef7ee400bbfa04196850b3b8cc7b2392" + "38c827f9b0a3160cd97969ce21d66752791f5896e0385b0527d4d77e4b9fc70f04d73b2", + "0405cd2e63dcd48fc793c18776d030398dfe3f8b6978eec6d23f49240581fe1e141f6674" + "98421f4c40a9430587fa282441a78bb641894cb79d929c299f1aede218a0078c247f7402" + "5200cd2843ca87d98f6336c0adb97bbb9c5293a03e5b86d5534e2849ebbd73dff837ffa4" + "88fad7d134908234d0d7fdac8c7fafb4729ecf0516c42995fc9337f60db2f36eeac69a4e" + "42", + "1c40a15fca0c959852afcb4ca6cbcc99fb680950c64ba18ae5388bf783052b6ef3730b1f" + "b1487189ad983b6a68bcfbb707466092da52ea8893d8bc4898eb133fd771e78379b9c13", + "14485cb1caf1527350587d6695ee3df2b21c13084df0c093ca5109d7c192e7e5df2232ed" + "e11dbe5ff2f46b13dc2dedb709a0fc1641c1f32857040147599d8f179fea6b2f2417646", + "1a16ebf12c11d2d0a64b7ea124623ffdfe2650fc9603ded571e76dbd7e3b27cd32fcb709" + "e2ba04aee0e8e1b942a4e829cd0c9683aee67eec27d4244a2cefc36f84f7de209e22a62"}, + {NID_sect571k1, NID_sha224, + "30e83ea39a92036e22b7bed7639eab5e5be1d00c20b4a9b9afa9a0d1653369cbef363c11" + "9cc6f921c8f84663949c8b8dc9b743ac2b1861a480476e9b64c8f333f34b6fa0e1ddf09d" + "49618ee4f3c1f46751b5595f0aea413d4ca46f3c26b974b112cbe99c813a96a4423764c0" + "69454946f213c5f066ec38108f947abeeeb02fb8", + "06403de7627de22d1dcf6b8da5af62f9ec59ec065cc1ca1311bb98aa439a6d5985619b17" + "c17a70f59e17cf180ea6828ef57f5f1f8ef05680a9fc12ab7faad5af61e4e11fb45d341", + "0405575c329d73f261ab6897153d7261f87e9730eb5dad49c05d782cb02e483fac4a9ddf" + "f31d2fb695a62cdc44edef6398be8f4f84aea1d63d0b3a771fe91889dfac4780063d2583" + "250183e63ee783abbd00547567bb99e9b578ad8ce63d229db41c6877534487568c423d4c" + "389154af9627708d8d8f863597bc668e88f9412b21a6696d07bba06fe7aef93b26950c69" + "ed", + "0e751a4918643ba3e68bd9406a4386e876d0d66342aefb4ef75bc4dcb8cb2e2d9f8378bd" + "02c388c776535ba85d24b206f5bef4b2f23a1c99fe2f2e8ea201009ca468e5b2e21dcda", + "0ad6792fdff4c621219549834cf03808645171d944088f5a6d3cf1bd826b5588544a32f2" + "31e8428a03ec02d6c1c1243fb6b79b1cc6d732be5be8f2cedf03c1e5588822eec559b7c", + "178b64bc5f9fcedab17822e831fa52d49ed10afef1c5912893df4bd8dc960b474ed25883" + "ddc343341b696fdebd06e177f234ea45553cc83920a8c799ada2deccf1ddf1dd9aed863"}, + {NID_sect571k1, NID_sha224, + "3ed244dc16a5cb292db4b1433b0ca3226913f07377faa20c6c1402cb4d026de808ca74a6" + "d4ecdd7c4e662105bff6edb9fae0117c50aa053aef677c0750c7a446edbb879110030758" + "912e8fa666489d702d8fceb719963b24a256429bbcc869a1f4ab9de9db89263e3684d4da" + "a1df2ed94bb59dde2abba63793e5f82aa2e4db83", + "01fb980aef64254aeb9bb613ff2fc6967503db4bc1f337882f1566cbeb57489cf32e34f3" + "10549f41cba1b951f487453c29753a184e33330e90d4b973d2e406c99a239a5c3f96233", + "04036ea761ccc71ba55aeab229aaf874a7c2d1ec15d821401e2988dccf02798c4e7bea80" + "d9fb8d30be213fc80475a17f45d60c53249b66858d29c73e73117162934dd71096d74674" + "2e049bc28f4d45d29c3560915698d03271028f56c29f0ead0608cb72dd0b62490f95bbd6" + "7145a6c0adff0d6ef396b4deea6a5e2a33f242bf17e907b136c039c127d6012c88b76aab" + "3d", + "0ed404ee6b59ffc445b16f11b9b1471249443f8a7309ad8a662b7cb44c94866828c906fd" + "64784c699cd29d3d972e5db3d42157452630f14536eca23cbbdd1d37e199e5a586fc352", + "1056938496df511d745f2cb88acad279ec2d58bb36498fcd8139d426d596de6d145b765a" + "5b3e8366845fceae91d14075356a32515134e577937ce2af7e732b4e89a9164d083adaa", + "0d5156c776f2184babd69c1f200b8bd94289d45a2f8b7cd8e8afb1455e8901d8c3ed14b7" + "a23b0976b85a22b86f3ccff4ae91e286f696f39646188b675895684f33f0368098fa7ca"}, + {NID_sect571k1, NID_sha224, + "40343935d9423ad30f3fb1832bb08a5d20ddb3a55b59057cd275320db4a5835471c96cfb" + "7d67f41ef860cf5879897b8dcf307bd1a52a6226847b768ea38ff1858f59e64cd635b51e" + "6863773cc6c64b363ec47ca39266422406264668415c189e2f92447ac4c63ee5d74e95d1" + "e6af05016917ad237f482ea0b02aecadd370a8bb", + "1d96dc09dfaf602789c1dffa5c9ba130832badcf180429660daadf4cf1be5cca92fe9713" + "173861670eebfe3a0ba25bcc76aecac60a756f07b69687e05c7e25984a39556469f62b4", + "040452b1cd70e3c88bec1fd0e4b8f8e9bd5f844ffc12f3d6769eeb1c9ea90e5996199086" + "82eb5e43b1d6eea63ba9353fb64b59d6549d19cd95f2f54156c81fba53aa0dc91244e7ab" + "8b020926ca366dc657d133f0ff9149738738ce68f3cc2f61dad590e2502e8fea714b8954" + "3f43d97b46b7075c58375efa379cde208ce769a16be9a377a111a8ac51459840a223f346" + "95", + "1dfd064dbe64c25a832faea1819cd836d22583fc40b2ecbc19b1f5173c25f33ca8cb7f30" + "bcd619ef73a4c14c46e610c8996059612728f508bf7db7ab3191ad61955e8b1ba409692", + "03cbb0ae5f7c0978ad8c10c4ff099767465ed6fefb7358f3eb58a79366707107cc88b305" + "661526f2972bd16923375dd898ae72e81f290b86cf9a4dec086d7ef04d7a7bba5087f8e", + "09f77a86f0da4e35c395978603cbb9c4dcccf126b7cc924cf62732593bb1aff0dabb6d58" + "321debad4410dbfa1fb8fe249bfc336db7669e4ee13485ccf8dbde01ca4cdb9acfe5e74"}, + {NID_sect571k1, NID_sha224, + "274567f8841183e68c4f6c6b36c5a52fb0e88492e4076b9cd768bf571facf39dad6affeb" + "68941ee326ee461ce1f33c26e4bfb3c9e0cae8241fbcc14cc69c1af68701fd0be3def1e8" + "7b7d52b682ebbe1cc225c1bd177b0886e3698a06d0e410a1f92c9bdf7239189f6acde0d0" + "653815a72987671b415d1e8a70e685d6e5b14c33", + "09d98b32c8eacd135ffb8e13223690ef02c0c1f29ea8b4da193502c8cb3f39f9eed608c0" + "2fd457f2fb685ec4595e8fc8f388d26778d225d2b18c9bc8b199d8b65c0d1a6af33854a", + "040775560724ab7d98407e20af12b03634a757037f8b3854957e11900d58460ca20d93ef" + "06436921f8d4481ff9123a9eff3973e17d441511df3cd88d0d6dfc8016d2cbfb89633784" + "6303082aa4a81d4e6f0ffc94511327202f2baed72c08026e05a288eaaeaa36a1a4961f40" + "0b4712ce68778ff38be43adc2222a986ef0fecde62f861575842429816c8fc77797af018" + "c6", + "1f4acd3430931ecba5e9d986c6712467526ed94a0bfff36135da3ba7dd9870ceb38fa0b6" + "58dd391ce658774c6725360dc20e5ef41daa9cf52fa863840ca91053e7287ed29ac69f5", + "0502abe544fc3262663524cf88a5bc256b20829b7bed3e2779f559506adce3c4f3a89e18" + "bfd31819f78ae3809d9d0710c6591b2fc90039328678aed9df2fae38a74b66f69295d82", + "0b2f055248d9633cafa4db3b3cef0b76ee02f6bda3d508e19c68870e76a02c69dd1013a0" + "3fd741e854cb34f815432bf48138203177141be7209e957f4db1a958fcd45421a213c98"}, + {NID_sect571k1, NID_sha256, + "d9c99b8da92d3c2e40dea3c4025dc37770e867c4d2746c4d726b6de24250591a586c166c" + "88acb8ed340e161d4c81b9d14c919a1b06f1feb22c5ce5fca2693bdaf4994ac72c8983c8" + "7f331473fd094eccb3d5f3528e69d487562fb5a65c150a8217192f8aabfa7adcfd0b6916" + "d5000248fbbddf1ca2f38e3d9ed2b388998b7cfc", + "04d873ac744c4f68bb044783ad69e1a733cb8b8f483f2695bbd90c4211282036ad7914a5" + "3b25c3e890c6824643cffbdc4138d7ff457e3fbb99387494eb5cf2bdf1ad243a3a1e644", + "0404644456a4e5c543af7a086640fa9ff6627c2d9f17066d255c3e805db31fb1ba895682" + "e94f6ab96d6ca449b0c3f76bfd6593d182f422689b31d9dc3bc0b70df210a96d19af9ec2" + "ac01d38f8572a06ce22c1586a8329f9421414b334352f1e8b961f7e0732ee01e838eb975" + "bfb2f62132bbfd9acc6ef8899b4fd388c2b59e564fc3670da7a008ca016de678d6dded13" + "7c", + "0b050aa7266201a42dbee063ae2a21398ee1d2a190de9fbbce2468836e416b3ec18d7340" + "c81fd2a5283713f9aba33e8cbb105eaa2abbf0b687fe2713921bcbc02a4b77df21f762f", + "08351115714bc8f29b84a6e3f0a23bdc219d4271a9ee18bdab54c3acc9cb3468beb1f89b" + "0f981da5aa7d7ec7ad451bc5e91bc98440fe20f5877a4e73614820b9ab6f2bad3e2e609", + "0c64baaeed68178f5a1d8f095b0932fb73f9a02462df5e8378746ecf17d05971a0a287d5" + "a8e0317db055b02d4f4b5864597d0f9a9cb1ae68577dcaf7db09c55bf3d3575197295c9"}, + {NID_sect571k1, NID_sha256, + "d2b88a01fa17703c99e5b867c645e98feec0d6d1afaa20a97b5fce9c23f0594460142af4" + "e36a5739b8d26d3ba35a0263caa5429b4abba157f359fce701c43372500fd2ae1bc2ed80" + "bfcaf8cab7016ff93d4a27f565b7e67fe7dde22bf02c48be12114fbff2421517c825019c" + "0ccc72d927bef156140d7f0e9b6ee37af78c3efa", + "18d2eb947297a054f8a789771dd875b12b26ef057fb91235dff3b062916f85aab3365609" + "bd2a38a861439c8514e33f174c198139354e63766942f605107cb1b9709b782622b295a", + "0403f6454f1dd032a925c6bc3e1c62892c1dfaa700d3badf83f07c1185c31ea817641865" + "a129572f3351340fec331f5ed466db7bea3ffa9723c951b518ce6f3c9263a7bd6866c8b0" + "b40188877b68c10cd6ee543cc5638bf0f82db25b9327b2d81269dc61250eecb976d6568a" + "9df29277836b97973e3615e0a4345e610b33909c2340a23c61dcc6e2baf2bc363a333818" + "02", + "0ec6af799d92ab52c51cebda61ab642d4876f374edb17253a1de3e880048355e58367096" + "d3bc0402e4b93fa6a6c8d55c529b9fd68a27962c19274393ebe1bd0b1197a28125275bf", + "095c42b3ef01c0f9ab96693526e903ef3ccf0d843776089d15e77093fa9d010872d65cee" + "1801f821bcce747ddc5875eaa462b00424e6cdf0995b87c6cf33c37d4463848a6ad7fee", + "0c4f0edd4b2dff4f9fd1fea5addef6d483bb51c27bf5c7aa13f9482243e5ed5571bbe0a6" + "58543c69b731de56b6b34de27795095b3676375cb4686b45d48010fe8c941208cffded3"}, + {NID_sect571k1, NID_sha256, + "a704a1428cc894f958774368979fe075353b56790555386e3b043dc6a2919b94a11c7f85" + "883f46b4d47b324d349c28c667bf9a000daaca1d7191f2a0fd97a4867aa9f72422134a69" + "0625408a9ea4b723704690b69152655f9e9dd5fa3dd94814d97dd4f13e85c3f9bca76949" + "1c2461fbd17e28afac00bfa81371d5039013da8c", + "0594fc0b7a5cc0216d2e78eeeb6394c8225de795f4b73bec48b2f4ede185ba622b59a16d" + "d3eedf8cf2c94f2ccd6dcd205f64c97cf1b7f1e34129e94b5129502909f43940dba0746", + "040271cbd3e0d73ac19b975559450d686ed67eeaab4175435b2801e8989966d7c5ba81ee" + "7d749e43dffa12efba820462bdb274a57d04cd7e92c180cdf555686c78aad58444d5f171" + "2907c407b46e93d4c2b12c967cd3e41320ea8535a2ff24372a5791fac9e95865e14d545d" + "d3627dcb4aad2350db248ef49469ff4d59a879a84a19d1c0e5d7ad3db432af927c88aa5d" + "48", + "1e730d50a9747c7c1ce2918fda7575bb81a74757cf9625d0f0619aab7f1eb6954dbaab74" + "9e573290406e599eddd7d3376dcb3fb98c116ed7b65729dd04ece3eab1d7b4bed52326c", + "00d59ebcfb30d7b27c87d56ec2fc9286b04b39e68dc49b395f374e19647bcc58f2fdce1c" + "0dc815cb2aad55cf863a4786efd6c3a0ce56c1d92aa20a19245e74550c17fdaf7a08340", + "134e80d63c9b328e02ebafb75eabf0fafba886f48b25206cca9086e03658ce2047c94a52" + "22a206c6c5a57ddb8f59c5ba1408fc56668066fef4557124c430cbd1267455e0b31a8bb"}, + {NID_sect571k1, NID_sha256, + "f8a87c4acadee27a908718461e3b45060ae4ebb009b10a15926460bf219cb7e75dc3a993" + "fb9a741b94e2fd71615c50f6df958568f452b2cc284f0516816bc0d2e2d45f663155660a" + "26326f63f4aa42a6e1cc8462a2ec620a365257ec042f55e4047b62af689592a1a072553f" + "f174dd629a4f51837780ca232cf479a68c1ebdda", + "0f000631106c5851e8ae0802b01e7a8a8540b427a8a3956a1d36f0600be89318032320cc" + "420931d825cc964e823745c60aad3437ebc1c91d32004472e9677605fb708e5a71a0d83", + "04034136cc7b8e2dcade5cbb9b3d0e0857c485ee791f862273749b5d3757d072bbeccdd8" + "eb81c67fa6927c1aa54d823193c370fc596d0d903214d7967b905292f4b96549b3dbc9b4" + "7d056f69b42b29ea82b9f2fc377e874b58ee785010bb7f5814907fb5531789606810b716" + "13a36035cd257864e414fe0e6ea353f398745df87ccf25b3a25cce1c78f61f5039d66241" + "e6", + "009781f5d960870a289cc20f6b1af56602e5e12d9a7353e81b89a90b0a9675686f155111" + "57d9fb70b82e8b2e25534f8ad22e14ed518e62a88f1ae21c56d4ab7763808851762d3ec", + "0f3eba5ddbb8c127419fe5e8cc1aae2239bfbcd2ab43a006020b96c9e7db832fb09e0bc8" + "87aaf24848491d4de935b78141f426875f7dcf2937748afb303ec5eebd01b6a82a8c4df", + "17acc35bd81cf24f983072585ee1e096459b408da909fd82b5ea86b77154ecfbffa7fe97" + "271f50b67ca3c29ce704b28186b831300db0aa0dd6147d2d160e4aff14348ba76e6f711"}, + {NID_sect571k1, NID_sha256, + "10b5438294a77c7e517ecfe8f8cd58d75297b14116aa93e574996ec4acb21837e6297cc0" + "e7e7b5861e862062f192f2206a01b1caf42c6d7181d02c7d62b76c2881f8479449b02d32" + "c6f792714d8f70f0c75e81c7d9abb996be87f5ad9a01fe42b75855558d5f00df392b62ae" + "0d258f3f67dbeaf07208952e679a2c573aca941b", + "1023997206341c6147c536d034a9c38b4012035dc2c9b7ef0bb9cfe65e7d788296f055d5" + "08a1fd957b2dc7f9eb10c27790f15f30d81670945e54a508c57b70b46b4a09f4c769289", + "04066bd3f503cf42a20cea4a55cab75940907f38fac7fb024c55245f02d72d80336574a7" + "2fb248b1b61e3205b31489ed789ee78d88e487db3f5a1cd48efa1487916b8707e72e4be7" + "e6010b6e4330af0270abeccf0901dad2f8f64f4993ca93a7c5281dfd71c6ec405f9a9bd7" + "8008fd22fef76fb79e20a571df16c4d97244c7356e3ad16cc489d3a9b2e3fdcd5f23b48e" + "26", + "09137bd8436dd126924943e8599c87f64564297117766580e6344aa3c02056c811fb996f" + "264ac4f8f0cb33eaed5ef8f120d43a1d2b3e5e34697765ff9db4b4683ce5c1596d74723", + "03b684a66e92d352847f63196181160db3de7a304b6e43679340eaa9fc828322b5b9c16a" + "1772c981ff0febb474488daf998d4acd867e78019b61804bb675a98cef24fdad088afcb", + "02649a94d2bc243e997bdf27be7d6364459c38845c3bc8d1c8b549ad4689c8a4b4fd5519" + "3ac769b1da607dc96458e2f6abc602bb4048cf6b0933da6785795d04d10f22e439748a8"}, + {NID_sect571k1, NID_sha256, + "d83a52d43216fdb16b1b40469863ca8eff4df9fa358deccb5ffd18b3e22a9d654aedc98f" + "3dbdc4f5b4e56b4299e25d8a5a38d01b34eb93de382df1ae4d1c7f966e84b84c393d167a" + "ecc6f1192c4b42cae83748b1ee3d9147ce7de74cebd122695b455e8082f86e3e488fb0f5" + "1b3b7edcd579940d1cb9d045296e5e38f201b7ef", + "11ebf320ecf6a908ea5b868afb8e22246ce84e743e1076d6185ec65dd79043380708bf8d" + "a4ba802c3b93b8d15509bb7d7de9dc29f1e9fb0f0f2cb97a26698f955b1f7ef668122be", + "04038b2760315b0999f9629922bcdff65cfdee4938d4aab8cc3d200aa9c1db843fcbfeb9" + "da10afbf10280110c49f0c18f15c2aac4f39af35a79557c68eb6cf6afaab973538b98b0a" + "6c07da55796396e919f9b5967608af06bd01e8870354317e76bcb8597a379129e35bcb69" + "bbf6b38911a03c3076f7fbbe9b179e078b442c604519e330282f6f6c21aba515d6d73c02" + "57", + "1c219274e54a4c5e1e1aee3bf805a7002bbfe1c030cd4c8a1617dcea2a14b1d537a64cb0" + "7c5a1385edd76f3e4ea9a38e38b458d2c7bf8eb56a57fd33166bf59a8af2e9639106929", + "08677167a7ea1aec4de76d1c5effdb5a1655965850bd6498aaa4fb3fa50f213fa4d99caf" + "4145b4ba87e34797babfe614dce6ac21d9c13dd0fcd9802b1414aa92dfa18318c7e57eb", + "048d6161a3739fbb3ee1c223bc82a46255d10a86a605f6c8e1934b13f1a8662f30f8e95f" + "53848119c61f08037ee5a2440c8faa11a6b1800078ed476b2a3f4cfdb25367c8dc2989f"}, + {NID_sect571k1, NID_sha256, + "eddf5553ed4db6e8ce72cbcb59fb1eb80671c884ebd68e24bd7abe98bb1f40806de646f4" + "d509be50a3fabfa85c5630905ce81abfad8a55f4cd80208afffb9056bc67d9dd7f4660a5" + "f924af2a3745eec2daec39a3fe36131fe9eea444b92d31f6a125f12125159ba095f89968" + "a7028549466f41ad45668a861f671050d2a6f343", + "0746d5c824d78f42a1fd63d8fcca61f154ba3e75788b7a0b87f53e5420e23a935b02eaf6" + "7bace8dd8a8e7c1caee30154c2428e0a437cf12e235f41c416f92fb54528865fd4766d1", + "04063645fd3810e2458d15b43287f329c354b07324c0707f19847c544f129e4de1799996" + "f805fab7dd356567970e10eb21d875e8ee7bbce56c666511f9b4a4cca986683e937d6f0b" + "3e0595485c9a7f2a97fa7f8453df13b75682931fae10f3441042199fedba91a58c105df5" + "7b83d2a3911a2d34a2d41e451d0d2549b0a0a65b42aca40aaa618c252baec171da7937d8" + "12", + "0674788e75eb9d5ceaadad9fae036f129178fde1a584d73cf284acae3b4cbcc208ae7a5d" + "35aa473f4e1201c19ee5bbe685ff9218a8e2188f3428ab45bf09b6b600fcf81fadd8d69", + "060d6dc42329687012a93ffc5b846b4dce3df46ad12eb61437832f81f4fcdea7392582fd" + "75e701e106e5b83521759da6a22a21addb63b73783592d3f29347f3d484e05c19db148e", + "197f3b2d4f3e10425f4cb60dd1ae84fd8c87f62a2cc822342d5f0be4f0841623227c5cb0" + "f8bf83fef483a061e30ecac86cea0210036083a99fa1247b49e19a7f401a815cb68ab3b"}, + {NID_sect571k1, NID_sha256, + "3db94335f6d1a125309622c0a9d71bde1da09371f0285a93bd0aac255fa8f10a56074e0f" + "6057f1b1aecf2d86a2319590ead96a2ad1336fe844e09339b456be32374ba2e659fbe9d0" + "f2cdd83444d117d2ce3204ce4b4294dd05405634b84747ffb4227160c4e5c2c9da9815b0" + "c6d20f55705f16cdbaa13d107ae666d707ccbe6c", + "00670e72ac2de50dd2cdd975a6cdab10ac45e37ef7a28c685d77447051496b5e161f8b1b" + "93f6c7f32fce8ea05e94ed35fd7cb28c44bf51ea29cbaf5aaa31d6abca30a89430323dc", + "04054db4acd0815aa7ebec4f7661d80465c64f1fd4147507549352bc07dfcc6041ad309b" + "fb1434b60f73b3d61ebde91f849004d55257e98b6ebbbeeabe960f9429a55a36ff75c112" + "4e05b6f36f76b3b3c780b6a70bb8ea150e9cd6895ff6a6765a3516acbb4f5efa91434def" + "52dd0ab81f618ff28db10fcf39264be8e7ea76e06516335ac5ae33ba5393080f11418911" + "0c", + "0f74a0ec1a7496043d78891e308c82b4660606642ea669e4406683d44b79dd6e6a1b8102" + "92bcd6a9f59bcc2e590518bdf2e9224755654026d85cf2a3d9768d909278448f0d63fe3", + "047d808febc1065646e6a5608d62d1445d922084487a64e9ced5fafff2977eb3a7e29984" + "230946e3fc77a766820747122fdbbb9100c591ad7c9dd29d07efa2e8a43357e3c47762d", + "04dd6c8ce75bf2792ef227cd5a3102d30a9a31690ff5c21354f8dac9f826c86ebfaa0465" + "3f0ead103b1c8ea59f0a78f5d4e8eab597ec6c028ebcc57f4ce4103ac14579bd6e15166"}, + {NID_sect571k1, NID_sha256, + "69166ba40768d0a3930325405edfd85f3272f7b8e600b0b319f070274c91f9f03d0e6ec4" + "bfc7b4445e91b87cecabfecf5e77c7301ee3c6b0affca2fa02c92216698705eb75443eec" + "c25438db2d2fb4b24f4195d6b9c05c53e0868d3e58477100607ffdc31b18c40b4ad7202b" + "b034e58653daec0f6b33c024d42a3fc84bd8f86b", + "0369a3bb96f884983c23281bcd04e24a3e5f6359f81e3c8e46f3f6b865eb6bdf98a630e9" + "0646275c587e41b546d3ca7688cc207afda15cf9b25cf83bd6ad27908647f3f9de59de7", + "0400eb02f6e741b3f83a9dc50853828b8a6e0861ffc644162515a264730c662ba388ac0d" + "705f8b36f5388894df5c1bbc3582c85de141abb7712caadd2d616da589bdffdd9258808a" + "4105dbf831f450da6f8e503c19a7788c1317ebe556a458e2bfbf3137f986c9c966a14ca9" + "0344be1b76457159c9d70f13af7fe0013cf605010a8a3b84bc0fe187c7d93e4cfb2639de" + "57", + "0ce22f7f2f01355280ba2d2cda06a55771e66f598bf79c65171e08a98f1d954e4beb3ec7" + "7ab06ee60c5fd156a7098023558e3d630641579cc179739bda6d860f8ba1d5ef717ebb2", + "0ae86b40d10ca45c20bdb3db55a6dc12e9b75754679eccb44c40fa57351c23c062282e1d" + "a9e1703176e4b8f7f224982f2474494772a20269c43a18a7a03fd12d8ebb975b83ade0f", + "15ff7b34c3316d9e7ee3d7b48ebf97d98453ca32f3fc67fd08761d93cf34cfa5a2314fd0" + "752d263c3eb7cf842aeac395d41ad3c04c1a9d3808b4fb7489e880d130c35a26b702952"}, + {NID_sect571k1, NID_sha256, + "f64cb668b72f1e6dd026a478505c0eb33446ae9a2993bc7648aaed02e172fa9a0e05eeec" + "61e756ba246c1dad7e85d3f01baf734b1905c5bbd1b08d833c2cf1e079eca75b866d705c" + "407eea8618d23ebbaf269c7185984b3bd4117ecfb295ee6b47eecc8d3a78bb96552f6be3" + "14656f91caff793838226662c75cd7804b6bef79", + "026717b039df834855511815d5665ff9b654facab469390ae257b7f0eb4dfe66ea0dc037" + "242ed0c13bf229b8f7ff26da9b55fe4750d3451c62804aad493c179ae45d08ece5af085", + "040191a6d1ab9cdda2d593d5598a966efff829c04c421804c2297e658adc5c9a6092e146" + "b25c730ff7ee65cb9812ac9ea0c18dc6b60deda948b4b7568e8b8e14411a6969d7764652" + "ae03744af98387421d958b26971d21928b73bbf5b0f0ef183e9f606d0348fa715f153a60" + "b6c7991dcefead2ebb875d0c1dbd3665dc42a241c565ea0fb0e6349b4319c3de633883a5" + "16", + "0dcd28cdfe9028a4a6df1d41019bc58e4a1540ca94b717d258f2afe8bec560f3028e15ec" + "1e8bfd422415961516659fa2b006256745e85e488c359e8cbc94cd2592bbb892a19c45e", + "07ba5911415a3d21a3d98b400f61eb63ddda689bfff0c8c3ab83668b1e4bf8a703c853d3" + "585b8bdc29aa2fdc41d5e7534850f4656ec949f0a13fd18295b662c9829723e5a7fe3a1", + "1b027e38283d74c962fe0e7b58dfbf5e21ce1d9c91651bc98284008f44fddfe4cec94419" + "94e690d72a8ff3ba2b538718aa678e7de046b653403f3b7c064ee07c9c3c6d23e1b068f"}, + {NID_sect571k1, NID_sha256, + "51ee0b98eb6a3e3c1afcb35a33697c048dbf61374629ac5702a57801fafbea4d6fa5a26c" + "9d1b79d1c58257ac0106387fab2d4a1b7f8c0dadcbe7c830613531b3c209bc17f792bdba" + "1c1fae1b7528aac53dc86c2094b40194577325c05d2258303a2d17c854e7449489c43991" + "b6877a50692a6340a528a6b188440ac0cddd4c4b", + "1d642f2d393ed4abea37173e4a79534af87adf534ead4a0a1c46fb047619221e3577e6b8" + "bcc776114d01159c736ab78af3e53feac339d7afe58be8e7a8ed290f1dad960f1b5de94", + "04023d1ea50229b70b46578df6904fd528e9930985426eb2f1ce10eecbc0c16583959483" + "80c4047d67bc4072be2a2624d62a301da41a5265f040642d1937fbbb7cbd205e1db85b86" + "850625c82ccff6047b1ef4b08f1913f7366c4f6c0312c21e5ab01b598d1a9618cf5c22cd" + "dc64a4732b477dd5c06e332b846c8015a2e5a195326bca46c29cedcc2f24d37ebdb7c2ea" + "ee", + "0c9066831d61a4192ad9de23efcaf578a5d5774960a2b3e3e292e0decaef62d1701b86ec" + "6183d8e17a699d418ef9d084b982c97a55bd76c8b038ac5c639451096ca4d331f070ad8", + "005778acb38b1961195d38463abd9c19d9e07dcd997f19676633fa3c44caa44ad1a9bd63" + "435f3138ad8f22a731e749a81161c5448eb462fcbcd69ec2255cc2923ac697ed319316c", + "1a1aa90113952608dd17dbf391ed56231ecfa7d649f3274774ed2b6034a2207c05c6d8b6" + "cec480ae27b58495a50b1e5b74a17ce6cf2e43aa273c2b813c0e6c79976882b7e4b1c93"}, + {NID_sect571k1, NID_sha256, + "feee50aeacaccb6b1c3d95c6524044edb78322ee836d8159c4a4c2cc6982480567c4c6cc" + "4806a564876622266e1ebd45f2f4be851b79da025bd57d0e6acce1ec1c8c255eb89713a1" + "e4897d4ee0f7a248b9d4bd3ad5dc0e57f60ebfb65691e164bc908956a019083e923cfd33" + "dcf37c735af3462768a1e14a8051d7aee74d5228", + "08cb70be29e83f697a3e2f67d86f1c1ec9a163b5335cb4a06004b6634948bf60b8ad9df9" + "b27d2bedc4975265ce44a7884e57082d521320ca4372d38fc77b18d3fa05ad8aa5c43d6", + "0404c042bde9e90b38b48e60551d832a7c80377a81e8c5b010d0e491cf765c432b5edb07" + "71aaa5f672edf3ba108dc71459d245ad60f3884b8cf33f8cf797f36b20e4be39c8389e66" + "b4075f2454c41c0323ee1a640755077d36a65be7c2a014db36719ec217e21a9c004bae5b" + "efb499bf6be67e82d3da70475abf9dfb751c84c409fe838cf1c6ae109d27f24d75c02cc5" + "b3", + "186f16dfdd7a71f20a5e634ffc465356914bb52286d3d5ac00f3ebc02497112fcd592e1e" + "cb2ebbc819e07ea092e465e66f3e58da7a2ddd41c8787f57c135ba4c168539b4743c3a5", + "1c2140d294fafe3d9effb33ce73bb7e5485c93c7aa9d33b7535c7053831a1dbe79075713" + "794c87e52bc887ded969d2dfa6a1e2630cff96760310e04cd2a75be6fa020a12fc84d3b", + "110aa165707b7de1b3a8e05e4502701abb5ade0a27deb04fd93c6eb24ed2b67ade6c49d7" + "8e874d25247e948f704d3c5b925f84c5b07c9b289c4f8507e75d0f8927c6dad6dbce885"}, + {NID_sect571k1, NID_sha256, + "b115f7370d6a93a90fd9dfdfb292956be34b61992ce1fa5627c5e928d74bcdeea66d4040" + "c473306a0070fa8363c4303bea32f73ea3639b5c6676fa5a1d68a2cc1f91f00580d7453a" + "23ae70af4cb1f1657aa82c5b305374effe5d67d559e46a6cee6360503d21070506f1af30" + "bb000d2f2f85caa6465810f89968f33abae81cb3", + "1eef463771f9c6285f3257691dea0844687606d4dd00b6020517f190891cc1be97cfad21" + "d147ed8881b5a6e19b22ceeae30e1132476325f2de0e9af2e14c80b8c780a9d2d6c96de", + "04024de3ebe03d2d91b88794a77635aae6743e597410ae10c356a51e3af88fa7f9c4d648" + "c7d1fdb887c8313914ed554eede282b24a2e66aeafcc0cc96907bb2f3877eeb97df491be" + "f301ce1f9fd4d7d3870997f34f54f2ba8f08ac94ea94f74a766f2dbc02e4d5149802e313" + "5a2d762e3b8abb01461968f1e88cfc8c7fda49c099e392e80d57f0c14de9c4fa1eea2573" + "2b", + "026b545702baa340fb6d1bc2bb96f7fb1a77a2428cc122ea380a258c747d4e0625bbf4e3" + "dbc2ca2f15bcfea92f2417cd5d22f2bb5f38a9ba313b3bded506d3e570dcbcb86c2debd", + "091c162d040a12f08a416296a43501d92e2ecd6be302b5e1754b9ec119fb8a572626c509" + "855c7c868a07b263f66070ac986f95e4c83150a5a492d5ea8a7f8ebf556c17ad2bcc996", + "00c217fee7bb202d6399f6b1ae4e5811d9361573ed4fe1b3fe5d474cf06d0236d59dd358" + "0145dc0bc7632c721b6463c69490a67d1be1fae99e34318af6df939f9f7f36a9bb8d5e9"}, + {NID_sect571k1, NID_sha256, + "726782eb0d9720daa64e4a77b5d8dd67a1a193f15eb6b5162e3d89c925ba63b7c7e1c4bf" + "c8d6f11915b0e14d16ab53ab015317bd5958b0beb6074199e05181915496575768d026c2" + "3e92e06016598de008c3718aaabcda8b68bebca0a73ecfc7327e8d3646106b7d114dabc4" + "6cfe56265c326ee56fd2ca87abb5bed8f997c735", + "13bd452b0880b101df1aa65724fb60d5d85b37ed5419027481661a3617e0fb37bda1151b" + "9b5b41f908ba832011f7850b75a07b678e5b8cb35c5fc8b94a625e4398cd5ada2b04cc9", + "04031d88b62d2edd5f6ed29258c143bbcb3d29413afd8f86873698a9efb8d2021186415d" + "301599232989a0df5ea91ca222c5781314f200c708de30751feadc277d50e64842dd355b" + "a501c76f19ceb1be48f5540265b8b018da62fc225cc0d2d1675bf7df71456cc8e35b002a" + "220e2e80691600a2c1ae31e980d0cd22b4741c25bfbd413f10b375a4d8adf70a65c48ff0" + "06", + "1b9235221a6df49e39b4cde6650e994f624fcb5084daaa62aef54bc154949f4da9074636" + "c44f50ea40da1a3f01bf67e9b62a725ac0537a4e37ba33fdea8ba8b2286bf82901a933b", + "01dffcb5b5eb23694da4978419110ed2bc7961c571a2e68daebe21e598c8b483b34f3178" + "978708db6d78455cc1fb4f73c5ab7607cbb4f05d4d008c7bbeac88562fdaf7a370ba394", + "057018fc97d7b16d69af2b7dd4a859f09dc178a6025e1bd6839ec7c75c0383c59eee7079" + "fe61aa6bfb3e2c780d4ac0ee074e6b13223c239aa60ea1187ca4937864f89e2c65056b9"}, + {NID_sect571k1, NID_sha256, + "1c2418243fcd89c6382b7c3b2a8c341f26d08174a9e9296c4a5c98c5793a0fa48dce51e3" + "0811a96b515aa22bf9af89a43de06d696be1e531c5dece1f69fa6ecb7f20be063c602a16" + "454ddafb14385ae3f8246c3f989d0566e06e7ed1864502896ea19df8393259c4dab3b338" + "0a4a80b4103cbef4f38cb69198b7cf74ce94883b", + "1288141ec2244e4bb3f62daf4ee588aed09ce22be55e3d42e9085a947c1f8cd16533635d" + "170bd64ae0b417346fa4670c25d41387acb2a8e14407a1931d9f7c5358a14eca40974bb", + "0407ccb7b12a7d6997ed2a11eead3278a3f45ea284dfda8e17f6d926ddd6881a44d02a0f" + "7504dadbbcb0cbd6b85c113aa0d3b4efef1ca151cc38cab1aa8360a6d22e3d6fbc0ed980" + "d3031b85dc2d2096bbba6c465629ea09ae3421cacc5581770ce3479070f23b3aa938333c" + "7c691d9cb93a4533b2ce389ae34dbebe8f333cef530abe17cd21448f701608febd42d9bd" + "c0", + "1e411ab53c48cfc1ef9eda97002dc9181a78352de13fbee3bed86cb00c10e7406033fa0e" + "a97b50764b0eb2dc6eb8ea83e47bb3150ecb9437179c124f15fac6ac19b0c8bc324f171", + "14420d78f2f9f1010018848b0442ff6e6203c1dc06a4d523802190f462ed3c11c7aa7678" + "bd03ba27df01cacf4121309551877d3a2bbcfee116c59926daafce55a4e0a7d69c5c938", + "16de0b369c28ffa0bd6ed8802a503929cebb5c0a4bf0c0e99b14659b48aabfd08bcb64bc" + "2e39855d7d514d7525b3c4dfd2244f37019b5f86254cdda599bb144c8fdbaad5525cfad"}, + {NID_sect571k1, NID_sha384, + "1de4b642ec7220c64b91561caed7832044d6e811ac909f3b199cceb0d8a7db91bcdc8014" + "12044f5c34b355b95a2c6170fe497f6d5259bc20715a38cb0341c88e93029137e94d895b" + "ab464bca6568b852340a5c5d6a225475f6eefe2fc71ffa42f857d9bab768ccaf4793c80c" + "4751a5583269ddcfccf8283c46a1b34d84463e61", + "01fe06b94a27d551d409b0eb9db0b163fadcf0486e2a6074bafe167f9a3b4ce8ac11f42c" + "f72f9a1833a126b9473163d29bca2ad139dd1a5e7fedf54798bf56507326fae73a3e9a2", + "04038d4dce42bf8fffc39a5b6583a1a1864de288ef8479449d599115bfa35b37954ab288" + "ffbe81e69d58693e2c8c81639df12e4b36f62b2ab042e92a0715b518c63d0ec630051d4b" + "e1059c72c0bfb0ea1ac5e2fdd4fc380d08037a3d0eeed4990ff02e6cf5a16817ea598085" + "e28f8269da86c547e7b34e16a06724ee73776529c5b5dea4ce3321fb168827ca1cbdf885" + "6d", + "0a3b18c8c9f17badd123c674869ff428d533d2ecb8c74f9784220be7a90dda591003df52" + "59c5dfb612ac7398aa04cc9e82863eb0cbe66b6e7f45dd15dad252f74a538d5f4354c96", + "09c368c80f697c1718c55482b2c6c5c0edd7257a3a53f7193515629aa40a9716cc889d41" + "c120516b54f3a106a171082364886e5d3a1e9482a103f072988f61de68f034d658bd976", + "0e782ef47b250f40c56e3ac4de112347174bd59fd4cc991a2b538ca90cdb222d048fec62" + "e2773492a1d327152d1d6591740706fe2f8e1d65de888d47fdf173b2645813ac0fc3078"}, + {NID_sect571k1, NID_sha384, + "70279be7d7ac72a32606642ecd81b5d4d0f95fbc3c0b07d85c16adf2788601e44dedb8e5" + "5e0f9e0b4ca3ca35f5be7511b0e69224a05204af67aae11ce154af6d594d47f6e3142ad1" + "83969544aa95cae1edf42bc699137f60178c12b10a67698e37ab9f3edbfb3acdf1b3513d" + "62fe3db33b16cbb4e1f9dfe732c107f9d0c953f6", + "09cdc7e4945c485a41728f83d5188f539e372ff4fe38fffcaacbcb4522428e4f93ef4972" + "556f4398fe17bdd885768f0fb5590df495badc794d4d274e22f2f4a2535555922fa43f9", + "0403c6f046aa3007ba7f883bc1e0bb43a9a0a1daecdea3e2b6c10b2481d11a834af241d6" + "0cad7cab27b677c9ac11f2e5b5226c0a3de13029229af00e5a092340af9b230e0ed992ac" + "f406326ffcd62e1a68b63ac680a743130b1440bbcd3966207dbc8a8f4336eb6a7986aa53" + "cfa4fd7bf363b30706b4fae01568020b41caa70ee3d51db982de66b0ee39777da3fecf5b" + "01", + "0c717523a308418eeb2aeb816346b74149d56b9620774cab582f01681bec73adb779bcc7" + "462fff35685a4e1e114c8fba474c68fe2650344fc9cf610908966a9dd1779f76bce0cdd", + "0061067f377bff6a9be30c9c79d8abb7f54cc8f09eaacdc190beb27b1e6d297cd32b043b" + "31feb49958745b78e42ac074b8722e1a7653bf03611d87c44fd3891ae410b23a2140b83", + "00edbe756a5dc78c8a29baac9e2059154294e3adac9a5adeb7b27ac6e4d4086821cbd554" + "67266946ed8f6f03abff35b59434afe84067c1daa1e0bb62ee7c56b85e7f831eea99047"}, + {NID_sect571k1, NID_sha384, + "4d7e0ad520445b6a5cb46b7c77fbd367614044ae6004494c2b3a89089287e2836c73b799" + "cd8c90139eac427ebe335804c3788f3728ffb8edd7f49a4bcc76a9e24ce3c2299cea88c0" + "4645b82033115380f81b0c1d823e470631008d350cf0c0dba1915519985b8a389ccd8c80" + "9dbd5bb5051a79e631916e0d052d9b6cca18e0ef", + "02bc753d007c4491cfb8ce0a6c96455acd16d37e02c982db216b8cc1afd6d10c6be4e15a" + "3988b8b8b86b2b5b59a5c1939889024849317f27ee08a06bd8e7524d4ad83a1de208564", + "0400ea922b09e902ce3847f14d3b3afc5562dddf15811cb2e7b9e06e1b919d795f8451a3" + "dffcb92b418d30bbbd1a7ccf827ea0f1f6554387fa2fc51755799040133d7a655c7800b7" + "1301f12439a0c0df9f6ef08e89eb1a62e2cedafc0460030810b2483ad9427c48dc061e46" + "40ebbd9b4a398841c863a6e3d510e5c66934d66b317b1640bd05018a35677c6ac2c78397" + "06", + "0385f9caee4731627276875dd8d725fe79626c18841562e8a13fa7531c7be9adca565c22" + "459d519d643ea22478d7c51b4c286920b050bfa54ab7d42966e389c485b52cdb4fa1a0e", + "02ac84262fd121bbec43e81021c0f0610fd2fc0b26d66581ddaa78714ce58be469652838" + "51241d792ad6bc79af39f09d2d4bda83996ab41f1fd206b8293cdb6c4eb9d96f39efa25", + "1d9c9bc330adeee8f58ebfe8c1ba401d4433efa04a44185b0e8e20b634691bfe058770d0" + "74289e636af3e96c118edf31d72b5766c30f6fe84ade42f284fc7f2707bf27b3a309638"}, + {NID_sect571k1, NID_sha384, + "d49903f38b5c9b17542310425e59377f61f5b4f4740cd97371ee2116083f7758e69e7e2c" + "1b0950ec6b76f96e3c91c721d6f2843afde8c7505a559c8a64bca2e665aa1131b75bdf86" + "fb5b90581c7d3b61c2cff88f3fccf356ddf5ed282e27727be061b6925c51ea7f1a495f47" + "1dc8a5ca1a88bbe29e92338d3c9361460398965a", + "02082c6e61d0d72f040905d8c1c20d47b029f41ec68d6cbf43ce97c3b2a0a770557a33cb" + "803c432cfbd3958fda30ec1bba77a6613c318597a85ad02b26c44bb77ca96d9cc1194ea", + "04059ff339d505b307e05adb45aa314d47f2450e1b1aad840b5550a67c11940d0e786547" + "55a8e28fb651e12e48c66cc1ce0338114bc1ffb00965b342ef3a3caf495f1d73a69c3f3d" + "170724e9474e6de57b9f8cbf6f6bb4f73f5769e6cb0e006a34c2510b379995c9e054cc49" + "81c709ca85a3aebdf29090ca07dce5bd3c313c6153b551012d72a8f84600350e8754bc4a" + "bd", + "18d65ca6c2ef1fb32dddfb9ad4603e03c7cb1791a9ec7b41266cb68b6048aa111f5971f3" + "cbef3f0dbb9ce409b59c31cc59bd6f100ee5247f8c36f26ca77cb252331fc3be7346b5b", + "12853f9d695b8ac4431c1ccc8498f3fc4916eb6a5e66b3795a3693f3f5a29ad13e58dcda" + "ca5774f1f295e2d2d3c63c69abbcd9f388a3383371028fdcc8bd77f7554d6aa3f0431e8", + "0d1c324afdf01ea19e9453d2b7397584d773716d6a08b6e38f9a9fb104122ecfcc9de7bf" + "1e5a6cfd52a08b7cecb002ebc21798d474f035fe7d4554bf632f237bce14aad88b47d4d"}, + {NID_sect571k1, NID_sha384, + "0e3f4afc3e7b25c1bf2d98098a5a87db1224d9bb45adc6e434732b8722a708ab80a1f3f6" + "ef3c5aa70d2e1dad3e4416b12cc59171f05736c4b58bd084602c344f2f0bf3cfdcfe04c6" + "4e87597a99de23ded64b33607f7c273ec321f6462518715b11e91361e89ce5415bfc2ef5" + "20bfec378244a3bd2a4b9b6b3d68815f2f75baf6", + "0e298c93351323e2c5304015a4878997ae4e79d1c32f1dc64262e534d4f2c4b3e222356f" + "fce746763373fdfb936fd330d3214a18c07f1205b20c9a941331cd676040ba1fe3dbce7", + "0406ee4952a83477d89ea05ae63d5169cb0f7c7ff22f15728c6d69dfb30d1f28158e2667" + "f9342cfd9b32f2fd537dad47c190d82f72c03043f2a9c5d97cd09d07ed4c35b961040425" + "54026d5935dcebc0ed5a07b7ffa50de3c8aac309dddb61b8c560230379696d81d72bda3c" + "819c46387e7f026b384bb0f7b2ca90c402bb67b5e37d343cc21a8d1a0f822dbb2766030d" + "73", + "12d23969d230e0e2712f96b11e196202dd3e6ac755c824f92b9c765e3fc808d4e7236c8a" + "3c06ca2c8272c7ac953fdb936db30d892246cbdcb7f98c43177e1c30afcc162af511364", + "022f6dff5bc1eac1ef568588e2e512103cf56ebcb610e124a125fb004064a28291c19e83" + "ea08171bd1b14ac729392c7c46354e795d63e3bb087fd100642465efd817b79924408a1", + "1785e1fd773446e3b90b8704cc2723b8da2f99d1d699e817c3c4622015d178b0cebc19b3" + "a6dd972f75eb3828a386973c0a5e67ca192d69f1a84c825d1253f1062a990c3f1a947c7"}, + {NID_sect571k1, NID_sha384, + "8fe32671f6927272fd3cd8dd4e34d44d27fac8c88b41bf9a48039e914990bf06d1633b38" + "b9200ce1c2a275b9c55498e5da2d0707322c3ea0a0fd7aff598fb801628264e13047c800" + "8153e8595a0dc95d54e70b882ac2ac9314d2b78e7b93922da818d7075215e354708994af" + "66958954c92c074d132dbb2488e5a531c755a8e2", + "104f4ad56594c5cec2a988c5596d73adaa5a81802b40110dbae698ddb1f0b271fd1479c3" + "8abcdb9b234e69cd0da8a0328d2135c287d5b130a09fa0b899058e7800eb2dfcee95c1a", + "0404e8151aaf2aa6a6159622baad134be41c404982bb0101e820eac8f0a52166546c5392" + "7d9b419604e9b025757eaffac526d4fbebde5fba0841c6812dff2e9bab5054d4074a125f" + "fa04413639ad72d6eba870e1760c71966544f3f881f88880fdef1edeff47cf6c235e8dfe" + "f1eb1d8df51f9c48b985912f1f70b61fd3d4b859e052887560872fe6e95db0f435778d5c" + "4c", + "0cccd1bf3424d8bb0513fda3db93e81bd34175d84aefafd26b37eda9e767618247bdc94e" + "d2b1882bcae4c83eafc30a7a4a80806fda10a5e70b8827287eed8eac2721939a63c2175", + "05b1460e856548287683dfbb93efc869e80333a9ddcf292e2fa3b3c8d430563a01340685" + "c6db1059aaa8b298c8db9e8281f36e3a9664faa17f413cb439ef24cbdc1a4d58872ff6b", + "0c6faac191c95738f7c6ad0eceb035e5d22ae85e4bd0e27f2e65ab293717c0491be3d1b5" + "ace80f4cb4bac7e33258706010c2aa48d84c9e39c95e30805fa7669c42bad84386f7754"}, + {NID_sect571k1, NID_sha384, + "a8fa01136a0a78313a5d160c32fe5d1805eeb3730c18ca0c47818e82c48eb4c9e5b2dfe3" + "ee5facef9ec59b68f4e6f3213f77fba9f8ba06dcde546ae348d343233883894f4423331b" + "536f62373a495852977a51cb192cfbec04b5582b4ece69f345979e234de32da7a120138a" + "057a7119735c4cb19099bf48bb202e7ffac04def", + "0c4989bf33b3136bcb4ba67906eaff2bcbc6567635aa4b057acb7353ee87ba3cb4cb9838" + "f8f679729d5c6ed98e6c4199cf58605f009c6873a1b8321f83cd3c0973b7a3cfd9dbaa5", + "0403871c7781f2b4f653f0d49a224576bd1e5363d5171bd21da89f590f49fc212d8a57ac" + "8a140d923c2949ca287bea803afd763f15f909c099a07297e8ba1b37c70e1e8f0fd1fe9d" + "1c05806bd5b4858ba0814da2167d232d55bb5c41ea0a36fb28a0a151c1b79b22cb16613c" + "cd9dbf92174e42578ef88f4da6eb44918acf427fb7e4022da3376243e75410ba6ae012dd" + "fe", + "0a9eb767077886c48bc54503a0d2d62f0192d3581bd9ec253107092c22f68a15293d7c3e" + "7aff56282f0cd35e86a2b3c55c9eec079201d99b5f49946780ce6aa18b225c2dfd72cf8", + "03eec6ffb390ecb2af4f5ca17fa8a7fd6938667b319f0f61e5c7523efb77afccddddb511" + "4ca8c461b1c28dfe7eb85ab156e24e891cc6f9511d703e8b3c8443d04fd8de80f5d65f9", + "10cf3156cf71dafea6a0d6abbd503d72b13e6a684076ac900f390059cf3fc325966b3548" + "b58e14a82bf291d9689783b899db7d4baba524b0b63d31f9900a84fbabc2ccad95742f3"}, + {NID_sect571k1, NID_sha384, + "ba2d83b21c783d6ef2f3b7b10e910a418a9b9f49ae0fd37990335b3a3d15627846c9a12a" + "1f31a3d0e062ad1bec5650606ed4dd06c30e50c1e8761a29f4ea1a20f74635d5dac22e5b" + "787ac10f4ee82b338a641484f91771c128c84d31cdab0a6b9616078c898665655ee9dd4a" + "e73d33b94bf091b064928b959623aa71ff73b4db", + "1a96f2ad56e31397e236cafc108087479c9823589a5fbc3dc7488d0e5d1199cf245d7f21" + "f524cc0e8b47feca14c93fb760e631434a91188b32965053942f3bd39b3714f9d6f1a11", + "0400195bfb66e20ae295cd22d59b27b3880a890fc44ef5c720b568bf7f72266293841dcf" + "0572063a96c62736d9d4a9cce31b10c03016305a409858a79070477d3e989481ec555c81" + "460491122a199176e2492e07fae4ddbf02d2a40a21bbd99b8f742b546db2018cac27fb4b" + "1c03cff55f61b7caf13b0f3b097ffc8e1549eacab89225e0cf1e96b268eab7f9a1a69258" + "f1", + "097e28225aee5bc9a970a150502dd14bee900d3b040b0da9cb52f5824e66af46a991bbf6" + "423fe1e089cba47593af555b07b45e47b0f4141b0412ddf6e91153213c5b8645ae7bab2", + "1439928b55917e93d59341532cd1f9d09de1f6e0d9a04514bd4b692603f2cfb75a579301" + "b39b8cd92fbfc8832839691c23e0ad3efd3b4c7c3e9a366c1554c6dd13c50dd087b3055", + "1fb432e72be6fc524a7106b21d03fa71852c18c67edcb8b265db3b144214e7e6d10caad9" + "1f81616e03ae7913fea1e8d11e90d54b17705e8d04c8c20f0f4f46f117cc423ca178ff5"}, + {NID_sect571k1, NID_sha384, + "ea2d5f4e9797bfc2f33f0fccaf530db2bdf8abcec00f09a0338eefdba318221ec0e050ca" + "d1a85c3f76b784c6e8c18da2b062f333eeff18b7b781e67d6d0a4368b8231a892e0f4103" + "012348e5df53ac745e4d34e2cd1ee9369f97d4801ff485fc144b2007008036bbc07cb1c3" + "02a00054b54f3713919191e1d5052978c9c2895e", + "0c08ed8e0e0f8b0d0714b46a2164b933f8147692f18da97e5a108c44d5a5cf221cb50536" + "e41832b83bff4026c6df156386235cf5e3e9a67b7cf9b2fa7707c5e0ff33a91601b8e34", + "0402d516bdd1914c83aec1cb242710ed79efa61cbb31dcf8d238d8f5e089158b2ee2bab4" + "07e01996a1621b1a869a98227c12296cc2a71c1ef2d0f26bd6614f2ac77008048abeedaf" + "cf0151474bef5965c455eb95ca2ffe1d589107dc251d22635f4a9fc7270358b64e4d2b81" + "666b60c4a5c49902b0fa9963197b22f90a09cab97007842816f64fc49e351710db849800" + "32", + "01125bde6086753b3bcf29b7d5a4fb0a8abffa6503b4f0b39960eba226062bdade57e4d7" + "3e8c1621792626203e83fd5c231a53b0ce10890881460802788d481f233466060f73359", + "199a1e40229786b966592ae6e275874ace23d5605d0c3371a4f9eca7ce4858927958bc1c" + "2780e9f2f79767c1c72117c79c408f972006841cb621837ac002cc6510e0432d99a1f64", + "17f4e5e23e494ef149e4abce2d8a1ab10e3e6c2cc93998fc63baed6565ed350b220b2828" + "55e2824f398ae76b8679201b43450f62237f6fec643ea659e6c86abc24a63d82d9bf219"}, + {NID_sect571k1, NID_sha384, + "b2293b0a09f41decd9d8e637b1b08c2efe612f33c9c0beebb6e05033c6103b958f8aacd1" + "25d7c810b4c287349f5f922d2c6ed554be597fb8b3ba0e5a8c385ed8ae70d5ae19685298" + "f20e8d844fb5ad98db12ba7e5f45baed9045c3e86b3cac9bd55b614b82fd075954fc59bf" + "c6124cbd68edae988596575f379d8921b594c75d", + "144090a0ee38cfa21fabcc24d35139a99656911ad4f6dbffb77dbe74e7993edfa9fd63d2" + "c4f6bbdbc8ec21ba13c9f4a3576b5d6e3abeab5af5ac81b1f2bb6d4c42dde645d854d9c", + "040208729b3c7abadfc221cfad8be642588d5d1c20989fea731cfccef25886905e4b1e61" + "cf9548d89c24f5706f5243dc8aa7d5b2675c2c6d2755ce6a12e5b12c28a2cd9c597b7dac" + "b303db73ee445ffc0f6c77467f3add3b1e97061117e221687f5589a030f5248bb959bc2e" + "d98c9fb66da8679dea3949b77652dcf83ab9c50a00f6a9c22bd8d16e093b2deca4b0c759" + "6a", + "0adcadb26626eb9f8db9ae98c6808840b65d6f886a3f0c45f0b993a8bc62bb5c08dcd879" + "40dfef4f220f5e50234fba3a55e7127fcbb967ff78ce4fd6938a9bb653747116541cb85", + "18f7fb6ee028c3dd754d6e7b687560fa269b5a5fabb1d98529e0a27dc66bdb1ed79b7b5c" + "64fb71e767d9497b9255f26b8150b9903caedb25f51594f5b7ec2870515f701bd68faf5", + "09ca9519388402d5d96dd9ef2d4ebfd0ebcfa58bf8c1970d04851b2409671c9d5e4aa833" + "555df374469a4d277aab93b8df8d553399908c930f81c2d9769f1b30a13f61c02b16852"}, + {NID_sect571k1, NID_sha384, + "acce54270252e7d9e983c08c993cd6b7e3caf482a9149036afe4665bd3d0662a68180471" + "87872862d5718b8ac063477f693caf1a9baa8bdf2f36d411a796f2b46ab56f66bc949242" + "29f8264016d6769c85d9bbb7d6bb042fefdb8fde1be026b86af2017aacfe38c97309b468" + "9b23fff94f1de880064f1d3ad9d74dc804c41f41", + "1df26b672b2e3617b6b6c631d3c6be0cb49c0a690de49643e0f416215bcdaefc03fa9c70" + "8471f1d87476d58c8f147517ec8a14aa945ef001fa01984d5c3d81f7083ea500558fef4", + "040767ca8fe8f3a7addf01b230b99499b33c83db95db05e1956fb1891fed60406865291d" + "79b0daca0c307a3ec8b1bf2ac2cbab728c6ec65c013e01775ee21a29305e9403f72883a1" + "3800acfb786b09e5185dbd8abf831d12967107dc57a040d7c800d904b530eed1e19a8e52" + "e653fe8bb824cc424d7254532d0fee62e8ee7ce8e871cbf6e4ca3bc040444585b9a4e397" + "cc", + "13e5e47048122c8301258c638bc0f00f8f9646cba927335535f68f4f4f51f23ac5398ecc" + "21eb0bfe8fa6a2084e11fe67587bfa791cfbe2527797a4d98046f9df37662cb7e86a5a7", + "164b3500ad14063101b6c5ebabba53dc5acb4d6771d3b05a505e6a67727ca8ff73d996e1" + "329c0f6d8f738237ee0f0be415003e2db515ef93931e09bdd853b9497826929eac9e9a8", + "06b65511990c061a6d2a97fe2a5053c775ce2bc5471865abb7261d0436a04b79baf41a0a" + "852a57600cd4c6a114b3a8466f721a684aac2592640bc149980545daa271fa9b146f2fd"}, + {NID_sect571k1, NID_sha384, + "e25274ded4840df0d71d3369007118f002b83e2d375c78f7e29ade067db15cce21842611" + "f3f015db2efec57da77cb9d16eb1e00a8c1444d48dfda569e29fca1ebf40a22fc646a9fd" + "44460f0e473bde487634bfbdac2c312f66a1c2982c6fe76c54ac72b6c8cc9345e47cb319" + "a974b3cc4bb40634df74b4ad7e18adfa9a71ddd5", + "189918b832e9fa30161fdd927bfc267f6405335df3d66d225e17173af52a671138883bcb" + "94c4403ca3e001fcf09ef4c6488934d6775af2b1da30a8f331579af2d0fbb530298d8f9", + "04053e6b43c0551f32b7b34467d188985600c5c0ed12448f2e763609f40039f92002bc8e" + "70d8dd3e337c3507fc996a1557d5f2fb3132507e49ce653482cdc86f6ca5903b77fa1619" + "d904a9ac78a2c23be0841b96cdb1d55862e4854b530f1fa3f469ba9f7185e3f91c28d03c" + "27d9666345bdbc7a44764595b303f49cc43bc2d0e944862913d280273cfd00e15b6b55f8" + "5b", + "0b47a185140b583c330c64a10d50748e019134bacf153cb4a23753f140a4d607d5771a8f" + "0f535f9c35baae5ab6c37a55f38acd12f15be18d5bd9662383b30e4d0ce487e8cb553e9", + "1a2ae62cc9560590177aa544945377ff6ab1b34e7e32a25140f99996c130e17001563664" + "7756a5e8522c936eb1389c206ac74c012941269165f3772373047521f69510c7f3e6acf", + "1d86f4a6ab2bba7f6305c2df754652bad40d7c273ba2aadfbbe65c07ede4ac0e65fc0a37" + "a0139a6ecab296f58c6c2532701bb008bd9e1ecac2771d9384aca094537fcab47f3ef06"}, + {NID_sect571k1, NID_sha384, + "d8a4aed87c316012482819b03a1d91691f2ad11a2f46082497ea8f64880d686891f7da55" + "0b2ac17199c657d4eb9d04d5cb8eaa180f743b87d23b1c86103f9e9bb60f4e19f0ff9d16" + "0f180aed7735130c03adb62502e69be5c624ed7bda2301f30580ae0921b02e103a638f56" + "23c02c186e3bfe6ff134c762a2bcac1f879a9353", + "0bdcc175eca3a399b944eb0334ff33c4fd130999c8ac0e7b52ac5b774fbad53ccc3a3102" + "4f5262b2eecfeb2104b14bb244307effe3dbe8ed25686dbf46a42c4b6f8e34010ad826a", + "0407ab1a9279a8408828c2bd21ae6c643ad82633d636d36fd91498cfee49c8a635313f56" + "993d02cc46da3f5b78fd243516cd23c14a4c8d79cf27dfcb05f52f0cee59cad5646a9389" + "b80799beb1ada93a48819ab70b74c36d2dcc3c5cca1f7a57ec58e643924c3ceb7a90c9cd" + "9bf7ec762a2c428d16ef431a45cd5d069cd828601f903cb0a28182af2392b5ad12ac3a24" + "c6", + "04ad8d2759df82dd70ebe9f3402d3d533a1b4635dfd0024deeee52b32373550f550b9fd4" + "126aaa6c3a9b1f352c40c86e13f78e259abb17f85f0041e0cca9e2ae59f4ee3ba2fbc83", + "1cf9ce41dd5dbc3bee9f46f82e4bef10cefe79a87e8e00d002097045b9acd46364560e0f" + "d27b0be6655e73b5cff272c8764b4c80ce0e1c91a94b8d05209a28b553f589ee2fa1b11", + "149fe587b144c37df2c48c2b7749c509421cfebab734003e51383cfb773c3ef5a24fbac0" + "255cb807f5b95607121c5848d3f9656227b61d5a14042351de084d9b88745be242b6158"}, + {NID_sect571k1, NID_sha384, + "acbaa5ffc4eee0850075c0e502a70cc7a897a919f5e7bca4e798385601a26f411fdae546" + "6ba9f6b6d8d7f819a749b799fbf4a3bda9105063e74914e8583ed8b31ea4d22164bee6f1" + "4bf53afca269b901c80cb3265be32ffd4ca4bc4ddb83e11eff82ead6d75dc4aec8e5c67f" + "35d58a8a156cd1c0351abdccc0c5396c8fbe6920", + "007ab5a55a1d8ecb7f5dca2afdf9ef465569a4b0374716f604ad42a6e0271e934b09655e" + "8e2529784b69b2894bb399b02aeeae30e9e7ae70a2a8e56b9e775bd978a04c728e3951e", + "0402df88e368c8162c1dcea5ceee3a4c52cfc8d6121eb81c31236ba26dfd1874c61586d2" + "daacd96cb5ebc7053be57641bf53bf2651cfacf370cf470db86e1470bf285c7166c197e0" + "94030067763f9fa6a9082ea16dcbf53c2b6f11c9ba1817198e5a4e189dd98141ab682ba4" + "de0b3f873ae54efc080a2a03f755efeba3c0ade8ea67228b1a5a11d730302f1eb7c6bc37" + "37", + "0d3dd75ec61e0f87737812fe1ac86ba336b1512bb9f7ceac2c7d1a5b4d5dbafca57a5209" + "028cef9468ebdacb2a35988531baa094a1c901d9650f2c5d8e03a1621fb33ea85e2b506", + "184a98dec91b9afe52d4dd6b2d9f2d7e3c42e8e614332080aafd2621136ac7965beb4e8f" + "97b222c1b2e5448b79534db4e710331a2f877f8fc2a9259129f0b24d24289495da22542", + "0fa384a04c4b0b0745abea373aabc09404a6037f302e234e7a2840ff39c2b86ae37c814e" + "8bf3f3f7cf743748f2b88d02d66a3adef2028de94013c07075fb73f00555aa900337149"}, + {NID_sect571k1, NID_sha384, + "9a57b63a4f418404e8f5dcf3052b9bc04a4f6d2c33bde8651506d9cbc5542ffb9023292d" + "ea463111fb78913ccdcd182faabbff9164219b8900c7f9fb394f7d9678f77b18f8d58526" + "ec64d7c1328953b983a7c416583e05a069cd76aefe26e5f5687b70abfbf9f58f052dc086" + "3b4fc3bef805cc3bb05bf76a83235af9d6adfe66", + "1e7d4da72b1d82e17a066fe387f2a0a7fa4c60ab993ee09710531789186077f2f32b42dd" + "da497d5fb57356383e1f96973df043307f0b6519430c3f0d40d62954032872fceb7dce9", + "04037c59e95132f0027f661511d1bedc3018bffa62aad7f44d7370f5b169d683882fca3d" + "d0c4260fa8f72a47a44fb0fdcf0d7776ff0632378022bdd223753c66f98dc04904344ac7" + "4102d7f19468b8e4f32eeeaabd6e402a35f38dbb9f2476cf07881d8bcff170b0a6e1ff8c" + "b1bfdcaff734a32ae9bf34a909ae7fee689e3f1ae777812a45dd46ce13fe648016353c6b" + "b7", + "18ad70fb9c5673e5a39b3a1655ff76eb84519555a6cd88e86a26f9448a54f04516c2449b" + "ab3f75e74a8d15c69926ac43fe01ebbe7e1c97e73870e3cc4c0ca431cf614f35659e3eb", + "12abdbfb2eb08e326289fdf5615057d912749db4f17848c1ac73bf6a51fbe3e1b2732d4e" + "b656715a6c459c6c3065b67b577f21b8eaca7d657c3b3171e8a4849f55024c69487e50d", + "09609da5049092e0aa8ebcf10c204de54c968b09b9bfb3eff90b80bc675d557967b35f52" + "e459f37fd198a83a858e5d7f9f5aff8b2ef7272b236dba5857e88515ed471a60bf6da49"}, + {NID_sect571k1, NID_sha512, + "97b79c76d9c637f51294369e0bb52c4189f2fd3bd0607f91834aa71b3555605a89ff68e8" + "4fb5bda603f502f620e14e8b0c7affefafa2f0b303009ee99653ae4550a05315e551dd12" + "a4d8328279b8150d030b03c5650ed4f8d3ba7c3a5361f472f436b200b321e7863c771e20" + "ddd7bdf739c51de3676f953a5501e4477aed1bd8", + "15b7271d4319db5743119c8103a7d4c6d57e9c62f3eb93762156d2ebd159980aa57cea94" + "8e416717d715a2e458851f1b2e9ad4172bbcc53861db29c3ee0ba8e82617a5866170847", + "04003a5b9559b2058299161770166766aa65e151ac6a22a90205afd27de5eb99c5b1db36" + "9ad52f09141d3bf08884b96414c283b2669ec2a2a60c960a2f03d425dc4c229c0bb369d9" + "0f0024f3a9cf3dd257043dceefe6617a98e222e1cc820f3e19e63c64fdcf7ce8d9c7af73" + "23c9aaaef4df02e498597581082fa3767c8a38f508f4ca2c1eed6f298dc8142668a00274" + "90", + "0c585e425ae4a34f9b7b9205f095ea07599716f1eab1a8bbd934219ad760c4606ebbeb06" + "cbfd3952e045a040b8ce20603aea4f965d1b6e87eac7a61672823fb2de7767e3466c730", + "129162cce6fb05e1fc8630ec6c3a16d108bcd251719d89631497177e6fe6d1373f114ad9" + "dde6e04a4ee0b4747f91c78703012e5a058c132d54f2ccccfc0f9326b27d60322b497e4", + "140163edb5f3c4b49228e4614bfc6da9f73674eab82678ad9947b2a635f733dbce99ce32" + "09f613e2a75e62ed84db4d7d13de6d789b7cfedc0cb6a028d8316db8831db66c91791c5"}, + {NID_sect571k1, NID_sha512, + "564ad0e37c9c37a60872a4780a723d08d1159ddc77bd834d74c1025cdf3cbd5338c3fc07" + "a904fcad9b979b2a2ceb1a0139af35e5112305fd662a57af6312624b9bdd3a64849f95f5" + "9a46ca8feb2ed56f87f258518947474c1729275c4d89b7dd286ed65f286cbac76002cc63" + "b92a73ab6bd13c4adef282f32297e441bdd8fd36", + "07219ea7917d174a5386df985d0dca798ac9f8e215ab2f0003aee929a2dbd91e37fedead" + "0ed95b1e8aabcf516bdf54337b4aff7ace4c6b3179f2e919a49db50a41c9d4d58d4f636", + "0402fd7f6ea770e0a6f1eeb3318b6b609c0e76ffeaa34e75f56910e8f658b70940cd7a59" + "18328473b279f882816955b2e3702c22e0b3e03863f8d99c64f3a2c9d1c68f59a28eaf25" + "ad06c2cca84218aa019326cadae9639069dd27df4d1e95a4c8e7d7cb426e70e2d38650b3" + "82e325dc3835afa719145d16a29e4ff67de37ac8949641f0d140072f59718450a6699732" + "06", + "03413376b32f18385cced4549e231e514eadfe05fffa0b252732f5c88d13d9c6e0c35be3" + "dbf72029be5e4573b8f8829f6efbf58a12b5c161bb7055d1944eecc93f82c12c5c56d9e", + "1c45c25f3e8eef9b92142f12e4119842122ed7672fdd82c14b3c34ade3243a4c50495c06" + "b5984d0260376c4fa44c60b2e34b0084066d693943071bb663a44884927352668efcc62", + "08cdac0f4498173bf4e59de98ac9a26fc2c752cfea7a5b75141d4e1d019e25d70a717ac3" + "ebb82884436ebe1007b0488c4ff29fa31fdf02f77fd99535c99b69c9d4e5f432516da77"}, + {NID_sect571k1, NID_sha512, + "072ed5b14754fddaf54e20da42432df49bef38f4a3b1841b2db457ff86c44880727aca94" + "5770adb41269df41fc17f6a687bcaffaa45a3e59070526ed53b8dc3b78cf9a80a85461ea" + "f4b477e44d5ec4c2bab9c05aa747a5a520b35fd09e8b44539d060ba1c3470267e0dda111" + "b15dbb587614a46e1e477127f963a16cf3a43ee5", + "0bc623152253da24bf8d752bd78aedf7d5f6a2f889453ccdec14e10753335ea8bea83fd1" + "81a1f3680ed50f2324fbeaadae160cc85831750e021f3e44121ea1b1efc29a7d0069479", + "040003f3a6cc6964ab2f6da95c0a2a7b75afe4f77faff16fa28aa67809afd9495cde1f5d" + "ce079ec4e15ec8c1a2095a12e8adc409fe8729d865f50ff31ee75d7d807afd2c15cb142b" + "e9076b15c1ce931ba06dd56dd8e4f544425fba4f37f951a188c8e7eb13a2850c93b8ce60" + "f10b3783647a2d053e2764a957656a184a385e95c2013685d4954a2b2aa20e4a15dbc43b" + "78", + "1e091f4febd694879f78e83842572280daa48db65c463e66d9a7ea57b82fda531f116800" + "530a03cef2cf7e5be5eeb6e420213ff757c27b8e8a94513e417f4acc62adc02a76a4fdd", + "0264c499f7daa6ccaaf191d3502e86458ef088c9bf2ad989851c221364b24a1a3f4404fb" + "d0eb44a41938ac6ab67002faba0bdde7f44ffe6bc10def8317c4e2807c3ca711cb6cd33", + "1b91c18fc55635c5e3cff70503e7a49572ba52b11bac193230c88d6eb65eff6b2d9a01f5" + "3ab0eb34f5e208538136811157f872a8255b4d249b6ffe021b0c0763cde4d7a7e72b0b3"}, + {NID_sect571k1, NID_sha512, + "e660dbdf3e61af39b83b95d3f1970f66d616f03273f7dddb98f768452b21cd39604a31cf" + "80590d4a5e4b0d4917519e10fd325dd4ab7a52d70d154506329baefe0d5816f514ae1094" + "83122b4fa8fa1ebd7fdf1fc4e21e8d278a50c05d81c8f489596633d949c6c8fea96fe914" + "30c01522a5afbd5042be8aa47da04581b2bd21cc", + "0645947d981d258f2954558c31022a3b6ba5fa7b675312f794cb61bfff1d9ce87267e4a1" + "dacb7c8fc58624d31c85ebe22f80d26a620fed5df5bf38515e0903f0b69a606048197d8", + "0402d03e05c4b555943fd69a299249e7148e99633b286da69bbcda64e7b06ce9321d62be" + "ad7b8d095a68d9a3ab9e9cf1aeb1d8c4904a073c21806830451a79fe7a907b32df15ea45" + "67023cba4f6f1815cbe1934734a901206596c6f482011f6cb6d452329f9412d2ef456642" + "9e7d35f2d247eaa7849ee141bb16914b64920fffe6b7923cfb19759fed6e1f80d6c40a0a" + "e5", + "18955bb752f0af7d7aaccd0628dcf1f52d836fb91dc78b0fecf21ff5992d9c1f891f0eb3" + "c139803b88736ce10ba4733a523854c4ae9ac35421beff9b20e0c8daf90bece46737579", + "110a428aa96277c9a13d4529f58ecc57cd7209a7340b4a78694dd9ec800f36c9c306221f" + "a110e0b3fd65b9dcb67307b7d7678997a3143c04ba96d72be83a1cd6b01ef22acd0f82c", + "0b7ae2da5cd36006a92a5b2e6369afc2728a93edc845ccb1500e551be361f8658819f7d3" + "eb82ad41d7f2beea1a1cab6f103238a6025acbf03a2b08339841694022c17db8c6c6886"}, + {NID_sect571k1, NID_sha512, + "8c9acbdc431565feae60e08bc7da113e12372ed373f1e1fdd581f98c8a7b0c79ac4aa42c" + "7ffbc963fb4970fe26c5b5dd314b7051fe971c1186ebcb5650f7f7011a924de893f06961" + "b8c75da7bff331847feead4abd2e8b9d6ecbedac18f4eac207b948e6e4215e4d5cb483e5" + "c66ce7ad788cb89604d3a3e051539094079e7bdb", + "14cf93ca69d94ee8fbea0c8da9d76aea092b73073d8f5385b65c6dd4d567fe86bc2cfb8e" + "8be890c3c6cd9abf7dc3a17eaecee3d7a9455887863e496c48dc3e47821bd3d825b6bed", + "0403dfd1fac02ac4bd3e3017a3d94f29575238937824f80ba0b2eec185ce8c641e9fc721" + "94323c779dde8c4fd6e748e09d66e82c82add75106a0e1739f2b977d40ecd3cb15a1eca4" + "2006a73dd31226adba7ed8d08476b5af10a806fe8de72251400a83f6c9f6edf5e0cd6bd1" + "fa8f3595c3ab32b4c4548729c455e4eaf83230e1335cf181cfea6b6bfa6cd4ad75ac3278" + "cf", + "176972d9402d5d6c9753532e5ea907f256a872c100f87bd390c4d610bc00c408a97bd55d" + "ff2de1ef2fa8b9716e33a5a39bb6ed2ab541848685040656ad0468b360f42c3742c1fd0", + "00be28427524a3b0979cd82fea407463647a77ac45c489744a9998b545a13516abb9213a" + "b0d89a2f5f872d927ad48dfa502de95524f94f34b174933f3faa7b554a1c2c3a688a0ed", + "1d49594454516c1876f23f2ba0b1fa4dd8bee028bed5524b7635a2df5b8459f4832b3db5" + "f6074cf07c169cbfd9099a85ec2f5c42043c5b851c81a71c87affba34b11eda67e0ab69"}, + {NID_sect571k1, NID_sha512, + "53ef87d6ac7b9698f40b3ea9f3442e7b64207b140b7f66f73fb7d5f8f98452d30a4e493b" + "6c0e3268371e88e612b818d4d847f032ed4983817d020411a52d81fd2a17b58ebdec199d" + "817c2a8ba77042bbd747a6fd4bcc7e844ea829fd8461b389aa0b5957d92962b6d4e86385" + "a8fbca90b8fac40944607117e9a4ef6dccb8fc1e", + "033feeaaaa28f16bfaf5ea9c7319cf4561ba4fc55327a8477b6cd58ef6ccad3962ee1f3e" + "db243f3a04e7e49c8e23509fa2d63252adb186b8bc7e9255cd61fa9bc45242d42da3a68", + "0406fc62c39bdd41ef7083ae10dad59e38dad217c55864a55a6a80bffe2f5e7da977d79d" + "b9ed8c9ac22d6f096129a0c680ac93fd77da4ad96e292a19b48454f91c93a3132559fecf" + "07066f1f737ad3af3df674637aa5efbb844bbc441966bae73973481628e5c2c67cb74553" + "a7c8f2c5fc478edd8265bd6c99d6ce122a245e46fbfc21992b950f04cbda5eb220261316" + "c5", + "0a5b86b76f98310a25111cc3d1b0b70fd0c20208cd0bfd8007cb569a187c3a97edd8e716" + "aac938900c3ad8ed3a0d091a18555ab532b50f25184454d84af2beafadf754862b8ec74", + "0de2eade32f537727eeb82dce610b48106b277d15d8fbdb77cd312ab9983ab21bed05f05" + "186a5cb2b530ba72c8c68b768c26d942f9224c6e6b9e7827c48e129833cb679c70aeb29", + "15e4fb92190bbf8dcf7548057d1bd5e5ec54a6edf54f6b88f50e96ac87ed7a7b7c0fe1e1" + "174ba3e822fb7e7c083948296cdcdcfbdc4bde036a07f84d210001ded91c554ace71efe"}, + {NID_sect571k1, NID_sha512, + "dca1b7a9a313ead11c2d54739d9017ae27f9d08b3544e418aee862bb57e427636cb6aedd" + "a28e10f12aa15d2355f4f8ef112a86fec5dc46e6acef693cb8fc37c3e4885f3be3d3ab31" + "ea4d73a0de904e95c7135a149f77b621d642f9bd8ba192d39cfc58b6f19a797c4f3b4f3a" + "87054298e3ce5eda0ff7f44f8134c9a108285dfa", + "05613dfb53149bf5fdc4e08ccc1c752b0b66ab43aef2d008ed40f3df40fcbb2938d2c41e" + "3ea2dd4428aeba9059a97efe5593119673866a19d27a2ee37dd357e22b6bc849e7e22cc", + "0407ef12ccf6b64c7ca64b5da45937281ec770ede572b9a8eb685f3614bc358ce550195e" + "74666af9bb54379c1fe1304b76430d1e51a9976bba02e5781154c9bc187a31201ad99cb4" + "8e043d4ca20f06b26d75be1454e96f0568bd740165a2bc6e5b8429d557a79666bb7b9cfa" + "597d392cc5b8ecd180c37f9fe2088d7908e59ff644ab05568d974ab42ec9e01676e1b241" + "69", + "10b4b67007af35942216e9aab1d6561bf7684f334a80c7d909a6154cfde8ef06a148af10" + "4d534d7dda59b5cec7949de4086ae669edcc4d68b88347d2445edd3037525c97564ce78", + "15bfb47a27c6970fbb3256410d5c2f6c04eb308569a966790636899fdb3122f9e3015455" + "c4b50a6bd8cf519afc22ea845794f51e6994214feacf48322af48590d02cc9812960917", + "090c61f6c64381845491dac81d5273d58c59d9cfeed214527a52c8f23b0146431692a25c" + "bfd77abba22d4bc61ef24093c593c827ef645853bc8deef7c3b07bae919152b90c17f4d"}, + {NID_sect571k1, NID_sha512, + "aff61d62c8f5c31bbb7d0a64a6ac589e918bbf2f13e7ad13abb9ac26405e267249a7c992" + "2139bc28140833e10976b87e91cf28285274b2b48b63d24ac94c85c70fafa78f8ad05955" + "c0ce6c02b841ee196dab12306e3e3d6138371217e2b474f7e67a80bbb78a47e374ffe2c9" + "f86292e471c551da50d46e7b5c8331029f369767", + "11b92c8b72b86c51903387a65aa206988d443d1988253329ad3a89c902ff1ef8cf73b7f2" + "e4aaa352443bcb833712d94c3e637ec12cbe4c2d4606878576b17fae1512fc77785b737", + "04022440b63bb4557996b63faf19d9f391c5085cdc2cda3755622a6cedc676222ceb5a56" + "ec36e220e507973c0f07e4b2e2d565a69967804ad311f0658a9854b1eddfb5270f4a86b7" + "69050199c9e443555123f153249cf7256dc3e82c5d8cb611adca0cd4fbb0a9a90296bfa7" + "70c1b0c0b43e4363b0227273a9ec9f00ecf83afc605b0dd2e5e24f739dd0b4ef6bb11950" + "a0", + "0e5ebd85f5fd9a9a81067fdf51b1906023e68672d160ddcedeb35787688dcdc314359ff5" + "347907b685a718ce38a69be17de292eaef189fb9ee8c63271bd6818904cd246503dd227", + "051387b0d057985dce86cb962bbca7d9a047f70d96c20539ae7d6b7cb8bffff606f03b83" + "15f15a53049c6c1c227f86d395c2217d32aec32bbd406c790a6cd2706775ed8a0ba1ebe", + "0c7f3b7e4a8b65a58c1280110f6c2486cd2d2df7d48b49074e98accdfca4a72fa7d43bc2" + "5c6576279f4a70f22c98135ba79158bcc3452940963b556304da8e1ae88973d827bee32"}, + {NID_sect571k1, NID_sha512, + "721017294f17ef351e41256b57a64a79f3636628c4bcbe676ac9a2d96076b913dc4b246c" + "9945183ec9bd2d251441b5101eac44e2fa1bef59dec03ccd7fa5accf3b7d094d68dcf78c" + "8de4e2f19f56bf0dcb3b66b9421ec3f8b353b9fd74feb2e9affe0bf9aa421b6f03eeba3f" + "fd58fba56b3ebd094880e50de01ee62a108a24cf", + "0c3c90d5ce4375a08b85575faa78ee6bbd9e5571ce5a90582042617b807339c282cdc3b0" + "03d82006264b1c08c20af4ad4549fbde53d262facb98d923d81b8eb6093374b6a1e84cb", + "0401d900b4f64c07cb959049f2bfa18012f9bc2dccec5a73e9a48a9d5d65499e31ec4a16" + "15c4c50177c032d388263eba1a90e07ea68f081e10272e88a41389bd2626961b646c76ed" + "8e05c094fedfb5b118accd64d5d46ca2ed92b3123a62042a556ffee9e3bf709092fff882" + "31a26917d368db51d1959ad3285c7faac16ca57677651b070aa0abad96f07d35c5fb8a0e" + "e0", + "14d4070307cd269cc1a3c048ec0847edbff46f64c1ba5b734d8a800e50a0a02af57cf247" + "50d292e2c247ef1b860a9d7b5069a32f5b0546fe9e019e04af62316eb79507281fbef6d", + "1cda7f743c47ae93a9fa533145feab4c46252afabe3d54990663b5891b4979c645ccaa05" + "c744420ed6fa235952f370f5aa187250d7b069aea1123f19f0f18da18fde98100ff6ff0", + "180b4163f2eba6e3769d8345dd8cb003ea120164442efa885eda5bacd75f8d705b7f1bae" + "2976f67cdfe984430e36f93455ee7528fa6febfe92e42a002da165c63dba8fc589e7851"}, + {NID_sect571k1, NID_sha512, + "e2d1f33681759adb7954bb5248b0db3c3885fea0d4c1c0c226eb1e6d2d3ef1b9ac281a0f" + "1c2fe5175b67114b6a501e2426d1454bd5790dcbc4c232cf06b017de8a9bb39e6033f1ed" + "b5003e8de3b44cc3d6150c3c952afb442952483cc688908337b7c1a8b5c9da70937ccfa9" + "8b2b0098c530ff848010b8e8ee0a8d65283481a8", + "10f184c16228d9034271332178ed485d10b6aa76003efc160d63fea26fbbdf5552205ac7" + "df0d8c852a1210cf0ba512f20b798827b36ad56b12a826fa7dc1db45aed264ca6822659", + "0402637543ed8a11271bbbabb2cf72999f65df0104758c2fd6fbf3e1c5132ff1c1111fa5" + "504ee86bed8f219d5025f8ae07055a7849314d2d439408ea2b2ddc40320c57f5d41255d0" + "a6014e360137ae33ce6930b844d42bcda4050b25f349e9e19fc4fe82f5e4f73cf9bb5021" + "2ea875a5735faaa1d5494f1685d6c8177448dbf356b408ffc2ba0726c9befb9de9f0cebe" + "32", + "1146574a96394c82972eed1ab7ec98bd08f27653c565f0626fecb431ee4fc6f830554df3" + "5fa62b5f82eaad49524d3d4b0598cc7a2181ce9860e271812373d21be9536fc181c3f12", + "0dbf465de2c5242fb527f6e4a4188adb96a2030ed8417cd9431365173f569bfdd3e420f8" + "6947da10a703370d7f38dc43e2249a2476690829545992645c9c83d82af8adae893780d", + "1499782e0163f80de68e3a580ed08fdec8d6552ec69f186a74be89480be28a0df6acdf7c" + "65a72f115f8a59fbc28bb94af64cb3bb3cab20bd25265237a010370d9a5c781c1e26f3c"}, + {NID_sect571k1, NID_sha512, + "414fc5d2bd56b30040e105cb891788792da595583b11b8fcc7320f40dbf64d9263532dc5" + "7344dd17573c95eedf851668b5d552e8796af205f3a0043af1a829fabc2e93d9af9091fd" + "d9e0fcbcc9d6d9ec960aa60e4e2964c29a2f375400366480e513f63d124db7745847310e" + "69a38c8455e4e602056a6a4a14a8694155e0a9bf", + "181baf9d497159f837cba58a11ca435c442e5ca792ea559bff9f6a1f562c05bf6bb5914a" + "fbd1bcaea75b35f88bdd832314b249a5298622c89462344d3f28a44ba3d059df432fc71", + "0406f3915f884e250034db97327470197d13f0716d1d810e43055757460dc252f5281717" + "b3ef3fdd51085e65a0e073e78b697a21bc33137213981fc05d9b34caf7dca7a4f99be785" + "96047a96ab5ebec6201b7c65ce7a6e70effeaeea1c095a0172e9e2c7bfc88f7b05ea5750" + "76caeab189f810258373cff2484f4fb9c8167989f61aa61ae27113b5140c95f7faa505d2" + "d0", + "10e9e6047651362accc816389b26ea6befb0e34fe7363126f8c4ff9333266f46d63c4d45" + "075480da9ebdd0f8da7224b470d914ea1d68cd821f563b574bdeffdd0b3ed73ecb9133a", + "00e36644cf0861f45b333092d44fdd99f56e89bf3607f75a06920dfab0ccb1831208296a" + "a2431bdb75c5d50f15bbea2e13d185db6d7175c221858fd2b22afbeca7431c290b15d3f", + "023ee3b9ce817eb0a6733c85062cc3bc5f1ae62bdf3a74e3ec704baab05784dbb5ed01a6" + "a2a73c80a3e754c013ba886108d9eed2bc210f29a4774bfe5508ecd876ab47a8527c530"}, + {NID_sect571k1, NID_sha512, + "3b592cc8972a4782870e079b82a50f84b4c2d8ca90bd500d1ce5678982e266c391c556d8" + "162ac3aab967154d072dbc0ba1dab5545cf2651753dee2881eca5abd412fe624bf3f9d17" + "d33692d21ce23ad15ccffdfd250cb1949e73c9e40a64ebebb03852e92692dad1d7baef97" + "fe109f35b7a492b343d4b643a4a7b1723eaecb64", + "083fae86ab96bce99a53e50b7eecff38e4e25b21c4b0f6a4986915de245eae24f16b6a00" + "a4db159ebc27f5a6a072da94ab6be5bf75f5eb3f75c4452bf4ea7014392eb1e02706fb4", + "04078003779e0287bee54df31f64c58951df7999b48b647a6bac416f844485a4cd7a53a6" + "4170f9d2d31fdef0194a0c262b90e5bd33a1782d2ad56c210cf80abb5fb118cffd71ad79" + "c1073f89ebdf0e255205a7525cc12b7e1c58303ac3b3417183179c216ab8e47f33d0af32" + "38e3ae64d418ee89ef3a2cb4bc67a1d2fb1923947b9dbf3f4fa39ff82327d0ce3db24d23" + "24", + "13d126fc4033f537b00a81372031026f6a7a2062863a68e36c6909c548833d1a8f5fb5fe" + "25c7d9f2c65b1dfa974630204f71e96d657095b93cb54b00cb88f32adc08eeff4036654", + "09be9f4bcd7b8ef111337fb665379509b8b17a2212a80d5fecc685f1f362c45f930acaef" + "9df47c33c6028cf7aae424264575b4635a11edd6b005ad26cf2021051501fdd1b77d2dd", + "0dd196343ef76bec527c5929e02fbd5d02d5b0a4b5f2c8561978e600856de56d42943f1d" + "74cb81b67010bae98de0efddfcddea5d354c60c1fa76138801f6cdc5bc932c136309b6c"}, + {NID_sect571k1, NID_sha512, + "0079a02cbab3dc02601fcb5c8607d555beef7cd71a66911ab6514a4ae21c5a9c0e166f8c" + "f5fb198ec5a49a96e17cf041f35f00406b79270ebfe56dc6b8417d2529fd625686ffbc8f" + "69685aefa2fd30a937c02f25b48be4679e6fde821de928b33b12470867def874bb8c7c80" + "38ab6594346a2c44b39210d3610994ba60a05e06", + "1a663efa7bf4d8479bc535fad71e9b5e4f4281aec55967baa008ba17ac2f89cc3398d305" + "73edef29d590fddce8cb157f655e92779f59e7a18d0327d02e7daf4c1216143b3688fed", + "0406b4bb31856dc516be60a0d2d9f42508738edd4f925eca9c72a13cf136720867babb38" + "622fe97df70a1edb35735365f34c74baef9aca539aa1dfdead3324f41a16ca69bdf86b43" + "f706c4a91d3fac9e7647a6aec6e4369158bdcca2275866bcdc5a09b2f0f1eba10551da96" + "13eeb1e8d3233316b62a5f4641d6aaf669b975dfc511f2437d43c9eebe53c5115fb4741b" + "80", + "0a843d0cf776878fa9ceb163d7aaebd29ba3aea0808c3459036b258b99ccae4e2444bc32" + "11b5898c0769b7d7e036c07803497e13803132b3c6301412af3be8eb4a853e939a247a7", + "00356e282c096fe1690fdac4c0c66eda155ec42356dfc4783cff0160e1d76b33a99442d4" + "ee0e3f6e1c5bde4a16c8e18bd18f98a178c3fa4a560d8fb8b4b1d72663576f8baf8672f", + "0c5018c1383fc3847819726e1e940028892e1abd164b413293fe50f219f2059105218e4e" + "3b952b912a3258c4ae52dcc03ac5f027fdfa448a8d58e3aa5c21e790b3b47bdfbf21175"}, + {NID_sect571k1, NID_sha512, + "88573bd94ef50459814806efa868ebf92b066fbc2f7a4be9d2fa06b9dc1a72f72d783a6b" + "cbc107b18a6314511bff217037a2252e7a5cd34cf9d5b2fe9c7846931f0133b2e95876cb" + "800dc4ed7c4a4e4cc4f1195acf99fb0ec224b1f8fa8af71f72d390eca9d6be3879032a31" + "8734a63fec336c79035a43f70271def10c4955d3", + "0088d1a2c0219696a94337cd56516252b74139ea0733b17fdcbf7692c3e5f6c3989e5da2" + "aaed7468e65a5d578571928ca273ec3b6aa72cd196f560f05095cdc8346e5d31c4c2e0c", + "040357801cec0888461ffde22d83afa9ca008ac88518f4b09074d29a846f5900e024a8e5" + "947bc25ed0e5c980a58fd5e9aadfbfab31db8bec575fe886deda80134d91b3de96254653" + "020710806c7ed33f6879374c59ea144326f5948980c8013144345c5070122c0ddb7e18e9" + "f752eadf2a9b0854dfb7d9b2f0d80ff0ba46197ce6017885939e9f59b642a8fa41639ea7" + "5e", + "16940f69013026bafb6f400c037272176b04e35e9f1563d382dc9982968a186e3e152577" + "5d27150b34b8ce5e70b537f0149ce1a521d056b52e75da7e39ee8a529ed987c70b8234d", + "199058e36449ee1a3388d7357c9c1020b2e4c02144aea14b041bc584a752c94fb6e47495" + "9b24bd2c0c104f5ecfe223ebdede672298c29195033aaad5db1852ce4dc3185ba2409a6", + "11f3defd9b442378c461e2c68b239d2e4afaed691238c5ac4e0be46ebd461639a60176f9" + "884133900f988e2d730d34df5e2bd8a14681014c0a213f8d233b3c50ae3064fc38d1a19"}, + {NID_sect571k1, NID_sha512, + "d0e02045ece6e338cc8ab41d4a064c982ccb1748c48fc2fe0a6f10bdc876094358a6a90a" + "45facec798a83cc95c6795cf0f0d7c66b77e22cb114c1432bfdaa1485ff35b6a58107cac" + "3b7e58cb4f6c87c68db60b751e78f1fdfa54b8923b98caad0a4f31226956d065c083ace5" + "f1e9e91944dcca51879d782e40358d58ca758750", + "16cc8a0fd59455ed8d4de561fd518df2e008f7dfaa5f7f29ac2489a411e233917b43eb3e" + "be2596fc824be58871949545e667dbcf240dfb5e0c615ade0179d9ea2a1b1ebb8ab9384", + "0402477e678793593e2abe837961895c7ecef71af1feb882ff27cfbabfa0ba3ed771b792" + "23e7b2d2388efd371d5c325854cd60e48484f818e1a8146fbb780cd6ce06ba63c0db67df" + "8a001b696114838bb972ec6d536abd809d3a436650191c43b2bfeefab2b400d5921a7eb7" + "8e307266acc190e05f3869017f0a66f886bd6556c58aafb1042478cc768a4f86758e9f4c" + "32", + "1e1b851bb95d2913d6d35b756d49fba6f4c127dbed80fe4068260cab89c1d42f7a6843f7" + "31e83b379ccd8a4915d2e29550f3f6ccde607cd0b066dd5fa41ac2bf37bdcfc26cd4d04", + "10d4291346685fe070b267edad91154df83664dc115f058ea036c712929634d53662586b" + "b50cb6473c2170db5d4ee43be0c50532015937202e193d15d5189870691ba65aead7f3e", + "0b2a15f1ef00204bcfb5108d8f1da96ac3297aa041074b68989ff5b6b276380de7887753" + "fe3d416ba691ba0b2ad7fc065ace02815b2323fe17f6445b0fa66dba5d99d8e7d557cd5"}, + {NID_sect233r1, NID_sha224, + "f1b67fde01e60e4bb7904d906e9436a330c5cb5721fd4e0a3c75b83dade868736bb1d21c" + "fb1b5c6407c373e386ee68ec2239b700e763728eb675a153b8ac44cf2a87be85fe8ed668" + "3430cf4b7d718891cbf8d583d0a37cc952cc25fe803a7aa4fda80f05541a2f1f2601cdd0" + "c095f7110f2a84f7d641b8531572269b21cbe77b", + "056673197bfeea9bd7a8b820b4ae51a50411bf118a692bb9ed3d304da53", + "04003489be62e53910c20cb508de019c3e326f65051f26749944b4454f156a00f775ac38" + "baf19499675725e8190aeea16f52346b1c890d9583b38c7521", + "0a6c9914a55ef763913273b062475fd0188eb2d5af9c8c1dd97cb3cefc3", + "08601a42d7f7eb047e8ed9820ddce665c7277f8ef38c880b57109b7160d", + "026d6f50f0508953657df5d753c595ffb8e1c19f8d092f8ce8db54f76d0"}, + {NID_sect233r1, NID_sha224, + "1d496d96b533c632ed6a91f6e3653cdffaa5b8cc0008b35e49b2dd52fe261105c2ec7ee7" + "1a4ad5d51fdc3d36d688a3b7ccb3b3b0c3a65be17b8d8aa172e3005cfbf37a2d1b1a6e26" + "8c090c6f318e7e96f9ec9b9f5a8fbcc7558d89e840f7e76e44bed91c26ca48e6f5cbc253" + "ca2fe8cb81c484cabd24070e488f9c00cd96ad4f", + "0468f01d483144e514ec257f2e5fdee28a927f2adb19714c1f3524dd0d3", + "04016b3cad89cc42b80bb730431963526e26ae3b415b421575dfb6ed973e1701acaf7de0" + "6e20262efae01fc80969cdc1a281f68e8c8bc0d2d4fbba3a3d", + "04d261304678301985f5bb3f6ae465f11c9fe0e5031b31f194969252703", + "0878a87b2867c03f55726ea2a6db822788f4aa4e9ef609997940ee8c8b6", + "03545153f0554a8f55301d4b948043de3057cace62c8032c8ef8a11dbf8"}, + {NID_sect233r1, NID_sha224, + "723400655027f474446843645757f7e2cd466bf97275067b4bc4c9d79bb3b19b2421835d" + "69db916f24b77c381fa771fc1e7a19d2b4d09411ae55acccc615b16fd24705762b441ab6" + "7083a921fd4ae569ce0de69449aa96f5b977ac7dc022fdc8335656853796f54b3fbd1185" + "77f98920624eb0a00204f1ef83827245c06646cc", + "074052d027f05465a8083a59cdbf32600224e1f563f653b34314651517f", + "04006999290db440eb5b3291bd4bb4a1af6386654fc4d275ef136c0e03dbca01fed0b1f9" + "284e488c7fa2a010766c340bc25dc132c7679c2598e423c3c6", + "06e38460379ac3fb13f64d4de654d4fa30bd8178da0bfc29fab2a1e2e39", + "01b18bafe55e5c24fa2df4c09112b44d24e78dd09557349ceb1b916d280", + "0ad7cfa003267a6b7a99894f75720cedc9cbf820d355a6b840709f42f62"}, + {NID_sect233r1, NID_sha224, + "155860cb31a142082bcc0bad828d747e916392d21f1873b3a3c1d28ca3ff9d45ddb66a71" + "2e3856b6afd07c8d2b2a7badab296a9775b03f6fec0befa2d8d6d00fe3938df244ab46e8" + "36a3e686c8b4f918da49f0bb3940bba34a9aa22c7caf02df7758b0de01d9f47af6146344" + "b9be3842d9c055eaf0fb399cd8db95c544a62d8a", + "01856e7544223f55f80de72a6ef3822fa8fbd68eb397d06e2d76ddd35e0", + "0401a117e52f09080625f85fbaad8ebe0d3ad410f034242bf48365e88ff7350008b8bb79" + "58d191265901a3f15b2919142505efeea13df6e42da8b0dc1d", + "0aa106ad1461353865706bee9aa092b00fcf1b0108ecc1266ad5d8b6579", + "0bd6fcf49029df32fe0fa47f39cb9428d95d00a84a5afb392d7b4b365e0", + "0b17734befefebf03d1c79e59c12ed3c57e7d120dfd993bf276de559588"}, + {NID_sect233r1, NID_sha224, + "cbd6e305cc9f0dc90caee6e65a74582e9357bd25c78e33a7b14e1ac7e9397ff4466f192f" + "b432143e6df6d61a0ab808ec0a361a6d95a357a38cd3e241fe03ed883ccc364b248ee2a0" + "8702110745c2688bdcefa33c1a45b9c8b200e45cddf3e3f66b8d37eff07fbb3366ea1558" + "ef304085613c56707095724b3e134c7a7d3f8dbf", + "0860aa2b589f2defc617be73e191502e5d9952bf60547fef19eeccbca26", + "04006abc5619422b7d548c612e54df0385c293632d4d97c21e2e15ad98d0c5006c36c072" + "603681c1b03f6a023c8e987f39d931bc2a200eff82239ee38f", + "084fb252dae9a96a44212d18e15cc52d179cd5e3392ab9da57d04cd5a9d", + "037cd554e7815699f033ca9187ddb116777ef847b92353f613152c4216b", + "05f806dd062043420dd056998bdb9822b3177406a536d766c4aacdeee81"}, + {NID_sect233r1, NID_sha224, + "812a218ff1ee1472c189f63386e5b8ab341671c3a4dad27a8c6249d1c0f9a29338b471b6" + "179f17a078b6504e804ac55ca3b13e68a623041bc1a092ea2adf3fa1124bbfeb161e6d7c" + "483433f1548763b84da00352a6386e1339f674d45dab13898147ede468e0e01d2c4e0ed6" + "6b395a16cc3ded3e952ac739205f35a83376cbce", + "0d0dec052a00ccebd0c0c5d9a08272f75744a2582cec7ddd924a2b022b2", + "04016bb8c3d319b93731f1055756e57bd56d50b6b9ffbe42735925cf6f7675009dad7b87" + "a749df130b45d9cac8011101c15abb7e64bd4fbdd94107fa31", + "04098547601430c723ebcb04b23e0f1ce8b1f79ff7ed3d05ba130922b01", + "070ea6221c0d62930b019faaa856ad2c84c3989ec54040bffc42d8dadb8", + "0aa20fc58beae8ccc880e7fcb48a471faa5baeb36bbe5aee71ed9f8adb9"}, + {NID_sect233r1, NID_sha224, + "0204b1fca831919e89e108cf140b3770f531a696b1d9a4d1fb68809eb10afccc257cc90c" + "d36717c02b2f3d6d3d1d8a93cc5c48aa7ab9f9fddfe121ce9143376535a0c65e247c6558" + "eac49fd1d6d1bf431ba918c471cb3d536ad485ec51f6471a340ac75f160c4c54cd3ffb9d" + "cc123124b42df1fd2eaa005e3377c5d2d55938c6", + "08a017d717d6d1213f2b74c53281b07258738c0c7db649ea1ac46b9a3b6", + "0401eb379e27de6c04c5320cbc18e79ed9e8993710ac70ce823f1ab5762b6700f5521926" + "45d350361762aae79ffba39c33c2c5c0df208219f1b339016a", + "00e4822b2cffa327a8396301b21554da6fa52f418d67114bd58e850d935", + "0d64dbdadb4ada2d3a8892049f7fda3c733030522b44cd72ab850b77bd0", + "06fbae2d8e4fc04abd8a6e9cb011974ac851ec108e38f9c72603f7a04fc"}, + {NID_sect233r1, NID_sha224, + "2033eb48756638cb56e2cc39a3e775cfa11fce86cf71f04487dcdbc7f262bc8350a30ced" + "54d1fcb697b28a6e96f88f782947c997872307ed963e1d68985f756435af77f57755cacb" + "b4c6b50ed419deec9f39f0a549a13e54254fa0a5832dba2d943ad4aed8688889a2dd29dc" + "b4ea12abd6a6c50eabcb3981c3a0c1ca5f0b9629", + "01b56c14442b084cfd22aeef0f8028ec57c8b571c9fc1e43de05c45e47f", + "0400d450c533b13b211b8c91dad0738402a5c811460426ee2f35ae068f2c12015e1c9f9d" + "398925c619f8aa0bac746eb7907d3d510814cea185a7efe771", + "0dca09773730a2758b7f4d9257a8e6bd942c141e46bde5ca54a79468c4f", + "0379773ebb7a2860f3422d8f8f714b234e5abd8860defb19c659c9c6179", + "0cb9272a27661604425ab84632f586048483b9f9cb80b9697898e745117"}, + {NID_sect233r1, NID_sha224, + "2986ab1cfe8873009e932dc68d4727d77ccbbf378e43fe4aa7c54416346b036b89c0aad1" + "b82977c9fbc39a00f1dc916c0561d8dd70298c02b6cbfe572e0ef2058641e841c6875e85" + "15f3c1082765e046c90c956d984b76e0e8e6eb433ce26c1757ac5b13422479141971c201" + "02e9621d18f51096ae3173c2753facee2862d66e", + "05afce37c5594586ac46a34ae291f591eacb9880a7de92701977f447fbf", + "04002a069ef14f2989d2b715c5006642ba966cc84df88bbc27e713e15c47bd00f001f60b" + "8a8102a971faa2c42d3ea9cec37b49c7e6ec0cae9f7fb35713", + "09756db630ed9b708bf1ab8aae6a7559bc235c4e9f4002ed26e2f019aa1", + "06b9b2c1d214373647d9a2d24ba69741218064004614368915d5cfaacaf", + "090dd607329c27483fe43b7be137c3f51c23217c939baae40b53e65af2f"}, + {NID_sect233r1, NID_sha224, + "aabf5aa90ceef91c2155f90660adbcb0eedb996f5242cee15468ae217058ebeaad8cd4ff" + "8cdc754a8ab85ba43c59fbab6386686fad5e27ad3848fe52191c7e4b203720841501792a" + "625aef2acb6e36493b792fa55f253effca682946ad8c77e01f44e92ec3c258d0dd98d318" + "3f4dc4a0bd3eca183794abd6232a6f9e4add8f57", + "00696df05dc7a54a9908a73eb18416a155cc8df4ab26032539d86eae537", + "04008f9f494ddf8d0030746a8c0b8d215dda6cc2724f411a7ea407629294c301ea2e9f85" + "f06412d29c677aecf624a83c2fbd86482dc0d564906a91d97d", + "0d62b06628d3884f0a329a7b6b4f832fabea4ebc85ee03e63f2967e7810", + "02e39824f272d4b74810594810957963c777207217e53a672010605b9de", + "0e64bc44af64b6f879f0d32f814acfbb98795ef7b2f246b3f91cacb55cc"}, + {NID_sect233r1, NID_sha224, + "29ff209eabbde02b10b3fd559671fa53e418750c32c4a18d31cc0186d1077581bbefb877" + "0ed079f536e866414a07431ae6633955bf42a2389b6f8a565d6e4ffb4444336e00300938" + "76a26d4e3106e9ac697788e41f8a21c755eeb86a7c60f18e5e1069f16408a4c375a6a68d" + "42959f2fab7ac09736c7b37c80c05897d8566ce8", + "05ca31e88c5b2e96e433af2023a66095161710628e7bfa428944d6676b8", + "04008232d4bbe25536ea7f83c145a8d2b1cd72c383eefc2adaa1ce72c7dd9a0100b738c6" + "f1551b3240293ee8e8ec29fad0cc485ffc2cfded96b68162bb", + "0df9e1b418ca1d41d749ee998446ba1cc54bc8bf72eac6f30929b40b5c9", + "0d4248e0bb60fe46abf7bdb2effe804b9d394d8a5514a5791e149d435d3", + "0b89a459fb99cccebda754c4b2ae264c9aef7b5b610427f42c35dbe7d3a"}, + {NID_sect233r1, NID_sha224, + "97765d876c80819f4004a36d09ccba78e600efc71eb7e869d3a00f658d2ace6769c7ab1e" + "f590f41fb070aa8e08615e138df45ffbb6473d4a86ba5fdf17dd6dc9ea9ee19c0332563c" + "99e6a3451c211d286d69102b47bfa6e07d468d9bde82e5c2063fb1ebbbed6086f542cf68" + "ba46d4f214634afb1146dd5a6f3d50912ef5b824", + "0ef8fe84727a2ad8bf4e646ef28a492adfaf785a3a2ba6e6f985c649a8c", + "04003435eb25ce9891a78c120098992c666940103eefd80d9bd64f1d4ba37b00ddd6a4a0" + "1e443c92afbc247f634b85f1c858a2aaad35a26f57ad4c9126", + "09753a236759eb32e13f19b9d2ad06f7b4db4ac7b1df96813463d0cd557", + "08408fc46149dcce0753d7cae0f50c8c5fcc97acf7a1a02a9f68c0b80c7", + "0b5ffba104acc6d0cba87523382ff928859718122c4d0d2298e74985d89"}, + {NID_sect233r1, NID_sha224, + "21cf768d087d1e4eaa8a05e2008020e243116206d675c09be42ef2bc93617ecbb0575c87" + "3c6510ede9979215531b62126552738862fc4323d487992754e39d8f0d7e111e165ff254" + "200e05082f59a57ef649bccaef6f980094fad3b7ef93bceb161760e200f0a2e396fbb6b6" + "142dc84d872311bf932b84616b22231747937d58", + "03edb94b8c62f9af30c14a790c0f5d65e362a21cd8569b9725916d534c0", + "040065133691b888cd2513964b5a905ed9334cff6367e25c09db1743045d5801408e1ac7" + "21bfe2198086c1834d484b6e5692c037e09928cff87f4b5a88", + "01d8f800ba05d8173b0f1bb3aac0aff68c6b24cf98c28f5a69b0b5a52cf", + "097c07d4352e39e1878c42fe97ebd4c3ba5098706879fad9be4bb2dc2f7", + "0bc669db3a488e613665cd26da7927c6b6a073ba6b0951c00d22ab1ffd1"}, + {NID_sect233r1, NID_sha224, + "7b8e58eecdab3e40212bba6bf284f9379265b3d2baec3e4625aa08d0ced851da193c292e" + "c793dab42732c07b4e94d8b19c83aed796a7e3a6c2b954a7a9a1ff9b2bd4ca62592c8b68" + "f709f1ad38a5c8033ebb3f33d176945bfc68e9ef2b0cee2d45a13ce89d238a33c09ce2c0" + "c63c4233aba5717b85c4c161dd7648a41a5e39d8", + "00a7519be62562318da1b67d22cf8e720353d22641e0cee11c7a352bb93", + "04013b63dd8ca9044a3e518a67999a781a5b62994b6e20454003a9bdb8715c01a2f9bfaf" + "528b7f5bc8c3b02eccb71666c83e4a598b4077de999d90fe27", + "0992ba1a8331bc4d88be7dee06f96098bc2ea56668f345e187f32f38171", + "0c55b45bc7bc3092ffa82234b06ad45525b45f8904011f1bd6cd356f0cc", + "0e6163e70ab56d43fa27211b98b48f1cade127237bec1c6556020d39990"}, + {NID_sect233r1, NID_sha224, + "f8f268d2b04fe47e5052c8d0d653787384b9654f0bd2138a6f52b80713feeed452b976a9" + "0eea4edcfbb62d04f3eafe172ddebd7cdc3701ecd6008e3d82e8eb217b13b5228839f610" + "75159f3bd1e1409c08903874b6dfee2789dd72c208ae769ec8c7d52552a2b1fd73dad24d" + "e8b571f88e2184d0ee7d063a121187f97e746f2f", + "0264022fd7dc2328a6436b522793ad9406d7a586667a0daaf1bce927338", + "04012d7e7f8519a7e357510adfca2f50182dc5fa12fb2a77409fb781ed500d00ceaa9a22" + "b7ef9febd8a9962ce21d83fd2a2a938b9d7a78d669dd233974", + "026fb8fa6e746106500dd29ee32bbd03b94302ec3a123356b23b3055e51", + "0f416418f7aa4d437e7606afedf961b968a67d9a1524d60fe3f6df4d3d0", + "08d3afc975a8147fa8230fef4b16e3024180a9768702038f955357ce8df"}, + {NID_sect233r1, NID_sha256, + "d288768cbd066fad4bb2500b5683fa9e4eaedfb3dbb519b083f6b802efda0a022355565c" + "5fc6babeccb22f3adbbda450ce5d633193d1431e40c0fe631a295cf85965cd3f5937b318" + "66bd6a5300eaef9941daf54d49832acfceed90e572ef34ccc94eacd0fd6b903fee3c572b" + "963d21e2881656a214d2a4c125778dbe3bbeebca", + "0da43214e2efb7892cc1ccde6723946d2a8248a6b4d6c8872fad525ec3b", + "0400db09738bf0a0dd777f67e82be50dc8c2d8e91598bc0b8d4486f67c04a5008ef463e2" + "f37ac7c3d276676cbedf17ae11e767ec577da7ccd90cde3b74", + "0249cbd55e307a0fd10a0c70b1c0d5e2416f4d7f144779ddc11911f4a08", + "04d1c99f9d486fb92b132d68c0173df891ca757572f7acc03cb41d46bbf", + "07de2deeb58d55d65fb37f600d916cfa49f889f02ef53dcce412703d1c9"}, + {NID_sect233r1, NID_sha256, + "bf0ab46e0a756c11229b0ea961f8d57218be5b00ab8b0e91d7664cdf5e0341c412c0e992" + "d26ab12115197db39df2d1a6e18ed26a91be461432a2dfc21d98cb16003e339b0b0b1f10" + "0e4e6f4824ddac5442f22a1fac26326ed8a89cc91343d7223986d485cc8c64424e84d56b" + "e536c57e4dc5faee459b1958efd79e07e90a9811", + "0aeafa49d776b61f6a30d66ff64bd40dd8d79891dd5293c1b5cd3b46a7c", + "0401ba1b87b16122e6939da5dcadb8902177a9f9ef09194c8695008b80b588008f51ee5c" + "ea1f4fc9c44c70df57326ff121268bf4e02cd9b2626fe7c1ed", + "09d640ede5bb60b9aa78e393ed453b1643f6dade4aa20e994db53e81fac", + "0277bbfb7479077d5fb6813670fbc7f46055718199550130b122a7cb8b3", + "0f8dd350bc0bd2d84cdd374c56ff2341de4102269a1e80df7e35969d4cf"}, + {NID_sect233r1, NID_sha256, + "c7b1eeb7c19eb16e7f42b61d79e421b71de797a6cab4e0baee522fee7acdb533f7bbf585" + "5316544e1b82b4f2a18ad0a2311e7622549332122171f32fc62a90e408207e0fb90d1b05" + "2821dede9c41b15b6e07d84d5d7b9e31e6396a8ed229fb6232b3051298dc5321aa589f4e" + "289d27169f14c8cc93644916d9b72dbc92c43488", + "0e95db309f4305b621f51f93588a2678cb19aad0932f365fa0aaa3a3895", + "0401177eefc44b6070e2c41537e75c91e2f08908c0d950bc90cd2f4720b33500f751312d" + "de55b1bcabf31665deb6c12d043d5ccc89800622a557a7ed37", + "00015798ef57a771d62d194389817c93de1b225398fcc0d2b81d94054a0", + "0eef7161a167f69a6c89b0f173db2c4a7033b5d801c0d89642ce65e377b", + "04043f8985bbe0221fd595f9355c33e1930b5e10a1452e81c31259e1e3d"}, + {NID_sect233r1, NID_sha256, + "a738eb074e1f277dc665118ca055e6328059ab26da188c16f56384c566e43df8cff3d2a1" + "0d2d15c3c1406de8f734b20be5dd1ce937a4289f0ddfd7bddabd03586556eb8233b8feef" + "edaa1f49bdec6d45fd562c2a83fa9fcfc2013bdd77900857199e51fa9c7cbeab925ba8f6" + "c3c5fae46bf8e9c574b302f1e5f9c44400152a78", + "0d4319cc8e409b8755880827f3200d3f0f1c64d6356fe74eb1f5aa42499", + "0400bf65953f2d08477f7fd0428c31125184e3bad4d5da00c91991949e056200f1669d0d" + "116817d625128ae764b3fde956432552d24d98f08a12925afc", + "05e8704febc38bb8ea76f3c6433c1f0421dc5e5af959723a5a2f0e9a970", + "0307c0b838c65d1a47792cb367253bf7c9f627435f1c7ed74494b318446", + "00031a9b35e935be6620243f4878a38d4e617fb25f7a4883893366f39cd"}, + {NID_sect233r1, NID_sha256, + "b28103d77e5457c42e026e713ea6ff03722a36512da17197140117442a976f9e2139c54a" + "759fc26af5811b455e5a0d3a95362d9939c1e738045be9237b469ae2106ceed7e7842b44" + "cc0a475d5af6d781e32ff1dd1f4e1833dbc7f82b27dc7e1562d0e29213fd8911105104a7" + "a16f665b926aa137f70d868c90e72f8ee2c95b64", + "09e556c945052e5954915c773b2d47970c521fcc99139269c3ef46093b7", + "0400db68c16ffe64bede4a849812df0b8e202f74500cb7d5349aacf7f3f0260084b5892e" + "a74835e96e9dfb1bb201a4dcaf32da25dc00dca019d806f5c9", + "0d0c9e0b6d4526d5f6494d2c72f812fb8d26e17c7a44f6b5e3f9e684cad", + "0a379ac253f3aaf94cc49e91fe3f2908107a9e1a4d102e02395eb18cf08", + "0854c2f6ecbfe95cfd14045faf71ad47561e365c1dd5f515d8817c3198e"}, + {NID_sect233r1, NID_sha256, + "463d04c84521ae671bb35c0a7acb3ae509b1b0470f39b8fe7ae5f3c9fbadbeb2bcc3a87e" + "284cbdff07407a351f7ba743aeac50c4a1fef7375b90eb4af8ea2df040776bbf3e4389e7" + "a80bea40530842642b9895ab9ef5ac8ed6c9ce7917d7b3ebcf80b801da845943313988c1" + "970e7748cc306f914c37414f8247d648b580000f", + "0becc76f8a77615c4f92ae1f91645bf5bb908e75ef22fd544aae63a3c8e", + "04018cd93bfe8fc8ceef2b9be14fa947b60fb122f5099cb5bcfad0cdc601e8016de11e67" + "3011e30f6fd92025a60d7938412ac63b19d23e45bbf53c6c4a", + "04e75a7b92c42ba0581eb1201fa5b3fb2ac82460e953c26ce6bc60e145f", + "067bad23ecac0883d218b1368d822b3bf9b82453c0e5f3e336777c6a507", + "03788a331249463533384a61c47232aee6f057634c37560ee25895b2a03"}, + {NID_sect233r1, NID_sha256, + "8b2379b5553ae7db6023cb010e26ae91322bc3f94dbaa369481936f90a886e5d3827d995" + "ccf03ca59f46805fbac0337d31a8f117cc7044218a934d5bf507090e7e21178a7162c8fc" + "b39111e6967803dbf9d752f3ae737ba024d0f4f7627e08be58efbe997a164106bfe37f67" + "d2f19c0fcc7a6c7eebd96a72582a9c7bdf881896", + "020572c2a3dc3ea430cd8cde9d642081c21658e8bda165550cd9a5d37d9", + "04016117486794f14d171dfc3ccffef0396cc9fe5aa45d6d39ce0f252c416801b6a12fe2" + "adb279dbbefa4eafa273a2ddbafb2c6401067a5ef5e859fdcc", + "0edc8d0b64496da309b10630e9e5917c9a807ccd7cc7bab14360873eeab", + "0e1fdd3b7849806fe587ad93aef737ba0472409b7239981f0d325785fa2", + "0829449a0c39071a832664e8148e762efc36fda9e030e0d062458728273"}, + {NID_sect233r1, NID_sha256, + "3090bf7373731cc44c00372c1ac59280b0f36e627ccf763fa68a7be37bb0ac8cbd4f70db" + "54fc652566c78ad268f78f015e4bb1e41516fa56ac303a3bb4a52e1fe897d8338db5a6e3" + "7cad685e704b994504bd231c7dec0002dbd907a7ebfa809833e32eb23fffdb44fe4a18e1" + "1fa19d67356cfd703cf39a75b1a290b8a7c73afb", + "0769cfbf2dd8248ea1e0ac9b275c9d6ddcf923fe762079b9ed62ccbaa89", + "0401aadeee0e31ba9505da3e195d883643d260dac9fe5e86102c8ed7f88eef00d925bd5f" + "d700fcdec60cef9c9fdd304faa102d9d721b4f21291f8c96a4", + "0f2e203410107c075e25c4adc2f55dcc277883d679ea307df7d52060fa3", + "02fc0975c2e70328da4a0ad2b8bd344a8171c2c500c55b1c92270230c27", + "08871b6791f7d03796a3aa537fa820f0eac8f2463c9f918468e7588b784"}, + {NID_sect233r1, NID_sha256, + "c37389cbe3f46eeebdda343e354ccd543e96b0c2a87e057aa6b9c4895a403de706d658bb" + "c9066c140e50fef4b56af2db1f42efb70b8021254649983f1e11d04d6b10169d5a1c2093" + "b6ab89227b88a30537c776bb7575749c3ed87bcb29effd8e4f17915b4d5dff6cab9678d8" + "8f33abead1e73dbdc5c3307ff3d3b2d5fd7bfa83", + "040ea4a37b388f0cc464f7e2bf92173107b268ff77a8acf5f517b4ec0e4", + "04008acee84d29638a7285654d20f8e0653c7386140aba0bd2fc157d51764301482ba5eb" + "b82ba46654aa1eaa6a5f01e030177318921a0c99fa3f6eee9f", + "0a6fbf938e9cdd009c838196ffeb61f7f545f7e7e9a6cb18d1f595a87b1", + "096a80172a7b3b65c0a8acfa8b89cedf9cb19f6eaa5d38436c300b7c0f4", + "0b7bb96ddfc9d1324bea96836c557cf88d6ede9a93ada8fbfdfcfe56244"}, + {NID_sect233r1, NID_sha256, + "8884def8c3b9c5f856b9c2352c85ea71aae3c8d0e84ca74e70e404a21467159fc9826548" + "d16dd1ec5a75dc2c23ca37b30312f25e1194e0f9385a0499db34c855412bbf58979ffce7" + "fc3afeb7b8dbf9898df44023200d809f520db99eae315b5cf85674fab008a20340fae8f6" + "974034fd3e55bf08c5522a460680218f9757e368", + "037fc7898df9b37b5390537352f5c0b8de22659166c19d7d4df31c3938d", + "040198674b40d2a68ed94d5b2c51102393d1332404f75187130669b9de0df9013ee77d85" + "4a60f1aa74041ef1fb58727c09f13039bb4b33a818dfe9af2a", + "0cf92eebec59605b1d45848f5d06e93ff2767dfa282929208ba801a9fec", + "0f7bd93dd4df06219fb974a4e85030840c7d4877f131adccbd98cbd25de", + "0c2c4a864459488eb5498a06b0b56ce7fc98fb29b1eb9b6238da8cc8f52"}, + {NID_sect233r1, NID_sha256, + "f1fc154d469433f56c2bd42aa52237a4a4bfc08fb6d2f3f0da70a62f54e94e3f29c629c8" + "37e7adf0474fa8f23251b9b349a16848942c0d9cf5db1d0fd99527020dbe21cf0b94a9aa" + "21f376bf74da72d36f87b306b0696771efa7250c6182b426a4500ac14de4a1804b38db8d" + "4f3beefb8c9bb619ac82cb63fb37c2e1d22951f7", + "05d5069425e7a9925d2cfc6360a708147b2c1b55ede243591885147ef3b", + "0401f35f161ce0963dca70066b3a6de2a74ea1941a27cdfabd9e433d8084c701d5d9cca5" + "b741b2321d8511a777fcc2515c99ff8d13ff20266a163c94b9", + "01b9c83d36ada7e9367790ee850163ef4420104e0dd3299ef6d65191d7c", + "0dca4e804bf74aa496c15025acb4232c637c9b81e9e26d6f2065d6be21d", + "012014f77a4ddb7b266abf2c65a653988ee6f913e700f3f83f3e78c88ab"}, + {NID_sect233r1, NID_sha256, + "885cd348f7983a0721f96c0e866821223d3e5a95178b16d18652b4062b1b2278aed6f54a" + "b06f7e37ae6ce1020aa3eb812d215194bcd212302da5b971fd86aee1dcb23057dbedb569" + "bd0bbef80df538da69ae2358cb03bb77c64d3ead475c8c5ae5bfbdd75684b421a26f1a7b" + "0c37548fa32d805acdc91230dd70a48232a12846", + "0ffe3e7b82ca62b96e057ee072a4718ca20a6cc9a3e51e4fe8ed7b4b9f9", + "04010f774adc83c1893894855366f1db1962bc697b8e1d047a01a08b12da4a0078c6ff63" + "4d5dc8ffc4d8b1a53bbf94046023095a8c2b41618c4330a4de", + "005a4a50de4e97280d6ed1324214d91b271deb649a2dae18d21a0182022", + "04bc8ba9ffbca81b5f19f0d8b1306900ee642bc5cd9a9dc9867a4531b04", + "0353567acc062b83459017c70cff4f3b8ef0925032b51d7300261408549"}, + {NID_sect233r1, NID_sha256, + "ca3b0e2f1c7db4e73c699f06e432bb0f63705ba66954bec4a259bf31c161bb4861476e2f" + "2f7dde9d841d1ea6bd0990cc793cd7a10432e38735c3eeda7a0d786e8821239bdd6c4972" + "c96c2cf68ec5b935391f963a50fe16af2719c9029943b539ff0f1f5645962a6ac46c75d2" + "037fa0c7cd46deadcdfc66e1ddcaada3a376acbf", + "007a9cb5ce27c763646de414ca2a4dcdb774d69ed2bde7a817baddbc9de", + "040086d4ac1e3d54f7c154c5370f5c9a2d22cbe8f794df68974706bdc9172c017770a2cc" + "ac923423137731a14e97f6ca65a8cb3642eceb4e70c78ee929", + "0538b86e0a899281ab56d28f40bf3b7435f9a57e334a3269233766049a6", + "007ceaac3aa0e260c371843104f5cb91a057741b38889ee796e69f920e9", + "035eedd44b036b843deadb8e8df9d96b16e719ba350a634553457ae71a1"}, + {NID_sect233r1, NID_sha256, + "4b0a31b746763beee77cecd318b90acf50fac4172cf4bfb354e5a440f651cb89d7a515e0" + "9ab19e9850803ab9167c2aee3b395a5da10dc9aff799d73756dfb0a9961d93bc32f15a96" + "bf13962a03d5bd42ddc8b5928def7fc48fb063f42866fc5f96cf88fe0eb125b7c01906ad" + "6a7fdade28ccb0a421ceff50ae03a974671b2c27", + "0c03fa9e38dc1c697f70bc6381f2bacaf860bb5632fc837f728da959ac9", + "040195f386c7efe108fd1d580f0a77031e180e45a23911ba983217207a904b01a6837095" + "a64f71ec53ab1c0d9a3a39d69a514065d83f1af26870e41741", + "0d4f48085b367787a614b57c06ee8018b2e95e989c2e8cf355e71db1091", + "0391710f815babf07b6287b7aab8b9d2ce04bee2a144f4d4a46fd17cf77", + "0ef29cbd771b8a6f414ecb73b7937ffe0a108593ffc6899f28d4030a9eb"}, + {NID_sect233r1, NID_sha256, + "3011d42792b21c0f1719faf6f744d576f72c5fdfd22b1a520d0e8d47e8c2b06823d853b1" + "3c9fa039fa30a6f2e3e27bb2100c6a35f55703806bbf0f79b09d0f629f8042ec63fa0406" + "2f15f2edb92b19237980005566f02bb12a40b4ec66e4ba6c599d928b33f72d7437c0e399" + "a8e6a9068d1fef24917fc4f9ab5464ea6684dde9", + "087dba00e3fe4802e01718017510094924496bd2785d4ac1a352c530473", + "0401198518db2d1255aef955b9b80471aba60cf6d8fd1feae6d8e048ab140301833332a1" + "16214e4d9fb37c8e0ab7552b87348434a67a0c41f73972dc9c", + "0378578acdfa572b1de4e032158b28bcf00ab7dbaf07b0e772c39603216", + "0be2cb45d527a7685139290f1098de975b69957fff2c5c29059ce417950", + "06abf4afdcd2990121723b94ab8145d01cc4917cd70416620ef100c67bd"}, + {NID_sect233r1, NID_sha384, + "05a5d3a3b79f4e51b722e513620c88092a9bb02408f5f52a32e782fd4923f4fd3094fc55" + "36caf4b645d830260eba91b5173f3833dd65600fb9e246aec968b1f6ebdfddb4059fb2de" + "7e636ed60bb7affdb74aefd158e54485d5f26be373cf944c6570daf8fd7e4b77fad57300" + "667d6decf5c65db99ab8763bb4ecbb09fdf47e3a", + "05a387e7affc54a8fbb9157b5ebd400c98e2d7bd5c3e095538987d4f8d9", + "0401a97224cafc063967b25cd1a43283daa5411f3eabe9386b8b14c9768c29002cefaec5" + "141bcb084cbc9aebf28fc59780897ad1424fd439eb43eb911e", + "0fb7ec3804654b9c3675f7b3c427f6d01f83872e96de2742e59c93151fd", + "0808d829d78e65eea47122c92f8c2cbf5a8d6717a057ef1659fb6f8cd3c", + "0ef338e09dac0b12fa6109d15924efb694a0b672afb4ef05f4e6f2f7b88"}, + {NID_sect233r1, NID_sha384, + "247a101c8196eb93a440280650ad463795690bc620e46e8118db6900a71eb493d03fbcf2" + "f73a79bb47aa8e2d8c87ef70e4cfae36fae5c45fe247d8cd0f7d0718dad106526945014b" + "4f3bec324897d8e1fa2f457b8a68e61873b7fa0350fde3b87b7b001c13953c2050a24f71" + "fb77eb455053e49200ebcbba7299485c0f1a40db", + "0adae709a930d6f5a5c0e3d8ef4aab004d741d23f0ffb8287f7059890c0", + "0401541eaf3dca942957c48d693d2eaf2a456646d2fb3eb8df1779b917a9b00097379582" + "76dc31852e57063119f1d2d061616b6a2fd35b4a1a3f046954", + "0390d5ed395f8ee3478c2765525c235587dbf5bb2316df3a1e8c664185b", + "0ebcc4f84bf2deb9b3d669158998fc96d7516580675e24348ca58d70d2c", + "0b99462b85e6ce6b46e5aca221250ac9de7ccf3e63b38919b61700be866"}, + {NID_sect233r1, NID_sha384, + "a16678c71976a3ce3362ca379b3272b92e8ca7085b43752473db34e4d6b61eeed3875f49" + "f3328366fc9d0644824e0104817de458e4c1036636b18b83dbaf063f2f99818959224906" + "571c7b28873d9c702360888df151e9ad1a7003e6130033203acf8a69889be6ebd90816f2" + "abf0764f10be68653b1e56766ecc3150bef8b042", + "035d391411e6d679751092c4ea5a079c591e77ebdcb57c1d9006ae70d90", + "04001298e6f1612f90dbd2eedadfa8ecce22dff1da2d1cf057c41bd37d4b060073136a1c" + "af7dae2aaaac571a900135a51ef031643e9d5f01934333b864", + "09e343003670f61db85aedc0249db21953d232bc45488c3d6ceaa6072bb", + "04ac435e88f8e487b9b217e7d68fbba9bdea0b9685769878818f25e661c", + "074d8f4dd58c922d7e79f30950bd54c10c1cc52ae3b8d00b675c8e501a4"}, + {NID_sect233r1, NID_sha384, + "bc2f080a7f0b69a6b142b8f3fb481a43bd71d07418df4f3b802568073c1a8d35729ad197" + "f34a4e941a6dd511c63f201d1f6c34a1b66545bd5f43508c10bda1d6ef60ee5bdd25dde9" + "75e50c61f76cd36d50ee3bd8dfa2dff59524db9ef12f1e28d109b552cb42f021963f559c" + "843476b5c889fc567b7840297c5a480e18c221dc", + "084e79093f1947d6ab9cf399782436e36ef87c59a4c090930c9a74ddb10", + "04008e756774def210e2d6f76d6e4b0b43d86adca0880f017abfc911bafb5a0147e6a20c" + "1aad897829339630c5edd327ef9a7e40795630504318cb71d6", + "0ce780ea99a344d67de7921feba6ae062817101068266d5d1a140d2b49e", + "0fb2474b854b8e5d6920ed90e69b5b386a1b26a947b1cf28a13f7c5d3ac", + "072722017a67ea6754873f833fc51318d41d6ef598d3ec2d3e0eb5bf41d"}, + {NID_sect233r1, NID_sha384, + "ea71cede8b63ddc5648eb244184bae265cd65d50f77a9e25ff93f02b132487c08732544c" + "b88936d4fff7c0fedb39685822dd1c9be1158f647c605c9bb5f6a1ae34722fa08882c14b" + "36b6c93cab33c9a269c7c10f755b6453ed045ea3e56f29e95a9404ba189a0b4884812039" + "2b4dcac43148b706c3d9e4c03db410cbe5dca3da", + "079b6be015b8006f86fd81c2792bec6b42c08bee2d295cf9dc214c326ab", + "0400e24338d5e33ad12d41eb623ad0905f64d5b75835fec4e693eebf9bba100101b4297b" + "5b62fcca7c61637a2a57365e911d3bc7eb0fc7adb0a9dc7bad", + "0f06b001e5f874d16632e3c8d49f13d70f48ed4eecaff9d3b741f9d02e6", + "0de16d8fd7bb1783a2cc4b9ac1563eff3f87e4e6d75e6a32a4aed1ecb02", + "040bdb1197ee8ee51e4ecccb8d42dd985913809c131aa9224049425a052"}, + {NID_sect233r1, NID_sha384, + "319b41d16e18059a1324c37161c937e882192cd949c420ce9c59208a0ac208ebb06f894a" + "7fd78df2a3c5f23f25dee6595d3dacb25a699f115dd482ccd36fc54ba29dda279335424c" + "86b07a1b1fa76a5411bcecaf4d37065b229cdce0bac75b666c6626ec37a716e9841be93c" + "907f87453ad91d36846561f284421a89013b88c3", + "0ca9d751a060fde64336cdc88122819f4b3cd1b4e7df42d495197787894", + "04009549785f4f9c71f20133f5a1d409b244df55445beec404cf8cd4d2cadb01b246647d" + "7570f052840d4cc01182d1dc3bf357b25e5966434e1c3c2a30", + "09e99fe741cb23f7eb039f5df8414d069b5c2e3c144dcd6cbc6da56ef43", + "0cf00f519c18e7a0fcc84c1e338158399f16929ad89842ba97a4afb5bf2", + "05854ee1a6aa5a6a74bec0b4696e80aa275210183c86f45dde7002d7ae3"}, + {NID_sect233r1, NID_sha384, + "aebeee215e7b3d4c3b82db243a47506ffbf2263f6fe9de5b69286e8649d9218367c36ba9" + "5f55e48eebcbc99de3e652b0fecc4099714ee147d71b393de14a13e5044b1251e40c6791" + "f533b310df9e70a746f4c68c604b41752eca9ce5ce67cdc574a742c694ada8f20b34d0eb" + "467dce5566023f8533abfa9688d782646420c77b", + "01dde4b2d49338a10c8ebf475b3697e8480227b39bc04253a0055839e9e", + "0400504bd3a97baf9852d6d46ef3db78ee7555db752120d020cd056b1b4e50018dd305f6" + "a15e91fa46d2a6d30f2ec8fbe2baec491e26d9a2ac81155c85", + "03b78d2772b8ce01a00ffe2e6be2f9e2ca2c89ea3b29bec6d6cf31afe33", + "0c0c51fba155f98900eaa2d2935acd615e917f9dd979dc8d92f1d6e00c9", + "08c8354f95e24ed13d8ff3755e1122dbb4117c76b21b3bdc7f4dd856f8d"}, + {NID_sect233r1, NID_sha384, + "8d353a6b6f35590baef59b638914d3e934d0145b045d221d846517ceddc8ff5e3d28826d" + "3459f8ce1260f705e80923f39abc73d5949aa7aa8ad1734be0e992bff0c9a8f4cc9bdfa4" + "30d4cf52e29d3737b0cd3231b72b16e15e1a9040b832e4a920b4a1d94c4964ac6c8abb75" + "bbbdb10825f882ae44c534c7154c446421a04d87", + "02c8bea2803fd746c874fa110a716538c179c82712f38d33d0f6d037e7a", + "0400a034560353561cde19db89dbcad5c9dcb74e239efc604e86ff38a0577e0185e0b02c" + "48be2e90c916a7c8ef2b41a57ea8d4f21d8cd3a0878a03875b", + "02e39f851c57643bd799c4f3b2fcc5eec8ff7f9e9e279efa647f969cc6a", + "09b2ad7efc7ed60d9cd3dedbd4159b1e05f05ce5ec2d2cdf7a0e0657482", + "03fcbd4ace6a140c8bfebe36ff30848966bb0d3eec323cc8ddda55faf00"}, + {NID_sect233r1, NID_sha384, + "847f134b90f10ba3636ec24f36a94111f26d58428fda5bba4501e58c7bb55809f52320cb" + "e9e0df55af1e40bbac9f3eaa26a55d78b60621d4356d090d98363662f406367601eaa9eb" + "9568b1a1b319730bad7bf6a7ddf1b45eb6922faf8d065c540b671c50df758ebf8c4aca6f" + "01878e5e0012dd038c58833e2b13ebdb9a9f3fc3", + "0b9119b3b4b30cbfb98ddf0a4f6953417e515fcf0e5a94e83ebc1d1d14d", + "0401be65d340f7e99067bbbf961c2b357e1fd47a74393cae5f93a40c5dc28000c04cd8ca" + "3ee253b99e44ee6bc0e52d2f016b16f59c738b9f2bd8c1b9d8", + "02c851ba0123ff0543808931ab3857b5c15d7c10c343f232913f6e0c92e", + "0ba2b33550878e223cacb80e45e382dae84e76bca5a2ef8371b84d08572", + "08c370f82506e97cc15837f59e9779448decbd87bde0a463bc14b18edca"}, + {NID_sect233r1, NID_sha384, + "99d23950493bdd931915e9f9b65e4cd1329866c0071a19d4f7d6fd190689275b7b10fc07" + "503dd1c27a4da274dbeb3aa5cb0e71e9b7b03fc2697729b7be913756e6760098951d7015" + "df181cf14b1e0b954e6260276af553e3e59907794b863e941950718ef154669c5c262946" + "ba120892e0239e05910c2194f712db46e37e53b7", + "0f4ab2a573f3771d1e4222e251faf14e06cefed544e804c299c9a8395f5", + "0400b1f973d6495d277e24320622b9b99fccef8eb5c1c6952f35b82d4479ef0161dceea4" + "d3c9caa4f640f51b37fcbd5b8932642a94c8e7aaed5db17fdd", + "034ff28a5ed6958514c603b3af5a991e2e9b4cc2c0a7aa73ab2d70bd05d", + "01abe4a7b27395a37089f91eab27ccf29001ced1bb3348a6f919d466477", + "057449e55d3f2a4004d647ad6e8fbbd516adbb4de40b1a872ad8ecf67e2"}, + {NID_sect233r1, NID_sha384, + "7bef2487bc2bbbcbcc1570bbd4ed437c0dbcbbf63f666a3355aec49ea6ef593da25aefe9" + "ae0d94db50692475425dee3c88cdea975794ac69142c25732f3541457d68d9101c8be069" + "f2b515aadadea2019dc7abefa6c12cb3f76d9f4b5e46546f77eaf636aa8f232913092211" + "1151a4df913d18b7cf9d0308f01ad84d878adde7", + "0f4649cf30d4a5269296a45977de2652cb06d3ca2aff4475bb24517b927", + "040100ddcc8e09ba2122a6535c6a0a2dae83abf9e17687b5f6aae7ec6a2df10048f55873" + "60ee251925b7ed02de82307ba219a707705623727f98346a26", + "0a38b2bd0e9a5044db19d4312ec88d19ce1a9bf0eede8c357f898b0bc67", + "0d0ebabc8761ea215808a2c3035b14b614f64be0c2741b3d7789a8659ff", + "0f9e742bdca44c11bcab196f910c0d887e90f250817ee7027f6df8207a0"}, + {NID_sect233r1, NID_sha384, + "87c717eef6dd3c7434b2c91de05723783bef603d170f654b49a04b067b077c405d2d757c" + "e780101b930196ca4261efcfbd3fc1ebb762cc0eecf101072988aca508c41581936526d3" + "f337053000dcf77b16172492c5d654c6612bbd2523a6ad5966d7091697a29ce882fe331f" + "79a7eb59e5a3fe536263083cc59b8133bfd33c1d", + "0cca24ad914c24c011f41f80d27ea41caf41fcc8dc9dc6dff5248b2b474", + "0400175b73db13324a678b8afe086944a7ad257cd33fe9538c59b9177d1064016a98ac9e" + "0ff59de1ad94b50f8c709ccf4342f983c7530be64c3f1548fc", + "029c83def3a5c386b0bc3cf2663b8f4b02f26c6e3e14fcb17e9460087f3", + "061df783609ceb355aba3b1753d38f42434bd75c8354029966e7a788be0", + "01e8a093f53a1d73d5a994b97f2b2f210125ecd3dcdf77c68ea3199856c"}, + {NID_sect233r1, NID_sha384, + "9bf48c2aebf473b3a4a928b3b6a4d2fb7e9193c9e60bc2067f9f03083a8cc7b892bdbf05" + "601118bcc34dd283e7be996bf19b0bd36727eb9d65276b6517bf0c77ae0a9091e7a9e461" + "82a2586eb22324939801034e5ba94ba30d1bde7d8fed51eb71036fab6224f8ff30a00842" + "2efcff7ea239ff23b9f462777e62b41b396c5dc5", + "0f5e12d536ef327e3b0ba65ac5fc3f7f4880f5968f3340eb8868c1d47da", + "0400b2910f5de9475486b3975ce91c02187e8803e68586f3a1df14df67648e00f28af536" + "3ed851c42daaa810afa1fd0d2e001da7764671fd44fb6737c5", + "02a018753965bdfda98512c7f9da3e9235a4a77aab9804437b652182347", + "0b6fd02b2d84b7baf1a5eb592cde667ed6d4c2c821ca336027a72d9abdf", + "02253faa5935885945121a374010b2257123cd5db4c54a2aa0e08c8197b"}, + {NID_sect233r1, NID_sha384, + "716d25519ae8f3717da269902be4a7566d6f62b68cd0faae94bce98c8a4ac6f66215ebac" + "5407d6f64adf9d53f79f02e50921b6f0e8c805926a839443d30d9294eaa802faa7c5471d" + "81fd1db148cdc621a8dd0c096e06fb0b71943337d5325e1bca77062684873fe904ed9012" + "474ceae5b138e079f941a665a995026d13d7eed9", + "08c30d93536b8cb132277645021775d86c2ba8f199816c7539d560ac6de", + "0400d69332763cf533d48e56065e1b5255790f8c0eb23471fac9b945e6219500292df8c7" + "7d9a6803f60bf0722ed57ae2aa3bc816403b000fe2940e02dd", + "050967928d6089da5b16c88b7927de210325c8d8f5e727fa1ba3bd95b5e", + "02434697cb5c2ad95721943154bc81e2ae16332fa6629788f505bbc1522", + "09a5a6792b1b9c2e200ace5a3d50c04f69084dd9222c021ef5fce14d4b6"}, + {NID_sect233r1, NID_sha384, + "01e76755007b2ee5ac9e1d4c8adabad6d0f9c1c08ac6e2622b7c1ead89bd3ad0921b9525" + "b49a780a262fe8fc0904a80391717ad7cac9607de55f7c744af8a132ec45ce79723f4a4a" + "8c8b9ef658b360bd3890df164c9f1cd74eafb74feea251a34514ff2a57ae7a6d4bec2067" + "cbf6ee4fdaabf13721bf9ae178b9034ac5e9665b", + "0fa3f15a506ccf7b50bbbad0a54d3223f5a95eb54f0d1f4e5d0cc21469b", + "0400e797527d57fb3a18c71d1e82e7935e37e719439952d4b972f0c1e0c83500a345bef4" + "c5015e97a148b8991bed4b7ef48947b12f316b5621e94d49d5", + "075afdc12d4d50a7495f5a7d309696dca23e9356a0cab11c3b3d7b8c54d", + "0960ef460000fe8c761038bab7e29d665100494d0874b6556862c2808aa", + "08d3c004426dde6c18b1c9ae00a44ac947e36755d8c40eecf47bfa963fe"}, + {NID_sect233r1, NID_sha512, + "e95abeeb2c51a8cb75ab74253dbe130b5560cd52e2a63d501d26e1458aa568aca6694be9" + "1eee5fdfcf582c47c1c727084ee2b2c810281cf9b095808bf7e7c668eff00a6e48b06df3" + "fe6a445e092c24d5687d7d89acc8063275caac186c441bc697b2f67aa71b03294e1adeb7" + "e557c296dd91304ba0587cda3c984619f1eb4f2b", + "06400a4830889115aa88b860b3fb65905b01fd126c4aec2785518c2543a", + "0401a2051662c1681bbbf6bccbd33c44c7c7fc80b81a1bce14caa36a73f7a8011583d3ba" + "8f22080488471d8103f868100a97af94809b58bff1435b16a9", + "0ceac6e5d10c55888b9ecab8d3f6ada7f4d0bde2f109699157d194efa42", + "0c148f2337008ccc3e61501dc5df3ec95d3596d97eae96a7ab085a915d8", + "036d1debebaaef50243005e25c791b9674cd6fa986dc3d32e089fbfb2ec"}, + {NID_sect233r1, NID_sha512, + "bb8d8515365d240b2071daef0d80558fd3d0e059be9f6abb7b7a0a5f47e2ddca7d1b3b51" + "01d5c583143258520ce8db0a87f877a395615c9bf879ef46f2f20f68bbc9706f82781fad" + "69019396b27f292cdc70fff1772e90205a2225f80889f9daece1d03914d8776ac5bad24d" + "8fb190ba10a2ca17768b918c2e079d83734eb372", + "0c7b73c324250f14fac0edc941f79bdbc6933ee8f64bf94b847bee5eef6", + "0401af7266ee56bf0518f2875d4f4d9ec508a01769d9c1fd0a885a48bbd80c0084167ada" + "99502475478465315bf8163870a9ec1b43f15d68f0304ab03c", + "03badc9b8098c3b4d7e943a2365093028b579519031a8643b50c0f81eec", + "07ad4fc96c21963395f56eb63e1b0b4d2c93d827626e7bd4448697ded97", + "0e7504e6a9f662472e3e6f18a40f7645922fad2ef7313d600a5a6ee314d"}, + {NID_sect233r1, NID_sha512, + "cd8b2403435fac9caeffa21b55eaba52d7efee0f89df7142340cdffeb89556303ca01a80" + "0429397e2ff6c746743b6bc60a87133274282d4cac02e4ca90ad95d80c93b84163b96296" + "f67d40b2a1124b2b6534ab6b60fdee312fbcdf468d0e84eb85fce4ff360136bb31ced399" + "8d29cfaa3ae685e638ee272058f123c4f35f8b6b", + "03db7f28e161abf52ab0adc8c4c8544fc989af081303b8688f22b7b2eb7", + "0400ab94312e53832265b929f3d529bec33dbcc5c17b969e0afbe2d559ec3901d53b2c1b" + "e229e2c224e6e9fcb8bb0f044f3f9f5677c60bc9454f36eb06", + "034a8f980896284fe6d28b0b49703f1384d799e3f11a04b1e62da12965c", + "0e374fb355f30d7e427bc5db99ed76a914d6e286099c72f28c07302c741", + "08d5ffd41f8a1fd3de6c433635fddcfc2b21809d91496ac17571afbb856"}, + {NID_sect233r1, NID_sha512, + "4bb08eeb202564efb5bda40777d71f1bcc4c7c10b611e803e5c570876f3e319e9e2bc2d3" + "2031c56a32fc0d1fcf620d4e4377d881e9e1695bcdb78acba370b849115b86c1c4b83edf" + "a03299da8e7fd14c7cadb81a8e4911c8e427e32c8c9b67e317575331967cf58085cff0c0" + "d48ee0b8e7dc0b49687bb1c70c703a5dad08ec81", + "07e9d2fdd017d6da6029e88f78927d9ac9437f542db1f1fa99e32bfcf1a", + "04018429bf08752aa470a8f0801170a7ab96adfb168ee8212d76ab0b994e460072a5071c" + "e308d7daefb3e8f4da4681842ffe0f35dd8b071f0775c83f82", + "0a0f330e011d34714875500b70c881ff6b1c9e96da930eef75ec78ac120", + "0439bcdb86d40e8f64db5dbead95d85d6a771d811480c5765ffcbf75422", + "06c01f64e2812d18b0946ea4e6599e8cfca0a2b606c3c35c803ef2cfed3"}, + {NID_sect233r1, NID_sha512, + "0bce683d835fe64e6484328aa13e18b0956f6887b5e4442fce36ff09aed015889794e79d" + "a8aa60b4be565c78685674c51e1e7ac60db6a763c777198a56e382a03aff8b40862f961a" + "e23e8b8683b76a5577769422418972ab0049119382edde9e752b42e8b93f403c1ef8665d" + "7ce8530ce4ed9ebf6d397827cba6b7645e177231", + "0c94052760fc74c2b405ee4dd5dd2a7d38ebc16df9cc32df706075450b5", + "0401d2a5ee02d97f82ea9c8833b825cc57b0cb51d3f2a2cfa7577eba676eca0149c68d98" + "d0e9cb242962326a26164f3e3cb6d81b51f281474b0f8d333b", + "0fdd3ade90da682676d40008cebeadb9b2378d8a821e9e9428018cdc768", + "0f6d244daea95002daff2ff6513da694eee58f8b6c2d47ad121be87559a", + "0b04788fbb5655a053d0fb7a38c39e1fef68ff17860442ec8b8ad049842"}, + {NID_sect233r1, NID_sha512, + "a6defc770426daad4dafba3bbd2a69881334f7c31269b297e440926db54cdad3fd7ad200" + "f5ada2b72ad221ad99a06ecac9c2563a8deed89f0d0896991d1a652f6fa282affefbdb1c" + "1985652300d1792725071631d75a182b683a48448063c7d2563ec3d430e0fd3acea33a35" + "cd38ec0b5b07af96af71d0bfcd879d9864ededf3", + "04076b93487c2da8aeaeb4725fb53b7b41b465315335c18c6ca041175b4", + "040158755fd290910498f6c8eed83bcebcd1fcafef4878c860da118efa250c01781fdae5" + "01c2c147eca2c6c809d9428fff2f853b57c7d6add70fcfaa0e", + "07debe933553ba3420aa06e1bc52a1653f8a19b59c0bc9c47212389442e", + "09e09c6d96e33c845535468ec7f5b79cf30123538011d0b5ffd935d168f", + "0963bbae921317666f5852759e9ebf05cd026a5d9f026942835ff0daeb2"}, + {NID_sect233r1, NID_sha512, + "7803cdf4758c199962b62943f475c6c31356f5d9b997a12e21146a2399cd0dd3b97a860b" + "2ce639e2801571599136d4a8cdbfb12fd1a5ce22374991e090533ff42823a2c58d2076b7" + "72814eea7fd7a1fde68263ef912681c72c7aa3e5a7cc44ee8c65e72228b7631e600121ea" + "35bfbbc783b6ae3c0c8f80198ada218be533760b", + "076ddd73ee4fc1f5e6766e229cc7236cdfce312417ea291f7c3328d5ab1", + "04015185e029c0d4eb5102e0fe900ef3c921acc744feb44570a288015d090800ed56bf93" + "394a434cd84b521040d40452bb39755da5e273a05e8c0ba792", + "084e9e4a9c84a602c18bbb6b183d06969c8b8538e2ff901f1c2794d5eb5", + "0fde8e9b1959477ddb3423661df1e7182e4b583849d6d17fafd7dc5406c", + "01a12bd30e9c8b74912c670c0845ff5ecc77f29797160bd4992efa61f4c"}, + {NID_sect233r1, NID_sha512, + "e789461e1dad0b6e21abeb6ae2e96385549d1bae39415188c8f833233da6a3328144c97d" + "db36e0ff4d9e19d84f869e79e609c51b32de59892fb0446dd28cc164a3e53534c950d26f" + "87fb74e682db2038cde778bde06c3ee2eca2a077d8fcc2b0332e352e0e7e6487444a8ad6" + "0e78ff213b16fda9faf374dc6d27b7a3c4c6d196", + "07e1f8988ad804aae7d09a99be19384cc599e7652c02c391542be74b17b", + "0401fa4751e507740a7345e06a8964022fc6caa901cf0c2077a2c0fb86be8a00683c593a" + "0bcd123d958deb6b430d49d5a2386d44706f4149dc526ad896", + "01d288de55b90dbe72cd8f1f86a3ffbc2902f4b5f0cf4e641d32aec6f20", + "0048d16d87dbf4fb8e994dd874c10d5d16846b9ce2cbd43d09df62ca970", + "0e2ee47f422095d629c188df97e2839fc6239b9e2dc26baf8161b037236"}, + {NID_sect233r1, NID_sha512, + "9b58c145d1b6c887f2b25fb672cd49c3a1117224be697c15182d4048be92968a6500f8bc" + "f747fcf33145c13a8d72e891a6e0c4c7310c2b62f3181bf586fe32f1ecf4feee8c2c8bf6" + "c2bfdf9d5f88981ce080095c93e49a772d8e7b59f9cffccec3ca2f212ef4c6748f64e224" + "f4f098334d83108bf6f8c7b43c5eb549f1526897", + "09b2292b0244c2aabe8b43d95039984d504ebe05eaff318760e4dee739f", + "04012618d89f50b7f83ac470705dbe9ed81beb03929732a3f2aa7a636eaf59015f0f70c8" + "08e053b112a8c32ee422aac2b926c5b6a279a787fddf819990", + "0fb38174a83ceb9236fec8ea39be2b3c77c3dd2cf42d140e27838202d08", + "084941856a387a56022727f81a939d77d12b01dab603ea0cdef6d9cd6c0", + "0bb9fc30595f94d664a590ed4f163e4526809819baf96bbee629ff86bd9"}, + {NID_sect233r1, NID_sha512, + "52310a901fe9681a23dd6e02f12974d57f2c4f653322d9a0ff8b338cc6c2bd9f4765c90c" + "6b3c9fb17df3f492e67d204e39d81a8fdeb92c852a1dcc6151ed6c63049037235c6751c9" + "a902748163a567b714725b4d3995e0edbde03215c645b1a1da3147f7406245432800c50f" + "823a1f991c863427ff4c68e4e16d1b106ee40dd9", + "07ca463b50fdd92d9163f1c2bdfce2ee45ba1437b79162e3e959b814cab", + "04008eeeb146216c73ccff0096e1100008f8b1f3f0c5754c0abc4ed39f7f63018c9228b1" + "1888edd66b2e661284f583a0e8d3c3e922932cd9fc1568f959", + "0025291ec0dc2b0c709c5e69695980564552545c2497636b814aa049ccd", + "098dc98457ce6e69f77123d5d2460ff569786dd60fe07e847ed5bc14da9", + "0cd320afad2a4247fea5b74d78dc3df8967ab3159b4c8b191814d368dc2"}, + {NID_sect233r1, NID_sha512, + "ff419c011601cfaf833067cf28dbe6e935ebeddf8b5111a97f6eebf3bb28376334f329cd" + "877a134b074790a073db766efe018fce666a34650cbac285ae856fb6b3b8b96877282bc1" + "1cd9f9c8e510ed1f69bc2725a44a1d2b35de1edfd8bc9d20c7525ab0bbc27662a7cfc1bb" + "d1e0f4fce5b88411521e3893e027cc8c73acdabd", + "0c3844750f63fe0c2e930bc38fe88522f4e72a2fd0db9778ade20e939b3", + "040075acb00b5999f8b272a15a2cbdf8cb630dc3eeb1e78e58f58e467396f2016711aca4" + "24ca335878d273eca75d804d3f009a1f3628568530ef265eaa", + "0a63e7a20d100f14b8b709f0a6c383166c2151a36dc471f061b0f20dac6", + "04063be9d8e4f0f9afe0c79374c69b36910b5d2b1010e0f4db2e4cd23da", + "06a6eb90659aa79e4a2360ea9ffb99a415175dac6c3efef104bef6fd57e"}, + {NID_sect233r1, NID_sha512, + "05a89c4824c5de66587875011e704bc6e06e991ba8f3aed331cfffe55aa266a08c729f77" + "b8d082dca4d286b2d451ea838d726cc2cf298fddf2d7376714c5e37b64506f353917caec" + "525a1209391449c078c5197a371feade74f8fc8a1a1d67576edfda13c14ad324342fc0b0" + "9277941dc072ec0d39434ff1cb91fc59478fcde7", + "0a3bea235dea86506be4476eb7999dcb8e584a34238c4a894ad6823b93f", + "04014093a072c21c44d1c4beddc5c8dd9a2845db0935bbb4e1c4edb0aee032013286ed58" + "4deb744c9c35d7ae7eb9cad1c7ba2b670642de0399b230716d", + "078eda19f0cced2f84c1a7b354e5a79bec035b8bb279473f32d60f5d17f", + "0964e817f0cdc251eede4157a9bd830c476627c3f27d2931b4f593b0178", + "08dbf34e597ae06ad92b13900a4944e54a5bf0f16f586baad157da6dc96"}, + {NID_sect233r1, NID_sha512, + "13e6b5241365d9d0ef9e8b05cabb3248afd221ec02eab92284b98bda3d9272184bfe5251" + "d35705defba5085381430e99b33a3ab77d7870e5102757d065862372df2434a25556b76e" + "54ebc39d4e6c3aba5cd6acf0c335756f7d9385c1068d4cfa37526a9a58c0ccc7f87a8189" + "176c5d4f201499236058ec061357dcdb5acdba40", + "09a367cd1cffd8dfcca179e167ea437ee48e9b6f42559dda9224701d3f6", + "0401052d751901f6f8e61858d3b15eb59dedd21e4e997531ef65622d5750290112737be6" + "7ec621509d73cd613d7b448035397fa66eb881f90a6d531ea4", + "0d8dd8f1cab623ba6a4e840962fb31de97a4d14aa6dd34dd21154105030", + "0a8276d0f069f34c60b26a55d47df69e4c9ae2981afc59e14b5bfcaa498", + "09351c4b3a06b839eb2e9f450d9c3d15efa45509886ea3f2610ee1dd156"}, + {NID_sect233r1, NID_sha512, + "139a1a5090b97afb8fecfff8745efacf7dcf91a4393a7b629564e598d58d5be39c05c583" + "0d4c8ca85d29e9e2c31ad0447864e867d0ef4788ac734f8d871daebceda98d449308c2af" + "be97724c3af8a468f1925065f39e52ba4b7d15728a744b1252a20476dcfff7bcb82aa72c" + "209e72abb3c24419bc26191390ffed340c1b9c6f", + "046f4ad2522e78b9b35297d28f361fb0ce82306322aedc119251d8241be", + "0400b976c53a966e0834d5f6bc3af10a5f12cb6d16cb2303a3c6cee7d35f2201a1097cb5" + "6662265f4f2f52df375d70af086264752477c34c6af522f1ec", + "06a0d21e5aadcb0c9e3f9fedd2d896b0236dc90e33778fb114e970122bc", + "068063fe0a31b7e7925cf8959c3486985d98f58224d5f67cd0218af192b", + "0f11a22ced98173040062ff9e69d1b2a1b5a939eda0a6944e96fc62fa4a"}, + {NID_sect233r1, NID_sha512, + "3315e5cda5f252e3291b61e493ab919c20a8af1286d9660cfa2f5ca38b6defe19ebecf82" + "0787fe692d04eae8a5f5d37abfb593309569cedf45efd0cecef6951b718924c8380ba52e" + "8ab8c9bfb2261ed5f01cc5a5f9fc5fcdd269a0f122c597afdd9a836cf8f96838c3e8962c" + "1788c3ce4128719b3ef4fc88569643dcad6da16f", + "0ac82137e9c7a5ecfb8b1a7df9ab50732934566a392a6c8915ee8ca8144", + "04000f7f835f8223fa6c49eaf6650e33dc9d09e1d2bb098925d908606570b2006e659ce8" + "623767e8214b076d7588746bfdcbbed59b75bb19477366cc78", + "080655784e3e31c6a498a63d4d84f7e5a353a66641ca17d4e223441bb1d", + "07faf31d1d31ef4edac1c63072350536df84c417e0ef808c6be39617e74", + "089023aeb53ddd3e475d11c53479863739e62dd64348646581012784689"}, + {NID_sect283r1, NID_sha224, + "067f27bbcecbad85277fa3629da11a24b2f19ba1e65a69d827fad430346c9d102e1b4452" + "d04147c8133acc1e268490cd342a54065a1bd6470aabbad42fbddc54a9a76c68aceba397" + "cb350327c5e6f5a6df0b5b5560f04700d536b384dd4b412e74fd1b8f782611e9426bf8ca" + "77b2448d9a9f415bcfee30dda1ccb49737994f2d", + "299ff06e019b5f78a1aec39706b22213abb601bd62b9979bf9bc89fb702e724e3ada994", + "040405030ce5c073702cffd2d273a3799a91ef916fcd35dfadcdcd7111c2315eba8ca4c5" + "e3075988c6602a132fa0541c5fda62617c65cfa17062a1c72b17c975199ca05ab72e5fe9" + "c6", + "2af633ac1aee8993fc951712866d629b43ed4d568afa70287f971e8320fe17b69b34b5d", + "165ce308157f6ed7b5de4e2ffcaf5f7eff6cc2264f9234c61950ad7ac9e9d53b32f5b40", + "06e30c3406781f63d0fc5596331d476da0c038904a0aa181208052dc2ffbdb298568565"}, + {NID_sect283r1, NID_sha224, + "44adcb7e2462247b44c59608cbe228ada574ecb9f6f38baf30e42b589fb9b157bb0560e5" + "a2aa5523b71cc0d7f583b502bec45d9b8352f29ee1842f42a17a5b16136feaa2efa4a0ae" + "306402940ecd6b71e57d1467c98e7960de2a97f88b43487e4f4016af1292381d70c18c7e" + "6eed99a14cdeb5b3caf73688658e4c5b54c81e08", + "09c2804f8cab768248fb3fff8a055b3f4585c00de5c1615a19f9425b9432ea09afba8f2", + "0402570ff62b03a5124f08f752aa71ddc57944cd94197fd286d5a2a107b116d7b8ff1b04" + "21037714d9abe9aa0a9668fce89a3fcd5cf2e4548102a181a777c9b3f1008ac6e8d3a31a" + "2f", + "0dab5ef658ae3e2ce2bc5c88a8b8022a0ca5eb8524815ffae414327e3afaea5fcb8a7cf", + "2d99f82d92c9554722bb793988af0fd0bea776c5608f5939db7c8634eeb24ffd381dbef", + "27ceb1d01ec9a3ec0e74d79e08024359e117488020de6458fbbcad28b173918fc7d129c"}, + {NID_sect283r1, NID_sha224, + "cffee6252c7eb6d91d8fe100a1e62f0ad9f862d78ca2b747a6c17b8c9ea8980dc239b3b6" + "73310e6e7483582399163e39d889abc1a613fe77849ebc09b4f7f4fe0688b8a9869ae918" + "a88294c7ee199be50ee9460db14725ae70b449d0cb48f30e7d817ec02c0cd586119341db" + "a0b74f0279330807cfccc99c8c340b72c1764a45", + "2e625a6bc6d0ce7c06231de827068bdb0abc8ffb57c82b35ee3a0f873b9473905974d34", + "0400458bf39974812a4e0964c31f40083300454104c0d65f22c5688bfff3c256b7ea9589" + "000738dd33e32b9af93ade2dddf4147187a9270543afdfd66a0f2a53d6d3d815ef59795f" + "60", + "0a9388815c528fdadcc5d3b125c7a38db57fa8c163ba795ee00e8e307bf760619e705c9", + "2481571400ecf9dd31dbd9c905fa1006cd5bc7afae759da3312ead8d5a7dd0c25a37ab9", + "13952fa427d348b6347b9e93d4cb2c4cae3429dbea6aafd1e58d5a34805098722b3b8da"}, + {NID_sect283r1, NID_sha224, + "d058ab5dc07228253707ef224897ea0fcd09c3d5cc91fdce9e03c1c59c53fb4596be2ed9" + "29c7455e67ac7f4891aed3eb06ad88f2c4aaaabff045b959f900d1019d706b6052637585" + "1bb891494e99995928e4cd51c9616aa651ec77bd7e398916bb9ed3156391bf7fb1e29181" + "e2b011dae2edaf803607def2ac6b194929a57f45", + "376ac24e1b86f8a55c052d92a0bdc6472fa03acdcdbccbf7c321ec0ccd97aa0a66b4181", + "0407247c755b23bddf944e29348da82495b4f61d02a482c6111d8698cc77e8dda4c341f2" + "0b00f8c199138e1f4f8344facd90ac62d55f3c9a15ba7a672ce40241aa26419af790cf7d" + "d6", + "25d07c7afc5a335c2bd7863c1965a48c12f2687b2a365a7c2700b008ee8a0e8e35a68a1", + "23fc2837a879b79e470305088acf596eb0159edc2008478cc4c3841a1bd66fab34bbb5e", + "0a909b83bf77e74511063366ea1d1308a8a544864783459a60fb2669785ab1af8f4cb06"}, + {NID_sect283r1, NID_sha224, + "c86f2cc7ab5df5cf1a236fd83792769474cef464032800ffe98a44cf29dbfb6f24088160" + "eb31a11a382ff2a49f3e05e983462f5304272f96c0a002b69af3d233aebe867ee63fa466" + "66760a6889d022c18645b491f8d71b6a3b6b4ef058e280cf625198715b64b025bf044944" + "5d3dd7e1f27153926e617bd2c96638345431d1ed", + "2b50a6395fc02b9ac1841323de4520292f913519bc0d6a471aa28021322fc4dbcd7b802", + "040696d5ac4bc40e679524e246210b7bb0f93ccfe7dc506ba87be3fd018f829c93e62ad1" + "d8065953e01d9db8fc5d64516d864a33aa14af023e601d69875ac0f7af92a1e78aff0e47" + "5d", + "0aa25b43329de4e7739fd9134e4f4b3d68a64e55af47a2f6ccf71f518f19059b68d34cc", + "1338a5dda5fa09667604a6a7666b0e54e6b688b98b31c25d037ddf55ee6bee7565dad09", + "00aec025232c16e778f90785ded5348f3d5345b8344b2a762480383777328e0a0b11cb3"}, + {NID_sect283r1, NID_sha224, + "c1328d8d2e5b6ffc850a9600bd6482518ddd9cee3fc9140febb72bcd444b0cd7e8074587" + "d51b62cce4b3d4f34ad3355353fabe363369cf790db2df9fdac3a0ec4757e2dfb3b683ea" + "a3e26531691ce765742e1c0bdc0e1028d347b6085fc459df0989c6a144271454eaffe413" + "cae2ad7c8b2371fd2df1afffe56df727009765a2", + "24e5889722f6c35e18ca47effa9e415b1ba790066a91fb3c9f7b001ce28fc732b09bc23", + "0407d4a57e6aaec6b51dce5408f6a7fbe9ba9d55f5abe2da55fcf015ca25dd74eb61c155" + "6c02123390178b2992059151afb51ac652b364f562c65451eccc65d968e9e7210921c93c" + "9c", + "320d2a7f48cf3583e8d7e712b330d40ddbe4b6c128be5a43d72bf57d4227603762de7f0", + "09806a8e70742c6c4a9ee6f77fe7a36489e1fe8c442ddf9cdcfa61f019ab9b41241d949", + "061fda247ba7c198aa532906bc01d509088d6c2ba0f14ca3ecc5ba36f3595db1df3e64c"}, + {NID_sect283r1, NID_sha224, + "7176b7013ea27e94281977eacb976bb31c753bf80fa09680a29128a6fc15234f79f0e990" + "0aff3217ce9be72c378042c6c34fced0158740073d1a985fa25987fb218002e425868fda" + "5a47de51abfd04de34e2b8634cebfbdc98e80f93d94096193eaa82dc8778fc23f3765c7a" + "cdad94fdaa272df0ff0f28190c10a462ee78ac92", + "056d15b81f40b6378588a5efe43e21b95e18120d514bfdda0e7759a1d0766a8a35ce5ac", + "040306cb78fa576bdd2f43cf7b71d7e66a98b850d87ac087dd2e1ff62596a2e8d4cfff13" + "4403b1e3b12db842e00c2faef04d3e39cdb71546e4e3ecf21eacb6131c3501fa30edcc0b" + "70", + "1e8969d6cad41a40d8306d2a8db3290d547106eb59f661e0d0eeb163044a92aee4483fc", + "06786637c3bd5a95eba5ce015f151d99845255175ebb9e593d912c75cc45723612c4ed5", + "384471c17c45ddcf62b588993835bb913be88f7a8e46e52e211972ffb3b7768410bcb7a"}, + {NID_sect283r1, NID_sha224, + "4c3642ba040a9955b9d50dcd1c936688c17c363854358afa8ca49c6abd906dfdc4d89bb4" + "cab0bbc363fb5b74e1f004d4b09ec9dfeed4c0bfb482a9061a1f487a3d79195ff7b65a05" + "04bced3a28db0ebe8fcf8ab1ee4a3ae91324d15d890ac4c479144dd5538d2e36d3a58776" + "9ee9cd2d5c6f85a03362a022fe0efc4a3902b71a", + "12fb2fb5bf5f7e42a500154823a174ba2d05af71e3b0cf47fab46e673ea1822f1563def", + "0402414d172d74a6281169835d18bfaae91f1f1cdfa9ed451884466e63160ecdd4a2c790" + "6f02d892bb19b47a4fd9d851d3b101ba99acf6d11345596635cedd5d7557427a2896a913" + "c9", + "20786f42d77195bea5761f86dbed8b452f858b447d2f3775ba2a4865d738122363b50e3", + "334507412368f08bd0992a5d56581ea7139e8adc88abe4bd80dfeefdc7a37a481b18609", + "0fd8404df06a02618cdbf6c28610d5dfac9907635d9e5f2887f11a7f18cb8b7ac95b5d5"}, + {NID_sect283r1, NID_sha224, + "e471f39c18b081362adc7da47dec254dab8d765f005ac574640d78c14222639245563912" + "d942f3be212ee3cef134407334c8fe3602fa0e1629de5331643d76715dc1b0ffcebd484d" + "86c5211be4b285a31688b205fa988e6c15b36daf396ccdcc209c7dde2a732f5c31c84c7e" + "a041408ebf15e56632583af0131bd7f531b5fc45", + "30096c54fd480647e017f8cdbbdef292e799f054e3279d228b09816a757566a744a8266", + "0402d4b28fec18cd888017fd5a27a375131bec3aa7195c0a4f255eeb3616437079e356a6" + "cc027c607dcf0b068418eaa7de8da6f9707650e8d95aec571f7ec794415fc175061b4515" + "19", + "36880905a376faa594978713c2de1a90c8e27baee65bc60b1fa6508fab5abf843f66ecf", + "295193f1c64181bdf749987bbc8ff2a188126131f8f932bb8ca952ffa201f109762e18a", + "381c496b4035bba880225dcfe74fcf101103e38f9518d9427c74a5ec86ebf8f7183694e"}, + {NID_sect283r1, NID_sha224, + "8a93fe53e83075c4025228540af7e96a588520da34e3eadeb99a4ab2f3dbbb8f85fe63a3" + "b86c1f4ec912e665ca05b43e869985eae3791b91205afb1380e16c25b74e6793fa63e4a5" + "5dcf25dc22d03f09deddeb9042b620434111afe08c5657c7d754af66ad91a1b5423301b1" + "e8e6389a1404060d1b6a99fe0f89598482979e42", + "0a1b7e9c8c2dc25b494b5ef3195b294e41cd3c2c35235ab42542bd3e2a52d5826662bf9", + "0406232063dbb66a56e2a92dbdfd9b3c136eade9c214d831691d9b49c56a3962d20f14b8" + "a901b47b85bc223fde1918abf6308b74dff7f3e686af9c9d7a1855a1b77984d258c1f9ae" + "da", + "29b4221eebe151fe758218138535d81182c991c3b7fed93f9a6117e98c1c2f97e546937", + "1f8040fad671e2f32a1094413ee955ea5426bc906b8e034d87d7408e63db173b05afbfa", + "22a353c431a9e9315ff69facfa4e15f6e6ee1be2750472823db31b49b17fc759e6b94db"}, + {NID_sect283r1, NID_sha224, + "e193a8ef6f454ca1aed38bb67aca6d08280d421b196d89938c0582b7cde74dafd71716f3" + "818940af412d4a7ff3960a8517aee108ae03576b68ee7557d35e6f1ab823d124de7243dd" + "02b542591f62c80d822608572889573e4c9dc62f99d68e07800da6f83cb6f5e03d1f2ac1" + "5f90e38b4f25e0a75e354e4b60cc81c0bbe81d39", + "059b1a8fb84530bba7a607ee88310e31bc6ea6a6881603567a1081a05a3a9ff87e719ef", + "0400b9a71aa3cb4cff37586b1e522b0e332ad5962eec3dfeffcef3851976baadf611ae52" + "2606b1bf0b43b406b5edc6782fd391d9fb070fa3570d3cd5b2b66d7a95dbc45ccb162617" + "2c", + "00a77307da9845ec4572a24c9e74a17b76b6393da87a9d7b1b8456235473ff39d243ec7", + "36721835be490b5ffc4a42bee3c6d231417f7038c367efd9ecaf7fb3618ae8492906de0", + "237833bcc3e4a721e2079e579d1aaf2519c01cc238056fe0c0990dac7fe50e75eaf6f96"}, + {NID_sect283r1, NID_sha224, + "8a99b9db191f6cabc88b430bc2293e6774d5180f019d871839289e25aec29379f14606e7" + "42190b7aa062e3b29fe0254146d9614856c5140c7315015abb98ac00da2c7e33cbcc82c2" + "4b797366f12767322c4381454d9d1eeaedb616b0ea5c66d1422da459f18081f4f966d05c" + "e279c6ee69b1bf94b8388d38d4b770d9ed69025f", + "30ddc2c7a4ce300cc2b75f0f977033f16c1f8bb13aae3d494c381f9a6dc8622499ae4df", + "04047bdfd7c77ae0c53e327c15c30d90ab1c9b670fe2241dc0ffa939fec3cf6d3c1f493f" + "3a06a286aa2310a4d0468b62f3144a9da2e66d15bf86f60045824278e8986ff87a276119" + "20", + "38afc3d11c66eba3441a5ea298fa593eec57b84ea29973c306ac9d46bb8d8e2f4c8b049", + "06c830f6c0be99fea4712f1c75f5a4e439800dcf062a16d93135c3255d3cd04bef5bc7b", + "1eddfda0d0e02d382ae243e604f76939dc21f3ce106243b2d20aa562b78e620fb456428"}, + {NID_sect283r1, NID_sha224, + "5c437b331831530aa94623b1736f00b986172699f0a02a5e5df0008bf25341787e2e6604" + "6f2c929dfe0058c3cb89fc5bebbe1025bb1edd1ee31522ed568e7b5b4ca3991afdc76a68" + "cbc2c4f81863e27fdaf6a564fab2c6354e5c657de81390f8a4132669fd24a48580c716b5" + "b7961a9c091f614d11cf45dfdaec8946a54a11d8", + "07899928922fbfdb5407517725edf231d15a8b62d90b7fb6d8c8d20424850dc44f797ed", + "040614257f54514cf37df2cd78850658a85ee362764ab8186423aa0f9a1ff486557f8f16" + "7f03ceae9d1370df045d20f576931ca63bdba8885f463d5c82e5edca5116ed3d2c2b0c48" + "61", + "3395493478e69e6e1088166f622a4f9ec7feb998aa552b54bcf0fc67c06079f45a14993", + "3f31ad171dd59c9deb21851e631f223584b17f72a6807d5239ae31373512def954d5ebe", + "28f095ae43ba5bdd899573ce6823eccd8e127c6c03cb59dff43c087ca24e1ce5504d1ed"}, + {NID_sect283r1, NID_sha224, + "91aa08567d8da4c90684dc06068f69deae240212842ff1786f04ec41b40d9187aa92c764" + "01f9fcedced62876a34df82ad7c1e63b68bb2a972257ea8542bda6a7f1a020c9b122943b" + "6d651abda8b8d322a8fb762eee376daa2d3637a71ed6c4f5cf96f61c0da2d6e1dda3370d" + "80e51da2cbd8aef3267168c67359523faf910dfb", + "2a2af63d1171930758bd3e5bfdac62cca1a83a3b55a49b3f80cf0d9ee4b2082757beac0", + "0407dd6fd0868ec478e7e5c08965fa4f1efe8db4d0c04f0b6c63b5dfa397607a0d9d5ce9" + "09054ff4fba9058179a2c61951fb4955cb637b01267f8f08b3aad614738c562f602d498f" + "04", + "179482dddd033e8849abfd4991304137044d7433d7bf858a794340ea1cd66e736b821fb", + "071f4cb000ca1c51c698c867a78961e6d7defbd60109f79d1d165ed045a653ddebabd10", + "1e2975f4a1fce0b3b0e13c3f50005fa664ee9319cf774d2e107c406d36158bcecb0e5bc"}, + {NID_sect283r1, NID_sha224, + "eb5297bf408c1a55e400a20a3c10acbc5c2bc6d6ccfcc0941fb7a6fd4d2834415a6df86c" + "3a6c4b867d1215aeb8222153da8cbbb1576c92c07ca2c36d8f243fd911f9a057e39ee258" + "32454e28d7ed52a8d04169b9b9677a16b32d5d211b8573a8986e9bf36d7206417ad2771d" + "aa11bc21fd7ee1029b65ff7c9b2705a6dc9cf9cb", + "35994e89e13916ad82608f74a639e6aceb756ff913aec440519946d6434af9a60a6af49", + "0401f7805dfc9f90d4f8a1b241dc9d68aa41cb77b63d530cb3733cede23bb87ee5118e5b" + "be01c3f1aa3a1218de78a94ee8f88d3f787fdc68674e31792d919dbca681a6db1dabe89b" + "61", + "2116684a4307c67a3d8c1014b33b928a962a8daf86c4031b0c1d47315d74bad7dab2aad", + "33cab952e9382dc074d666f1f2ab2bd72ba394a404ce2fd02a6f7a4dc096d713827c94b", + "33b2886738d882146c0cd715701fe4e8b94b0d28c73a6b79d2899391119ba910bcbe3be"}, + {NID_sect283r1, NID_sha256, + "f415d0adcd533dd8318b94560f86732c262ad2c6dff9dc83e2435543f429a2158cd2fbab" + "0d96c027f71008c4895ecc644c2ceaefa80937f6cc6338d15d36e459a16bd9387a361a6d" + "800acfd834ad5aecf442e30b70f5bfa164747cf9f89325b80976052a83a5e896c00c54f8" + "1472b14329cf23bec10a8e693005de2a506ba83d", + "29639da33f48e4fb0d9efdf50bba550e739f0d2476385cba09d926e789191b6fb0a73ff", + "040770f9693777e261db9c700eb1af0b9e9d837ce5eabd8ed7864580bfb7672ced8ffca5" + "98068aef01c8126889204aaca8f3ccb089596f85e2aca773634bc5775ee4d27c77f2af83" + "e7", + "32a930fdb1ba2338554a252d1bf7f0169d18750a4ec4878d2968c5e735f98b9d0c25edb", + "30cd65f1097d3fa0d05e1d6072675f1377a883b683c54b8a1f4960f90d68f3ee8c7bd98", + "15c61ddf43386a2b8cf557760200ac06a480797e21c92e45e6a311e1a508b03c4d9632e"}, + {NID_sect283r1, NID_sha256, + "b178d86c9335b85e02178fc4551769db589ab91d823fac219c7e14e2f029753b20396238" + "9476723832f8d9631dd7764e6dd35da290afa42a794476f5c7727b3688aced848dabc995" + "4201578cc7b25801710931f45cba1199d3788d64dc0188412e70723fb25b8ecb67183581" + "50c4037b5b81466dac1686cb5270bb1c72d34bb1", + "0583a7ecbf2a975a32d07428d27ac82e5dc13d1466c4fdfc1e6a05a8d9a289f1010617d", + "0403775ec793ee4bff15027c70d9bb5dedfb7d2e41af8895faddddd4589cc5a00bd222b3" + "bb0300f7cd572d82f2f0a2d99a83977ed2034e03fdd76a0267455a524bd8199424ae5b81" + "ca", + "1e58b1f66c927f4ae16143856d67193d889debdac8eb03936f1b36d550c2f2639e13f8f", + "0f897dbc8ea12f4370fcd08e8700e5e4c68dff97495f401d01b782f2ebbe259bc0dcf25", + "3c32424fdcca39f411663284658b8f0c1f950f0cea4354f02f4b359f18e3fefac0976e1"}, + {NID_sect283r1, NID_sha256, + "c8bfe9fa7c848531aa2762d48c153cd091100858aa0d79f994fd0e31b495ec662209a9c8" + "761cd1d40c3d8c4262cf4dc83c4a2549a5cd477726ab6268b4b94a78b1c4a7e700812872" + "d7f41912a723dd9abc305420ea1e1fb1fee41bf643f3a24abd6e8fbf6fde2475e2905277" + "24a6f99fd75374bf7cb01b34d3e60d8db33c4de1", + "0f817ab1b49131fb9bbe8c112c25a36f064efa85de7506fb9cd29d81b326bf276277f7f", + "0402b3a06e07fce1848494d3227ff77d1c43f4ec3c037ad73ffebfebeeae87d3bff7f7e5" + "9a075df52e6a34229266ff28b1c217538ae23b3912e4bae8de5cad9b57b7c1c9ca8aabb2" + "e8", + "0ac57fbb899193b88fbf4ff2c502af72943b133e8d40459a833275212f6644f566f5c58", + "3e13307d5fc2b7ad24e9422355150578c78e1c99a6f9a24f9ca2e8bc6856936c5c4af2d", + "05e8b77b580cdacc2660e6f8a1877d93c5983d135d63ca0e0b06aa8daedf855c9f661fa"}, + {NID_sect283r1, NID_sha256, + "9a5f563d0f9fd1f31f3a822de628ae970954f4e71292492d727109036491c29e66b9b0f2" + "c90c26abe94c08502f5e923a9ddaf6a7d91e9541ce90d0a49f03ce4e4769753d5b7d922e" + "1ceaac4b4cfa4262732a09550aa076b8ff9d46a50fa17de17e3b6bd606698464d116fcd5" + "f1ae11bf45b0c48d3b738427cb47b0d1272b03cc", + "2782af76ffebf3e2bfc0576b70e4f4bb87c762e2bb230d278ce776310a14f5b678f29af", + "04000dc21b3be7efaba5c7f9f22591327f0f97083d4d844415d3148d227931256d026ec9" + "d401276f1d9e131f13bb129a1192fa24602fb508c9679ad2124e49c70a891777cd601955" + "fe", + "0255972b5329863f380de945574793beb0430dc416a8f2543330a125ce8d69f72dbdddf", + "25bcb54e188aef6e362a62fd88daaacc8e697dceadc8a6b6f804ce4a36856c8da6de97b", + "1e12e18e1e281606c16ed1f49804f8cfb33c29b0ae92c072d5c41ee3e6836cf1813d722"}, + {NID_sect283r1, NID_sha256, + "3d6b065721da9de82cb33ec2c27107eb399b1e69ac8fa51145ed4147e20d72e27434104e" + "76af988a3bc94f55e36677a05182fe2376dbe38195fc6a30673a4dca87336c7304f3f31d" + "49216fbdfea00fd1e105d8b0c13ab11f8892e0045e915c17dfaab07b24ed21b06af5a8ca" + "d4f45fbee5a25bb6e87466a7bc422c0bb896440b", + "31b827b88f14d3822244809096157df3c0aa99da90c00cd9f0b18dfe306f6881834e6b6", + "0407b3ed076a2901ab2625bf05fa6db10a8c156412fd2d26741738f5eeb6a91891575269" + "4606a8cc2061352c36f264d23dc2857fbe02af34397ae5130c582e885f50f2c112f141c0" + "7f", + "0b36f5d6da409c4a27f38ff9686cbf5f4714f4e17234fbee6e6deec97c9f0d4c585d42d", + "356911114c9ff9ae4f3a4fcc5379c987b9d298554cdd39ce124f04707e7fd1ea25231e9", + "13c0a321c4c5a1e89dacddae38a9b3dda32a20627e53dcdf28ee26a550797c255eefe6c"}, + {NID_sect283r1, NID_sha256, + "d125f0e2e6135567adec9e77da2afc6862e28d618416632ced829d14ee8b61116da59dfb" + "44098a40a0b927731125617e3d2f32cfbd1546a6e758c1ab6597e75db07add52ecb61d37" + "da2e9ed04df95b36ac249f4cbd794cb561655cbbe4b34834c497b3d392d78ed0db8db683" + "aff0076fb6e43acba3fa2b91210cc6cf3fa594b0", + "27da4916f1c471cff80bfa14d12aa10270fc3b26caed010c0111f6e5a40d914a3927763", + "0407d8202c88fb915446c521884fb756375a2b8d178f6a87306c1c8b67b926e830c8285c" + "150224dcebb8a7c46902532870ff855c780b2884dbce2956cd34dd6ffef8dc365b967534" + "49", + "3fcb1e759418e4539f9be76354cc1914ccf9a111338890eef723431925fa132ebad8695", + "0d4d4f23408db58a72495aaec6dc335ce85309fedccb6ade053c23347abdc9e77a81aa1", + "129b6b322573dcc79704d08921cb54f31c571573da78cb09d0aab40c4036ee8f195d88a"}, + {NID_sect283r1, NID_sha256, + "b380f97687ba24d617a42df1b14e5506edc4b62dfec35ed9fd886bb769832cec7f9adae1" + "0c21b7cd9152588797b4efc6b2b30a873d3f25e683ea9be070dd69731949a51121e534fa" + "bfa3a2eae0ee90a454182248bedf2595cd47ad08614177d58f7a773f5023b538f5f56868" + "2c83fb60e3fb1aa859948d01bf7b214e7f2dc719", + "10608eb51dc0ee97d6e488a23c582ecf0ea1df9a24db77094d87b3fb6ca98507280a934", + "040399b3e571caecdfa1efb243323159a45618702600b870954cd614e494bccd70e381f6" + "8a02e2fc57721a500611badf48fb435a6e399cea356d281e853f55ef2cf9fc5f70dc8b3d" + "a2", + "0a8045b4f55115dedd8d742545f9f2bd6e5ab81cdbd318747aebfe9f74b0cbc964b6040", + "2d022631bb7e05d316a1b130faaca5af5eac67dd25ad609e6e2a067ff74fd4ba534db2b", + "04595f184068433962d250394680701fbd2e2bd613a47e5de68fa1eb83cb08fb425571f"}, + {NID_sect283r1, NID_sha256, + "3f9ec57e4228e1a6ec49df02c58d756515305e48763ba1dc67298be9a1548576c28c82b4" + "e9b3f62357d9b3c522b16d5c496a39effbdc8290edd2cadc0019e6b9fae1e61238b13b62" + "65ad2ff413a5a0684babdb0013e7632051455e6fd943815213c555dba96cba8911e006bf" + "ddec6c3353065004538f37e48df9e339498d85c6", + "123f9eb8babed548df08cc3afc1d3b3bbed52b538d4654f2088fe76062fbea75b85a560", + "0403b2e980ae7a847394720a9cb982fc1e41f9381b0f2e08b87fdff1bf891b9637cb2248" + "5e04a367d593edfaa4e17113b6b1ea3ad185b3155b1bcbd9f00f4482e509b43bf7eb67a4" + "48", + "2adaba166d703d4d2d431a26200acea7fb47216fd04882f91c5730a55c349770d58a452", + "2c83e6a7b4fd48e1ba4fda8ed7891425213764078926d8862d0eb64765ee2900b3deccd", + "3561a949d583b7de9263d07ac427bc175b75dc52f43f3ebedf996218c94e51684ed5f9f"}, + {NID_sect283r1, NID_sha256, + "bdbd7b7bf3337bd9d21a3c6db379f95408c17e49dd394e94737ceae889f45dc0ff5d48ca" + "dc53703a16b5589939506b548f8dfd34c577c084f372166cbea320c8fd07c809b211e074" + "9ea639e68f890affa1569b66bd763c7c710989e491011371eb1d93ed9479ff0216b7f79c" + "901a2023e2cf80b565d1c0517e73117190cd2f02", + "06a18e626452111922e02e31d662f4301319946a204ae8a34f06b91dd1b5b96456365e3", + "04077c1fbe6a645b85fa0316ae412e8dc558c7c066d9aba900650749eb7b14a149ee57a2" + "5901b2f3002ff4936653412c8ccb8a67dcae18d78dcf6dcaaa75061013d2134af2c3fa0e" + "69", + "21bf4ca10d03a93d4675baa26285aaa554836bd0bab6e7fe42600ffe9137d5e304847e1", + "20702aa5b5cb45cbe8025b4ddda0a42a1ab746117d45382d018b2055b62791ad91abf54", + "12c31f9bdc096236d3ec46c4e6cdbcea47e4fba0e28d4df0fbc19e8740ce6dc0577b242"}, + {NID_sect283r1, NID_sha256, + "436b288512ea57bc24f84fdd117da9dc1858bae8c11637f99295d88fa9d05e3c053a2584" + "a6fe200ad190b3077d9a1608f660349dda405066c1562f6897ef69b6b674d6bc11fa470d" + "0b96a7cf8f6e098c9ac03b0ef415aa045867ac7c11d16cee78ecf08850ccabf70f761682" + "b561d0d0e4a889d840dc74932648ca2fb58259f7", + "3307fd717015b12a2dc76ada21442ac1d97519f66898b214c2ea317ab0f0905e819e4e9", + "0404ff9b8d60ed177df635a3953c0f5f5c0254224bc48d34329136706d6e8fa1b16ba091" + "6a02e50ef73f43ea9a5ad07c6bd68a82b7239534e195ee929aae7788c073dbe9e968c282" + "8b", + "14d8339f610b348f4639ac20dfe2b525517218f0c71b1908d407603b25f19971a1b5b4d", + "2acf3dc4e3569e5038fe97920de626ddb36bf213afa0f939785dec8319eb8321234c574", + "01db40fa416527266a3949211fd9fec158412c447c392ed6a7c7f159a1129da864d33be"}, + {NID_sect283r1, NID_sha256, + "672faa156dc188bf16bf8933d65e091c633f294486049ce96a4a403dca28a149f4f840e8" + "bef47412285363e9e89006614b013a41baad9885f1d9980cc897ffbd5f8a7d0e63feaeb4" + "2c07776efb307ed680ba1cebf470dd9bd8a2a9efc2b1daa569524394f9a50398add1a5bd" + "2f7c263f9e63c2d49461acf98444fd23341ce78d", + "14f9f412e3c7d770626e800d43cfcbba3ae6aec8563af748e8a97b67d244334b6e6d2b3", + "0402293b37c84e7514564635e517bbdb9bda0b4a41217ca64c38e94a4bd00753255b4cc3" + "890088c10bd909964ecfe10c373214544c6f60ab85b8f5545afb0fd2ac03d036db7ea9e6" + "7a", + "19b21a4d73012dd2a2ec3ee280a9b855b89e6ad53438431cdb5d2cec0e5ba21300e9bd6", + "3baaac69d182bf1a12a024dbc9a52ba244a654716e2756c36ddf8ca634129cf9d2b23b2", + "13ed92730d0a6d75f2a4a56b39f82d063e1be988dc58f0ba5f553fa88b6510116005727"}, + {NID_sect283r1, NID_sha256, + "4321334cc8ee44f1cb392a4b280a95561809dd3639ddf43b6e11cb73067597988d95b864" + "3d86c76c3c6b932d9262b9b8b55a04fba0666dd8b8ff1e8fdf799ae3945b6e30d3af3966" + "f1a6d634d5e012710d66cb447fc3375130968a2e1e647780aada2609d87247c90338dd71" + "c3bcc3902311caba27d5d4ea4d73ccea960d4bfa", + "3091a6a8bdac1e43542dce752694972e734dca31c061c7d1000754296d0748055db3f09", + "0405c0761d01020a30c478617313c67008a1332a0e6f295c5a9f01b3411eef585a9dafc6" + "9300eadfc6f7bb9986b0dd221b77b54287042ae8d1ae5788706b79a354fe785c66145bfe" + "81", + "0afb2e2e29b26a686368b127e38c2f5726fd55a13e9f87cf00e831d3fe19d9511d07e81", + "2685f634a8c16ee79acf62b7a1fb3acaec0db47c6ff5f2c97a804e9550494b128b2287b", + "12b545bd76b8d2cdfc5452291d5e4748a5e981c400daeb65c20812a65bbe936bc613219"}, + {NID_sect283r1, NID_sha256, + "2087e22094570d39fa937f15a3ef0601709a66666344186a33b487d041793fbb9709a95a" + "f250b1df0762ea98e911aeb3ff1fa19f0aca53fd4179e454e0e91636e55cc5b17cad9e15" + "75c82ad265dc34c4a66b7a31ecb9ef9dc756f2ac1d9dab35369a6bad4a0f47e629daab91" + "addc6d297d1e5d81477b3966d8c3b607ed194d88", + "1195921b91353db9bcd00510efffe009c94f6bd8d790f5fb3e5a0101c9ca5d21c6ef2eb", + "0405dd8aa95e24c054d508bc5081546677b9a8e8dad40d3f8a184af7cf07cdb09ffa2e04" + "9805032f208dc3bbad6aaab63211e13e17656c750c6c2a6e3caaf55a7c30ae5ba241d864" + "1b", + "3223c6439db7255e89c28aeb046e906ba79f4e9b8222ba5ec201b964d3666301f74967b", + "0fb7e194dae6420ac447e7d4f882da3c4859f53a948833a0a08f918acbe03c2e915d1eb", + "2336f1206b46b3166b28918bdc1c817b22ab16b355030cfd635ab3dade20d2dbde08b6a"}, + {NID_sect283r1, NID_sha256, + "15c7bca449a73b03bbfa783f5a91ca0b7916889a5d99d541e2e8593c3b176a5b634ba20b" + "34407fbd94ae1c1398f5313cab7402f3bcd7ad277a8c66d09a6df5dd086b20a0a3823fbb" + "b80980cd86bd13e527eee15656cc977103e80113539e26695addd9eef6a1f56986168d9a" + "53f8b5de833f8962c3826cca106ae9e8c00208d2", + "29dc20446e9abacb43823e12a83737b46e6e577466b5a3925e0f9d496824dadb4d4b50c", + "0404b3c1d41d8172ba15fc92d9586f29716821ea82274ac8e4fb3452ccca3e34925f1e73" + "6c023e22cec962d759bc659841f259de954911aa289e9994bd76a30149a73711bc41b299" + "04", + "0931ef56f08c379d1ddce0649f45ec21eccf3dcfa178616f45b200a06f82172b91bffe1", + "178348d533217543af694c8d3cee8177e22740b657bc6ce6df9e57f0c1f14fc9407c440", + "3eb25dc4ed42495b54679653ab1cd4d61c854207994a7318026afdfd44c89cda9247388"}, + {NID_sect283r1, NID_sha256, + "d12fbb82ee7a57eaf76b63fd6bc6c0a65c85f135f019d43ff7bc295cad15d53729d904fe" + "d63d69d3ffe8b82c0ebaf0399e2717ece40e011f710b5db46aa457c23b85545953398b81" + "4816a1e7a8ab5b0b14c4a0451b0bda9d0d2ec4a374bcaae208b7fe8056bfa17d6b7ffd4b" + "a2e9179f49b9cd781b0c06f6ce3eec26cd428cb6", + "3b9b77d19a42e9a555da8ab70aa5638890b2ed21daefa28ca6323fc658662dabcbfaf52", + "040632fdf8ebbb755c960ebf8fa5d6b679416e488faeeb021c0782352279a7ae00eed330" + "94041aa517eff6854ba04e2de6794848823e53ca580353f2b25e45fd4efd3a369cf80fbe" + "57", + "2450beeca6f1ebac3e82e3aa3239a5031f54ffe65fa6a45e2bf2ccbda448a2cf6988141", + "28664212774e23b6513f73a9b2da97f5eeafd10efe742e314f6913a6d0c0e3e581cc6cb", + "025bc733edffbc1330689e7aee0dc121b64a72dff19e1d7c5990206d6daae5bae75d0b9"}, + {NID_sect283r1, NID_sha384, + "eab0a37915c6b43b0d1e3ef92e6317b3afc8b8301b22f6059da8271fc5fe0e419ca6097d" + "aba213915855631af64e10d8382d70599d903d1535e25cbf74da3a12ba2f13c33a8562e0" + "db03edce791f1d39af8850fd1feff0eb25f9ad0a86dfab627b96e65831bffc5f6d9693d2" + "0493bc9dd6eb3e9325dea50b055768e8aa30d49c", + "0b9f8f3e89e9c1ef835390612bfe26d714e878c1c864f0a50190e5d2281081c5083923b", + "040542ea231974c079be966cf320073b0c045a2181698ae0d36a90f206ce37fa10fb9051" + "8607e6eccfe1303e218b26a9f008b8b7d0c755b3c6e0892a5f572cdc16897dcf18433f9a" + "10", + "31789e96e2ae53de7a7dbc3e46e9252015306d88af6bd62508554f89bb390a78fdbaf6b", + "0fba3bd1953a9c4cf7ce37b0cd32c0f4da0396c9f347ee2dba18d636f5c3ab058907e3e", + "15d1c9f7302731f8fcdc363ed2285be492cc03dd642335139ba71fbf962991bc7e45369"}, + {NID_sect283r1, NID_sha384, + "fdb93afd5dd1e3eaf72c7ea9a6cddb07fc2054499ffe152cb2870163eee71ace5bd420b8" + "98cb4fa80ea53fbbaece2a1eef6427b632320e9c97e38acb16b62fdbf6585b54fabf0a70" + "3307ca50f86387bed1815a05b0c8991e0743d10cdf49c8facfd7ddeb8d4a7b706b5a29e1" + "d00ac88b0ee88b3153185495ac8388cc70104154", + "3a30a1c15b9ed71e102341f97c223a9b5ea3e6a335861c3cf407ef691a18cc639dbe74c", + "04040937b263c87461eb5d409008255d4e14c54d7a86d6e3eaf2ad9c559f7a6b9d258254" + "2b07562e3a04f22ad37a1df0250215c163b45a6bd04a4b96c30fe2e2b7ded5486b172ef0" + "9d", + "13e745c76b33e6e91f47f8423653b0056014841f4df890121655ac2044f3a6d58b9e213", + "22467497bf1b5d29476f24aaf5f88d905be7900406c64033913fc88601c62063a924456", + "19cb024c7d6be51d15337a207e66fb0e473956932faf6d755393dd5a899bf63610ff887"}, + {NID_sect283r1, NID_sha384, + "c78e35d1a5b1bbb0ec21e7ba7b7c74c859d88f3e100e40ae34128cf093885dae4e87cd09" + "f3239dd8e79e25305220880dd352a650225d9bd193b9b84e488c458b0b5fde1af941c0c9" + "fdf952d2fa41f665918dccae27ab7923da4710f8c27ac8ed424992568dd6f0a6c3ecead2" + "1650ed162e0292104eef3c2d8551be866a88d279", + "083330123cc64c11888c1fd388629d0b329a50ef31a476b909a182c930ff02d0c389b93", + "0402e3a3e712676bede22893a8911ad6a683306e86487d24585bd6fe4f2657281f0bae2d" + "c80773889a95e9bd579be379fbf84dc8d26d47335253356e5b01c09eb8ed57474d6c0b04" + "91", + "0d630f20623e93c274239200393cc552d03da6bb9e74f4a44a518e2642e84e761dff7a9", + "27b8997fb98ad04488f5dc8ae5dc88b2a3231fca76d7320550c74cc540110c0cee5d8fc", + "1824f1050e85d527847faff236b7195965e7b93343ebac889b23425dc27226d50a5266c"}, + {NID_sect283r1, NID_sha384, + "e05435f695997229cce314e50065f3c5f71981988dddccaae6efb81f936b22cb48813f50" + "6d1edf5ebd69b0be34f278592c5935f0f6db0cca1ef9d62834fbf3c4c03f4da0596cb4d6" + "7b7b767e85dde7b7c6fbef7d89babe6f97b876b33594a9e36ab87079861ee556fb03274a" + "d4af527342a4794192b8933f28c6220f954c77de", + "1dc2b656c207eabc9e0d6272099babca8d149c9c4258b779c2f06de75f76d77505271c0", + "0402b03407b65809825a32ab50f1b556a65c3bbbd65cfcec898514637ce606182517fa1a" + "4d021c97e293ec74dee17c89b962356b7bd50c7b23fcc30ec7fdd0a629d11373e28380a8" + "c8", + "2d0dc9317a2af5a7d0a23c00d126b7fae4c06bda0a5c50462ba26bddf575adb091d0e50", + "211c396875b5dc71ba87ff2483b0ffbff60cc3656132fda7422a81964f1bfbcb5ecca23", + "0a0ed7bf1ca853b9b19924c706eff373b97585b692b4b535ad71cc4362073caf8f61a3f"}, + {NID_sect283r1, NID_sha384, + "0f9f36477076c4b5a7d1ceb314a397fb14646695b0803e36e98908c8a978770269f165a1" + "fed8f4b655d4efd6ad283d7f5d51b6e1e302d360e8ebf4e887c7523a757ffd55384e114b" + "bfc6b7a0ec8511079507b919065ca018573418f9e394854c5704227772161707b4d0246e" + "bceb91192f0eb2ea994ce61fd98a6d14cc8246c5", + "0081772348ff2d7a3fd57fe703555ab2e14f5d203c4cf0292f944e827e884d95f3b1d83", + "0403f7174e88ffa8bc0a770fffa4bc30a436fce331dbe7154f6e2fc0cdd09e76840f089b" + "3f0561e6aa3feffb2033ea716ae94b9a7402bccfed1fc4a137cb96fcdfe4685314f73a8b" + "b5", + "3a8c40754ef7ddd0e289b2cdac5e06c72dc3d6ae9d0351d9295aedfd6f0e88809674bae", + "1443b46c0e6bce31642dcf3037e25b6ba2b42daa9a83f5c0bbfb2487ce717c37b91f46b", + "3f59d5a925fe19c795b4992c265a3c61b2452237eb34efb9aba30208ce07d1ad47e2279"}, + {NID_sect283r1, NID_sha384, + "1d38b1c342b6611dbaf412a66c1c0b8397692755f576df33b31c2bd12b7f0707cc423376" + "391f7b00aa4e7b7fe54532e2b39c3c5284b9c8ccce48eaf9308ed338992f1d4ecde6cbe3" + "52e46339d7d602942158387881d9b493fd40cc59d4f9b53ee4191d42352c6f7bf32c331f" + "0c5afbd44a92901a4b713c7cf6ccddf7de4cc6e4", + "1eb6bf2ca1b5ffe6f6a795733eaeed12de6e87c53571e702635b9dbd0d96b47df4a005b", + "0400e64dbc1a08acf6ff0e820593cad79a46e3bd818ddef5ca0960fde799abacc7b840ed" + "db06115d3de2bdd011ad053550471368581a5f125eb0d32090646fe4407980a42988e551" + "aa", + "3b28fc6d0e4a7fc449b811b78900fb9f89885f4d4f70cb5a2b3d4f8ab87bd5448f4bfd2", + "2601923909c8c953087b0c0acda57d8c01f814dc9722171d8409d0acd2fa4d9c1314693", + "3eb316cacba93bd473a4b4acae4f2b5a5b2ac9856519032e63a0c718698956e8f35673b"}, + {NID_sect283r1, NID_sha384, + "3353ad05ef90e9762bcfedd6ef44a1e8ea0392ebef30cffd48ae620f3e567e1cd44882d5" + "14e7c6759200d4bcab18afd3038c3d3f8c50f7bba32a04eee5a4b1cfb8c349939e4efe0a" + "46fd047d02ed000d8fa1b98b0af5586f120d9ad174b3aea33905b979ece1eb3660b1e070" + "c8821b32df41904ad68bbd8ed247aabd94066f16", + "3b2a3e65e5a306bf8e3955b60e856dfa9bf68c1275a678ca056207a0ec67c96eb3f8309", + "0402c542cef892b06372af7d9c321ed5309995c1cbbf1a466e70bd30f3856ab7c5d18f4e" + "3d02a8acdc12a7cc0b54f4dec9cf61c484a5cf86c4cf6cb5ed615479123ef1c6ecbb6c7a" + "e4", + "09bb5e49188621466440a0841b007525000c2203d9821f4c6afab63ac2b97cb5e2e3dcf", + "00a09da1c4bedff47945898f4f4ee9a0857bb56be535544aff9d729ae44e23d678fc71f", + "2390be08ba0861b32ca35ba27a0c8dd1a4e96d28cb007133a096b52afa0126bf2a2abee"}, + {NID_sect283r1, NID_sha384, + "e7ec162185fe9a5803c6b03d98041422315ccdac67e48fbd07a1ef3c5661158710abc679" + "1bd0a75d56791b4ac0e7695d53c5989d9fa6a3b037583b2a80d2b154b024f1c36b63548b" + "e9afe1d51f2f68b2ba94d4ca1e69a35ac10e15ba72242aac20f7526b12ff9d3cde9a9bfd" + "70d55adf9bd92c66d092d7d08e9764c84bf7f329", + "1fd4d1af0bb7c79ed5fea7bb45574e46534387bd916649485ef15207352d7302e81dc01", + "04077057d3f93011440a78718a3cfded73e4196e7fde96e794465c51be8b679f912c10ed" + "cf059873441c590c43e0f00f80afad5b0166f94b62214ea45da29174874e44356b29eda6" + "b9", + "3f224b35737e78ec5bc9b081a601d8fe19e33b4787449d3353d2ad225358211cf9f7f0c", + "1a7bfe92c30ed1af478282786bdf7b5b89cd0fdba5e534bdf13899dab5af108803d73f6", + "2ba14810de4f5cf48b56e94bd6c439d230dfced3cb698c77627f59faff0ac5a42c43067"}, + {NID_sect283r1, NID_sha384, + "87c8f2e3f4fdebce0ca9300fc1ebcaa934f51a12b6b8f2cb6bb6eb77965468663044afeb" + "2a1334cb5a81e74b8427267f8b34b5e9ff0cf157a9f18be2b1942e32ca61dc23ea13c3f9" + "fcfa16df8fe05e067938b6994982676463fb12842d4ec532cb904cf222aa805dd0d86ab9" + "a33a83e294c6d81e8dfa273835e62e9041dc8ff6", + "20380b1136b5283e9b7f54b7535ebda33b129ceb177bf5d3d07b1daed5edd9fb3862530", + "0405e7d0931db006c6abe04671d1aede760f2b1ac5c866570f8e5a24ed356fdab49cc5cd" + "ea07004920fdb0a744cc545068bf82bc5d7a46edf9265fd7c5979b9559f5421c9a98f6db" + "89", + "3cfbb1204caf6011fceb8d4be987d9a41b81bcdd95b94919b220647d0e7a18feef4cd01", + "07096beda28c20d2e62d9b0750142d3d21b54c38c7fad1ed65e4f9b386f3dcfcc43a3c2", + "3d0af02aa39e329e4c39f2a1d6797f0e3d14554dedbcab9abbd158273a3c7116225abab"}, + {NID_sect283r1, NID_sha384, + "2ac53e8a50c4afe3b38904255b7cbf150c5f79dc15932dc0ac9aa631521f68a0d4b6bc5a" + "04d55c99a36531fd4886a23a8d99f262ecd2a9feea925d7a96ebe9b6979a207b7f9378af" + "be404fc8e959b0333572a2c911f8743c0ba64eebc7ef12fe5435d2cb0e5091ae518b6e42" + "33489efe3c16c6f21abf4e2c6808b733914e5a7d", + "19f815b98836948e0a0dc9c30828c31b13e175f1e79f23d084ae1bbe64823f4866214b5", + "0405109d8ce934972f5520101730d0a14b99213ea17772e3e7637d622a5de13fd2ffe3bf" + "fa0502927e0c7baedc4bb3ed2bd1b15fd2d06dd43424393b246dd530d5d8598b56dfcb3c" + "b7", + "10359d5cd8a9b7532c9902bbf1cb83d0d34bf37e73e7c0f5729b62a10bd4d8faa0f53a3", + "3503410a6feec71fde2feb14375d50f99ff9a2c8bef47e676bcc6c3045efa9948891ab4", + "159b1f65fd566ecfdc08b87e4ecf99ceea3088a750e2c3c9d868bb432de6a61f289d06f"}, + {NID_sect283r1, NID_sha384, + "0b201469cac4c078f587edecdcdb6efd5752cb4a3f43ab540463c4d908c27527aa3592f2" + "f9acad85dd94a3c056bd28618317ebdf2e7dd6c5ad26fa3c31dd8e5c50c60418d91c93bc" + "bb59ec1adb1db791f485ded78a5cdcddd23dd1cfa4f13443468d8a5f2d648059b9c4470d" + "0f4fe7733d56a28a2c24456b6923703ef32cf0b8", + "01854e954654e726cf4bebc0e5a840e8809fd716059211c6ffeaed36829808363164684", + "0407a6e7c542860e815d3fa24fbaf99989e8b9c812b08399056ae4f9a850a6711a7385b6" + "2200dde6bff33891a64744dce6456600f5a6a11049906608e77f8afc38b922972c805af2" + "58", + "2c9cfd376903122625c7fdca50e93d4c216f0c7d07f33b3b51e54e666e13b67dc89d290", + "18321f9ee35d47648060213df1275ae89c2ec7d17abe8093d8a431ced23aa61d3f8df4f", + "09e5a05a62b006a7787c97be38df6fb9fbc1433aa2241b5a788fa727229a18e07d7a8aa"}, + {NID_sect283r1, NID_sha384, + "fc5e4dddf4c4a328b685035ee79069770fbebcc56c14e31afb4bbcdd5220e025f31eba79" + "4fd6c05e64f19678dab33ce4f084bc32790392f14bf35669d75b6466b4214ec30d58ca90" + "ae285c9058f5804a1fc9d7a995958f2a0e84ee52e8a78b601bec04ab607ffc2091749cc5" + "48c6754ed14e2e5f92315bdacaa7a12823ef76bf", + "3548f8020819588b3202f4c1ac62eaec6a47c2a19b2900c5a3cf5b4ba5804231141c647", + "04038563f2482a399bf1c13f42f8b85ef64a3599c22da9688b97530718bfefdabca3ae86" + "3705c4aabf6d8a90af345008d5a244d0671cbe1afd08000c4eb37702a9bcba6dbc058ba6" + "da", + "32649876d776117003305f0ec9cdab5cd84bbdc747d3dad5d8d54a8fdc84d519d50df45", + "1f5160851981772c502088eef209f7f89a7c8ab35e630d16330bec7723e398fb37c84b1", + "073a7333a7037e1257d4d70be87c30bef770f9d728dd7e2615d47b399ec650aedc867c4"}, + {NID_sect283r1, NID_sha384, + "284cad790e6207e451a6a469cee3befc3ec43e047cf91b9dff1485718aa29de36a43f7c5" + "1eacd8589f0c3a96ec18e8ccfa92941b50b2132e3612d5b45e16f60d411d1c53e373e1ba" + "451352e28970ada9dcb9802102518a385dc571dcf6900971b00346098a58042e0d1d129b" + "d6801fa640a895a458a45b31318fe63ebb30c6e3", + "3cc4505005c41142308f1489226b7b542e2e7f24f1d3089ff6b92a4b0013f490ad52e60", + "040280b77ddc6648d9cc3f5557d406ea2a089c8179d4320781b2eb76ab07fcafd2535b91" + "de005f23bf4171aabbf0fd50049aa017c0dae70b065964c685bc03b958cee2fc3249149d" + "31", + "2ef488215648524f6caf85233736eddcd9d1d838c6a2799c3a68580492d40f9800bd119", + "3e8e13db22c97281307edd4037f0a75d2c70a070614e94e02c860f36a53aa738fa0db2f", + "356f2651b51a6be0c697300a8c2641bfaa1795397eac208385c3729248e36baefc173ae"}, + {NID_sect283r1, NID_sha384, + "6d46e57abea9d115deda48b69fe8e0b36144df2f6a659509ce1b514c8cc4769d46e5f71d" + "f2a084f1db4a22fdd3ef0c2f90394f2898ce291b9f279c0664aa01419f5f6bee1fc12998" + "71b27ecd57a5ac548f99d01871b8c238a6b46044c953b2e78e22346a0c7663af4db62799" + "038ffb5c21ee512e26d01e70a4ed967377ab8405", + "144a2fc8e0aa63506e14e4307df36416f963dd9da78655832f5b991af8c3eb97df78efc", + "0403fe8867b560bfb21dda517b8f4d50578a11e1d0ab7ed4ab3796580d31bdf710e8e222" + "8405a302baa3795e2d132c55d90858d14d4b17aea0ab70632b135f94bb23112d163357f8" + "ca", + "0b5225132f19419715170f5a3f26919b4127a05b4f0406f895af1e4bba95786daf95259", + "0651d17b00ed9a06bfc6a913883b5cdf51bd5f2dd22307cc5ad3bb545f623516232bb6e", + "01128d4784fc0fc050af0b97f859616d764b22f40734ba65aa15e2cf80e7bba3d15f42f"}, + {NID_sect283r1, NID_sha384, + "dd750b39bd8753f4e473c4484e2b36ce2da7576813ebe05861c339ffae1d029bc793173e" + "d394091c00685ad82f0550cb21ed1c68f0c27cb7396922239cfb886647af204e88a9101b" + "7453a8ab662e270b87a8a13f2fe61d695597382cabeb781933bebfd7d0dcd33f77266e43" + "e32d937f2dc89f67525e522977ce73e9ad36c8e1", + "24ffeaf139043ff25a395e4c560c7680c1c2155191378917eb25194136b4a69597dc277", + "0400402bf61c0e36385e5fa8371a553ed8652466fdc3ed9d4a3ce1bcc567d1f451f6703d" + "d104dbea6f67e1117116f30fe42e84383768b0da770f8a2b4cd8a4fec330a0034554a138" + "08", + "3e4e78f012eaf1778c086a3bbd9e996da0ddde651236ebdb6348062f56b36f63a901561", + "1e2312720f6fbf44d7a6449a7f30019c38e69f2e6424d4bd1054f40798e9fe58d080b86", + "379d1b610a976730dfdf3300280f1c61109ad13c788e8f8f9a8d5e0130ca9482ee417da"}, + {NID_sect283r1, NID_sha512, + "4736e59fe5812f63737eed57a570182c065538abd9fb0a1c9c2059199e7052ba57d84b5f" + "a1cda2ad9f216610361ce1dfb9334816b6bea509283756a03aaae2e5b0597f492d078b6b" + "015a40c9785dcc5d2ae266176980db04f5cffef40e16661a50ef871c5f531d73fd5d114f" + "a19bae9dd2da4267a131fc31849da38c2b78d1af", + "1d1f2e0f044a416e1087d645f60c53cb67be2efe7944b29ac832142f13d39b08ac52931", + "04010b2d7b00182ee9666a6a2bf039c4358683f234ae41a9e5485fd6594e3daa880c0dfe" + "0f00a419b2f40e573dc2dae4b22e6f56e842e50d631b6126153178585bd05a8b9e6e87e4" + "c8", + "3e4d36b479773e7a01e57c88306404a46b6e62bf494b0966b4ed57e8a16169b9a1bbfe3", + "30513169c8874141cdf05a51f20273ac6b55fe12fa345609a2fede6acbeb110f98471af", + "33fd50b214f402deed1e20bd22eba71b156305e4f5a41ab9374b481ee344ab3f27f4bcd"}, + {NID_sect283r1, NID_sha512, + "e573fa7d4bf5a5601e320130de91f4ad87eb7ca6b8998488afcef69c215b0cccd221b8b6" + "6eb0af9d699af9ad6c4b4a580e82941f31e4c0a9bd83995dd076c5ac9bebb34481061e7c" + "b1b26f6e8c6b26ee4bdf9887f7ae2eb9fad3115a21dcc96acce85d23a040c0ebbe0a56e7" + "5714dbfa803d6e279b2f4280bcb993f96ba321e1", + "1337362609df74d25f7adee382225e6a04dd6ee4c6b45fa31499ce9edb0ec046325caf9", + "040287b288ce6f65fed9f95c99fa4b8c1aaf6de65ca563df30ac67c1066d2ba2f5a554e0" + "9c025567fe183dd400d256c333da92dda2e364afe84492ede9fa0e913ca7f12069b5a44b" + "48", + "31b84ec438302155f2e84dd118c0d8479267f8d19c8c5d96d21177e20b23e0180dd6d33", + "08133e49644044bf9ba3b4c8bdc3973647d650c58fae4a7ea5a5fffabafed56e759010a", + "1d8cc410cd04b188418b20cebc8f66ab0dc29a42f9067aa2926dbadee39abce79deb396"}, + {NID_sect283r1, NID_sha512, + "7862864d0d78b44e2a28af44a0a16d8e9b1b8c4b794db0410c0a863ba011018ef43e1e11" + "f2fcda2f56fdb2a69cc817df425c9cb3b458922ba00d710190cae16d61af3c304a42fbb3" + "d0c4a74a297253fccd70aca414865b41f68b01c561be281265fa89f63f975d3101334886" + "e85929a5a47fa8dc459b663548faf8ed7484958d", + "1be00aa0afdfe92e24a2536594d4b41701ad4dfb223aab35ff49310bdba7566057fe8ac", + "04013583d8cd163fdef7c11e91f36c1d3eb2f7957d219244db883708a7c5777611b00668" + "1207a1f4df45073b838277d8da7daa7147b0f10aa98b5ec02fbbf97c89ee17f3a7ab4f3f" + "27", + "26b42f369ff9b2740147914a2698cf1ec9bab44caa3b5f05957ceb9a32073729aef0fc3", + "37640dcfa11483b3754ea027f5f239500894dda4f4c8308f0623db256eba2113c41ae61", + "2096767a1f8210b175334fad61b4c7fb4e2d6c7811b5d22521af7750f101077e2fd4e44"}, + {NID_sect283r1, NID_sha512, + "e73c96d1a84cf7cc96065b3c6a45db9531cd86a397e434072a38d5eeb9a90f62bf5d20ba" + "e22b926cfe967647d2bbb5dd1f59d6d58183f2cf8d06f4ac002ead026409ca6a1f868b40" + "6c84ff8887d737f65f9664f94801b2cd1f11aec336c0dbd4ec236d1cc4fc257489dc9709" + "dfa64eae3653ac66ab32344936c03eeb06d5852d", + "12ad0aa248db4fbc649f503e93f86104cb705d88c58e01d3ae0099590a69aa006aa7efb", + "04008d262f57f9528d55cc03c10bd63ded536bee9ecc617221d9892ae1a75b7cdee175cb" + "330754e40e8823e89fe23dd2748fb74e9e93c3b33f188f80377a32bc66f6a92da1804c04" + "cd", + "2405a351a3bf9a6dd548e8477452c4d9d719e32762754cd807a90abddd3ad380e197137", + "28c5d807ea1c3ddb7f2c90f3af644c5d6a2757336ae46c2c148752a2fc150e8183cfd83", + "397c8c52fd67b99792229194a787518db5be8e8c291b1a30e105b00f108ce41f8ec8fa9"}, + {NID_sect283r1, NID_sha512, + "a73fb0aaec838d011110d49c5e94395ce07408917bacf7689d2cfe0948c582214b263c6b" + "80e0a55f1e159086817605723740569eeaa1bae96b979679165c5c35ef2142525e943e59" + "5e6b4b160acd7ebe41de19775346363f779b1f80b6d5f0785b92a648028e456af8496102" + "d19dc6526247a654bdae3368f075fa9ee92b2f4a", + "2cfbb8f340cae8e2e2322829148981cd9e509b0c65497fd8d9da5dee9dcfd39b0f7556c", + "040260bb17da74429f049f3a7eb73fea9cbeb5b14ce553d7772a365376d0114ed2ef3087" + "d005889e41bca54c09be20dd406a6e1f11f9d31d720e0c4e2e88f381ba89a97f12fa9faf" + "f0", + "3fd7cb455cd97f7f9cb888444f39569114589612b108657ac59178ffe31a33569c9f0bb", + "048a10915fd3bf9ffab1cb13632359466ccc539128cd98c6273d5d8d26c64d57520394a", + "2d0f67f9baffbb34094c5fce36f47cb73a537ff984c89e38d073678c21148056bdd6893"}, + {NID_sect283r1, NID_sha512, + "eda775984c7c9f7db47af30dab314d070fb77e9b623baa6b73e2cbda800f167b20fdc2e7" + "219391efacf908f4ceed9b9b6bd3541b52ea087177e18c97391214758cf6455311fad336" + "ab56cfdce57a18add8cf85b0a0bd6fa7297dbaa34bfc8585b0f06a0aae055186658c227e" + "19cddb65de88d260f09f805c2e8854dcc524189d", + "070e82a1f3fa6158d15b7346dd56150faee5c98c9d07c996e01a06dc9b211b12ff62d60", + "0403d3ca5fe316a0820e84a8bb5d231bb14c810a87c7392d7f960e7cecacc56c337f88b0" + "ea027ac0ded5633a98ec5734db9de1399c83a181d522037266d856c83e5c8047c4eff2c4" + "e3", + "311b23487750c3c4b23b28424c33328c39d6f594d2a9b459a883508b985d8aca039a2b5", + "1465736c3c9e30e895b1544690e05108ca221cf2352ee4af1b5ee4130029a82b277b076", + "2819b94dca3a58cc5a96790871640fe0fae38883de6fb4712126c1c1cbfcb0c005c5af0"}, + {NID_sect283r1, NID_sha512, + "a4a13e0bfa761b9bf37fade6570d41c161e20558874911ff3bee38e5649849b159beccf3" + "21c6bc7243f99c01a2fadbab9e157e9952ca65d8ea676c74fdc976d00501c626b8465c6c" + "f0e4fd1a7d1260aea987161b821528b0b423e62ecc5193a0a49442b0c3e4ec9c4786a3a8" + "6b199c07dd3a17033d430d2c83c100f54e0a7c31", + "0b471bbc5f7a07996e370da4a09e71e2119ab3a562a273f079401951fbe4df39a4493da", + "040333e9d5e077bc64d022e49d5d207385a19282aff1b73b307523b0f861b4ce4219308c" + "8205414e431f3b90a2d4a454d073cdd81f8b224180ac4139104166ec33ab33d079dd147e" + "bf", + "3e431c39ef6f4b7674a1bf414460b58998ed7aa5b1af7ddab746cbcd2ed9f42ae3827d8", + "151df78c0f453d396d71528032933566e176eb7f6910fa9df2e9b2f5ebb6038777ef209", + "08a1c4a1e21cc63fc15a78f0a11a1bc7a59a5a31f57091a12896fa670dfdc05c04053b7"}, + {NID_sect283r1, NID_sha512, + "7ceda7a7248640f7055309ae712c19d741375d6a7e0608e07f0135bb830dc3e8863ee9e7" + "a75331a5e1bd38c42cdd484d4f45a26c2c1d4e05ce0d0ca941f4e94ecc6b371102f31633" + "629e9861de558bcb6407d66eb91f1062ac0e0409db68b9f2855296a7f42fc92359a7dae1" + "6c73fd2dddea52bd866a4d501aedd8fe3b3ea733", + "3c65cf80bfb507dff52f9bf2f93df0642020d41619b3990009409e7210fd7130ac44ffe", + "0403beb5b9b8785c5601093086b709c0a05955be42eca3d217e625349e5a875efa82d75e" + "d4007cd4e64475d628e6f562f0ac9c3f91075626063a52c2b621796e557799ab2f1ebf8d" + "bb", + "16212ce91eed7153fef806d2561912be1d988410641d5eb72d586cd4e6782deae4538a0", + "26ea04dded2cbeca81e75503932982c7fb5cc7d38a45a3fff8c4ed7f844dc759d8da302", + "061d3756e3da1c7816f0d72a8c84dd1f3b93624b631f5051c801af4e472fcf82d896c18"}, + {NID_sect283r1, NID_sha512, + "609815edfd58c0e26a4b06dded831d2f33466a130754b96d8d7c3b4d99fd4b0789ec719b" + "c25338d0ae8c5880560c02687d352d77c291e406eae865c3b26d00f2e63dc644ce7e01d6" + "e96ceeac8bc1eeb257d36cbb25d89b5fff6e30b6051506a0ae54cfaf6214f30985d54cab" + "78f708029c1fc0175bc58e888db89dea8d300abc", + "0f4d33a9c7e6744ab3c441828bf0f1866ae1c042cc54abc754e3801263a96cbb3955dfc", + "0404b925b97bbe67adbb6e918acbcae0ced8dcf11d012e1a97875b750bbb7d01945bd64d" + "f304591cc9caabc0db8fe9047e6b1f8d850ac4389fe67bb84f6846b631dc3524c8dbe6a0" + "6d", + "0483aefcad5e382351125b333dcede8ef50914b1d1f1843b075f242acba18c290c742cb", + "1fb791c288e2cd52d3837c56b02fc99f53a6ee27ad6dd9c0a31ca08d8fa64eefccc5c87", + "0a041ca35422d8985c1c706dcb0b8ece64b65285bd0a934cdb41fc08223885147281869"}, + {NID_sect283r1, NID_sha512, + "82d8ebba707b72655497320200ce719520c1ae7f46f38122958fd99322c25c9f4d4344bc" + "b77a6658df0eece5df163412ecdca58475d56b0c2d14a0361e4cef458df146925d473a43" + "692b15e9bbec550f1bde3444f2a5b2ecb55d2abd273ae999f16a32333529d94455e485ca" + "4585e6b07bedbfc2bd1eb766abf0d28bdb1ae6ec", + "3a4824bdcea6a144d85f1b194431724cc49849b6cb949b4766d641ae95477d1ec3d1464", + "0402c9eb36eca01dc2fe921933f4cebe8046b3679abed80d2f8fbcf8f254bf17be3d551a" + "56034c836aa4e946425fc9f49f3f62e33d8a0afd320292a34d0ef8bde8ad79a10e3f95f2" + "f1", + "23d8725af57d835018e8737fb4e8b2eed3ec5a83fda137c710fc1df875416ff82fba90a", + "0d9f57ba8b6a9a1cbba67adfbb938211ed2d267468f79ad39ea1eca7271d135bb67c18c", + "0f09a600d97c69ab521bd1ed6bcf0c0f69255c334e0aea06c68bba81d53e810cc553c9d"}, + {NID_sect283r1, NID_sha512, + "9c6fce18a6a96349b10c9f2f5f1505c8ab727a650b44bc0782a5f39fcb48b45fc7c1b821" + "80d5f229b8abfc807071f931d333d265fc940c93fae7520d8d40ef59d7c6e3678c6a2ecd" + "e52b6a8827b1ffc6ed269cb9832feb20e593a7e3d4708309342875199eb2ffceba7ecd70" + "7b122516c815e83e27872eda812e3ea52ee3c4a8", + "27ba543ea785df1d53d4ae4c1bd0a3a994cddf0c25d2b4e8ff17ea7aa00619e858da1a5", + "0407d375a9e78ccee85fd795e3fe6bc07f50af3456edda1ab00303f6de6b5b02fe09859c" + "63008d0d54ab9a239b5ff955452b32bfd2372fe095751bea4b56d52f79b4fda0fa635f57" + "f9", + "00ee7010af4a517502cc5d5433d98916f6750e8a9009ea04b8132268673d4a02a3e2031", + "3c147b66efa47a842eb90371eeae907f0c813ca0937e488da95ff8ee16d389f3ab902ff", + "01469d005eacd9ac84a140c93ed0aee09083a4822730a28df35058cad29267eacf03968"}, + {NID_sect283r1, NID_sha512, + "5eac15a64c7653d125605869012b8f036804817aedacbb5a5248a595ee0c12329f91e817" + "9c187192d3ed0d4ca2e202d8d4d9c93ad3f3ed931121c193af5b47a8a5dc39775b6c2d70" + "2708e5134f77a31bd62eaf87e39e6fd3f2b9f782c3057e162dd53b3addf92bf0ab99835c" + "7f6649abd1c5322a1ebb2ba313df9464a74c14d3", + "0708d0907d14dcd5f40e2903e1e90e48a0ffaa6d4d9b84ca14df4e985c294f74eb9f2d2", + "0406fb0fe1c3d5bfee5399c98518bc3ff135e0c351243fa0540717a9b1f7990eb8cf4359" + "7f05212fd4d6a50c08cd99ee5988103fa639b1123c878d416cc553639bdcee1f8e927bdc" + "8f", + "151465f40204d76f3bfc2e4052549869c19da82c678c332f536ef24567ea034358866c8", + "0803d3e8c876d46a9198f2f769faa76c4f66bc5ff4298b9640ccb8e67ff8d10f86342c4", + "00da3344354114d163d14d4c288785adbf9a8b31371c6e4420383c80ba0a430019c6acf"}, + {NID_sect283r1, NID_sha512, + "df735a7e60bc267b18f313ad56bff830be5ef119baf43ce27c6368ff1dd89f010afd4f48" + "740b11c12101c5903bfa71d6cb3d6462cf875bbd55a570ffedf3564088dfe8c8d3148231" + "b78b5adaa6c53696737d4704daa59eab8d986fc6e519e81540f201e77b923a6a4af65d71" + "73635b3b19b2023022186a7b8e869e1ed51717ab", + "21fb0a6b94080da8b8299b87457dc09d21bc430ba5f3359d92aacc1151be9941739567e", + "040179831c55ead3d11844fea2e18d25cd4d658822e626550aef1afe37d88aadbcc9bfd6" + "66075f8087d759ede340157667c1bb12be272b8318aedf2e8f8b487f4bcd12a50ca66f92" + "81", + "37833e9aab843a6b967264fdb705b419ed63fbb09c12170491019acc7c21b9ee28a00ba", + "1c9601440d109a3f4eb69a1a669bdaab9f4222a34a04ace8ae313b10bbb66811bea7d5b", + "3d2f9ad7595dcff69b65f035ce600f2667f8499d3bd25f789d3f3c1bf83d2855f68eafc"}, + {NID_sect283r1, NID_sha512, + "bb107b0eeaf175a786a61db923bc6d51dad5e922e85e57536118e032167b197b1a1f62d9" + "bbcde04922fde781665c1094181c16ac914cf6fbbfb27bb8346b2134f05c55a8c6b9b481" + "273758e380666d6e22c28577c29446cecc5c3df9ed9f1be060ca55ab2b7fda36a147aeb4" + "6df0275bb923e0876b703452fab42f6b7ad2ceb0", + "2c80151f91301fb6b0c7685bd172f20515b46bf94dbc4160d0720fbaedd40ec00084447", + "0404a62b0c9749ae9ff00dc1d50d2b4a4941741abfdf13c8e416549ea27fc26b14f191f2" + "4302c9cdab7c6512c322bd200167eb9657f8e8c84864b57480a80a3c6efbaa289ab8cbe4" + "d8", + "3df951f8c4490fc7c2d50a72a93e0e82c5a20be8d91afd890d6846bfd146169ab58b382", + "1f2accc7f7c4b5f877e12cc17b227e1ba110577c9f4e1785e6dacd8491bc6017129d798", + "27a167e6f2b43ce9663b810ed4f8ef15029fb6f2be2ddf25c014d844953f501d1dcf6d6"}, + {NID_sect283r1, NID_sha512, + "f47e49ae30b09b7666600b7a95e81b0afa1553da5e01fd917e4ce1b58dfaddb8dc8c03c0" + "f5591f533610deb6a7bb5faf5dd1ec4103a587a1a4c58a110a706b0f301a5c408b3d984c" + "210d5b4a0b347d2b5447271f25b527b3c7864f7cdfa735dfded47c63b723fa0f0413c57a" + "24ffde9a95c35f743f892ab1ed1df704cde82d9c", + "1538abd7ce8a6028d01604b1b87db3aaf720e04220edf4d1d28c2d731aa25f509e58f2f", + "0403076b5c3a12b8a2e1368c7e3458458dd7ba6c5a6dda8c82cc6b30d1ef767d36e01520" + "7f0369c7a80cf01e9f32c08f9924db08a7d0dfa5e9a8e0e29b57f5eea8506841e6e3da04" + "f0", + "3f0052ba6ae6bd7a7aeb077a764d21caced6b241f63616ae4e4f0d98d2bfc0e44dca592", + "01281bc0bd36ba1f3e1c262d98ddf4e9bf1d80dbf97db02089fdf1d2e625abb5733ec3d", + "076db2215d9f33054efb397c449f05db198d38a24749f046ee20032f5899dc142052e37"}, + {NID_sect409r1, NID_sha224, + "f2380acb0d869d1cf2e25a6bd46ebe49d1c9270624c5507be4299fe773749596d07d10f7" + "c2be1c0b27e86f27b4a6f8dff68cfe5c0b4c58dad1b4ebec7bd00ab195fdd635d9fa8a15" + "acf81816868d737b8922379648ed70022b98c388ede5355e4d50e6bc9ec57737d8843fab" + "da78054e92777c4b90466a5af35dd79e5d7a81ce", + "0beb0df3b0e05a4b5cf67abef2b1827f5f3ada4a0e6c3f23d698f15a3176cb40e85bf741" + "c9fbc78c9e207fa7302657527fd92fb", + "0401da1761981a65cb5c77ec50ebf7acc11eaf44bdd2f70242340ec26ffada7a4b5f661e" + "13d6e7ad341cd7dd1ca491cb7a0b580be3019ba11e4c4f2f5507d6bd2aa2f96b03510a03" + "d5f8c38bcc8acd08080d9effd1f8ae5a5586603b2e112964514c831bf786b2fcb2", + "091e575fc79444fd2d9021bc267a1a076438d73464726bd0fe4ac2884a374e71bd462b15" + "16b3e97c3202854bd0a286214b9e92c", + "057ab9d5cf4d18f05eaf17d3b5a4af96c3eda8ee48acf5e02eefdfe2f542cde32a37c04f" + "285794ddccbb14383a645db040bda81", + "05275de4157b32723366a0d63831e6512241e3e4416f3af02e22da8faeabbddd76116030" + "4927a71cfff4d6e8937347c9b78cd3b"}, + {NID_sect409r1, NID_sha224, + "22a97fc0a9694dabc6f274ab52eb592dbbe8beeb646ebe6cef60eff341a13017eef980ab" + "a6d24ab3afd976e2f6a84cf652654d4a54a36b2f2f62fab8858f8b0479a48fe9f47f8fd5" + "a4a1f3141a91cbca186507b2bbfef5e4c4d2df525f04ef7c4720fb443ccad540f03a2be4" + "68d88c9545d1dad579fd7cbcd103bbebc9e9f961", + "0504865a30984a9b273d1bc289d734d10e0aa56e93ab14720f1a42a27d8cc932cb8804b9" + "63175de6fe57d8eafa8ab7ea0592dfa", + "04002de5872c40a79d5238722fcb94d5158009e28fb41ea012e92028dc3c87855fba71f5" + "0e6d0dff709867de185f9a9671e7a91e2f00fbf607f69609ae96982bda3f0317fe46ad1e" + "0207030fdca702cd97fb5d5732f3abab24b10669875a64bd2a74c8603897c78d22", + "032d0f950d10d028db6e9115e9944e7c768e2da731df49dc9128bf145a747662de08cbe0" + "517fca6fa185abdfcc4e3ab604e196f", + "0e7d16daa689ddeb08074285f5293bd9f1c051ca5589e69e4b62c32af110b6f3981d9624" + "df15c7cac0ddd62aee9c41c7b6d690b", + "02f6bdcc551aef0e4e8da2df38288dcc29fe600de2f8b6cd8149f88146150790915148f0" + "69372151c3bdc4d719526eff252e610"}, + {NID_sect409r1, NID_sha224, + "af36c04af0e3fd64bf52dedf52fb788d2d1bd67fe05d98880cc7ad3c20436abf02f637fc" + "ec209fbf888903fdec8682717299f8a4386768153b7faeb6581db57fb9aaf4615b4ea8d9" + "24198fdd158363a1f40312527d6bd14c13d19985b668c6b88a7548104b1ff057d07082ee" + "a421f50062a315bc3866378f2d2d634f03fbc0cf", + "0cc08a4ea5ebe32027885a8c212870e7c45b6c610117994d6a42a284c05199414a3a0e8e" + "6645ac5c2ebf21c505a601f69c62b85", + "04009d2beb607f2bab64451327e1dc67f04f7569ffc0c67b410c6db06dc04edddb1362ce" + "8d8b8220be77c447640e7d0c676e5ad1d500ab813e800e75b6012faea43be56fe9d5a22c" + "d46fb1f4f1ba65eab19f75f2ce9d8187e4940fddc485c42cd18d40d47415a80b02", + "0cfcc307f847eb696f16af32502690711ffbaa2e60e75f80cbcf7704152d5eeb9ddeb701" + "952dd58fefb159926a83245fefa6196", + "068d1c646dca56393caf3239d9fb30d1dc56f991a8dfdbc0a7b69d273aec69a53056d955" + "3e105c7917e522ffe446cbea23227c8", + "01db30aceed2b126cf45163b9d878a6590e9ac8284a31ccb0faeba2202679f181eaebb66" + "4b5537f408b693800f24da590082dfe"}, + {NID_sect409r1, NID_sha224, + "6bd6f52a6204b60f37929aeff28c87ef61ddeecc231e52a7772275f9329add899c130956" + "f8c50ac2698aad3654fdb49b74a6427a62a11eca0a8ee8b719b8c0df7b9f0bb0af5fef49" + "18a8c83367d29fddd04b6a1ecad904471e5b59c8fe3cdb06b4f8f96419518dda960845d8" + "3c49a49f1b1f2fd1d2682a9d60c25fe3ce982cf7", + "07156ef0a74ee1119532a2a7e8c02be1559c3c21897af9d5b34553c3d0feca4a8d5929d1" + "945df824478e0c0b92a6fac8c84f639", + "04001df419310cf133408e9bdb32fd85f8f0950263e1886f2e2e108a596e7e76153ec47b" + "f9b33f69c1128dfbf52557f3c382de85f1016a15517a811c77cc67ec4fe2bcba1290e498" + "1880c071318aee28e30854692ed2d6bfb71e6e74fa97af750889ae8d010189733c", + "063f127c38160e85acdd4d5dee1db1c32cd9da6075b2d2f46b010636e374e0262a045339" + "4aaa8bbb5fe7b2dbcbcd62ad601cf51", + "0250cf50d52a5950999b9c0ddef219218f76dd9f22a2213def9ba98d258c2f8359d08d0e" + "fc208e23ea3614c9e27b2e4576b9c12", + "063479550873dea8a3ec0306ffa9252739c34c87bbac56d3d9138764347d5220bea9c27d" + "6a308dc2ec53724d6d3ac4862d1735a"}, + {NID_sect409r1, NID_sha224, + "0eb8de25f63abc9cba16823270e9b6f3fdedf0fb90f6652a34688970932e3ae98f6d3bf0" + "fefc5f247f72960a6975bff1f1acc2188a1775fe8974b2bb2b4c8d226ceb735113a14009" + "e8ce66d58808fada4e6f697fd016829913352c0f659b6be354a067df00cf74919580750a" + "a6064f21264d89dcb28b3b2d4d699115c36d1310", + "0a95c7abffa92e2c637611ccba66ff9d2ab121b40a85c5b71454cb0dca1f098ce1be8d9e" + "a4933d1a91bcd270c5a33687835d6e4", + "040048e6b8614c0c7156dc41884e17e36ef528a493c28c9e6275c3454d83beb939ccc749" + "52732c18424ba21b8ea9c528966c692141000ef9efe1145029d8d60d14dcf079d43e3cea" + "0e18010f680bddc2729ffbff9a981cef2cb595a69142b25a0a39863a929adb635a", + "0f43af45b0dd631bfe38d85979ff1612140b9cf80b4504857df17279d9d8ea12d5bcd292" + "0fcec81326f15832df6774b9c4bf5b9", + "099f403ced566fde4d9755258445b6d6c2a4e234f99425aaa78ef118321f8579fb513ccb" + "b71cc2732e31668a6a6bb0fdc7f4018", + "0d8568971a4f219d6d3d8bea6aecb4bf7de53886d2e6bbb0f71d054c63768c34d4d18830" + "00019c59168fbb32f4317330084f979"}, + {NID_sect409r1, NID_sha224, + "cad58ca7a3b9967dc0ab62a43037764f8074ef9177d60bd98f623d693333971c24a575ed" + "03cb61f4dc2e3d6285fb1204502a540f3c0bbbf23f5bbbd1544f322ce35d949d8b1d8ede" + "b82e90927ac67ad49c91007056bf5096bd690d15ac00e1874fe33293d8003a4a2b094078" + "cf09af799dde384143350c54a99e1f99cc31f2d1", + "02c438b07c6e0685d1f94a4bbafc013f8f21265d893f54e54c3ac2071606ad1ffacace0b" + "8367aad724b1d9508c65ce52282e397", + "0401fca66bdddefcc3c2072ea32f026c975a2c392dd7ed7e93e94a810e1125ec161bed69" + "8d8305830eb66fca5eeb71934ab3fd79b10189c22a2c9f1fd7624f805fdf4faeeb931709" + "d745a3feaa3cf04824f5fa58bbda144d4e96d83ce1e3282bd5fc9c50bcd68f5408", + "09230aa7b58505e2dc2f205b70a09cb9f4d8272f465b7380195ede0f7770af2a33f7623c" + "310a0520e7436835cfcaf32467f154e", + "013d0e70d8f4b1563efbd3c46feee15b88358562f769046f39df6d00477815e6b8763c02" + "3807eda87a86338c7b64214784fa2cb", + "0662f43fabd03a0c05ebba700203fa2188e16504f8655bfd0fd090b109e68220122dff7a" + "6cbb8bae08612e0d516e9f95ac15368"}, + {NID_sect409r1, NID_sha224, + "281ce2643799bbfacc7d5993683a4fa656040517854f3c2dc7c4f8848dc305382e34e894" + "d433caf12d8b493020a6a08d1fa05b08bf6c53127ad5f33bbe75b9db0615e3dd94408d02" + "8dcf3cb7598f6e7cb4c787681dabac7cba2cc06fccb7506fece6c7c1c1bf622d525ae973" + "7085ab4ac578905950002024f30159cf0d99f50c", + "09e8658f8f9e6cd98c0f4f0fd20d64d725653aeba339504def17f3ad12a63dc6157d8080" + "4e5f43f4ff48fc5573fde2c615ed31b", + "04015088531d914113a25f1598ba1d3cc611e27ea92ce8dc807fe8d446db14ef62ae2f06" + "c293bcdd739f916cfedfc481fd941b4feb00a9135dc1b0384e7169fb4648973559e50831" + "9235a3f41ba174d5f58307448671cf22a3649168495c36b0bced09ac6df98f14db", + "0d398fbed52228fe16d32a6ef539e4ee3858a1df327bec999ca25cdbc357de5a75903909" + "973bbb0a5d0269862a74623a38da515", + "0e38910abb3d84b2b26ed17d2124f4787dc5612942e98521d9f94baac3d14159eeef9e09" + "b9b20c807b479ba84640730a4ced4c8", + "0e370e575302ab0d8d08d5270fe89ba524b5bf21e43e70c4d335ec1525ff5696ced37f0d" + "e17e109fd833e5d179bcd4df42d7882"}, + {NID_sect409r1, NID_sha224, + "0c061da1a16f2be130ae3b20b89745e840bee09633fb49671db28ec9a051545f57ee07e2" + "410ae7ebc61c9af79868d3047705bfc64ac0c04ef0b286e579b650c7165443631e49e6a5" + "3c84cefa5625b1e1035a6ed89b8e839540040151132a937666524265e099272c1849f806" + "db0fdf2be64960d5b5853965099459968e5beb32", + "0c4c13f65eacce85a51881caa6f82d9e48ec2ac574947d2751823a7f072d38bd9da0cdf3" + "0b6f19084a6d291052e7bbc2e1349e1", + "0400af93430dd77e6016d1b076a52126a729f77e34bb3db11328d9edd56e29a7a09a7b6a" + "54f72076fcba886ea78ab6ad81de43a82101419e1bc339c03a8b4413ff009d76f9a19e20" + "1876ebbfbb3dc771b7df07bc19eb893ce23e40c679d7909c33af2bcd7d6306c0bc", + "0889be0918e7ef34d3ed226f967301a10fc30111b3559e37f5fa5a57dd5c73ff672c5279" + "d096c5b04c68b71d55e549d019281a5", + "0a4bddba9b7a402b584ceb82a54baab61e81973b7347e6dc9e3ce0f1e50dc21c9569d8ec" + "f8a7da97c38e92e52636eb13d3b4c02", + "063c7291656466f7bd647073a50f410a2cd9e8c938aa1fd3b28ddc1cbdd7b78b757689dd" + "661f5173f79896780ac3fdd4f3171ac"}, + {NID_sect409r1, NID_sha224, + "74ac2e1303297efc3ed8e624722df505df55b7f33964cc0d270604cc48b58205d8a11952" + "232a8feb0079baa30d7d33660268b56a5a3dd90105f0703abef8f6636a99bc63bd47d9df" + "100351bee32d8205dab0dbd2af36fd173409ff8d1fb7b24570f3c1e968458f58aea5aa2f" + "46731ee91ffd6d3a060af6b3d5020daf1362af3e", + "0da591461791ae7847e6d8dd8df46a63d3021644abe9520e158406c96540d8fd82ecfb1c" + "3f6f5cfd7688c7656cc3e3dc94e586e", + "0401f48c95301956c62e2fd931df49953519b88ec3915c8de495dcb4ccba97bee023b1a6" + "cd9a66dca29aeef8f4f1117eb954e47cdb010db6bf78cfeb92d29a922c4b05daa3cdff39" + "17ba6978fe738296956ed141c749a938ca9f8f13f711aec930e0f1948ce7daf9f6", + "00576a91862cd63acc067563626977fee6f074d5726cf4f68e80d25029d4b8efe5ea8457" + "45c45e4cd42879e52854c3f385a10b1", + "0806435400248ec38a6d362e8b2cafc3f3bd46ba5baf538cd97683f76a733ba2b4ca85fa" + "7d13b99f4076e7616e68d66f05ebd8b", + "00ecae395fb324b4366f238f0df22d011bde5db6b0cf4189e3ad47101067ba87336ca47d" + "637f09f7a40a1bc64de8c4aef7f497c"}, + {NID_sect409r1, NID_sha224, + "2afd17344552ccc577b0118caeb7dd56a0766e25f84df17c0505f9798931374b48df89a4" + "8c64e199108c36e00c0bf00a97ccde55787bb97c6765601765ab5417f3e75e35a9fe5e0f" + "85a721d9f08440ed617afcdc200b318940a1e496040a6ad9090476b0fb4fcceee77b3fea" + "11de09e7fb14853d1fff8ab12d66c101257e2d4f", + "0b5eb943f0dd390b737510e2bb703a67f2dd89dc9f6dca6790bc7a260cb2d0fb8e1a81ad" + "6009ed51010e7686d5b48233c6c1686", + "04001ac00da454bc329f7c13950c848392cb4f31594fb7837f0986f61601fe244eca3db6" + "c4f92accc2fbd1a4b8597b70e72d88b103009a364065a9f67a0aa7518b75a0b4a9140787" + "a67f852fa31342d6275c14713d484dec3116b9dbbb8af1d4945639997ded09cbc7", + "049176093dcde8549f95a8f1d1c87230046fd4b18a73243c3599815d4df8387a843bc8fe" + "1fd67f3c6bbe394547e11866f41acaf", + "09d7c4ddee55f61c5c4c2ac6efbba6164900344004976381c7b18c1de541a97cb58e14d1" + "4b6e433c4eb6d4bfe6d3e0a4e457469", + "0a9acf355bad544b3b120522365bcaa1e1dc6f1d3df1e30d3beb94f639e26147a81d154a" + "684bbafac965bc39974c505fd0f811d"}, + {NID_sect409r1, NID_sha224, + "174b2b083541f8284645a810801e72631a11bd7bb805f684a7159e055afc44357f2c80df" + "2b7853678d34a04144e0ede2327d03db6df23769ec41194a8d9d86af74d51c5bc11ea878" + "c6a80689af71d3fdaf1c651003385332a512e03dd040c33d9c328ca89ec7ee9026bbacf3" + "0a7f3a68e0d894fb9f7100ffbc64bf17679dedd1", + "09cc63f32152284fca27ab2837bf1343144336a1fdf15b9727c47e877ac69ac9cf4c97b4" + "bf42f1ab10d73de8597a554ed099efa", + "040044e655ad66ca9af330c33bc6d00ccbe4533a4c6a44a3f23c921b62eeec8cc1918e19" + "956f3ed848fed93a7fd7ddea57096d1f23003a71b221c85607821cd864af6f533f216b64" + "1ceae104b8e16dbfdfe7edcb2cf9ee0dc1679b696149ff42a051c51c861a3c7530", + "0db9bfe4c2e659006d31a7b44eb7bcd6dd23810f27c74dd587ab9af23aa5962dd18aef1e" + "95da4ebf4aabfd558cbf72d2951bd44", + "0c3b91bf0794eca7faf227c4ee4085eac6d6918803242bff4da9c5dbac2e23fc32a4d4a1" + "92d7737be22810812558f820b0a2c13", + "03120a558c0edb58ae7ba36e886084801e7604558238c85a199af6c9e7506ea4e748791b" + "04f3a92354a4f1407837d87faab66ad"}, + {NID_sect409r1, NID_sha224, + "758df71a952cdcffdc417b9fffdfb57582ab5c5473a8bdf0c2101953b023b77824263353" + "dea0e2ede1f800a5757ec6ac0e1e4e3ab5a4cd85567d2d19acc6b7069a6e7368401cba2b" + "6e642373654bec0ddd19fbf032794c15b7ef7e714e13e36875262c01e77766ed53cbcf73" + "5936dc9b33eaf2152a396349c82ca0297dbae4a5", + "09950355e8667bea8bbe3a2c4988436ab5394551b375e27fdc0c1a1d1b07ae957932f428" + "f1aca0a486e54cd0b5bb0a5c5650641", + "04002f623f81fb9a299b71ea8c58d5bd7d89e7be66ed8cfd7370de515eaceac903644383" + "38a3fcf9981f1b6f0b30bc61c4b7c15791016130b7c4061422d70b21251fa9c3d4e9636f" + "5a08cea794a0fddf74ff5ab1b750cce0f2768d54fb2fb75e2851c2296b39c0ddd2", + "038e8c70cd35591012f45f27980095c4bcbb3bd36bec594927968d3747618c7f5810ea9e" + "0a126e4d3e1e08185b031dbe0b37e5c", + "0cf957d59b03aed0e48189d2b9256b5472c8a48b4911f9cec14adce5c6b4aa22d093a116" + "364bcae01c1a739a4023da12a29c058", + "04cc2c22b243064758f52264ed84e757ff67c4f6596edcfe956b70f777d865d01e529f0a" + "8a9a6e1895168780ab60950a62d2d2c"}, + {NID_sect409r1, NID_sha224, + "b96d9f66b2000e9408d602096f032b112f0e05ea874229ab9daf6e05bee49b4722e4f2d8" + "bf2eeaab9dad94438c76b7cc64dcbb59cb4e03f9ac70487a1d24d8d6b72d7462fe738a17" + "edf381d52179b3acc0c0177c113eb4d10e8e78041deac1d56abda0ddf892edb8be956d28" + "5e7236bc6794168f8a180f622dd5f2b9e690c275", + "0a995493d6971c2d7e8fac3da9f8c0b5afd877cfb94924cfecc167f9d87002136ab253e3" + "a4f9ddf5c9c99bb1dc1af0c6a3a3c4c", + "0400ac0e558dbca0fa6f013b7282e02717e91eb73304b4f7ac5e04f12f55824c441faebe" + "5bb5af82189044827007bffb1e2655794101178bb726242c718b416b21cdc9fd90b31ba6" + "a8350f9b4ce3a188b1b5dffd0e8894ae6a417c4d74c920fda585624eed4c1d3f99", + "0d581293ab1e509baa50852bd3f21f6493cc524a2c16206e461e320c7f2c1c201b9d2a1d" + "d4207227592a6457670a67cb72eeb58", + "022624cbbae5214d2c29e273c334b9ea78e10c7efff3611574d5fdf6f67a81472b606e02" + "36aa47106097b9147fc1b56d062966e", + "08895d107ba789d88a17c30a537402591ed788206487697a72f69285ee5eb4f03cdad6c2" + "604e174ef4b9bb919d8b39bee6231c7"}, + {NID_sect409r1, NID_sha224, + "e7ae60ac55e6ba62a75d5328bbc15269d4638764169de0bf0df043d15f9152bed909b1fb" + "8c7a8d8e88ac4f552c1092b62db00958a3a827f64896f6de4bbd8fa5258d6c36e3904d82" + "d3eacf6eedba50b0242eb6b01212288448c3a9821c4fa493869c01149ff1850e8115cf9d" + "e1618cb8744626b1951d1de305745507c8b21045", + "070daf435cdc26ad66c3186267ad12d10f28d32d863f950cbfcf042fe9dfce553750ad09" + "8f82f7f1650c1126b3e4451bee6e11f", + "04019b41af3b557c274cf117d501ce7ccd04d8bff2dfc737d7efcd7888f2dda24737a678" + "8f16b3b6cd589d3f65bd95194799d65659011983077a2c371fcadbf47b10494f6ffc7ca8" + "873b3d812c45a87c48e1b49edacc0ac37e5038cf1aba20360b74c0903c23a62331", + "043fb8cb87591747d12f4897dfbbc79644b87907bdefdbd7ff0f6f2e7970c7d40bb2fc08" + "c17443d029a92487869f640607af460", + "05ea3493a8c04723de9de2cbd523481e3a8593ae8f010ecbd5add6db5a82d9b13ee7d24e" + "cb417419639d0e9f4e68d14f6799829", + "0a9bbaded0a2894e384184e166bc06e1b2fabdc70536caeb3d0cd46b955743cfa8ac6edd" + "03760d1b613fb445367734fa4270139"}, + {NID_sect409r1, NID_sha224, + "666b0dc2ddffaa7ffd57ea3b2768f02d4b77c16fa007c6d1918400d195f068cae2dcaa69" + "817e6e4c70d5b29c5598efe2d957bd12d0fafdcf5ac52dee80a2d46e77fc18cce2a49bfd" + "787ff77b942c753974d22434742bdb494590d17c42af725b1309e54566276af3bcfbf5e1" + "74d3cf191b85903faafa1583282c97e66c5da6c4", + "0f8121980dfbe9ad0bf92383c7cab95fb72d5caba96e1de7772c6a179e85414802fbb86d" + "725401451329287305570ec7fdd873a", + "0400c62f4e7eaf3f1bbae71734c86b8a40ed1297b9ba1151729f9363824425193e8605c2" + "bcd6094aecc9d7ef2a41aa6b12877291cd01882a45555b68596dbc8bb093dbf1aab9900c" + "f46653c58f5656f3688fbc72c5236297be2f0586a4031279b9014f2d3655adef41", + "0b4b5b19922bf6a34a00454374589f9c89745eb194b0352061a79401e23c0c0e1fecd759" + "7b5a7cc1c463b76cce7ab921867de00", + "0f1fcb80a4fb49348fb326e808d8ed8c21c376f0713429a22bfe16d68cab0295b21d4402" + "9083769761c4fb853662d440eba4cfa", + "0252a94a40008cc2c1a69113d8e14e989e7fe13918a2852de6930973a91784eb35e20d8a" + "e150a88c459167f8ece998cbf6c5eb7"}, + {NID_sect409r1, NID_sha256, + "3e967cbc2bd936e0b6125dc5cf885735bdcd2d95b2f764de6931c4578ac8e0e87abdf963" + "75481df67dbe1b6c43537e84ec62bfca6672cc5f3ea4125abd4a4119edffe04e42411d33" + "8e8b10abb1f1f818c50a9631a3f89feb5be5367bdcb0a8a82c96a427ba6ce99f9631d441" + "1a2b7f5b14d32cb3901dc9d285e4cf5508940942", + "047682b2e3bcb5800a531858e8137692a9b1ee98ea74e929ce4c919c26ae3b3f1d4122d0" + "7fd9a70d8315fab727ccb67004187a3", + "04017ffffc1d2009e844f8e625a3bf11749a8b4ea0b0fe3532d124112edddf72d518ef57" + "7f160962b88ee38b11445fdd356a26bcc500ca356fa8e90325aafb1826a694a55a80b2af" + "52e70ad8d507d48946392da8b9fa27b8ff6927fe5130c69809d9a2c4b1d7eff309", + "058edc8f3665ff9166af55e69aab9d468f576bcc8f652e950082a48224b4923cb9396ed4" + "ae06f05bcf7797352035484fdc501fe", + "09b46600fb3b8204d4cb63ddfaad1482dd8cf8652f63c926895b8b8ebfe27295c052b3bb" + "81dddd8687f4864f258a433010c89d0", + "0832f7674eea791b5f17db7cf9e2ab13253d870c6ab46ad01cdda30e78db8b8f51fd377d" + "d55ec7786ccc92b17364a3c17ad5be4"}, + {NID_sect409r1, NID_sha256, + "ca1c90012eba4e7c5f01d8cb3814c58f48c03a16be6ed86934014365eee547070b870d1d" + "26a872cfd28b60d9ee0a66dea223e9eaa90ee28076188d6091f26f665684f4b486af7066" + "9555db9058d485c677b2a34d4a98aa8d6f43bf6f44aff2a23c5d765e98f0438ab81be058" + "5a5be29daece5d4116f44ce6062753a3ddc505f3", + "040cd1a06233ac27f3ddd108de7c6c0982793ee620d71982697713be9fd5143658929924" + "cc88747a680779bb00da8a44e1e7d3f", + "040164e518a6719b1ad61a38a214ebb06dfb0553bc760799e668b1d0d098ae3f06dffd9b" + "84c16de90db19043d72bed2601fda14b1d018e022ceb850eb1db59e6cf63c4a7c73bea0b" + "70448a7dea77d5ee8a2e1a36cbc46454bacd5954792de82f3ec21ca6a509b0c7aa", + "04a936fccec003bd9e8eb45d27c0eaedbd452e6fe99abaa62cbd0739bcf259cfb6884d1e" + "60b82522c6146f081663f6f863576c9", + "0dec1635f2698d4666df2c217fbe3e644d27592c5607a5549c877257cba7bee29a8cac75" + "a044e72d039747d0d18de1c34acf072", + "0138493216ffc3b8aa2e0c26f4fafaccd6609e6b15f767da7c907db64b5181bfdb447d73" + "ede786144c70ddce7df7eff46dee4f2"}, + {NID_sect409r1, NID_sha256, + "a54c4351ebdb075d6a42a787647390f864b2bbfd8bb3d0e0ea9d767200fa344d1a9ff091" + "bddb186acd69bcaecd767068efe4d752d185bfe63f6674279d0e7192d2077c400bbc0d55" + "99ee28507c1253f05eae0687b965a015e1f3a292b4650106765266f5c95b77ad2d82a6a6" + "e012f233169eb6b8d83576901cfd4a927c54d7f4", + "01ca6f752aae4eb7fc9c73a08d6fbd96bfde5030d759a2507bd45b6e1d1487e53abbe98f" + "ad4f41976364e0a1d830910ccf97abc", + "0400f6b7220bd24652572b37a0ff25e75f72d583c71c159857482ca9944b956a117a6b2f" + "f96614898757b8a587e3c2b78d9943003d0118fe425768bbf3a4acade281c41c745c9ac9" + "46c2f8b95d65787fb6b64deb71e6b38fd8c721e01c87efc7c2a6d8066fe3b35a0c", + "04963aa161b5ffbe5d7e5058f0b1457ca1b9cd61d731a0470beefe5f8998904cf4594f98" + "dcb41283f66e2b07c5c5d6a6c587826", + "0abf824d43d993107b552d7ded13f49ea0ae7bb845e56ad7e53cc5f9d64f99f9f250e430" + "5ccd9f6594c92defa7f6860fab1c349", + "090a541f1844357f618e5ea34c0398ccbdab0cb363e266980ad304dfd675bc81c0345a4d" + "723fbcc76ab5ed4cb0ba0af1b71bcd9"}, + {NID_sect409r1, NID_sha256, + "6723dbddc8720feeb75e2a061b7fc49079f999fbc79ec8a8e01ab8d35b438b7049da5a23" + "c49a58101742791f84f45d5f5cf551cd7de6926a0e2c4ffa1e378f038da597368c62df8c" + "d8349bf046de46d02183dc05b3a3575f5f232dd2970057200e2c9cb60eaa6b4d72f8b73d" + "4d40b98d1cc801d1a69cb5ed780a75a4064623b2", + "0fb9b1a9597d216028902abf743d25944258b48c9762d4589fe660396130b75f6006cacf" + "de60f6204463cb8c18b032de1dd68d2", + "04019b07f7f4ba100aa9e749bcf93a2c9955c442730c5e1f6f72c1b1d132b780d92f414a" + "533282f7b66677c8cc8a3d5ba8b3cd3cf7006ec6e9c495ccf600f8c19597e9cfdb639406" + "b04f57a29dcd1a7a843c2c44e8321bb8508953e9c0503f77d36bdef24d5d39f85b", + "0757f6acf74eb02b7ff3161b476dfd8349854154186c959179f11b9a15da3dface40ae6e" + "d771096e053976866433382e640283a", + "08fe276e7f63ce5f85fce19d1739a8a9986cd3c3fbe26fd59324efd98826f9db3b228321" + "b3ad1d96145ca23cc02616d9e9d7aa6", + "016e06de8e3e0abf4a4f52bd2f827ca4c57412adcce3271fb4014069713f3723a038bf56" + "0788d8dd48430d3b30faf15ad9c0d69"}, + {NID_sect409r1, NID_sha256, + "ed53cec5e5500d62d38c829002916c657674ede4439c6f405ba672327ec677490e656bdd" + "698f114c2ab5e6a1fc94a1a8d64466cfe9eaabd23a8b5c37f76a3c0decdef73b3e7b751c" + "bf3b0817f4079560b5ea34cead88ba374201236bffc48eaf289bbaa4e828afa7d732473c" + "228ad00588c9b443d65b998f21c3d7a9e9196c08", + "032109202d754da290c266f74f47805a06e6b5c3f721a72fc97a3bffeb8887e0c642d49a" + "6bd034847d0a5ba09239c5dfdf0772d", + "0400f4dc8b94dfe0a27d4d41399005b242c3e5b14bc7cec55ff3a1561c894d73f365fa8f" + "a2ccde1fd7bf3760b96ab2db78d2d50b03013ac66e95c335b71fd1a98f101a392dd4696a" + "806239fbdd0708acc69333febb48d4b649f14f42841d66ce03f1fb557a361c12c1", + "0b010ef786c13ece3a10eaff79b93ef3899aa385dcc1914e16abba90de0ca6389d664082" + "fa727fa7c7907dc4c88bd621e6124c1", + "0488b8956c5999c317830206fc8b9f6760845c31bc4ba77584925dfe25c05a1e7d298a62" + "e9748c7278eba622713df59accdd78c", + "082701053ddfaa376c99cc42ad4587d84a358d9d8a9533888cc382623114aef51170de77" + "ecf64af02e09bee203851abb22f5d11"}, + {NID_sect409r1, NID_sha256, + "13829401bd41e9fe01329e9f5a002f90f1a6ecbf25fc63e7c1345f265ff02e496230f706" + "c6ab377ea52d8707b54f8fc5c7f089044e2bec1dfc66a07da76ee12fb9ea0697d87706b0" + "ebf677600bd2fe117f6cdefb8bd636a1b6b97549ee78f992c24acdf3a946053f06fd012a" + "9c703efb8bd929a66aa74b05d61bff0395232b00", + "080536e820fac59b3203aea928475043b2576446619001647e35693a9e65d15236c3cbc1" + "2e1bbe0eb305973535c882b70197a92", + "04016d7448c0afe992f8c59b19d6cec64d8fc5b10026a806760bbdbbf0012063f46d31e5" + "21a34771f826669c4d1ddd58d3aa13ebc901a3742a6f231546f0704345b9b83c72d50365" + "22449cf60c1b3bdfa4c8d36e499d4ce62e6e7bb05c6132bed1ae44eed17414d2da", + "042753a515e607cf9992dd1f249820dafe53993b59b1e57d8f2f9100f609cc15713d27f5" + "dff4007e078d6da1061ddd36c169c21", + "07eeb1cc19ac45f52c0b63ff8ecf4f4f35958e86cc3e3a071a35446d490a426b48b6c287" + "027b003488573a4834a06dad48520c3", + "01410d85f3f2adf065b60a126170c43e34e0883338118cd33b0b3eafea1d142480b236ce" + "49d35fefd1ce4ad3d25e0cc9268b1d2"}, + {NID_sect409r1, NID_sha256, + "e696acdfcc96a6c088069b7595ea9516a36d8fe04dedeb789fbd965db0cc64b7017a8210" + "15f6210b6989e515def5a9605fec0d337e4ac59f3101a505168bf72ab6d98ec62a71d2f9" + "4071fc05b95e98d4efc59fedc138e3e49c5d0b44d1f48f7b1e7c1944ee189b242950d2bc" + "804d31c7eeb45283c84638f043ab9533976433a4", + "0b05e5f0dad9583ea18fb8fc4d8c75fd2e3cf9e92cdd9b737485c953620d345006c31c28" + "8b380258b6500b84f729ce6730e5303", + "040157c083ad9789966905c212dcfd7c049a8ba3863fd4886e4b118b3f06445fb0d4745c" + "2a8a1193dc68915722089d0d382253b67500867e8efb575800f834c978ee2ecf0f84f72e" + "75dbbac86926b73fab8b47f38eee17a63baa02e3edb9d4f6b2fd2afc88b6de36bb", + "0c72eb08acb1d422999ee8d51f9ddef9f897dccfafd886998edd3ddf30a638dbd0ed59d6" + "8885ce242fb838f022bccd4f3b5f854", + "01f4dddcacb088f6e24d331e8b111e390735a41e1fc29da8f5ffdbf7342f4b9056786f2a" + "67159d1e57570bd69d69235ec562416", + "0809840df1ef8fce9b2edf8f970c07bdb5fb755e9d5bacd7996275c4f890173142c39299" + "ce9eeb51d21a32acfc7761d5a2cd7ef"}, + {NID_sect409r1, NID_sha256, + "4058b9a8cc15ac148909eb97fa32aafbb6077b168dde91a411dbc973df7db056dc57ff78" + "f0abcb70f70f800bd752197d681f44df4a7817c0e7f60f8f65489ecb6167c14b525e91fd" + "2cc5d8b80ba380a83d031d5827c8b1262c687c90ef0e62723d9b565557f9f6fed0db48f3" + "799274c2cd60a14303406c35802cba6261121296", + "0be1d277813e79051ca1611c783d66003ef759b9e104f32298017fb97667b94dcee1ce80" + "7dc6b4d62416e65d4120523bf6a4edc", + "0401fed0171b5b3c6d9092a6592944680a08a0d4f99f08a3ad1c22b5bbf11c0e4ab3cdae" + "9526b0ca2b1bbd961362faccd5caeb1d3701ae7d57db848e5c86c31f542f1995c76e916d" + "ea9aba882865febca630bc6a10ceb6732bd5f07f51bf2f37ecae7b7fbbca618ae0", + "09e3585213c6d6706524e3c8e753a2eb0edced626498eacd842d44a73c602d801a079f94" + "b781ae1ac5d44209e8e3c729ed4e820", + "01098d98cf83c705515494cdef8c3f50ea8316d95b3ca5f9a1296f09021de57930184ee4" + "b9f563aebf5fd0d5abc0885cd24c0f2", + "0d9706f4474a8fb0c701505516699025fde546a21a3fe519a173a3ac01f683d40b4db264" + "2330bcdfe188693b15a476cd9339ae7"}, + {NID_sect409r1, NID_sha256, + "e793237d46e265ab84ba9929b196405faa3b0e4686e8693567e53f68e6991e5767797467" + "7682a2510c4c35b1968a90b32c4941af7813775c061c008a60f9f671cf7419c94253d610" + "6b61e65034497f2d273a5058379bd986e3d917f708f0a2bebdba150f6d78a3af9c722a24" + "30ab0f4bad602e91e18aaf258e3785fee78e4502", + "073c807bd7e07379782ab790720de4ae5106f16d34e80ed70da5b1594e660c9b775db940" + "66b93e74f855f57d88b6ecc6228aace", + "0400301526b630ac3fca5085f633deadec27af353233e6f241772c7fdbfa42e47a04b0d3" + "ae38c04eef2109390a71fa9fda652343cf0137eacd97a8449ce83f19a13a248af52e512c" + "fab3e2ce1ceb789874cb08757dd9e47ac21b5c0846498d8d7cd90122c437602d52", + "09245ba1873114ee2a3e642c5b15049a3566a2f003cb3d25250028655fba98203feef5f3" + "07a9f4c77f232976d83723f2621eaa6", + "0c8136d4b998ca0544ca1430abf55601f259aac7756c75d1371de63d1471053c789833c5" + "cc257e323a71f80e21783df4efa169a", + "0e2ecc6f0a418bee5de7c2418c4ad85d981b18048f94865821de696488ee19291912ae7d" + "a1cf5fe9708e2beb18e6cad4e3f7849"}, + {NID_sect409r1, NID_sha256, + "ffb8bc80e7619a562d8506eba7658bef0c25ace3dc1d01bdc2ef00933d4fa07b80364e5e" + "5826074edd46a707dbc3b0ab19eec7ea8990839d7fc0a80b70661204c52bcbef57c1a7bd" + "c861c10766033a82dafbead283d911a9502d5f9ef0a39d35ef26f3616212d4bafcd413ff" + "d18b424fe09b48ba02ca5d97ec996205cd49d22e", + "0a68379b2296a6c944ad5dacb593b302d8ef0b05873ce12bbc371d705f308c739d21f343" + "349524aa72f05341e64f7435daef112", + "04007fa0f698535b011833dac1ac96f3739ecf0c29f7fc1f8bd635f4f98daa70a3931061" + "1ef51b2fdc8b37eee3573dc34cd2528d3900be1a9dc30dabee3403da4f2dac6622e6fb84" + "96e72f3f17c169e7b554efd84ac655e727ae9520feaecc752601d5391270cf0cfc", + "0630547017103c3f97de48ab6b942db94b2db9ed7dab0391ea9e71c1b788c547abc90088" + "de5b3e36c9ee4280bb454c7c3710999", + "0916aac91ad329d6f330cb051941c781b9e59bfbfe45c4d4f6ce0d1aca982e1c612952bc" + "ea06784c57c121b14cc0dcca783d0c2", + "06a83d93f9bb81c61ac290906d74e2d3b964c39b4e96370f19cfb4a55a3f7901bca3deef" + "4bb79ca6a798fb9b3a9b0137c5a9324"}, + {NID_sect409r1, NID_sha256, + "946bde90a5b903dd281a51d7fa93d80f3fed07eaf50c18fe9fac5acf67326bb18effa314" + "4e25c151efc006a50a274ec6c6a5d573051c4e2d117ceb0fa125acad07a10fb6534a8e5f" + "5b3da2a1136779c51377bf76c3a4a93c0c6158f729f2293e414fcb952c9509f228c804f0" + "adc1daa327a8991d48ccf4f3957c5f8ccbe3ad4a", + "026046bbb269ddb1ec14ade56175482343a21b7c265026cef3c7d6a1ae0f6a68166b9e6c" + "49a6e733ad2ad64df7137ef230038fb", + "0400d09d8118519f9d00df7514d2ff99483473f680b750604580b61017513870a3cf1c40" + "3495cba488309e2c084079d53139a3695300d25e41038c18e4ba6f4e9d14f210b71f27b8" + "ef2c1d4cdd5f63edf8fe11d548d070177e9ddae382fed2b163ff2b58546f10a99a", + "0d6b0e5d83155a035248ccea95feb0b4d1af818e5ac6d5f41f1a255dd8b482a94de0f4e0" + "37b10339d1805dbb6b22af6ba834219", + "08059524790304a37f2a0d57bb2b93cec79a827b1fdc9ce2d7dfd4d277e0f71844d33531" + "4a30bbec5598a399e197a852b5528dd", + "0e7870e2a0ed16cf340a04fed4d2048e4e231cb8918345e1852bcd3e30413a2219864851" + "121a34fc98dd99976e2b20cf1d1bf2e"}, + {NID_sect409r1, NID_sha256, + "07f3fe1369ebfcbcacd66675bd4ab22edbbff72e68709cb57d4f590e49440f01691f490c" + "58b5117bd24aa2fe2101b59c61c417c918ea08ea34bbb9b8aa17491ae5d9329affe894f4" + "2d7586017877fae3ce35bb80c97f92a004380374ec91e151995166e14ac00505fd1fa810" + "cf02981bacbcebf5f81b2e633d3a3db6737890f4", + "0bbcda66978ea526f7bd867c3303b625f11b94dd9ee6e2c2f8688ff07f2bba83c662949d" + "47ad47fa882cb7d203a7f0ef5dbc52a", + "04004cf5bc624553e833ffbee05ab863e5def062e0d57c28e71d758d6ffd3839504d7ed9" + "d3b1a040bdce8e187ae0b4ca23aa565b0100fc1a15b4f273737eb92a56928395f6518e05" + "bf946afb65ebca3787f7f8bb3d946dfd26c4831cfd171b4c66c2237409ebf224d9", + "0a2cd205d957a20c79699e91684cd22746c476a79245f11e7cdf7e6b74f07cf2fd9eea65" + "eda97e8994aaf51942e15695545abc3", + "0aa1da120fc19523e8162e6018e4ee053eb680ebc7e31d00db34f7b177c74c5e6ea344bb" + "a3c39ab7ebcd92996a1c156180b7dc9", + "071aa4588741208344b323642fe03f1cea73865ba645169df9c84bdbf7488829b83b8da1" + "72f1927de1c8cc318ede545c748c782"}, + {NID_sect409r1, NID_sha256, + "3a1cb13438e3bac9ad4ab1d319e90e2c9f118dcf1eb54d6333c674a665d41451f93cd4a9" + "334cd057a44c010edb668254517a63700a31eb0ca474c84873e486f2f8e158a1a7735362" + "ea0cff8ef17d959ffd851b21a91412709b3c729474d2cb40f6ca0e397030eb2611b40291" + "6e4b656f0fd868247d80be3ce33d52054b7661f0", + "09be3dd3442e0330750f0a6252bf9cb317f32f942ae516a4038dea2c40ca6484fb33611b" + "ef016cc64baf166c122e87c15466fd8", + "0400f05a6fdbe6f80c0f5ef3322d8accda4b9ae28c91b6198b888be713afa5e652e907e5" + "ca9aff5fe77b6546115b4c732bbd4010fd000923d07aeb8c947688e7d3dcb16ca69440e2" + "a89539a41b8fbb797523d3b766b46d257b87472f5084992422cebdc4e45556f5e4", + "094fe051a13ea8dbc89c4cc5511881a48ef5554de265f0badf8741ae5027eef25c617bb6" + "a3f454a992fc68f5a548903809de09f", + "0162687730f0ab2f57e348476d1fa4eaf13199ee44f44dad5807bbea4e5ba79e92556f28" + "7cacbbf1fdec9a8b78f37e78e52dc1c", + "01acc734e2d0c81a56ee8c0465661c365edae56228ca43184ea1d7503da3d38e7607b159" + "0f59f5190e5c7264cd0d7a39be71069"}, + {NID_sect409r1, NID_sha256, + "e58e7b881a563d54772125b2863718690a5276c93d9e1c5feabbdb5d6f7c7293ff0f8980" + "5b53663bb417fdd46874b8e6a466e7e3ff6737930a0662af1d5879b071b0dc4d014778df" + "f26a2eca5992e763bf4c4698c382ac947215aa116515876008a56e5bf547857049c38a2d" + "3737ed3393705fd346897c3beb80caab88e5b8cf", + "0ed321fa283c662e87eaab99b7715e6cdc9b42e14fa5bbe2c56fdfb381369191a42da7e5" + "74839f90a85577485f19446fccaf6cd", + "0401bbb34e6bfb1c1335c48e8b44cddd8a46486fad4313581df216002b382db1d58adcae" + "74af0d38445cac2f6cd9e2b439d106f5950084473a5da9f910b4807ec5ff450be353a187" + "af6ace821b18e096c47752b6336dbedfc4b481e356e689fd9c03ffcdbf3e4ea39f", + "06ae69e55ac1f7b0f844f5ee0b583e652e0e5bbfa4eae85c59eea1485148e34f4d33c9dd" + "d7ac071a28ac0a6191d5ed03e88bb86", + "0c3509b6c0356e4a30a82fa7411d1fe17ed190b7eebf9310c44fd568494c894a4f4a1a09" + "e58a4d030d47227e54f7220f3f79f4d", + "0d44ccff47d9fe82627393c03f882d4b98633961a897381ce8b2cd18f38d69742802d18e" + "6c988a23eb425b294f2c1b84cf42cd1"}, + {NID_sect409r1, NID_sha256, + "8889ea1da1cbed98963941f6ac24f47253ff6af52de920765214f2024aeb04f7ad469368" + "30a8eb04d95aba64ed7cda6ef242f454b67bc2de38a46b6524bd5c96739c4b580e89829a" + "61a8249ec8dc27a50f43b8554cfb6f4fa4ca6875983d4b60a1c6b49f32ddff6fac0cafb6" + "4d55c6f594b195c207a9bd920dcf20e0080920bf", + "0396b805073f3c3b552b1024dcf35559ac44f255b688871a3c6657f727a4b09f3806cbb7" + "5d26a00ae1728be632387e804775a8c", + "04009957f897a17241eec5b8415ed7ec1bde5df11583255e0a8136d076d72ef377ab3f55" + "3d6f56c054332a24098aed6d12878abbd301f58eee295765e8a55e388e235e833bc5cdc5" + "d51a1d98e13429bcb7891b25487b7fd8ed804b1856cb6071cc28756bf00924bf1e", + "021959970a6ad070d1ac518493e309289f3d9d6e2a8933bca715f53cee4ab9000ba2d014" + "7282495e15e63f258dca87a5db7eaca", + "0d1ca34413341c115f780e647519547602e0361ed4d70402f42d735353696eac6e4024ed" + "2eacf9577252d40c27297e9389d1f7e", + "08cd5bd43794b32d5bd2ccf7ae4deafffa0e0deb92b1eef9d3ef807d456e459f92e9f106" + "27b7e7574ebe3c2faa858bd3e62e187"}, + {NID_sect409r1, NID_sha384, + "55053af9370901e38622734a5bc5589f6a20e258627f381fb0c366f3dbe58394e5997e97" + "8eb7ebbc530f6e6186f48294149b8594fb551c31c50521a8c4d67e5862921695604afb23" + "977b6a69b21abe75966fdd11bfbdb6b51ab0a474c5fa07c4de7872a3bd81acc417655090" + "558dfcd5af449b3347e61fa9e839bb9457de64c1", + "0a8fe323f6736bcabe971c7d964e75dece70cb54561da48a11c40027ebddb23e41c7b486" + "00f569500fe8ea2abebdf480171dde4", + "040020f2dfee967949643b6cb8a3810524044a4b873a4984e9795e4dd7976536a2d748b8" + "cc636ef5c8fc92aba5677c4a0951a3332700956ec5433d73162c9683558f0dfe8870cfe6" + "6575f2c34c765372c7c3bc3b291e95c4e3665e4ec5e72131975f0b1f5f30b0c844", + "013f26e13d43ba05e01f92457374fe2ad1ccf94ebf22334447f9360f7f9748bf3665ec30" + "58ff6184fbfdbf7de9e1e2131cd3991", + "013c4c290cf89789bd6dc523deffa20c94e92e88a76eebe88457e30cddb066c7a43aadeb" + "0493b264cdae67532db7dadf879d991", + "043bb7a8db3d79938beedcd6ce02f375e26ce807a2afd4fc446f372fb09a69fb34734df5" + "dc8f6393f86577a8d29014494379624"}, + {NID_sect409r1, NID_sha384, + "c4264330534a6c2bbd8a3b757e0912558302ce302f835ad8c5474993832fd30036fdef40" + "b10ee37293e871db5b0b149654f9e543e22111f9709ef45732125f713c031ccfbc9a2f3a" + "ba160c241d27be4dab87ab2fa9a795752ab2daf20f9d06a98d90d01c07133adfe83cb11d" + "5176525e1bba6a9ba70ea48b224d46ddd8103f65", + "0105938ba9f25034da3e032dee121bdb192ac2128b50a2ed4bca042e96cfaf4660c9d35f" + "3e67bafd4c99f9447e6dc408e0c4471", + "0400f1a9243920d7cc26741eb828bb55e34c140b0e52837792ed6274a9aa6b5534cdc5c5" + "96a1141a746dee380c0d9c2f77094c36ef01393ed8c609751550ffd077347712f3b27a86" + "9cfb1b532c5b19c381365ae5dc8fbffcb2182777a17690616d71c66524017d861b", + "0fc52aa8c590aa28c5353568c9dc69734adfae840f1e0642b57863dc7f4faa37bf3ca789" + "a3d7afb32c57f66a61780e253f50af4", + "0c45b1629bbf3273c0e785a28cb8187ef387502ac4438a3372a5c72206a15d7c5ecf9203" + "ecfd7e0ac910b6ceee3be50c6664f81", + "0a0c2d31a47ad5f9dc2d42dc36714cdce47666f6e2f05ce0e7136f166647540d1e5fbdc7" + "c9fa0def8962f44f2f8bc9addc10057"}, + {NID_sect409r1, NID_sha384, + "3236f1ad164e1b25d828f5202e3513c80c72a577aa9af56f041fd96cf5a3363f4b827723" + "b1511a2f16360e32eac90ac55f4ee1146791420ef9e2af333c17d157b00e43992ef6f2be" + "2d2f211361e468413dd93fb69232f0a0d110bc5fff361c0410344aa0636bf809062c73a7" + "ac7c142063912b6ad7e1626fd2a384f35faffaad", + "0ce11677ca818537dbaeb880fc967dc8bead203a2538a55e756679c4a9e7975b9b3e6aba" + "4e6c6eab4152d0c0939027e9b0bd92a", + "040023c78eda396efa28c92b120c4ca1e19dc6c467234f9f73701d8966bd0826c20122af" + "5f7c9ad5a5b855b6dc517c22131fb0b5af01ea47619f91ed4a010dd49ece7ec78c5e9829" + "7220b4c239ff4a8c29aaec008011acbf7e4f985c02311ca703bf4ce4ba43412ecd", + "0dae763fced0e498e3efa1c6c412a25774c9bd6cd4bce25ab0a7266705cdd54040ec55bd" + "7e6708e71b09ffe9c19af9a1ed9c878", + "0a70694fe5da7646184b23b4b434bca1b754257b8e7fa9994dce4a7a92b7ec8c7f8cc69f" + "18d17915c6bbca24f6621f9563f7c35", + "009e6ba97ac2be8537afe7f8f8b9cde8841323b5cc63cf2ed46a7913096ff8d96040296a" + "1bf9aad691b60e1f18233964a421fe1"}, + {NID_sect409r1, NID_sha384, + "6c400ed098d8369dab6fde3553afbbd4d47836d0d12dd16015f15cb8d067a39391c85ca4" + "e78c62b8b72c1592349ff8dc52db8ccb7fd80c085fae456dba6f4a2378e184dd59238c92" + "cf04e40d43a66b342d2a1325a0bab12b1ac857f0564c27b35e6abed02ff5bbbdc3770ddb" + "b2ee0513df48bcba925da6d61583076cd3129603", + "05a239ae0f40d76d8d3589f1662b5ca12176a4b2784faa8339b54e96a1e1294433a4d83b" + "f904196f939bd8b33bdb4be340ec703", + "04009d03b7985647027a17c06b30ce9fa1b43d0484195f584fc347f7003802613b524cb5" + "641db3425ab4b3839e12c012853ea8384300818f5e270baf5a771627b098a6f9ad8a8262" + "e331c299fa0722a0df6ca09bdb9c92d22d72a73567cd5497d06639aa47349df207", + "0c22251c73998a3a49b3fc65acf01438941a8885d1c5072a5d41d779af70c044153fed40" + "80151b524af402a4e8ede4448b717d4", + "02d3a7ebe5de23e0e601c6e41616bf2a9a7fb6193fef8e3f0a7fb8128a925f7bec383366" + "9d1a304652b7bb1af5186b2f612da1e", + "0b7bb17155068a8d9b3412d04d407556ee133e1a704ec5da87ed19dfde60517501af345e" + "2e744d35d844f8ac8ad08b13b17c498"}, + {NID_sect409r1, NID_sha384, + "039a149eaef2de30b0ae457b376ce6fbf88afd4cfdec02d3c5e00400d3b0484c1cd6ba74" + "db5de65d6f2fe39871349b30fdf1ef29bcbb9e182eb3ec5629d07d98354a5dfa82d7f0db" + "3dd10d1510c0dce086848a198893ca5ad24a663494f0596b4eee86199ea85e7e8f2f76e7" + "a6bd4a052c54287f61b391f1e52f96b606151c34", + "0077390c62ac41aca995640fde0c79c76f4ea8a8dbb22323ed812bee837ab8798c5d0ba9" + "76c7aa634d4b1c2c155de2709e7352c", + "0401a9357770270c528f2af991c447bed86194d458f693a871ca38f271a9e6a566f5b9ba" + "3ef3d2f9bde959e42934c95867b280e9d1001f3a0516fed36d3622fae3f44d87c4bc67ce" + "e0a995cea242e530451d43781f2ebd163f6f521497fd7a1a6c7b93d33b77083a5c", + "02555cc113c8516d741b47ca41f53ed07d509845f140dfe7dffbd01a3f751ea9f22e12c9" + "39a2ecb1827c0e56b1b1c5459b66aa2", + "0e88333875a507520d0b62b35146e37e7ce4e2f2478a61adfcbc6e1aa9fd0195a4960c63" + "3d9d6aa9a79323b7ee00ab802768436", + "094595255e8862d14980893c095608113737f42b05b561771f56ac1d54eb521bcefeb392" + "8917c07c1bae74cb9aa80dbd34962d0"}, + {NID_sect409r1, NID_sha384, + "08617d04fffd6644c40f7dd57919f7dcf3c888f4147535d12ca658302305bb8e220bb17c" + "cdc480254004b9035b357120580882ef86aa5a061b2850100285b7d61588a664dd4f5394" + "f5478e68a80f610c9204d056009c1c9e902161eda33ef61aa902e96b6f094a9f05313569" + "2182943d38b9763055a38739a2a2d133c5dbee89", + "08bf23b09fbbed1b55769907aafb97f4759cec98649b2c9da5157517d4f85bb70157076b" + "5e4aaa7a940af042302f8be06a84ab6", + "0400883c31c474333f74ab2b86f3eac865c4b2b54975ce19c5cfd23682d041ef3deaa43c" + "9f9e2c194ccd3add6677de31fc9e07dfad00a5a36b54f4eea6b300491ca22054280b3f09" + "b202b2a6b55df9e3271c763b6d8360a330c16f936d69fa463bc0c4071707c9cf95", + "0812c83aa9dc4139f8c3f7c55509f9e10e6cceed30e16afc028b1904b4d260ed0e77acc2" + "6e711a7a8e24c75fd780ed893c0bbca", + "0fce07c6f791a05de29609b59d55b7062e82fb554341b2b2a8187baecb9c95b01ca5dbf8" + "ac88c60babe10af2edf5985b35e10db", + "02bd026a3e45ac439647a483261107829411c1b4a9ab603c080b92f605cf742754b65498" + "1460cf7aa72b5186b59d224dd015314"}, + {NID_sect409r1, NID_sha384, + "34c959f549a307f21b850ae105f41299b8bc94fc292aefc61aefbe0a1bf57576ba8d9b80" + "caac635e4edeb22530163fa9629665fcd43959f68eee32482f1845a78ed7278e6e43d09e" + "d6fedf465001afc0d61f1d2e1d747623e82a762576b879c7024e34f43104593cdd691d53" + "bccaeb8f212dc29bec6bc94cf69d0a8491db124a", + "0082ad05d19b8e16f80e53a4cccf6869ab5128c5e622ed146fa8555985ccd2aa3b9957dd" + "374586115d4d75b1c01cf98ecfc3646", + "04004428d05366b0a46e6578fc7528d185a3f85da06c4179e9c9055dc0a7fb4afbc53c94" + "954f268e36d2ba8731882bdd27d9684c810136ba6048ec672601987e9b7402fea24f88c1" + "a94717ed5a83794add0f31680592d6cafdec147dfbc400e73a6ba1d23d4cb0d707", + "0c00c897edea7bbfe1913e3da303d64d0d657a83c1eac9c111722b17c65391f2cf67b782" + "19e748ceb269d6c65f01e92e6952979", + "0624c5bcfd8e0ef22ee6b34a8b26bc051912cabac102cbf56c364a743e8150195fc55a3f" + "ec90a8fabed5eacc1799b565745bfd1", + "0cddd4937da8176ddf0de7f52a4babb1f6fccf861533f796a487f35d060ad9ed4435e5a6" + "7166782b53c20bc06fd1b36c265c1b0"}, + {NID_sect409r1, NID_sha384, + "514f4de08a6f49edbb6797c9dad6d33bfa367cc1a1b58a5becfe646c7f3352d5c5d95f74" + "56e7112c4ddc746b9076b9756ae3916c07bbe6d3823895774a42d25d44b3309d18bfe7e3" + "ccb1f85dacfec1654778c19e2981a853c1f40a7eafd16d331093110698c957fe9f1d8658" + "2706a6885543248b944bb70cdf9d2ea89190cb02", + "0af7e581aa4f9be5815f0c447e39de00da9194eee5e5f609668b9b69930b5b48a948614c" + "2250260d1917f0ebcb00ebda4bb52f8", + "040044703e0b49437315a64e397085ea2ba3f2e2c383b168f31a922e5916d590344906bd" + "2a911074b7481aae7f3f8f4807b110f2e1005a13607a3bb89a2a88e27d5eb5cac4eb498d" + "34e6ea861c80271ed0c73e1fa893adce0c1982b8a8af6a0249796e5276d369c3f7", + "08e7fcadc844456f14ce9354b218d519d86c0c5211d62904c937d6fbe8cb16264d7d41d9" + "8a15e9f73a636ac3739770738d6b46d", + "07aebfd1681bd5a2f995ad4a709e8681da742649c0530684fac251494263e98d67247e1e" + "4fc174b409e7e24a7b055500920cc82", + "07b83b9b5133aec165316021472307b8b481e6381754a9d0b4f9d683c2ee7cac94ed4d8a" + "72cef61fa1f6349b6c4a54ec38975cf"}, + {NID_sect409r1, NID_sha384, + "4e5d16cb1dcaa1abab1e371e1de02f31ef4e0944dfe1fdec45ab64326435b2af9aaf1a6e" + "d8fdf1a6ab1182bb53a844c7cfd66da30aec0d41757f5988ada0017c4ca752597a9fd363" + "7668bc1a92bb1556553f28d66805bb47f1ef91908ce098d452872da9800e77e1fbd43ffb" + "0ed6fe6a62185d4be73ae96c9241b82cefb2da22", + "06d14107b08354e6a41d7d7d50c004419db8bdc50db43428df5e86084551237223c498bc" + "e71a17e25695bc438c5c09e009c60e2", + "040088c1517355cd417a698b648508fd07a457ac13a49d1bad17dbfbc9735ee58343316e" + "3eca570bca130c753e17a69fe5bd7baff301397a697d2113d94daefe6be491ed3edce944" + "9c707a57af3a164d172cafece564d686fe0d25725c2919c60889af4d0354b05117", + "0f3bb2dd9eece25c56159f501af8b619a8c279d7ecbc08ee2af6b82ead80375e9c07227b" + "73a10918d8c89d1a2b12cb76427a7b4", + "0407b224d8d9c0f11a8e09ac8d654dc6e1119e2c2804510a84ec61f9017899f9613e37d8" + "166e0fcaae16c3cc11e9f739968c687", + "08c2bd7d02c4c537a308fa40db786ec64fbc2dd4c142b18cf9bcad66199afd4f44cbf221" + "adb3837e84173d174e9c0d534720ad3"}, + {NID_sect409r1, NID_sha384, + "e29e75269754ec1194270f5c9e8267dfdd8c696008b5ebc92bb840981fd065672f07f6a0" + "f1b19841adfc51b478371e1a0db9c3346a9f0a4ccbdecb7040191a00ddfd0a8faa0e69fc" + "f544319c0155d02797eeef99fabbc55078f9d852927c23fd931685424249b87ed0c70a4a" + "3e2d3b9a2f92830e7d8f7650c0bffa8f8986b7d5", + "099d96d2dc9c79549f031bd5346cf6a8544c312a3fbfc560dc8e378efdfe025b0e6e61e0" + "9c04c8bf4133396f993b0906c33dd30", + "0400883e00d72c60f22ab085a90901ba3e8a510f19c3d62dcb3ee5066e0be094cceb30bf" + "bed7068d0bfdf634a53e2fd002dc9e454d0194baa5d7ae2399965fc4009ea83273676e66" + "a56fd35a5939c26ccaf85633adf78b33dbed6da305979077418c625354c7fb6283", + "0c213540a452c4f2ef275dd844402dd5ea590f7df41ad35523edff09b7fbb096f8ae8a4b" + "aee95428fee03a9e6f6a14ceb90e289", + "071779b477245007ba1ef5f05446c4a08d1c2eab550db9c053e4588c9935f07ba87764f0" + "fce14d4a7b982ebba89cb056aad8cec", + "08174bb56cc85ebe7bca1de1f44cf93cf478d7fe59001c5947c66b837bd3a6d116f99dc4" + "f9acb4f378b0321228518e1ba0057e2"}, + {NID_sect409r1, NID_sha384, + "1a538eb447c18494ad5a5ad27be67fa60eb2c5cb2404eec1dbd7244cd802b17ca5497e77" + "9d5f779b981b165dab53ad19fd7bf2ea7dbb9b4baea782a43d758202f147e59d6b6b8ed5" + "4f4ea084bc18519943f6894d603e253ba3e8e339a6933bc3a0a47126087038e1c813c3f2" + "997aae321b7c95a802b4b73fc7db95897b7c91e3", + "049f347dfd361a65910e97fcefbf60013a54837f2ae657d65e02397f59dc6bca27704fed" + "3affdc3d833fdc621cc5e5f99b92a63", + "04017942b58d42da750a366d7e4cf4cf465c856cd911e5352b50bc8a12704c1ac6ad54f9" + "465e4fc5402b373d8bd4e4f8519341f133010abcea49c66730ddad7734eb1311b2626b75" + "ebbb299a28c9d60937e6833a9b3dda052379fbcf7875f18680924274fa1764158c", + "0134c70f031648bf470ccca4ec19c837051bf700c851df564ef3ceb99d7d41439293bcea" + "0c656c0e5361db92a03def51d7e4f26", + "06c0f9935abc5034a8b0a05e8d04de699b5916cb367e834f13642f0003510bfb68714be7" + "5c9e35b5e593eba45fe151d1df56d40", + "0930baf426b33eb4afbed64869a22712591db11acee7c4d3a221a1e98048f05900fe1481" + "6006854cb90631de5797f91176fdcd7"}, + {NID_sect409r1, NID_sha384, + "7502c755bbd385079a4001b8cd653287dc3054f3b57de19d0ff8f63c0308c64c56f03511" + "7a8971d43654f89b52e923947e4760ac72be073136da70c5ad7ca1658cc0a2d2a880d3a0" + "c0fe636fdb27b77ff260c4c1ef8a18da8e9fd777d732a37ae9906e6c4f381f0a3d941048" + "d5a1f6f2cb8593873fa4bb1621a44bc2bebfbcd1", + "0dd226de602af4e9f8e25784bd1bbd4cadb0a8aef525d5e2d57b9f3555feb698765672c5" + "099a7d6dd5faaded69d8d68b4804f26", + "04007ee34cc7a24e2e693f9409f52796427ed86fa71bf88c923db305ebd5a83bf3b6f761" + "2847f16d00f4a25614299a2df92bb693c301f63f177b54f8dd5c907ff318b66c2bfc1cee" + "09348c035a4413fa3cf5acde0db1c8af4fb8deaaf8a3a6f8f06b0acfd20c6f0049", + "0e19c21b05c82dd8c873e5f30c1e3aa9348327f959a4dbd9c741e233c649a426cf7bd9d8" + "e93232e496d0b93ce835f80fbcfdb2d", + "042a3907a480329a6169b439a6945cdbe8e4572779c43fa6cd1f15062559dae9eda27124" + "02ccbdf03d88a8a68b691f1f16f8f52", + "0d09fa4966d171a662a9ba6827fda830b5404f96f635edd8482ee009ec5c7b64a2a6c177" + "93993610ae8297efa9fe4c35ceb5001"}, + {NID_sect409r1, NID_sha384, + "95eca932d03f1df2e8bc90a27b9a1846963437cdafc49116ccf52e71e5a434cdb0aad5ec" + "cb2b692ca76e94f43a9f11fa2bdf94fe74af5c40e6bfd067a719523eea6b4e65730365ee" + "498ac84c46e1588b9b954f1c218920cbf71b167fc977ee2a89429590f43bf637eecd91b0" + "ce3be2d66bac5847205f76c06b914a970f543e59", + "0b6fdbc9c8c76cb2b822a940d8675889ca6f5132429da795462381ce29313a23bc132976" + "fbeb346ed4c691e651028f873ce7971", + "040147647d267afb4bdadf54baa3f5131e79dae8103f5b2ddf70e4652f9fc5495123be97" + "215b811554241c53023a247936053288bd015205cd5bf0c5154b2dad8367e1b487689b89" + "8acbbf44f9ed67a37babbec739804dfe737b324ad663cd2cad79274344397099e7", + "07321d12d616dd2ee5f843d6ed7e92d18968b3a76c0e4ccc167790afabad1b7c0dd53d82" + "aacac93d98679b203bad88d5ef0cd75", + "0672c5607acc646c67456ee77f2c02117cabd241f728ace5117626bdf91662323e756543" + "8f46a3e25c048a8e2130e27fa1fa2d3", + "064aaebf9f2fcbc843ae1128eb6c7e7d1fce2b9901dae0f60afbcb08c7f2ea1b550e1599" + "47deb87dd8959921846e2923880db6c"}, + {NID_sect409r1, NID_sha384, + "8ff68cb00d03e730dddb05fe0b2344689529096c3da6eeecaf097f22c7fa340593106b1f" + "6726f06b7ce7358edbcf801ead959438a42f94cdb467b3cd5b17fbbcf75739805f9eadc8" + "69c33c604cc58f81591b0b8bf4d42bd53a801f0f829a31af6c129fb4f20f1250f959754e" + "ff8c629b85a716b6a18465b6495798c0c5166c8c", + "0203d77fac64591eb9a18de20a9d5eacaa1c3ec58a5ecdb3008c2d642e197141d16b3a9f" + "dffe61429264f5b420f5e9926659a4c", + "04000f66ca09d15d0991b48ce7afde9a148565b73807e435ae0f16c14cd439454745f8ae" + "153786d7c40cce3f43a8aa4f0564cdcbc3000f4c919b7a97beba2559a8ad0f85dee40e8d" + "f28e23732d7de655262209a5170f94791e255e77e8c8cd64c8c9900092e0ff9d5c", + "0859bc752300d4ba5014e302aa4cd2a979b3097dcfde5c59f4bafc5bc8a99411174d2ef3" + "f7377df5a09269e3d9461be61801942", + "0691ea76acbd5e8137924bee13326ceac8231688af8595718e210bb857d6619c152e1fb4" + "6e03fa83bd6b5d81e2463f9260407eb", + "054df52eb86c679d8f8514a09f5a3062d2424cdc19fbf6927f744aaa8c444223f1c28ddc" + "84b1d135a886eb7ac7eab3c7b0a42e7"}, + {NID_sect409r1, NID_sha384, + "01451c4f09720cd53377a5ed04c907a735477378ed960235a833049d6bad6e6e89958b4c" + "4249bf0f6d4f043530c9e5426deb0ec3a12b7feb4860757b41bf602ca95655155356ec35" + "a2db8e2657998f56529be4b714364f83a140846308a2973907ed7b08e935173ebbce5e29" + "afe1444cd51c92824ede960056439555e7e74450", + "057a2e6a59d4871c3d547690237dd9846d6d5dc4ec0678aafc9c8669af8a641eed67bfea" + "4b05fd6b3b5357ec4d0caf352691ea4", + "0400351aaee4207bdac826ba17e3b08dd7f94c0c8ba0d9829d7bf0eeee7e6375458b5457" + "bd787f0ff38564734b3a0412bbddd7c37100e09c4dfbc33d61d69b5a8517baf5e4e16149" + "20cbdd89bb05f0420be757253fb92308dfe1de8db822f57b67b393d8a70d989b26", + "0fbe560003dc220e4c966b21c874b828874a33a93bb69c49909376df67e5df1652fd91a1" + "d73c7733f26c121e7a3b2d1246c9a61", + "08b85cf3a14fdfc69cd42750baf362286940994479f6ed7ce1d87af12c5ae075b311754f" + "1d37d8ed10bea092bd3d9f7afd2f1e2", + "02360bc1f7a98cc87ee2a4feadb98554cce59aa0fbfc087747c7253e54c38815cf91c851" + "7f5692f95bc7c3a713fb6ac43a34f7d"}, + {NID_sect409r1, NID_sha512, + "ccd494ca005ad706db03a3df6d5c6e876ef859ec77a54de11fe20d104377df1900b6b192" + "126c598944d19a2364b2ae87ad7fd32265d59e1f22be5833f20767793677b628f18e9619" + "f8ca32f3af3b41c31e87a98d1527e5e781bff33c1a8be3a82ea503e76afec5768d7f7dd1" + "f17dc98a9e7f92fd8c96fca0db518bd143d82e6d", + "00a3da7a6633608fcee9ce4253bbcec08d41ee6b00178ceb017de74e24d48fd89107c9f2" + "db3556063abe3cb011938f4b4871795", + "0400a6123b122d7d0d766897b15ba6b18b3a975d3d8058c9d359c6c6594cc0dc07d9ef60" + "33224b4aed63d319cc2747c0660e38897b01ab5fad5e78f380aeffca8d15e60731720184" + "ed456800967b2ca47d482957d38409ca07ea798bd892b529774e44080eb8510e6a", + "0da042642b3117f30ea5f4b354047b164bd128696b8c00cc6fcc767246daf7483284e411" + "009e05218246830940178cb4ebabf1b", + "0e4ce613e6976e9e1c30c0c93214a0a37f0632de85eaa25464b69a251d592560b2039fc5" + "9b15ed7045c29c268693d7c9e06d8ce", + "0ff3ad5ca70aac94facd842fecdf6a28afbceab80b549507954b7dea6da06d1facd11e0a" + "88e9c2a549e6971a08d1af75aba8363"}, + {NID_sect409r1, NID_sha512, + "5719e50d939a8d74efb444eb5a77cda48cbb59e7f976cdb2ea2848bfc558718b39ce27b8" + "93c229db94bf77992222d1746f8f52f858f85124a28193ae0da039c53d484681785f3367" + "f6516fbb8a86560aea9e3428551facc98cdb1e9df8e2f37db823a7abc589f667b5c93c4c" + "47061400220a2014197d514217fc252cef5a2433", + "0384723c8b4a316b450d1fce0b2645912b8acaeb3cad50860cca43bdc0206ed5b3b60ebd" + "c29b3eda305d0d60eeaec261edc24d5", + "0400fb89d87ca4282ccd048606e4d321e7ca73244b4d0c9d3df87d54e038a14939138bff" + "33c81a9ddd64abdfd698bf103e45c96f97004ff7e1706688a53a5544f4ed0f3f5e1f0fbd" + "6f21174166d25a690f260766646cc6fb39020de9327199225e44f3d95c5984fda9", + "03a9f5f26eac81dc8ca0a17acc44322d43bfd18edcbafe24113f5e5fad0ef0a3db75ad1b" + "2422c7321593e41e76eb2a767a14268", + "0c311000c27539247059e4a8d789ed4db93fbaea021272a90045bf6fdd70f4f32cd1e195" + "b99ee6f03f4fb57c3a115ffeb459af1", + "00db8bb46fe0f99b4e6e1394a5db283e310b24d6006319986dd2c4cc169c775c89d4ad98" + "d0fdbc3c0bef6b7fb6b43ef21049bd8"}, + {NID_sect409r1, NID_sha512, + "c84e5702a339259a61b5ba8ec1957f23ffc4f1eeef3a58f383d3731bbaabfcf49ce2ebb5" + "97960ac5115a2af1c62b193d4ab6c24433d5f168a1752e40145f19aeb6dee889a53a4fad" + "d13eef60e28fcc7ed6a9b8b0ca286c1b3d66a4b2c327a629d15c148049e3a0ccdccf05cf" + "22c31956014595e417060627c8125bd7c00f8850", + "0bd3136647572fef3de51b12e64b36460bd3a27dc660c164fc705417339cab21f9e1f9be" + "0f3da926df459c5ba58b701d306e67a", + "0400f45e18834d1933a2a26e95467b6db85d8c3da372e607907798745cd9847bb8f8b51f" + "996c7293b51550144f227933ba26722685005d8b108eb3591b164745d116c80afdd48701" + "87061c75af9b0c3e87dc8262586af14f4d6b1504d274c07c8e89247196d8ce8166", + "047a494645b99a3469369b72cc918708ebf453957b49ac4e209f2edd7a4861d014543754" + "e37e1d1a0f477951a0ac2b5826a470a", + "09de9e0147e1a268f80836d7db43779ce12e7947caa851d109273ba7e7dc7fc52c601f5b" + "f69cffd5adf0695cd7db8de2a64781f", + "0561aa76e1e9f2c1d4aaf6e2da143f67166f09199e1705b631d650528e94d643768cd611" + "467284a9f543e50520e3e738e5d56b9"}, + {NID_sect409r1, NID_sha512, + "c90bf11d04a708e64b6f94d4cca64b92463eae878c377b188c82c1c5f05a038be20eca2e" + "18034d46f00d9a6fc73c4084981748ee9d2915d87aee4e2321f4f9e11c176f01281913e3" + "24700d9cb474b7134fcc408fb4a7006acd9e63d4578ed4c2729d8e0d01b1e6174a43a024" + "ad261eb644ae98979c3cdab75af357f6dbdf5db1", + "0495be0b0a9d357f6155fac008cec90442200bb842d89292fde38b7256e4117284a60249" + "b3101b3f19f778b680c0d1d7422b84a", + "04011119cd910d4e962f54c9776c9180e7eac2f71cb9748ace4b7dfd2d2b3caef4964c7a" + "55caa9763e008de600b727068eda9b98650000b48246cfb7c86e9dff4ba77a3a53dbb1ce" + "fa168026b8929c42c3b0251fee5746897916e50f07dfe8b57baab7964447a2fea9", + "0ad4ab5ecb84118c33a4b06d1a9f5d2c4f1f3dd1cf71af596eea771f851d0371d2d72593" + "c926d7b69b39cdf72931f6bb11d10cb", + "0e959201622673d81ca16ed94e9e5be3f38bb8db48f9c09a585aa31ff39f14128d79d604" + "a5f93c80aa961c85bbf99e276937f4d", + "083099697856c780936ac01aea5e3a4d9b6e183639cd200464a5cc05232df30ff5220dce" + "4e2af714c580d561b72dc4969166a6a"}, + {NID_sect409r1, NID_sha512, + "e9b2a33906a1079280100039787377c2971c378b92e70a38ab41dc23979d6fb0c41e53a2" + "1b37632407adac6f212341cf6af8605b4978c85c9c16960e1674247f1795cd73b99ff28c" + "dca024f5078490513c77114c2f52288f5376872c331151d7b2c08f7794f2c1f9e0d849d3" + "2d73636f0aa899988ca561a76f74543b37cbf3a3", + "079626354dfc4eeeb51fcf232ee9e6b0130c9bd40f15ed45606bb7faeca8f359e0c3e18b" + "f12769254522fd4077eb24bd5454871", + "04007ad047bb38bde6ae2593e1e41c36b7efbce1e0ad08def9b23d25b7ea9aa336eaf102" + "17df16d32ada4af03dc193d44e6c77e67700d2b9466ecf321605b9f4f952812410800720" + "3ac32cfdc7cb87e1790ebf4bae497fb87011e0a81068e66a840d29583bb970e24c", + "0074548d1a3df580e45babda6096f4c78cd70945ff190d9da463fbb03a511c45d45dd1c4" + "6dc0b9521579fb506bf015f8b835680", + "09e04e9ffc2cafdefb600cf61e803eb78cb416304210165fa7c93c1bfefb02cd4a255512" + "622d524141de02c2cbd193991dcef67", + "01a7960232455f27768acd825b8ef91d4efacc38684d05a900a8512682ce19787033cd08" + "c1f2412b481b88ad02dacc0ddaa0ec2"}, + {NID_sect409r1, NID_sha512, + "672db3fb8cc8e5f831be700498d3ab3aef14b7548e8011b21351215fb6dfa09460d18f52" + "c02c8815baf396d856a429bb9afd602a10c213af34db80447f4c06ab4bd28873c88eb963" + "9b199042d4b2cb13cc364f734fd4ab7bebede7dd4da63decc0cc1f84e34d760013f66d71" + "641073f16c08078880b67230f2d6c6bfe17d206b", + "0ab42bc7d0e3c23f8bcf928e25f9f027b56f270398a1d37bea0ee5426b944a9c9ba6d0d7" + "796899543feedb470f70b2ab148234f", + "0401415fe81100f208ec8afd5e882e5773a0c1d46e44627732900c7e1722cd77b3ae2443" + "8a8463bf571fd6bb422d7c583439c07cff019c3ef3688ed397640e873dcb20cee9755437" + "d0023646d05612e8c360717a2e80e80f2b85860d71f9876f3a68548da7099f601d", + "08b44ec25214602de46046b2c94a45f64e9d0903f6148dfedb76a80b8e6314e87bf7dce8" + "e73b14bb274a88fa39136a00537779b", + "00ec4c5bc88a959a1234413026700bf5d4287a0263fe75daa16693bf74cb5071a64eb187" + "78da0a31210347aaa33130602f6b597", + "0b6c29b9177e89880f3eee3aff204b866020b3bf77d7c31204af383d9770804660711a85" + "79a3f1ffe325f225fc7e7894ecc601f"}, + {NID_sect409r1, NID_sha512, + "d7fd06b89226cfd66671ce5b4b656228c52d986afa7f6f30161680eb0c9cca177992a8a8" + "c40167a64165c518c55f678702125709361b536bd928567c97737bd750d0e2e6e0c00296" + "a6ca565f7c05cc8c54ae7a4e0c334c6a968fc18a959c18ebbd924457701316a4e999fb11" + "084520dac68dc2d69187134c40891af0355ba89b", + "07f7aa2216164ba689459ee5d5ca29e70ef75a5b2a4416ab588df1dcb9164330c0b405a9" + "d80c3acc41c19f58e24e17ecbc0fa7b", + "0401decae837c7258ea9d90314ac87c57aa6d49828787054cc068edc1955245271acae72" + "dce5c9cba422bee54f22e11810721c1ed50024cdc9e1b27e5d4bd024654df000bc9a0181" + "f7c0f4a90572c75e16b679f4362446993f9920e2244527801e8f6b1e9398bd8382", + "0463202dff25e6b9c633b60a3edcffc1a22031cff44dc1b0a5769214693ba02038fe5dcf" + "b4a48db7ec49b33068061616daf2fa9", + "08c06b72b73dc2655645892447fc0c0f8055838b194e8fad99fc6bd50774e1ed08313eba" + "4141018af33af95a3faa20b69bcc0bb", + "0958f104326df6008135bfbaf5c2980cba2833af1b4f04b5918bb51ab0a0df637d6a4af9" + "02a5e07db3022c134c72315f25972c2"}, + {NID_sect409r1, NID_sha512, + "83b7e9d3ec638fef51d2885fff5490c94e2509c126608f82660e5fc523032f3e85d69d9b" + "76af145f6bd916dda35775abbb6d1902bf38880f8b9259822055c5b1bc726c51029972cf" + "7474cf2a812f3251aa71813476bff55598d079f075a40c6c41498bd865ce960c518bef75" + "a873b9d010965f342dc4b35ef5c5972efe6fdd18", + "021d84f070c6823a70f1a74225a472118c93ce9dc509aa6064051ca4574939dcfa96be86" + "2069424bdf1a23f62f2868326422e64", + "0400f568f018b0dc4400bca3e9e4b0e5bd5245f15dc7acbcf4360b0be2ea5abbb87a3cd7" + "6aa653d32858438051cbefbcc4feee6f6b01fdf1e1bd7a2d3825df14f8bf8d5de8250956" + "63c3014f2eeedb9bed3c3416d56f805b623f40b847090d6b4b3bd5abc98ea55e48", + "03344dc1cd950a9c3d039b6fb6af8c5745395d2a3343d86dc6670580e331d59f6c003436" + "7a6df52423a625d70292893961ceddc", + "0fb010ba41d651fcc854762fa1437262eadfcabb95b9502a40b50f20cb34fa19ec570dad" + "2e0521809ecdb2bff3f4e7055c02bec", + "05a9c2dc0c1f946ce33f2f434c156c236b09098365a7f31e238b4685e7cd8c86a0b2455e" + "5c83907167c1324bbb37e66e0b2768d"}, + {NID_sect409r1, NID_sha512, + "c62c7bcc860f0e175128e1127dacf935ce62ae794cc4a0ce7966bceb023ac0498641d728" + "1fbc86f9ef470bbc77f608f83f8d0dd6299cf08f2cdacc7a9642e4246df131820220e5c0" + "5d0dbfceda7f16b86add4793e9b6244d96b5c07cfa23574ceb43e8e8b5483192a92b301a" + "a3b37702b8f94f0129d8af1617896b34990c9b02", + "0b6645344d17528968c719091b6e2072388881dc10bdb4c7fbf41906cadf3699b30f9c1d" + "bfb4796d009480664e6276c0359e5db", + "0400b164b075b80fc8b8ec785d5c2ef84d49f2f4d276546c9cf2e17ea4d367828e9aaab9" + "85c5cd0882204e293dba0359d47d9bdc0500a0c61f181d5d06ff20d0c41cf6d6cf7fea86" + "0075cdcbbab2efa0950e2276dafd4258a39c0fe4c45f3c04f76efa7d41392b4d34", + "0c497c621c5cd230fb1e4a4cb3af1cc9d8edf4af5c4af7f15c4ad0a8835b54de52d83bdb" + "3433808a67628912a85c5d00aa222c9", + "00b22e5773aca4d97d2da846c3947bf9cf2474101a6f0d39d31629a6aa2a4c3a77076a67" + "1e37aeb4cee0a94e82e914c8c553e04", + "06ccd79ab93e344e6f112c1e4a39e8505a2aaf5cf85595cadc6ddd1afb0b1583d9334cf1" + "c48f26e5baa38e05b6b52f9f12c141f"}, + {NID_sect409r1, NID_sha512, + "b5bf38fd9e822925254418475a1ce762a94e336f12b156b1625a4574fee11ee472d537ef" + "94b4a4b1c0a73b0140d0b818cd06636653e6c07f0f100118242a7703756f1cb1119b3477" + "c4ced99cf45e07e83b7f2749c1a5f8d8c9272d221fe17f7c6a5fb0f8a16af46f232ce406" + "aaf565c6b2766a2f6528c82e74fa1c0a7fcfd49e", + "0f8c2f770cf5f8e1f900e996ecdcd84fcff5cd959777fd005d721a419123221a3237e398" + "34b270d37752470deaa6cea023c5058", + "0401f861984fa06f15b801216a1c33672cff43740f0f736b4f4abed5656a1bee33a2aec4" + "31680942f2b0b0dce9a9196b49263fe183018633f4e057bb6d70a434f919b9ce4b7d9e61" + "fbf46c1d9638100d77881755fe9829a69d696d555b1a26e25ac1a1c27b40f909a2", + "0bdd99022dd964306955c57b226aef036527eca481622618fa7395f53e60aa95a275f1f2" + "d6e7354d8b55d3e83c85819e818199d", + "02f1330f41a86c09205004215c24f42fe582da189906fb23fbcc52136fcb4970a33b8961" + "13eeabcec8151cf3b150eaf1ec2dd88", + "0439507edbd36ebe4fa5df34d220c1441e1a4175c9b0373fc85669facebb5bda7a4b415c" + "269a7add207b461525c6cc94b7f7b22"}, + {NID_sect409r1, NID_sha512, + "6d3474770933ec01b76be789304b6fda423b12a0ae8c87a5ea8d7ee9f71300f39440e1c7" + "f5aa4b47c1a8628cfc3a490b15ef292a741344f40a8fcdd02cf3863bf3e32d53031f5037" + "03deab17fc52b3d4032f4e237dcc27231b85d3fd60b49ed7ee40c3344948d87c3f47564d" + "20a11d50e4e520bd16c8701694fc70901a5da625", + "0144adae951fe897d5812ee4a16c0be4c86c5e57e615c398f5768a1223a9be20fa82cecc" + "f8a16a31432bbfd17e594a4cd8a6a07", + "0400bce072255f7cbaf565f82db122e9c582ffcfbefadab6d79680b2506792028b200ca7" + "732a98322c290916c66c8a8ef77df6a2e501b4b6f65e678223bdbe5f8ecb68573ae3d7f1" + "11dac37d4fe3c0eb768c461187fc5859b13452381fe676257aa445bc7f38b4919d", + "0128c12479b7f0630374880b214aa26e4e8626deca57148a6c6a0e37a97e89da8acbadbb" + "fe7db28a0c5bd17303e1342af711f25", + "0a95124ec95e35747fb568e6659ff31867a4cb7c00985b36584201d1bac0775653e0a8b5" + "4cd9a9067ab3de434bc2cdf29ae287b", + "0257e5410a6f0bd94fb3b5b10500fb45b501a3734f0c718035a9a1516d2f88e10d1e38b7" + "0c791028e262e0c3128cb84e6064ea3"}, + {NID_sect409r1, NID_sha512, + "92ba7aaf71f625f7a2e024058dc8739da3567c306da4a812ed9e1542b7d1e982c1608216" + "6a59720203f4524c3bd463a662c26a82ec7b4376545206e650eed0d3dd7909dfe3810981" + "393070d15c45dc4a75a8c5bdeba533cad1ec34fd20466a61e4cde3b25af9a80a9a54afdd" + "7de1cf2a74ba32d4ea0082a037775413c61a8d1f", + "0a51f065fb32c55bf4ff6f18ba9d488d35d9f8da593adb0ab1632533284e0adc43ccdbda" + "9d9507b9862ac63b5ae7b0f78b479bb", + "040080e2f7ef17a11ae66172cf1c18eab12aca4c2ae06b8106aa1066677a93538e3dca06" + "26e836249eb884a382c3b726736565c3c301e98d37a17ea736ae58eab093fa7dce3f1079" + "1ee9ef5ec00bfb27bf3c705dd633badc94642c385dcc276f9b1fd5e01dd76ce944", + "0d5cf7b3d28459db8dd69c314f6464f770c31f239a12656368c84c64693f23733661081d" + "20dca9bec9c9659a8124b57a71ffd55", + "072ba8c1b4bfeca62e96a5649e851e9a311d7685603a11c1c299f5ed8605adaf27cae656" + "cd31335a7ae363cbae5dc7a39512c1b", + "01bb9819d25a211548461de4ff973ffbf475230baa161558d9cb7ee6f2e682dad21a465f" + "c2ae058121224f8680296d30e3692cc"}, + {NID_sect409r1, NID_sha512, + "b3fb9e48c333201324755a81f3ae5d4f0e2ae7cd24238fcc66d858e3aeb1ee03328660d6" + "399676eb1b7d8285ba571e214d935bb45516fccfab57b8eb4c3d5f1d7357c768eb7b5e7b" + "5710f599614bd4e92706eaba31f8a5e7e57af7ed13066af50b4540ccdc126b677789920c" + "ef8543907f0ba9dc92aae343d3425bd784ef483d", + "095351c0bc07acfabe6477fe85f97eab520dc96bdd58b44b036328ceadaa56a1904d2217" + "c5fd25155ff2aaf9005a3e2687fec81", + "0401c1311230cfdf5824323448c68ead5e5885ba540a21ff90b951f85d84d78e26da035b" + "fd99341b5901e1ebb18648a8dbb996fc9d0017a037929496e560cd1c936d9eb15f79fbff" + "737201dd880a69dfec31209faf5bd2846e3e664c668ad3d6500c5ed620f1bcc970", + "02234bafb54cad0d0d51f4b8508dbc8d014c303d90d21bc3f749ed7acc42f0335c5ab6d6" + "0002d3bb57cf07018e9c13b92c0a39f", + "04d0609f06320d69870a3e66f19cd46a2e0e3e13fb8b7785163a7b567bf2c0f437b4e30c" + "c67da288a3b34ce3110f6d87affe0f5", + "06c46d0248f7c309c1e5b80ac4b1459bf897e42f8f037031f5bbce0fde50af50cfdc4f60" + "d5ad3d1af152298cfe77dcab287874d"}, + {NID_sect409r1, NID_sha512, + "9ec5f7d65082264b8a50be772c44277a73ed19199eb275fe5976f9799d8629fcb4a59a8d" + "55074cd2eb2a0e02062d3f7cdeb05e62931a24fd1aaf14c257944d1b42eebd52726d6fe2" + "81211b39038e52baae077ea4df89675d860d6ba5a0f998d049614201b872e134367acc90" + "066ac602e478ac3e43c3ddf4b0ca0aac1a68591a", + "050245c1682344fef23bd549ac8d1e8e44b2840c43eec1cecd33daa4e9ef6b53f496104d" + "7432e14248682cfd6f5b4853b65adac", + "0400d2f8fe524b2108e375c9603598b555d6c4c7724c7d11039178037b3a4dc82b66c3ae" + "ffcccd89cc34dc2b2f6695892323bdd80501f98df95fc1837ec4d5239cf55e97d6b489b0" + "a8d7bf12c1ccf95f689ad23e46dcf20dbb531f5179e754f0c29c8757a1dc67493b", + "0c683f98253406c6587d87c57991fe5caa3f43b451875859feeb81176b732f1c1eed0ee4" + "4d1905d41922878617e03dac53562a7", + "00cdc9bc7d670a1b6794fd7da82d2ad1a0e92b82ae32656ddec3aca4de75f407f20fe782" + "daa0004317fa3f12cefc48518298d5d", + "03ee7c75810c2c05946b53e2f24feaa697af35174402c069b9fb03d89d73964c997eca4a" + "5d6f9482cb23c8ce337a374ffc3e186"}, + {NID_sect409r1, NID_sha512, + "61d657bf472676301503f6784b7286fb39fb4186bb88abf1edacb4a2693d0a1e2b77bbf2" + "758c84f2cbfd1753e20841b1cd4b456400d53f4d686e666943f9b6ffcdb77f510be97536" + "e9698fc84ae347d483bc8984548d1cf86b9b40d360f9c0dc5bd1c55868e26fce1460ba94" + "ef5e94eb63c9f0776a0f446c0cfd4106d9f36352", + "08d3b0277f0e9fe54581d3a9499ccd7f015c08339591326859af969d2a26284e3b3beac4" + "a0b74d324ce5cb5f38c7995e4e3a41f", + "0400ae18564ac04b54769e17df84aa54903df58decb870591dad73dbd712693d901f3f9a" + "d43a71f23b77705de2b4ec1c3bc616356f019810f92e80560979ac6e72bee505dcdef15b" + "4146185d2f8f5a955a4555523d982c34bbfc1326024410dbad3349e4c4e01c242d", + "0e52dea77fc59298cb06fb1401d11c662a04500f0470965c4cfaded13b339bde52f4fa04" + "c76a955faac16784f443b1ad9dfa0bc", + "00c917d487d2aae1651d76147de2a706a01c8b3d223afde7d20c9dd77cc2329bd3e0e4fc" + "01255b7c4ed1baae7d26667bc2e9ec6", + "0058c766fd514a405de91a4b9e99fc0b0146d954dc2e2decc2f3f066d0fe192832ad37a9" + "40949ca4e9abae0602248b3b56100ce"}, + {NID_sect571r1, NID_sha224, + "8e14f713a2c427b1f79491033994f76acbead614d12e73ac6f3f518f2052a10c1273aabe" + "628ab38e0d3d5f8ff254802e9f44a51367bf80325b6fc39d907a37f731372864747b1074" + "9ea5cb3d3a83da39c21a7b02885a8c1770e4397cedc958e4baa21d5007569dc9dd1e45d2" + "181709d900a394454090badbd0cd9c2cd2369aad", + "0f42afce7f7b3d45f3f925ab29fc3882a89c9f585177887584703cf8bd8fc572e677adfa" + "55b402446fe1e90dc855358d92c3267c35be9674b40c2ad5ce8dbe6a533c44b0ad8d2b2", + "04063dbcfc2d9171a7cc1835c1f56ecadcb59aa6d5852fde264ab25603f06817a20f2787" + "446445be8b2ba05c70fa25d9b9e34d5374febffeb536facd3da52d43d69fa7af4d4792c7" + "9207686e0629de47916af19f9013f65fa3b5f9d196916cab2f765aff31adb5a959515e83" + "fe3e00e91843c532041ba15f047e978bf2fc69627bb5cd7f3ecd74cdf1a8d623c1efd23f" + "c0", + "3fae665eb7a54f51c522ad5721d9e2648f13f3d84e3d64c8148d59c662872b5cb7d911c2" + "7bf45884f2ef717d72bd0569d9901f2308d9a68d128c042effea148cc963a8252f1426e", + "1df705ef13ce900ed61babed02e121dacd55a881ae32bd4f834fa8e362d059223b29ff3d" + "b835fa2b2db8fdb98c21dda5ef744cf24d0a798f501afa3a720a238ebd4fe3976a179b8", + "1b1e98db422fd48f1dfa049f38865f8bf9ec5618fdbfb50f21cc838051a1493e4b1e4f9e" + "a81156481e5fd84124fbab740421173862c63920e3a833aebf0762e7b5b39a1591d27c8"}, + {NID_sect571r1, NID_sha224, + "38b60d27ff08fb191811036dbfd5b39e1cc3427ff70efb67c851e9cb407f9fac6f348d28" + "9df98d055eec73299fcac068bd0fd9ffa3c5d244659e4f714a58d79f6727f323a7ee2636" + "9000e90e34e106f99f5ae2ae1b64ee89e5a1d304ef20c071a7773e9b977ed3d49f467d30" + "0a881c8371041394910f9c366942449045568f01", + "2f36613043cbf53ad36e2b38998bb867503359ae082d07d040e5a10a43e06ba9c91e7c73" + "308e41e2391b65e634f83b162cbdf4e7a44ad818fb93a978af00f06be06731d8c5886c6", + "0400fe1afd356670e1dc6bc195f9513f1dc6b03017416b5252c7b56153da538422e557d9" + "918298ba6c78283efa0288c0ac61298846a6f8adf74df21747cbe7c18a2b825a330e843c" + "d8018b7659f0a7e8e7ae5d636ea4d1d5f3a1f846d4bf3dfbd96c6ae874354db6faedf02f" + "75c4d1d8bd6a3b61e70ce58e38ea5de8cc16828f87a0667614f6640a3023b7f4aa93fba5" + "77", + "3fe351ff6ddf50752f7dfd8e5a72c9faad77dbea303fd97dc939eaad3aa7fed466fc8939" + "a7a6bb7abee63455284a5338e59dc067236dd699bdeeae1424d993a9c76fb2fe9595423", + "04a0e13a9fde9f2fef417199f8584d0f60b2f04aa6b7524cd2a2826d63043b2188ca977c" + "9567fc1ff292ed480dabc01589db8734c15aadb4ff54a552a7d9e66829fec1dc919dae6", + "01bc7d2c4ca9300d7a3001755ef25231d2852a7b9a3e91baf21f2a2bd2ff305be8a9de1d" + "1bcd7bd9eac4ce12ecf8a91c0a409726085382fb8d2428adf1b42b37b50c9e8e0535d7e"}, + {NID_sect571r1, NID_sha224, + "21709eeaf9e1953822294a478dfacfb205fc25f447a73a76a32601c00784cbf2f9ebd41c" + "22721d70cdb3842dcaff4a4f208d41c0816990e421cc4b8538ac2f347cdd0aa2a39f1aa2" + "6ace8cb6a606b23f6244894d4594a0f6a5b8f6a695fd66e1a41e2eb6a377017177fec56b" + "b58c837e311cd04c5b50575faee32606b9636ec1", + "2e74948c46930cbcd9dbe2325539c7dfdd910f309fd610e6599d425aad9ae230a8d46819" + "70a14f2a71fd08030d0a40ff40dade7de1b06a80441bbf7e2fcf1809cff39c7ef88bf9f", + "0401b75f2d281592c288fe6d5479a4e21ef626471819850cbbdf814593bae7e6ce2a35a9" + "78aea354649d979f161543fd4c12dae0efcdc2d95e82ae5874b9c04a2143535097b8a17c" + "6800c7160c2efa3aea1d18afc1a00b47209dfc750a5317ddebff04bc4d181f238d339a76" + "90c24e55be2cb0c01719d34ec986a07727f2e412aa72434efef4d64ecf7c16e2e75ebd7a" + "d8", + "0d3ae3d8e5e01ad838a7cc9a4d9b3e41eaf9894aed1d1ba597458391d4a2ae38c5d6efdb" + "4d91761a415812d77fd9ceaebbf1ad49c282e693d71d89f0e2d1bbd94698a47f1f30890", + "1e2e9e2633885c85f70208de30ae9b7f72950e2de980607f6d0e73fc1fb2a4a8afc63882" + "06c11b081540bb528a94e5386ce77a2d5c7830fca19223d57c1efe7ac488e69ae07e660", + "1250d1b920324919ef81865513db461409f6f8ad82f658dbfccfae4425906da306ba10ca" + "c84cf5379b6c1d8b252f3c6f86439413c617deadfad38a234bf2b0050fdabf7719bcc9e"}, + {NID_sect571r1, NID_sha224, + "3a131fabf3dc97334f212fce41c44300440d16de1d6060450875f7276f53c026e2a51168" + "1b5a8d75fc0d578546339542833145f7ee13c708df33e584445a75a5538829286480d339" + "be7c777c03c998a6d3f037b25799ab2d541021502a0b02a9b9c337a8b176c4f30e5b1864" + "85a6103b1d1563ad4ae73ca806a5e4daa92e9100", + "1b5fab1d36f6f6d559f65d8b01edba610620fc3a38307b1fb1c5bd63e7ffbd4a9098cb8b" + "df50975a873f5d047ee2b627b090897a7fb5f56d3f4a0f3528179e7c969926fc0d3b0e5", + "0405eb8c5a2bfc86aa9a82830d665296f74aeffa9c5b38750d0ff51d01c2dd0fb6f2209f" + "8ba89ff07297ab9b1b06168757f48cb6eee618a7b44f1b3902187c33208288f35a066659" + "2005334c203f4ee44fdfd5f99686b18696b3433f203dd148324dcfaa03a0a250cf606486" + "ef11ebcc1ed1839a76ad70909d835a4b30a014104a6ecbb284b33f50bfec33d8b5ede85a" + "c5", + "243889e7ad32076a3ea436356eb572c1b4ae402d0218d3ee43927eca0b4fc21a19926eea" + "35c37f09de4766f54e6079c34fb3c174afb953be1aac46d675bd300e717dfc2d0c3fae7", + "1d87b52dde9f502f02a502e7a331ca6dfc6204922fb94886efbe3013446d08240f6dba12" + "10a76eaf804562aa92a14d220d59b6310d6caea0274a5e1e8aa3c6b57f239191a71fe3d", + "2a5342df6908841b719f80ff905cee0ec3fd8be46396922c3f2f142393714b97128e0839" + "07a3a2343f0cf9aac73313279ed29eb44017e2a1cdd0fc86e4b7c536e9f7eb1bbd192a7"}, + {NID_sect571r1, NID_sha224, + "679d85a762f2574b0b31b516270b7d33d5e166c83e91a0f48e0f3db20b52f42f9e6ee964" + "8cf58267ffe3b713723cf3df52b5fab5c14db1e7189f7cb7170bc6ec7cc71946745e152b" + "39180f828688a5b6c0b2957ab94283b90052a3c6e36843c391aa8810f9253b639a8d5a69" + "aec10070603ad7a99dcedb544858d057a1d66b89", + "383e70c71b431eedd4574f65d01fb0304f7744d668408c847f7899eae44770a7f3243109" + "740f177d7146a27748886b7b77ecf3792b512e8d8e37c3bf4ecef2b1253df7066498f01", + "040769dd91fad550980225877d98f7c86963c88be141f91f7a3f1607e0cc6dab767aaa6c" + "eabaf46b65a7c80b6a494b0dac1da5d2fc8c5b07ef7085ed1bbdf4273da3665a6517ea1e" + "5a0282fb94b4726472248f01ee43607f7ef969446313e849998fbf0058c8ad5e24457006" + "b84fc0460b74d86ca281caa174e69fbb68673e1d28ccba17eae045eabc1839870831246a" + "14", + "336909099a1540e6f69172d55e0c88a1afa99808005bf09cc803ae1e4e4fbeac2f77f984" + "bddb482f1f13e4430e25e36962b1a4cae00f1fcd7f2c7a17372c91673d8286f9829bbdc", + "290055d578012a5b7d88fe2f70581a0fff976756b4581875cf5db07e01f09c0bdf6ab70f" + "fb5839567583d53c68e31a27c3fde12bd4f1e1315af2f742746277b1fb1349141ed3043", + "1480c63c8b90c7b51e092597fd8391a237b07f0ff7dbf615e6bdddd5aa880db29c9b9add" + "5bde7e0e81d9a37f852c26f21d750cd2f95520d16da7404c2c3feee1489aff09f298d7f"}, + {NID_sect571r1, NID_sha224, + "236152ad31ce2ffc0dead3c142cf6c770672cd2e75af4a82fda1a72e1c775cec9b481c6f" + "3e411644df7e7ee901c501405620af4b6e9667dfd46091788daa95ef2c6c9f5c240c06b1" + "5cb0df51f5f058d8a7934bd7845f007a35f99fa97200b20f3b5b14fbf1e372507f3b2f37" + "7e8d07d30fd3e222f398f26d8f428e320327f901", + "02261d4ead21f02fab19bbb0da8c272286704c8f0c6842ba47ded121e5cddef79fb34e6b" + "9694f725ca502949faecfb21e3cc062a2b4c654bd542d9a1fe8d97bdd0905c510aa0999", + "0403ef03980ea9b754b655948da63469fe526ff0ba2c0f572981d02f5693bff620b55b8e" + "9e9f9d553a78a0138072369775c7976f028631e65887cbed62fb447c9f41da86022f4b41" + "ef04446eed90f2716a7aedefa1385db9f5f803434517fcd80571adc9b7f086c9787b7630" + "6380a375668b05fbed30922746fecc0cc16f189dddab676516ed1fe4d02855a34a909753" + "89", + "0b309f6c53dee8a8956358df45e72126ec76266d38babff185d4db1d449c8fa9baa4b065" + "1af5f5b0aa70dee3dd55623060097e2f94ed12636961a7c0744b38f2f137bca239f974b", + "2b42395206ae79bd9df1c729856101ec3c4a719616701f836c9d69b542b59ce973d91951" + "853f89a0717abd4b929bc69e59cc379c941349dfb4f98d49f9dff572c614242fd370e56", + "1ecad482a8eadec6800a9d876a382125eafaa7bbd950fe5f0588126764126eb1b3844240" + "15c52ed6a335668506f25124aa78d98ec5739fe282af0c143c07da0fca53b9733e159b8"}, + {NID_sect571r1, NID_sha224, + "ba3f02c4847fae035d747db246fe4e82fb9224ff9cf568a6ae548f5dc2befb2079541d2c" + "f9aaa6b18c281a05e7ddfcdbcefb25f41dd91cb3092b3343e16985e91c912215cd99ae4a" + "099baf628e33a7b277e3c36a13aaef85418fca99f64d73b789f23ecbb76c3095ade0a5f7" + "f34836a98c5be933b44a94a2eaa3f99b1d8e7937", + "316c78f289e1860bb623082be9d9238b88e38c5e978a868bb90f776235bdff4eff591877" + "b7f350cf14c40356922b2b6aa51d64990360b2b0e44d6941b5dd9492b4f4e1f42ca163a", + "0406f4137a2c63b6b79138027464135021b034f97bcb2493943df6be844f1657a97632ac" + "80541a3b43ccc828789517efdd9f86ba171c1262a07a6b337bdb0c8d5f018302a8046a1a" + "8c0425cf553554d18f6cc97f0caca2a7eebbf266d57030014273f701562d5b1444240b9d" + "22060ac9bebb37deec393cebdad21ec7f13fe5c7f1752b4261cc2feddeb737284a6eec36" + "63", + "1e0321344bf364f1ede39a49c8051f36875ad78e4b080ece9088111739041b121f3f334c" + "6e923777fd716a52be669d6e45f381da11262fb4d09ad66dea74ca115838e19fe94b7f9", + "04f24ec978c52ffc7675a09334a895e044eb8eaf04d26c094d7607b77ac4168a02a972f5" + "77880a0d0c73f218815e3a7a70c91c50734c08d374a15fb42fd13367dbbe08fe9c2d4b5", + "060740270df0e1fdfb8e829c9601b9901223b19d07e9d7d422b9bade88a50fd6d4ec9684" + "2afc45900a0107ce85ea6d083d66ae202dba3a32e50c7c3af951cac7acdc6f4c406740b"}, + {NID_sect571r1, NID_sha224, + "6d0372b40559e075af56af853cbe18ba2d471b0fc8917764abcc69102b03d5bbe1fc1245" + "8215be66409c26c89f67c72a8933677a07f88993af6918acb074fa915fe883b24bc3d191" + "ff1b08852f07eda98977e70eba072d8bf189cd545230f59559ac05f1fa3f4e65886d0bc2" + "74a6e02e2399812b2bf91abae81e21279c5de996", + "2c1bc13f8320d97a82f3d9354e195481902214e16a4fd89332a0499208e91d50e5cabeb4" + "927ba030cb42f5bc53b10f500fa646a8c88508cb0d63ebfce5c4bd574c527d686c735ce", + "0402210791ca48aafed20de84ef9896a9c7584081f850b75884908c7b3dccc94e221401a" + "6ffd982f292a9d5f9c1d066ed493da948ac7e93977dabd7b820bfc0fd21cd8d99c072bb6" + "9c033574c6ce7da749ceb480b4e00bb1a58203bbbca5c16923992cc9767aba5483e4d46e" + "d39e71000a1fe920a4c1c211a14e63ace03635a2d77e72808e0664334890b819b3caff64" + "a3", + "2e3db2d82c4b9de2bc0dd0a93c1c5b385f75ad03d0da527a034da2876b42e43cd88dc648" + "33efef54af902d85c568bb8e71684bb16b28c32d80bb3e9911cb1b74be6ec520d99b381", + "065f4715e87ca3541ea695878ed5ccb7d2ea6eed5d6fc5ec29f9aa8deb4001cc7c06185d" + "6ab2dde4347344d44f8300a1e92513af4690d713762336d2e6a94d3324a224f06eeadeb", + "20104e0767530ce2f4351af4977b52339f34d13e458de0482bcd58ab38ee041c9adc7b05" + "650260d919b2648e2f820407fd60a8d6b4b991b86eaf29c2c4d12d3b0b45cac2ab22c5a"}, + {NID_sect571r1, NID_sha224, + "bbfe66c82bc060bd14fd0e40769d9b3a026eb447550dd9f118c30d8448f725f8366edef0" + "42447962ba7f7f833b9e9094d0ff600714697e632626e7d12a592e040bdcee166dcda939" + "52323191021bd12f3b1647d0f25a41739994659dcbb19333ca30f46f539c6f0a5c354cda" + "8969a1eda572a309950c84c7607eb8ac20163912", + "13bd80eafa67663e75d7ae139bf285d2b9f1e03d8e32153c73e26d06e86d7acad22bde9f" + "121a3f1ea674dcc1fe67bc7f5398d5e92555056bc046a02b0ba86c2a0dfe32e91add5b6", + "0404c01fef7f2fd8ee61726af1a2d046c7ac67716403b99e021082e96d733368c6c64d04" + "6986fb01a6b55cc930517762387eb2fa4a8eda23c700d88065bced8595188760170881a3" + "290189bfdc8e7a710522ab5416182c9579ca255c5009e6ee6604ab033c1388639c0f7aad" + "84642290954db9f4f7fbffd17481eabed38151160457d68ebdfd8695b5035e4e6e06532c" + "0d", + "3c5868345c5314aad5ed3a74488a85b2f049396022cdd1de855a0b33c2877f72e871805a" + "f3ed8fd7e7a392c4ff63acac6a6f0c431ce7af680984e8c81d0350abe491a01f0f9268f", + "0c7e96b9e9a5935ccd51b901aadab6e01ebde44f57e6f0b84e7b58ab4f62ffc0f3f3f980" + "665c581ee3de233ee49d11599529348f1ad3d362837c041cf98192bb324f577e973e1c7", + "2226922271fe8307bf597742618ea9c1c271c22c25b49aaa7c9292a81ecce2a55250415e" + "a2ec8ffec54bf0508e64426cb9cd7177265fecc40e056e96cab661485e789f0c435b72b"}, + {NID_sect571r1, NID_sha224, + "b35e9bf686717ce3b16a59963a32a2116130453b161a4e7ceb27b755856add836d779696" + "edcaee3b5c986523891c8836109d431e55c23afbca022437ad19e6777efabb6da3bba1f5" + "f44f905395b4cc7c9210590fd38da621582d059598e5e4569e904358e0dfc0dbfda4ce75" + "538aa97480912852bccd433a9b96c9c66e9597d2", + "30834b0a4284097cdda2ada6947c6c281f7290a49b56becefea1e2788ea3ef78fb968076" + "33c47c25138341768b241164ce0d42f7301728b928be2c047f2eb60fc2f844ab77306d2", + "04003a21f0d8e01a64b235cc455c291e3fec8de12682f05544de207d910c7c24c4cd56f3" + "354500d994380ebaa0b49a7604c6233a9aa24934c550c0e609f65fd4073cd6c1ee4170d7" + "7e067c83513e4acbdeb8343b3add40261edbf7c8fe0af7417264830edabfc40200283b92" + "484630741378b997c3f8bed7285decc6ef8633aa804b3846d3b4517e5ad836dbb1df4758" + "18", + "0031afb24fbc52b01480754837cd84a5165d5f2ad1a1d572b92ab546c049413806f0f523" + "9a77c751af4d57a84786ed1c11bc76123a82e7db3c0495b2fdc5fb9c8720eb7afb640c1", + "07a222cddfaea617f1190a0bd88af4d1983d2543dfba25c5036fe24529bbe2e382de89dc" + "1e36c1f6df59c8291d1c4277198084902e5619b64128c265bcf03b7d8cd6b663c225f11", + "1ca84c146ebbd16300b813621d503d8c754e4b11446d5ee31cbebc71f4b85ed09c5c94bb" + "dfc3570e8882ef790393234c5ee9e52f7d5b74ff4171d930af817eafc40ef203a1ce613"}, + {NID_sect571r1, NID_sha224, + "57b5ae7e95c638b258d1e09b3fcb4341e203f5706862e199b103c8fdac72cbc5155e5cf8" + "b300a0b3fb0ce1f897c45f7aefcc528182f73dd450cd84d5fe9eadff3f704dc2a01b4e84" + "7c22df430efd1c66b0199f3e5b59348af5386962a5ef25204fd230b54d58d7fae801c086" + "f8f405d3d0aa7a9a9da15c22b868817cd897d853", + "0c81a79ced1eaaafc31b69a40d9939f4e484d625db6364a8e589b6b4d336d458b44287ea" + "6c6aa7661113fc07806b147ff98216fa0c08708dc9d651821b922741deda522b4e436ad", + "04025f9b767b8796466c1cc8a1fe6286d591c04a0d115133fc7910640032b898a5c86547" + "f57794e5aac0148996151d3ecbe0d5939dbff5722679ecff378e3f21bbf1354b1eb294d1" + "a30074c2b91ef3472e60426d2fe182ccc678aa0abb8dda15a428e4f6f1ac401b015b2b7d" + "83535a0a92770cff7666659e1cd33941bea1168cffde82db0ea83668c2d387e6f4bdf28c" + "c5", + "27b407a29553203b829a87eb25d6d140e41184634ae1c64c6ec38e9012d0b06a1f4ad987" + "7d7ac4236a22145095990233e6c102a0052ba18cf6e47e289cce4f2ca21514d8868bd68", + "02416e11fe2f8e4738ecff1710dc827f4e03c8e7f04a4f52e755f0c1676abbd122eb9751" + "ec1fdf6c7ba04b4e29f8dee52bff7e9e726e28cb3de6f9abf2dbf58c0519ccc7d70f076", + "0b96f107a26097a468c1d410bf90e223cd72c5ec98d4ee4ec2e32259d7670d7e7689e62d" + "36549086139f6111884530e20f908d7be1edab75180c81a70ece341f7eda6e4a43a5ad3"}, + {NID_sect571r1, NID_sha224, + "daebfef74b452f039c999ba0528be3bd9e16deb5f46f6eae87b63db8b89952c949fd7db0" + "8311871eb2596865eed107aa065f030226ea675ee3256c31a3f85ddf4c21760582144e07" + "af208f33c5f47cc026db5403186a65a47940691ea2d74ffb1245676260ef5717dd879d8b" + "5b72d96f87fef5f762d4fd17454cb5ed83d8a11f", + "2f24670c0f77d2ca0266a743023d2c7413d56d0b5ec77b454ac59087efc4ea4d46179e10" + "278e4ba416ffd8c3f9786ed202faf8251c0ef5a9ea5371fbb35b7afe3d15a9cb4bad975", + "0402da72b8ae64c5ee717c33758ec26153a342936f9d41dcbb136590e1303b0e220ee84c" + "8a06b83d4d9fc924b8808de94dbd780cc8243bc4448efd27dfaa1572aae6abe574be6649" + "3903b3a95d962c48a81c48713247801e4ee630ec7956c9989023ba16f02f5bd1ef2edcdd" + "1c8d314be933225c64b7f8a80542b209b944e1f3fab95795ffa134e7e28e82307dc62c29" + "62", + "2bbb9abd2732994011c8d294c5342e8b1f7f3c1f5718187e9f75832604b43bf75abad5dd" + "c85e8d92cdc42656cc9f3349afad3f9022ccbb4937d9ffa9cf48314b604e82bda13475e", + "3986059f2e096a3675215698e23b53f471c578891f6d721a34a0d231d16348d5bf9853c7" + "9c4f4aa94642ad06cb7bfd11f724800cb5477636b6fc0586fb6efb8eb9bbef62329a884", + "2beda064eb3ffa1c3b5336613704b3bc3d4ff7b0e977df16477c7e33d480d678804bbdc0" + "8088186fbc4764be398a26c13f88bdd23e844be0d7ce598bb87c1b3430da02ae96b3767"}, + {NID_sect571r1, NID_sha224, + "62af0493ae79d71b552c4647d1fb7ab2f282a91cd44aebd8ef344dfd77b521b0c0a3f72e" + "4513c8ecc0e4b84efef3df9482a07ccc1b740c571c5e69cb913740a792aa231b9dc87edf" + "b72bac188293c6c6e788cb3dff32e8f483f8f34e21ee7efec71302cc3bdbfa47908a135f" + "6ef3ff179dcef26d1a3987f7be967a6c0f799b0c", + "20985f2c6fe3ea04bdbab66a8b6167e5969c073b9d53cf3c77cebbf73f4dbf75e601620e" + "c9c3107bf3fbfc6c79f8f063409bf8fe1d14b19e323d857e23dc05157d270c7514137e4", + "040010712d50ba7752962b140cfb943d9e8dc3bfa497bfe81c42606f4da5157656fe2ba5" + "cfd33ddffa0f27fabef8e267688943514df45e642ee0454e05b49f7c00f5785777897d22" + "5b01a2c7db6595c6d4c55110210c564cf102739760e7f5a29706fcb2515d99ca00949d5b" + "4f291716d0aa1e3a47efb9632410f60e2fee1ada47171f902f632bee85da75c7f3c895c2" + "4e", + "2f26eaba6452e687af452d5e1208fa011e4c84ada92a38f0a204a254641c23ffe1c184fa" + "8bfaff047db590ab40accda408717e4f30811b75cf3a5877ef99279476ab924d92565bf", + "1280adcac1c79352635f4165f9c5c1b6e1e6e33bd74d781773f483f637462f80340f8d22" + "cb24c9db5e49ace95a676df3dde53c8721f672006382ff806410bfcdbceda50e53285e6", + "07dd52973ef30dbd480047732622fb1b695fe3cfd080264d2aa30a6ff3dab4ab362518c4" + "f3de4fae042fce78c0c8fa0e763eb187eae2ff8f2e79b3f38cc3c1aea897e1f28b71a19"}, + {NID_sect571r1, NID_sha224, + "566f17851951777ebea3f8285610cd8ee5f882a68e7a4205e6fc9e2d66d210ee2505ee73" + "d6503169f7b903012d43e7e99efa493a8e6ef926b16b9ad8f52156840ab561fc6b680120" + "a88714fd66d1d0742189bf06c155e1138ee5314707173f7352e2cea0fc26e1553643f249" + "0428718e44afd8372cbb7bf5b88234318ebf4355", + "2b3d641607b8a141f876f6d285ee46aea543880e772dadd5dd83d595b9643191d9597218" + "e1d6adb081df133304037bcd2c05c24a54e6c4cca64fb2cc4569d6882315360059496d8", + "04042f2bffe25142ac6c1af26643b0f1c317b34950a8a0f112a0cd4ea4131303674328e0" + "bed5d9bc7ffcbb9712387cf67129365b4fa8a9e785b787c170463b24f6a7962c1e003c87" + "320070962ac4d3220f367f18caa7ceaadcb82fdba45cd2c034a97aab71f7f7546c09736c" + "b080c10d9a95a5f984aa4a3ed32d22636a7b3d5ab29c86d85db59f6f17ba29eb220bb141" + "b5", + "23d7021f5376e7b11be07288a0e47b4326c026df80d7e08c9a0fff11deccdadd479dad50" + "3ef2d4fa3f0ab2aada604b57fa7e09dbf5c8d493070b5faebb27cf68ad0b78bb6f3a9aa", + "3059720e7a2dfff03789e7a514f75f2af5ed18cf1568fa2a5354dcddc9d3c7a90605e9b9" + "a3d0d6fbfebddd615cdd52845ff922873079e06c4f349f7798410ee18e0c69045193668", + "1cc40209692cf5f8ed8b82372c95033e4199d378a28b9edcba516820ba21af1bcf5c5df2" + "ef4146b91fd37dff89ec8f9962eecce5c5e285d76a5f03eaf99fa132e98cc40ad66c296"}, + {NID_sect571r1, NID_sha224, + "25155825fc4f9a1c4dd1db837008e7e2594a879052431f5bfc76d0d2565b8fa726008bef" + "aeddceef73f3c60fa2cdf6d9a70e56d27210bd013034b38861ae49640ef208d3fe294ac4" + "362f8eea44f58af3af8a9167a36b5acafb7ec95652d5885a0e08067ce1dfbb45a0c89ad1" + "acb53eb404bf88fa5c3c463a0f912b5a2522a0d9", + "1afeb5ca87c81025ddf09c2b2c5ee22ba0105c0e619b67a324467485bd839030d149fee4" + "4d8bac6f5902a1245a50c3437046b7c89a84116b2147cddc645b6d2fd24d68e8d53bf5b", + "040119c46988a79e3ae8833ef096b0a1e2886c4b114ccfe881886859abc031df2b1e7581" + "8c82be8c5abafcbc5d7b3b8344e98e3f413d737938845e6eab5aec7e507f7baf0d339a36" + "2f03190912dfb5a1a31fbbbb50784b18051489a3cc0f44c42c71d3a54886ecf40507c324" + "0395e8ced37b5253b915fdedd38f75bb26df2a0a8edba865f898a15f2d96f632f7f06388" + "64", + "1facccc127c856db1994c4d9e9c76de6bffff81a88d7aa0ca1645e250e07674fba734479" + "11c5b47a1aae815d5e96164854636d3168d0344b2d2d913127011b6434d5a5e545d3bcd", + "21da49326f39577ee9f65cee64006525de88a834365a00f4f8cfb9a01dcfd6349a3d06bf" + "95990a2c17b7e95cc0589714b7a795c7016b29bc844ae9031488ca354548976eed68415", + "3364def38a8ee3116cbd971794c859776107154234d8b198efb19655647bb9228c7c6be2" + "e703672f795ed37481e994b6764d0b7c1bbeb2bd1db90b34f460278a54bd480bf4e9adf"}, + {NID_sect571r1, NID_sha256, + "29acb0fca27e2a10d7b9e7e84a79af73e420abdb0f80dd2665696638951b52dd39ca0281" + "66b47a3b6a2eaeceb1a11c152383f0bec64e862db1c249672b3770909f775b794e0b9b28" + "a5ec8635a996d912d837a5f22471b40ec2e84701a8804127a9f1a0b3c96ff654700bad31" + "67240c2518fb5dedcc1be9f56a807083e587bc56", + "32c97639b69c7cdbf419286d0a1b406d9b1f2886521a8b979a36118d2a368aace5b02dd8" + "c515f2041e6fb9f026d1e82e789dc826a56d2ef732b1bb0f49be2b696ab5d3d5694a2de", + "0400087ff1d8a4644edebd43c2d43d49e140940d215f272676fdfb72ccf58a12021de3d6" + "68f2766848044ac404fb45cf6e18fc6700f87aa53b4fac1e35e1731814f8a9d0233e2942" + "d7029fad3638177541d8392111064837bfa77b4455c21c5f7652e3fb302f4bff4a35b74d" + "e8aff3806538ef9ac86964cff755a81cb3002b6fb241ffcae8ac9621b8e034967d650836" + "ee", + "16a06e3d25873f6dae16bb2e569720ee9c6ae7b5ba36854c321a80be8b4be502b895e1a3" + "d161b001f6cbcf53d164b5485d8a5efa0476f581f9c79b3a291025be01a435e2fc5ded3", + "347138a43f3ed1a1a26f5f11549eb8a41f64aad302b6383879886216ebb6d08a4ce270d0" + "7a5bec6018eb313430ff017c1bbf78556436d9255e97aba1481f0f16b85e7320df79d69", + "28f35e1aeae288122b043deff9ac87d39478607da60cc33d999b6add6209f452f631c6ce" + "896afd92ab871387f5ea0eae5f6d5cf532e7a6ab44dcf44acb1fd1daafaf1ad5423d8e8"}, + {NID_sect571r1, NID_sha256, + "c92d67cf6536f5046e15b02158da698bcbba4ff1e4e9e9c882cda67f817210402ef917ae" + "93682c9c3dd817b21b73c6c00b7bf92ea80ecbbef2e67f4f4379d078a2b0f297742b2bb9" + "c3fa3297a7e8079f488555bd37715eec92b4b1cbf897640ae8a1d2a0fbcee5423ab31a37" + "629f98630275e35094a896cc574be0a449bb1bc3", + "0f93672159276c5a293582b9f49607bbdb970112f6c63b2b3b5d32ad3c8240c86b1af13a" + "8dff6502c6b6a17712cfd988f8cd23a60693d64104143b3f91adb37f852e9e11a0ef110", + "04019dda59a839aa2ed28f69a62a3e3a753c6fc789fe0d8551bf59095f009d0327386e6d" + "f5437846c6803df2442e0359a367d04f117e3965397576d4287398b4b8c92ad278df4a44" + "7f04159ced60503f7cfcfcd587bb3608699f54693068101a838d575715de02fff81058d0" + "25dbdda430e176f60e423e6fcbba889914f6409ce51d51e89e4cd7bbde6d24404e5b043e" + "79", + "10dd216d4b3da2fa6a75de60f722f1f128776741cba002c055d1445581242a175318291f" + "ae313eea11fd905b20d26cec845f57a3d5bf23ae4dc93d886c0594f1cf7be4f59f3e3eb", + "128d5c00a48c7352eb980d9c80781f8abcfdc1ddae415b7ac94b4d85c3d7d4f7316e2b33" + "44ca50c6ae82938bc728e640e59e2d733f0c7f7025e66c15c81e98a845c1ed4843b589d", + "1ab59ce5e54bffc68fda96c920b839fe03d1976ab36978bedd973715ed631bfc8e3edd10" + "0043ac527aeb5ca121da848bce4ec9799f55b22454e9af32848943058b257e815b04056"}, + {NID_sect571r1, NID_sha256, + "15413f614c4551e3b138b64f66d15f8964c40326a42b0afce820778eee4a88edb127fbf5" + "75da5263e5a2627b5461d311813ea868e6417615e7c4938313675009caac28bc7a2f4c0b" + "c37572d9bf36a3b1794294e09c0121ceecaa4b916df45b0dd31225415e6c87cfeeb092a0" + "08fce2c543cd62365779ae28f29fa02a15d9dcd5", + "3db080bc99c5fe7e06d5032167af56783cb423fae59fb5b3c6bce5fbedf56b7b39b17810" + "e48ea9a172881aa1f42f5e267349b60294d4a208b4437666b44abcfee5a1829e9467908", + "04059d1b3f680da784b49dde3b361eee819d67339447d7bdf7965550264eb63bcc7674b0" + "921f02e15d45466dee52b4c0a50c2bbbdf226af1662086476a9eb1236e3d4c2b6219af1b" + "db04e3466200dd6ecbc268cdc1937ac5123cbe33f32110cfdb8b7536987ddf5c9ef2464d" + "2334f315b9b489cf227a6300b6e054fe40d36c057a692f2fd3e762624069e2adefb65d24" + "d7", + "37fb32a902eae0c5d7cc9f9018a5d1a906a3d1b9adf5bfb696ff63f105cb2e736d9bc196" + "1677fc897fd3a9e9bedd370be6f25a03fad425b5a293c66180df78db33aec4a188d3db6", + "3aa8ab9fc9073429e52469088aea91f00cfba271b9dbb84818460883effa0c51d6a48c19" + "05d6f58d1312af073dc8735c29957f30324b467797acf86e028410de016338b972013ab", + "198a746411333172daef76359e7ad23035a0f5d14c283cb268828bd876b96b5f767e0c1e" + "2796def7a51429f39ab2332ac25d8e4f263f8dfb9c4c98da2ccc398fb3bb9a6b28ca28b"}, + {NID_sect571r1, NID_sha256, + "9f901557451ae2f8ec79b6d4adc794cbfd9b2e6d28f19409532d91682820205308b41498" + "a4e1ca247a2baa8da93de95e3c0f7afd6ca46bafdbdcc6d3374a12684676a50988b86a96" + "0a82180648c8c1e38f8fd9af604c7be3be4b24799f4544ac96d6360cdb83d1d0847fda21" + "642934fd6cf65385b50d86d4656987901fb88d0c", + "06ee767f6f36bb8f364f324d8346455c899a49237d759003dd52cfa13b9baa4c71347b13" + "4b24ecaee32d247c34e3787a0c64bc5d299b55c86f64b47521d22f2c09db225b0c84cc6", + "0403f971125860f4598fa310eb7a8c6b4e0c31bb721fdc17ce6df9af557beded6006b8ea" + "b10ebe7f3c4f3d759d4a87dcfc1fb767ef87beb1f5c845e3f41503a33b28b2b5aa1644dd" + "1a03296062514d4e89d2105dda5bd65a315b9770c45afe4050d8c3d15001405b1e32be58" + "67ee90cafbe4e239dd44d030b4fda855182f1fcf80963c1300cb842459aaa8c282737187" + "6c", + "2b247e2dd0024f534ed2797110df6ea4ba166c34d91c94e43b045c0ff80f124bfec1cf3b" + "e3da7c58389d352c8c5c1bc2a2e876a7e56301b1e688a085ea0222697fc63141564365c", + "2858eadd14373aeca65ee5a2cbbaceae4b54a50e0941a696406dd86d05c07c5599379c06" + "6b2288d01b2a43c9ae34bcb8c36f59d490aa8d066fd3d7e539ebc620a7176507ccfb232", + "33c20d26dca20af2c56982fcfa6f085bc5c317d01f3b1dfe0ade1ef6e3e960b18b626d17" + "d6696c936f04090ecd9606c2a6ecea1cd1883bbbca8b3dce3b0acb2688fb2834aaf922a"}, + {NID_sect571r1, NID_sha256, + "959fe5a19d7aea2ba611c7203e19f8e3f3cc101e03a98f91adfef602c424c580d5a86865" + "9368a930f9883d699fc633bd07f6cf8de474937db0bea86fa7cd140ec2f202663813033a" + "757b93bd72afba15be5e47a4eb93e8a666aa1c72c241ca3922547d63fa3732fec54afea7" + "ade84302e2f044275bb67433fb6b125b7913143c", + "38e2571d9f22309a636586d62863ed67a70538287f3ef88b88c3c2fa1a2900d48c342b6f" + "15c26b8e7fb4875cda4093b7de7ceda48fe1e2cc2975afe958040881de61f309931e48d", + "0405a221634ca85059543e2caf8bdf79c43bb78deb35e9c89e07d553bafb6b31750a1d85" + "ffa7689e528c11d8a3dae442b4fb2a4a21238d636eb04ccc04c8b5d794b0a213fe0480b1" + "d20225ff457b6cbc12d152b08025cdb7e1e921ee553add9cbf83228d678d5a9f5d3d1fb4" + "327a74c1dcb5d69a5b98f3ed1aebef0af09bd49d253a903636ef5a66844c500fa221470f" + "2f", + "3b4de49d57040141f3584ff596eda457e2835085d350b75391d90abe728723e1d1ac6413" + "979d4fc3eba98d72a01248e6510c722df15df876da881ad50539e4248facafcf311b464", + "00f259038b4d3d036bde101aab29f4558e88e604c62f967bc7a35eeacc6a56294268f8ab" + "00a34f9a0319b07754f502c98718e8b5c91093cdbff2c8496fd63d6fc2c50a35f87f423", + "2350d5406922e8822a91f7c95cfe8524f017a14cf7174ce534c60aeb351510d06ac20dc1" + "249129247b21c72c14b02b710c26c10899bcf995143aee632e294176e903645b660e998"}, + {NID_sect571r1, NID_sha256, + "97b9688d9ed5101b8cfb19e84b89cd644262ca1c7ee18944e29ddd3b4cca78e06338b270" + "385b00a5e8b91ca5e628de3bba50e36ecc695b3ea737a9cf8b36871c473a54ba17819f49" + "e730c0f253b0c769aefa6c16366fd2dd612f330e95fb119fcf3bf7f3e254438c0ab635ec" + "04a8b2424a05b483ecf65b74a93636fbab7bf1d8", + "0c8f5736f1ae65592f3ca850f43d06441aaad8c03820f3b08d8a6db46488dcfb828459f8" + "b3f34af73cce8dc7a5e3834e085a64523d890028e194214cef4003210e6eb530005b01a", + "040667ce3db45b8772f717ce20755ffaba968aa1314d75c84073042436823fb54bf8dda3" + "4a6bb45a61d610745b1fc10eb0eef71c4f55b26acceb442d822d6e2a27761c73b740f472" + "89056035da1adaae894e361f5283b3ea07b7d9f64a298be11de9fb487c2479b120381f1c" + "60cefe5d32d37e4644ac86a170f82b1c4443eb71b940b21c7a016b559c6c79835532c276" + "fd", + "190468668989a607a3aa966cad071ca8e8eb152b0dfca9205bc9417a3d612ca1105c7b90" + "340b04acd96a5223658adda16bf6b598ea9f32a2f8d1b61c2c2bdc08d6a49de246240b3", + "291e1fb18edb7a93badd6fab6f56ee0d390f3b6d298e97312d5277358511fc7621534ac0" + "35f3518cb140fa4ad5ef7d889c0d5f3f52a4e4d06bc9f647f99695531f85a4b76cb1184", + "2d916734e02b0a98406bb5a9723486a7ed40bdd0b39c4cb802af4bafd519803d23c6bed5" + "9a80c256a14eb878229942f67e0b8159d5cbf24b719043171b3958fd669adfc72eb7289"}, + {NID_sect571r1, NID_sha256, + "f08b250bf4a3980cb455338b3f4173723b3f44c97bacc9cf550149794a71426e398cb4a7" + "4bde141d8b7b4a72942f1c069676a9918e27792cb8f085ee037c78e3c468adea5123c4c6" + "4d8ca6a39f2f90140c5d2d80b669cbf0d1ccb466b18ded83a1d5f042c36188a04111c34f" + "f769abba9aedda40a87be1e24b700225e2078056", + "1ee68c3994adaaa9e0d61bfcd3bc1cdf198d3fbfe28a44e5dd518867ea04b20e795eadac" + "c48bfcf8e8216dceeaa069b756e8e99ed87b6b1d31154cc9310bc3b4555162a890b0c6c", + "0403efc83ad15d9bf889c9afbd769bdd1dc8925b0462c93868d85ca7554b540d8c3ef7b9" + "a63becc85981972eee8a70b7f948098ac050ad594ef2ec249cc3b557844bae9cb2cacbf3" + "97042a012b3a1d9e46cece4fc3460a2bedc9af4ce0289e95f69550eb3544f7c105b5769f" + "a52234ac88f9045ea5cdd4937664846d26deecf511ba6996ce4072e763e8ebdfe7096608" + "88", + "031df03a6cec2346b92d9ae7d3d983edf577d9a1bb88098f886f38536d8d8cf25def5772" + "6790604e674d036cbcb864bdedf8475ba9c850d510ef93b844c037e04348d5f48098c20", + "112dcafb63bb125d9610e59883df481bfde43589e46656b5952cdd72238cfbcfee79e916" + "5e3c9b89c9ffed12d303225ba2af19e00048e20e4edd3968807e4885003d148403321ef", + "2ded1456df54a24214d8c1d3fb314db52b046ca31458bed69bb3aeb6a9ece509ee521fb8" + "046ed43accc7e605440a09fd96db659c98a7dd606758c0c47e47acfa326b9ed73ba4b28"}, + {NID_sect571r1, NID_sha256, + "1cabd16fc29d7d919622810dc8b23c770b790b98b119eeab1b20900fa94fc2ebaf76be4f" + "5eea91fc5276c5621c8677d4d117c4a5a782ee2ca1d5b0db997fdc8a05b6b3fbb833d7a7" + "b81c3c615c2a662929760a96feefcf89e46b563314c9b77c86bf34438458b43b694ceba7" + "41b97dfcdacc0ed57652ae62856ce10ed2690770", + "3a6fbf66ebc1365ea7699c72cdac2dd85907ec59cd26e2d18713354b619ccb83b7fc0db9" + "193aa8493c1855f1a83fd987cbbb65de17c59fbe79256aa5392f4eba045346e9ba26592", + "040559dd556241f9b11d0f91c5458ef6adb783f9f5051bc12cac9f0b214f836f7b149d00" + "ba8218e873410a50445da9fbf68673f3282d783988981fb221d0579341892ba6824e0cf4" + "a5005dd0e594ce41122882538e51e9bf29d159fcbb8b29b97c5546582390ad5c59c97527" + "1c58ba1e75d70c3898fea929ef7316ee830eeefbdc69bd80d7b0e8133b977cd573a3b422" + "ee", + "1c5a193179ab859ec1166575007c3cacb30d31f341a0e82ed6d4ddb32da909dce08acfa1" + "0fb14183258caa743010fac6f7d0fb1f8c8f55c246e49a97f2bf571129144c23de8d68c", + "2625d0bdf37396585d22811a12ae7e0c3f512ffdd0bf4d048379434af46c03c6067dbe7c" + "271c417ac5307123bf58a9f2064bd2b3a2d4b4efa3027959bfe63e13a851f46a21da6e6", + "13f16b211b314a7e9918f3254da2f1aceb5340713985610f03ec1d0a33ecf9217d61076e" + "b153d8f27aa31aed3c9b165be52f8d857de362b2c88db5dccfd708a996a46b76b4ebd09"}, + {NID_sect571r1, NID_sha256, + "7bc8bbf5ebeacf40b3c82eb6eba5d994dcc6a3f2e12ef741f90f90e176d20c21e006ecda" + "f14cb5beef35bff46b2c374d9ee224516679b1a9e9255cd8ad8e60ed234f8ee7e0fc53c9" + "021488158217d4b4369cc597d6053746efa1e73340bdd73c1bd2eed57b92426fd4d278d6" + "a86e8be0f0a66ab3dfadefca8831b2f488636251", + "145748871a0b5c1cee628de04a12fd68ff2b154fda96e47afaa96389d66d22802968584f" + "6753d36618d49ed205260f09d3f5ccc2b27a34390ce58179b9834ff92a86d66ea0a97ca", + "0406cc7ce2782dd67cf1fc16f1b24ae46fd085b969d936fefc409a9bde354cfd33a154a3" + "113e837cfb88284d75a96f5fbe85274fdd0990af4a033a6c40b904a5e0f666e4d8b8bc35" + "3207adfea166087502657bf9e2c437beb2f62dab041553a06411f6c9dae83a2a2749a4e5" + "a2a36fbe23d40816b1b8d206b9f5cea20ef200b9150061ca22fee2076e31c88d60a006ef" + "4c", + "26c820dc92f97dbf545f51db7d5ba649333dde38eaa47d8a7edad9a3cf3e6780442db234" + "632458ff17e1d7b70019916708c128601ff547ac84dfb0173cf0a3c5d69ac96c3d7d395", + "338c88d1bbd0b93f3f1fe1ccfcbda65fa1667ec471730a40eda87f57b3eb63d979d8d6d8" + "19b974619799c90b09f33c051b8b522c3a1acede101857265ce1b58cc7eb5698049f494", + "3637bf89f9b66c7ebd8f91a8324eb70a510284b39f0f2e45578f26f5f1e4504ad70a3894" + "27f4d58960cbd918c2f8279de52096e25a1b0b0c3929fd5ef56bab6cde7c0d8e9d2fb30"}, + {NID_sect571r1, NID_sha256, + "0cd2a45392871c0c262e7e6f036946354bb41f9c2187b8c4d399231280682f3e0a09731f" + "bfd52c76ee63b9828c2d731f4cefee0a8c46419c398205b2ff80c67d7756db300a0a8385" + "fa287dd37d9126f75998ae1cbab5136560592118db52fbf102b7ff0a1ed45b8a91a7d99d" + "13a0f7fd4366392264aa1248d7324901467457ca", + "3c71911d24ad19c20fc1d8a044d63c9bb417abc3778d7e6234c6af79b898cbfc2f278724" + "4708d2fe203be786edbdc4c9b12b413156b7b0bab0be8af895d191d853cd58aafe1ccce", + "0406cc47aa586a73acddbc91398ff5782457e6da2b10e265153c678789d3d7fcfc485b03" + "b089eb67e6d6955d5c8c7ed5f933d84853576e76fc60332e5f0a62c3ab23690317bf1b42" + "3e015604d94ab9f2ae1d74fe46b1a070160513709de2ba8e74fbf9922e9bbe7f6e743b25" + "701a13f73eae0db0c98dc80c5f8528e16610fcf18f60eda3357ad5878add2554a6befc9d" + "39", + "3681fcc5fc1f0d7d413abf2e44cb5cce9a4a252ec449ec4f550df4a172305eecc072454e" + "fe2040aabaf4fee58ed19c9090061d3c4835c5fec38996f013e5512c0147cb14a4f0fe7", + "0d3c26796bb86b1a20ed4935bc3824bcb9742513ce91a66dd523a3c0d8a5abe63488aabb" + "806b5b113e90d3f3c80e3ffa01ad051e6b0d4edfc641689953ed65fafbaf3e554be31ff", + "2e3129ff95b06c274f7ac08882dc1da6660269f3dbd21a3e48377a628f6d81326084bbb8" + "d32b794fcbde8e574f853636fbbaba480fb36960b0994210bea319a99a46e29b79217b3"}, + {NID_sect571r1, NID_sha256, + "e97092625b09c9ae6e152e1cbee207d83361f34cb9b0e727c816a5ed851f12f91fbf88ad" + "9d4c8f9d07350f5d828fd8574eafc768bc72a2b18aaf4d2b48fb10f7c3431137b5185015" + "4de9706487d69a40a8f4cb2c799f48c5d8f518aff752500de93cbb94ab04ae1e0c7183a3" + "2d79a27291dd07b5fb6e6a4fab76e85c3a8607e2", + "18bd74698bac36ef11add6b3e3fad227ecd868f370ec04569462565d2f0af2340bf79348" + "6953a7b79ab04f0ab1f0e4fd16bf6b576cce677d543e73aa8edb0e50372f24ddfbff966", + "040231f891e63bc1c43377faa56c5799eb1c877954ca2cafdeb4883ae40bd78816ca5634" + "f48f5ef5c22dc7d3d0df208bab4149815274d7b134cadb700d166a5e3fc73e9be1bab725" + "220469ea29ef860adf24afdd386347763008ef6fe2488d902c4d513bc0183fc52742782a" + "6fe500d6b581902ccd4f9bf077f975bd5fa89bf240723b99f726c9fab4f953380745ff9e" + "17", + "1590570de563ea96eddd900e4a0a7efa2e4a0b389854e96af32bb7555f098a8cb52d160a" + "bcfbde65998c34f91338a40d40cc03e4a9a241d3b16b0e893d3f7ffdbf8912f35c7f538", + "32402fbee4831b16d762ea2cb218279f4db5e20bc8b6e2e53e89a2ef3646cfb0abbac361" + "16c8c708a1342db2fa0abd39d149e09db57aef65ad8092f37f7962f98c28331f0f20b64", + "2d1e38f40965e2697abc7df5896cf051ce5646f135d1ea0bb470a43250af8df0abf2a04c" + "a1e0f1f31013025b4136a8a6bdaa474bf50752c571f883829bc3a5482ec20e2b4a72c90"}, + {NID_sect571r1, NID_sha256, + "ae6723b8df5d6ab5fcfaa22d32fdf106d211514cb1892c7c43ca6cd85c2532f85929c8a2" + "59ed251215063cf92e1502528d1e22d5cf67efa0b8ef21e8eb2f5dff881ba1433e8bcf2b" + "6af8742ecb2bccde081e534615a305562cc22d3398f61f277d8ca785842bda85d8a40438" + "d9bf1aceaedcfc22c85533794a69cfc320931d3f", + "335699bfd058ee2e6163f55d1816bf3669acea8b73be9c4ddfe775230925e6093cff7a66" + "813adf22222c8376faa106d85ac9f3c67929bc58d8986795b6d35d5b9fa546dceabbedc", + "0407995e02dd3d40f9bc2e6f4cb1c0d29923c9022169e64532d1b357f36264d18059c44a" + "8617a6f1136e72648c9051a27714a0dc833428762275a1b5635a3ad91e65d2713236c20f" + "5006167d5839cd4476a638c50db218979a93da44dbf97281d90daa8b9b530960c689279f" + "ff6c342af97880db1e9c5ae57b91d7be727fd1c6210ec59416d1b675f4dd666e0b121d14" + "4b", + "3f037ebe0e4c3910953e123becc09c0862490e7f590245c4cdf9ea5fce930a7d7ca5d17f" + "5689edae1ce706b90efdf84cd82e06e4ab95e9e2368db91d50110eb91cf44e50cdce2cc", + "2baaf025290897a5d68c5e63543256523fb086a6f1166ddfd3d50fb307e0f0cf78b5fa89" + "5f8b71944a7b67b8afe5f3e10f2d248aedf573860c42cd7aff258055ee7cce472e8efb1", + "0f4d239f5af023ff6c94ad7f66d43201c7e40262cd92467c4ab54be8d2b8e6577d143750" + "64fbd00a6327da62f03f75262392add0ec119d820205065aa6238433fadc8d1734b8481"}, + {NID_sect571r1, NID_sha256, + "ee20c6b61886e02ed94359dff3559522ff550ca126fed4b2240ea7d999a182b7bb618c50" + "528fcbd261d5e497a991fbac0cf4c105c0f664d6a00a9001c1ed522962fb44dd4159677c" + "e8f1531019f86457c055c9cea6247086cdfe0442485cbbc4386ad002b4bd39a1a1877524" + "37f04569705cb7adc0c68f0fd059d946deb63f0b", + "2c3eaf801330b3f1b0504f2399f1d24455db29911f750c246ba0a134c3b59da8b3562911" + "197764699a92ea1d95a2aac587e24f743df1dad3e1cf7edf955203e24a0225717f8d2df", + "040703d69e2dfb13fb6e695b0b30b31d89c8789e8523a7eea15673aeb4f1909192c06c27" + "558eb55f0315f395b1f3ce84d9c304905cfda1d119bec33af9ade4420de2edbe75cc5460" + "e3075e35b2d6a8550969d49ac5d656afacf68d3a1dc6d17666f46ce3413c855b627f0891" + "912e373af2ba91211c20f067d66056e6bbc0814ff3921d944008b25d8772cc8d696bfe1d" + "09", + "0a9ebaea478893aa0e3bbfd5d007bcec5ad787d9bb5a8e9b8b79865c584966f0bf040d36" + "f62a8e97c123d2adb7f38eb49a86e9c2ce1294d04fef1b6fec7908c4ca1a70bd1699a9e", + "2d495eb5f6fb187a0ee1fa772ccefbb969e854abb445ec19ac3860f40ee65f53b92f6a79" + "7003574bccf0b9de8014ad4e5745ed264eb3ae88040ef6518809b4c66f691d496a85d51", + "1840b2977ff137f2a8f2f7c25e347cf1262fd128e008e30e4752315deb5231098c65e9a5" + "85496a9d6b5b56cd0b6d7dcb7150a077fd199be2d2de0262aa84dad414e100ac6162346"}, + {NID_sect571r1, NID_sha256, + "734a9eb8288e32f5a67cc1d88704523ca2c68b798d90e188d871d9f50d2da2063baf1ee6" + "685c45832a1818aabc9afc0bc935e97969dc983a484f16d2bedb3c7c0b8221408be2480a" + "5562d5d1e5d8763d1e474bf2826aa93a68c3b870e3bf34f4941cf590d88e1f5a8cd782a3" + "3992213f3f6b4b4f6dbfb3c3c8f21f5eaf4ef609", + "1c3ff067497e5d387f31f0ecc9c67b3c0dd6ec8c81318c492aad83c9dec6c99e4fa47447" + "f6f7082d636c2591d0df940b947d0a4ae3778e2b7cc8fb92214638399def894ada276b8", + "0402e56655e37b3e753f35eedca95f8ec07b7a3d3e14e365ec041cd9003bdb78a7a8b8ad" + "277a67da5d63dcdeb0ee8d8efb68fe61aad9b1fbef4373ab13c44efacf68cc499faf5b5d" + "be047bbec643d74874b77f0fdbbd2df3f3ff0d35f4b3e1534b2c4d5c76b8cc51693a70e1" + "7d1d4cd64713c5c05966c826458fb5411ac840ab5998bf3cd64a0769c3e075259a70aaf9" + "4d", + "149848f4534eeeb45fc38ddeace59e8f83f0bfb4cfcd2b8b7acd0bf19303051a6a8fe75d" + "4cdec1be036645beb075c772aef4a58785c16d984eb43b9b0317446bc3b3abfe7ec2cb7", + "17eb68556224f995733077501ed295088cc1184fa3872f5f11e97cf67c7bc1febebd3120" + "6a406c4479b60246a517cada5859d4f1aeb98dfc108e96e9898c6e71e59e39b6284895e", + "22904497dc7a98fbe117e4427d74f4ecfc4e14d4467c99227427e3abb8d3dcc406f3704a" + "7783d822ec1118a1d91d5945d5b902a2ad325bcc9c17c68ddf8b5323df9c2bde392710d"}, + {NID_sect571r1, NID_sha256, + "68e27cc72fec8f3f1f3882c6efa08efdf21d74d13be5171da35ef2855666ad2ea6919d21" + "dbc1cb6d296663dcbceeba2fe47a2c6507d3d4a67a61b55b0f81c93412d7e1fbe15a590e" + "342a05f55daa55f8591171303154e615e81189a523b855829a5c96621ad118f522e397e2" + "eea05c2603eeae6e3591215e29b2289bc384d8d4", + "04b4e04281b210fe78d516a5b69f878b7fa058941ee9ae8cc63b061d1eb9e12c3e0ecb87" + "17ff4623ff5bbbcdb53c48adbd9c69636506ab929c5507d7ebafae5654aad65a263e48d", + "040538049d071158c62f0102fb664a47431afe320474a173463819d5f83f6737b43880ed" + "378470d774d32ad59cd9d75e5bb06b118f1297af3f6fa910f40aaffe11e46cd56cbd29aa" + "5100a4a843af9841e2427357bdf26817656637bf4650e443ef303dd458ed092dca3cacf2" + "857d10aa190c256467ff834bc804f8557f6c3bdde89927a5f2bd55bb9d9f1f08a044cbc2" + "08", + "1191110485f56335f0e65fe04b9ad8fac1c3573cb4690db3e9f62086312d394b0e354890" + "c0f74e3df7c43e718ecf18caf6904e03bd6c0912f906de1d2bb4c49823bc6c0dbfe37f4", + "0dff371ac365cb7de248ddb2b2fdee624c527c6c1908dd287a294bb43a4be94c130bfa83" + "710b0655f21695dd91703acca64fe2e7927eaf9c2b9b230de8002798224f9505379bf34", + "2f30f31c863bdd68fae16f97fba756e033eada18cb0a23d7d4b2c9ea3c832e61b52185fc" + "d654d9eb281b92a9b102c3b17ebf02422a0e4a7a56a73974208371ef65434c38f4d7d1d"}, + {NID_sect571r1, NID_sha384, + "e67cecedf35058b80787589514a9c81c6b9f4bced4260411d2af75bc46b8b2c962dc9d26" + "0dc99ebbf8ee64950766efc0e394184bdc8e2891d66bd3300ecc880e9d6a3d0eb6153223" + "78afc3dba89938704e9a8d0c949d4bae9838805c00377e3fe5ec6a1a98ad7eaaba6b5009" + "73dac48b26b7fb2e1b9889f8c387de535d4b2363", + "30f2849a713aeac95fde5ce3af853e9d070ee60709eccf35a076567be2c43f0fa34420b0" + "fc097ff577221275a3a56e759efc32183be2d76058a7d20e5dd59f00415114d73a15b8f", + "0406d4ed3cf180e0e307745faa49247f269c3fa0a69042b3b78ad645f43eaa50d479622e" + "27429a6b6b1889944f85975fec8018d3321ed38f6c7d91f2efc98467a027ba4a02c7f231" + "b405f2ebf6abf7d53fa32865a9b6ada9bee51c1fe26cad74dd6ef78f13872f340d641700" + "31becb5073001fbca373be4e32ac3425d705ee942e6c4e639bf72379e34776680a387a0c" + "6d", + "0da9d8647d0950f558a3831b47858168b3379656e603f2bd44046ac7546892d1a7318c5a" + "9873c6ff85683edd3881a0f1af5501d17939f0825ed37bfc9a2d95faf43d3be92b237ef", + "0fc7eaeef74806606fe51882c6928a06bf552d18dcc4d326d44a540abb728146657048b2" + "0e5fe2868beb5f04f32d43e9ac23a7f22c6bf325bca24f5e3161c868911ee61baa8a3c6", + "33d63693268f3762635373fc901fd72e525965ac17e2cc009177f03bd3524107b30e4c6d" + "80bbc4f87fb1f288ed56812994541fe063f1d91afa7213bed8be5693dc6c17ec9a0714f"}, + {NID_sect571r1, NID_sha384, + "2baa1ac3f07e34b67b6af087400f261e138b070c8475378063286c16fa73578303380236" + "a4af2484ea01ba56c1c619f6ae4e5e6ac2594c8e5aae7e7f196f96fc5d0f507bebedd4d8" + "18e77b9120e5b4bc01c7ab6339e88b71d0886631cc7fd89659bf513faf149c61eb14d550" + "60c8dfc7e6e4c2b4ec8edaaa6bc36eca50a6feef", + "2ebb73d04e6e5361e20629e3ad119b33db5163ed91fd9a8aec4b774898784b6822a08992" + "118a8fe6013094bad0be1e9bf01b27c069e4335bff7e0abd28a10443818f6b825e9cef1", + "04001710eb0167e8c948d381e3a75aa1e036b70c414f69260aab434ee20b6724dd7393fc" + "487b5b3822e5e8065b06d0785a4a7be7193352d5b9eee66755ba106ba6e40f98a08c730a" + "0c06006f98fc25a641a7c6e67fedd37aaad77a9102be3e1e7d32dcb4c68029e623a42f4c" + "a7d1ea725bfd475756b80e18904107c460fc03b9bd68aa46f9dfbd60618670c4d9a68a32" + "87", + "1861e2a356a6fa8096418cde7fa17f1b893a7b63810f3fd807a82bf4c745aafdc4963eb7" + "a0ad0488a776e915b64d2b684e46d244703eb63b77835167908f2d6b06a2ed7b53f0717", + "046688e12d26cd96bb05d3f418d8ec34f4426f594acd2bfd8e9abd79405e612d60737007" + "440424bc4f546c54b7402d11880f68edd996f49277b729450f7dda5d05986b014b5244f", + "341a80e74f3a69b966ef81ae95dbdd60ed5a0446416653c4df431ff7c4b4272665a52337" + "9d76725e9fbe196018f0e747100084c823b95d7c7b1785d3623e52e9adbe773b81b49d3"}, + {NID_sect571r1, NID_sha384, + "0e640581f573068d8ebd2899a6aaeed0bf987ee11e22b05d25e88e9a1c3451f45ee3800d" + "976f4603c18a041febef07a01086832a6f7ecd5d498d52e796a9d90758c87c36f4a5b704" + "a39c456aaee2d5278183d5815d619c193da9fbc427d701bab0874bded848cb4bb066f56e" + "119b637c78aeb6eaa387c41bec6cdd4bf7b2061a", + "1bfab717d6f6e16d9bc6e89d2ffac7cbe0f808cc8ca2eb515af7ecce5f3b230303775710" + "a21bd25c2cc4566bb53c78c78e3774a9f306c751cc6e149929e45eef60f56c1d2388c6d", + "0406935c3e8b58f7bacd045e745054c227687800ddd86d6e0c8b1e426f4df0e4b71feede" + "fa9172c43becebbeee8ee382a75396fc5f29ef3d2cc55f8afa9232038609b5034513b222" + "cf0138463efe3b32259dd90b759062f848deda84f2bcc0d687c410f1ad2dd745517c96c3" + "451432b1e490902208cabb68bb872ec493eabdf1f3b07595d23a54c53e512777abffb7fc" + "65", + "00025bd48e2dbbf1ed8bd9c1514303dc503dd0799c7815870b902249cd1d7368380853d3" + "6f7fdefad973700ded1e0d66950181b0aeac73eb622c880571315f09504ed26e28e85a1", + "1b9d6ccb19b208022d3a579a66957429682517e84a71be42fd571fbbd0247609d0b5b338" + "08189efb52d21e6421d3b08821d82900577791b1c54e239b0d908bfbcdc060cfedaefb2", + "3356320389ffde577496c5b46a0de6d53005f5ae3489c0d292c5f460a3b7adc5bd204bc5" + "0a3bcc8538e0f8319c79b9024b065223b7ed9b0f211c5c224d363f5bdfe04db97f99e19"}, + {NID_sect571r1, NID_sha384, + "51a2a560ba226d629127ce1ea7e812219ceaddd23561256331458c9f11fe73990f21d0dc" + "d974a3773040090cfdc8e0f01692d951a0cbb60f8448a016c67abf46a9c150466ac77e65" + "6ea827b0ea7d1e77ea32071ba8314fc8a2edf69008f498bd1c18061d7d00f3340a7e2cd7" + "3e9766862378d8702e804a1870b442beb2d0aa14", + "00cc53bf7f1cad5e3dede4b4f4b082831604c92dd2b147869cdf1107259305b1d5035964" + "7f9f3d7d4e1e608865c65dc7c9ea46bc324dcb8423b554dc369d621743cbfb592b70eb5", + "04020187d7de90652caf1210703ef65cada3b88f978e14ce6055847be7127602ba7a5391" + "cef0fc9b009134105da7b09b49beb7ba2f961b84e6d66bd818ea99ec106c6e8428b17394" + "a60197aef36e47b571ccc0b41f948392d6061060063137d8c3b999ae507b76132fea1563" + "775be555616cb5816b9b19e42b34f9673aab833f4beb9d1a0848a4bbf2f6f44cd0398274" + "8c", + "08acd0f8f9660d21d62f391112908be73a4342767328d3375a8806dffd2598b6d77fcb47" + "93e69f2390389a78c2b11866cf0f03666a60ad088d2c77bbc49fff6efc5b7283d02bf36", + "1004bfb78dc0e4fc0f2624bec6893d717a476fc76bb5c1d94c1dbf157aab5d1dc80f98a3" + "aeabaac94d9cf9e26e1dd172f5d8fcd5b2d48cb3b7f0a4863813357b5cf8eae84478e44", + "30b1c8857977181d12c53cc2efc53a427801cde2890cf2ea2c99c6958b6869d0ac78ee2c" + "846c241362c885835af49c47d20c30f3cbfab27d9cfeaa6d858694bab059229e30bf845"}, + {NID_sect571r1, NID_sha384, + "90eeecff0a2e37df318c441df220dfea013ef29774ee92a56b213e13a798858f31e52b6c" + "cb7599e7314f12b48a89884b113c1ba0526a54f3e9a33c940944319e084bff320cf5f391" + "c02c731c4c4f8b05afa273374a1705d6c85337782ba7d36b9c00767180cad6422c11c581" + "672ff631fa4c49d41b02481568ec87ea97220400", + "2b009530cb9d586e35dd8951ccb686833afb7a37ec253e547e85b253ba999f0f186b6d4b" + "a41091615fe57678e9801b4dc94fa683511da25637b2acc9fe60936be15af16234c4ee7", + "0405913ab6a2287d946b5b6d1e6c3d64117e085da7cf6388e333cf58d22494f4b067c684" + "dca770ddbcea5db73f048b296e9c17284a8912b3cb722d9eaa17b6b1209311fb8e8757cb" + "f50007124ac6c48ac56746563db247bcfe6b20215ccc5cfb1d43c923daa07d429c8f0513" + "bd1ff1180ef0f7927fa23fda1af25d20b22c935c426f9ccb402c358b57b812516c431117" + "79", + "27a80a19e9c320b57146845fcf97d6debcffbcae877c33c62aec62a3351ef40bd90ef4c2" + "ca39f9e51086931d82eec4ee7870365cb14e9c54ae735069801ef12c571bf1c7c1cf6e6", + "1de22c8984c593a0948164e6cc8631489133972482f6a7fb1c3c13f97e4584604930d369" + "224850a1d24f267f41bc6fca04ad79326aef61f0d429e0e1b9e9d9686ee10f2bc52b104", + "085c6b34687081e280a180cd0c4ffe95cebbb0ad6d3b20a7341e467812f88c23973701cb" + "f3cd2bcd2811415d0bf0cd9df229a88754f4cb0c225a2d11f57369a29edfd7b04639055"}, + {NID_sect571r1, NID_sha384, + "d3740cad41e2e365d80ae81da97fdf06d8b6c278b505e34cb683fb55ddc5189da5435409" + "14c0accd405dbf0063f6222885fda4b316dad4a83fd03e8d7b7e936f87fc0a5b095defc8" + "a4b22fa97f00b394e672d5efd3e0a230c7e44dfeebda88641143502a400ed62e2a51f956" + "1e5d652a43d616f16699e875deb9610c77de8e1c", + "2cc2d0d7189cc8fb3565a039aee7633ddc00ff427cafad32fd2010b10fe249c9724d9178" + "5e7080203626038109158e3a61a3970aa3e51688aa7f5184b22f63af63f80d3540ec023", + "0405fe95a030efac2e5d9522680da58606e3e7544a317a3f24d726b69238367d30fa5868" + "64d8c143c3695126ce8dffbc7e7fb789f956dbf53aabbc38af988ce50f1fb30294ea3e2d" + "480193d1e745d82781ae5c3b3d2233e502959d6862fa7987c6416584504f65639ca76557" + "8378b75d3844df179cefdeccff3c4c43aeb8865063e176fd43a27c93e329f8d4f6fd5bad" + "21", + "02df3920fe4d328315353ff11b0264045248b32f48e860dc59d931ad65f39e97e3a683c7" + "b5c64b21c3fa50a9685fa11f49df9b14ddaae03eb02754b01e03f60fc6aef1e5d6d7d3c", + "1b91c4217b1580cfab56812c16bb5aefc1534ee8d049aa2e1d52a5bfc11519ff89f0d36e" + "a2bfdfce8b5d3cf1527dcf700c0208a70595e9ebe4feafd0eb597e05df54212fd6eca3e", + "21ce52440267fb16e713eabb8bf2d502c81939799f9d09cf48a50dce5da999f3b457dcd7" + "3c212d5d070056b1f373b07ad06e90d96febb7f8cdb4c423ef946f0799c038a3ee68ff4"}, + {NID_sect571r1, NID_sha384, + "5eb53b5f92121396c5ff30e0c92da48db4fbbdbf27297f9bc82614ab78f7fd863e34096c" + "615a02e349d8bc7ae4b0700130704bedf32756b5ee6af10da1cd717d624fadc57a9aa6db" + "4a6c5d6254c0e8f8c3c0d4d03c264eeeafd52cac2c1968d9d85b106167a49d0ccdbefb20" + "bdc10a2555f8149203af52853169a02db94e5e2a", + "3d8936c00c131e38c6566d2464c4e207c878070bbf681695a6cd98cab2c6e80fe98cda80" + "c66a5cf584e90a071144dda59c07b8fc7bb42464dbee5b6f739b0f2ee5fdff7e5a4e7cf", + "0400fc3a8a320e816305772bd5116cec2795d58633a9f490be8a1a360f21d2aebed6038c" + "a4a5081288b6bdb1066307c26897ce38c24f8ccc98a63e371ff6b54f6016917b430c267a" + "f7069719c868d8fd25a38a7338811904e3330a7b2289a8384bf24f6dad5312160f0093bf" + "556fa061ca5e52d6676a8f1a3e4656740c82d3cddf0ac4f903ea885d42610bf1b45d9e57" + "a1", + "050da632cd7aa58340adeb20389a2cb9897b8ec944c47e7177da65d9386a9dec5d63be7b" + "b2d0f5b4943932e1fd7d87d5d7a80bc50a63dfd101a6a28005c894c6a6fa4c652dc519c", + "0e6152b9050127bf306662f6beee81d024492b91efe87a56e70596a4a72cd02dd2f10b97" + "0c9a69909f85bf4783dcd3c32505d7c148166ab43b503ab098b6d95ef09a7932359f60e", + "1f7d68d53ba161b61eeb17139eeae1587a6bd148e288c1f73a6bfb3a0d1f6dd8f9cdc27f" + "a9e8c7a681410500c097ad01f320303421f1239b4a9c4d5446562b5b3cb2fc45a6fe239"}, + {NID_sect571r1, NID_sha384, + "5aced64f702a57ed7fabd045a40c967a485d2a70b0a5e82561d5141ef329469b2da5964a" + "34df203a980111a77adca376c643b9030aa74516f054648c1534d912ea66582adf3c655d" + "bd71ca55e47412315df5e2893e43b2e2dfe6e4dedf426f11846ebef34a99f5615460ce04" + "75f7bc54b4a4fd99e83c982097c3136ac6188a5c", + "3dc7de970bce28a943d7599f2a9010fc99435b93bc4ba884d42503ac2941aa63fd07db34" + "bcbb1127d56d6a4e277d6ca32051ea3467e376f74f98c3999d2f276b282ef8a28cf0cbc", + "0402066a50b9f961a58620f473fcf7d5eb635da47f4ce362f428669ea578d50d1c1513c1" + "45adcc03ba98f3d67bb422141c73e2f94ef9559ccfdc0be20eb206d3d114a5db302bd075" + "1f04437e655bd255e7f013d197210bed70c5c1a6cc1daccb96145c9c438c8a44b4074629" + "830d8df9914166c9378b33040d71918cdd0f47fa64b7c69f43eee0f34414b8f64882f90a" + "c3", + "3b2e20f4e258b7f0cf69a460fece9b4794a12a37c0f8e7aa6f4f51dbfaf508f6f1e0160a" + "b4388891efb09f0ca1f73178f0e8598750c9debd3ff856cb3a2872762ef9e16487a9513", + "2f265aa99ff806ffeacbf9ef7be575ce5300d3cfd4225b1835774ee075d7e530c9fdcd68" + "1584223f84a497119b4eb1fe34cd31d654c2fa262d7549acc251cece9530b26cfa3ab35", + "2c05ce4b35544bd1f20a68eae7f3483e0a0628dbb53f0466166257f69a7a110d2838a76d" + "204e7a955a8977508e65f2ef6d7deee13e4e2ec0f2b9a8b4bedc26b3502813b0334a1b0"}, + {NID_sect571r1, NID_sha384, + "43c24aea343d4e088bea25be69a332c631275c36677093e057de69cc83a4c5e70ab270e5" + "a8930f55846f1a22ec10e03007dcf0942c6761e89c65c6a4f032eed97dc3a2c7f7ed1e82" + "552fe48828a132ba16c41f6bd82a49335428a24fa1679522000e6a1d12c646e0e4b4c584" + "398577ea9493bb334fa3cee8bfdb6c2e66f46436", + "2de6ee12eefa7a4a736484b19b42a513dfc059a060976edc3b0aa4b50e98d72df6506fed" + "0499ff8480986748e938289e54a5e86c0c29733a9bcf5985aa63d8a2b57933a04a8e8e0", + "040073fa1b62d469f2991d54f1472b60da87ba51be0a9dea361d417b91a4a75373695e9f" + "27b3c672322315d7b566b1f22b96c54adce3e958080fa8a02836955f6264dad3a87fd11f" + "060452c0a07ff65fff741c96851657a5afc7eeca239622e1260414ed736a04e487157c52" + "da98a7845bcf6f311e0f2e59bb92248b6d47dcb93da6f7e0af644b7aec7603a01950293d" + "8c", + "1c87653066057636f9a98a7c69a84e103df480a92739abc4d5ba53891591e3aaaef6ef3e" + "f5e89213abbf71af9c84d3b30898580e782f557a03694446492afb05ab801d7dd631c8c", + "086d539546c61e82d74319f0180411172acaf08b5296dc6435d4ed7bd50cf23d3a071deb" + "3be01f74408e64ad244f069cd41227ba127145df5a357489f944b61606ec75e8377db81", + "0a34d9975fbd601614d04aa41506b03fc15189ee8102c0431272d691a322f3e77bcfd19d" + "8bddd19b307012b6c6349f5ecf88b5a69e83588b0e18096117f207304b38c16a9a8592b"}, + {NID_sect571r1, NID_sha384, + "e89210565959d93b483659e62cf41f0a0147ea23890c2f1a694c377a826165e363860e4b" + "084016cda878a43eb68465f81f397ecd50087a25215ce7c4ededa3552218071fa3acd7ae" + "380655fc8fa884998209ffc8a2c26f1ca19dfcfee455dad35a4e72caecd8da47eb9ee21b" + "889162f5d3032724abfd1a31e68612e18bfa9006", + "05468f0df2c9854f5f655743e79c750fd8812db28b096d97207bae7f5aafc6b6090c9c63" + "6ead9e0fde32a1ff8d539b53813733ca812b41b58ff85a941abe4f128d59fdf9847baa4", + "0406591750fbc104f82c213fe88aa620e8a960fd6140598e2e6282e0d5c5ecffd09d22ed" + "94166109561a7f4f694e171189056d8b300b54c8134485500effc7123aaa23862e897912" + "42005bf8ec10a9ac6a92c54e7fb2135e2aa4f84da571d33227bde0aa2e6c153207488223" + "5f3103d9a51e80b7a9a19067f35047ddc52462db7c634c291e8fc5eb2154f6913bd0846b" + "88", + "242308c430de514be1b9084a7e6c96894cd5615a7c71ea22316e539986e9702080ff6cee" + "f2980144c55d9749830c20c9ea90b93dfcdd28fd862b6a15748dbb3d982e4a275129c75", + "361e1b7a0f981bcc65480b370c5e09b1c2e2a67cf41646f6a3d829f663c0911589223740" + "0317601fcee78a04269411d267dad3e8fc6f069529fbdf0bcf9b5f13c9c6de1681e8b0a", + "2620c29f86cbf698cca5f79de364ae131345a802c0cccfaefdd7375dcc9ba6ccac91f709" + "43eb606506e51e2ced50491eb8f48769810b6dc178d56702838f1c2f0930f2a9e4f1db6"}, + {NID_sect571r1, NID_sha384, + "48629ec97f56273599cd9903f8a84ac2ba74275b40e1e42fa47649568babe05cf63c8417" + "d828251acc2eec525b56dc9082b68d51b0c2bbaa7389fbee15d058cf482993b2bedc5a91" + "01f1afdc79989a812478245d191550109fc17215679553c508c84e3d4cfdea377088d09e" + "b214e6f92410facee4790beeecafe72b2e3ed192", + "3d3c6a7ab9450c94aa3b8a1ffb678e5b647af24cbfd66ee3944e6f264f406295b8037674" + "71fc67936fdfed1714b4b8761a07eec86543b7c4da6bd2fcb33fa8cda4077737f398e18", + "04042d536f1b15a22f4ba80066798d8d1c2704988eeb9423319c1850a1ae6bba4097307b" + "515640ed3112e93f1f6ae67c60a4b0d2b6634aa7038a60b52b2b447fd1651857b71711c9" + "75079eb18cc7493a1c7f2f9b621969b9ce9ee37fc0701f6cf56f5d5dc6efb13a384517a3" + "87f253aae1e93bb0a919b0c22e4d6cbc79b449b268a068b7eb2853324b96715d75b8c26f" + "27", + "23ce112d60a2f7c29d77d64acd9f587e0eb75ef8e739b8548e154681efc24243594eef5e" + "33d845b1e4e89bac56f2e9586e042e0fff38bcf79c73fc9aa5fc908261df5cd2c6cb821", + "3a770df8a2bc35e122c1bd551c38400be47f2499ff57618ccd01e14a2e35e87a67b0e40f" + "9a10eee7efcc3d37b474f2840fb8c24a9adf93734680ae6b25818369c8608a2f8f338f1", + "0728a4eae5f5638a51579e224a24ecd4c997001bb8681e23a7476fbf78b4fab84497000f" + "20c1e67e8a4e4116498bcee49ff00026009af31c1037172188aacd264fde8db15c97167"}, + {NID_sect571r1, NID_sha384, + "aa3a9fe467b1ca638dd0622c9ea235a418b39b2e15ad81fee01b6892b240783d8db3c72e" + "16c13df8016dac6addbfb85232158325bd7432fca3b8bf5db3abd0b4c5ccd0999609dc42" + "199ca4680692a0805cdd68108bcb493a558ab507cec0a2782a9e976928985352edb2abc0" + "c07078b59d2fd86fda7fc76cfe573181d934c46c", + "01ce010ea8e6e1a0c26ab22eb90f0700dc73b232c429d36371e68e429792afb7223f1032" + "7708bcff779ea55fb5f22ad87aa054e84d10f5450f1bc9a89279062ea2173f55ab0f76c", + "0404b2b5acef5921e691f10ade81b91ba8e68e73b33a2494cf4ca6617707861f334eb07c" + "a96dfd681dd63f78102f8d792d66102117b739d477e431d9a3efd79bfcc18cea156db58a" + "0e07e421337d4cb7a98cf9c9c6fdf9fa242904d9906d8a6759ef64a82cbf923b2a57073e" + "a0eabd14aa4295bec84d50a1722fecad3e5f064bd3171facdfff45b170e49f185a3c193f" + "2a", + "326b62065b7c779dc398ee03a8332cfb940b0f24a7d3de4a90323d9e390ad3fb1f0036ab" + "f6f525d8d88ab6641302d10db447b78780d366f32ce36ae571e323124b21984c48aea7d", + "3d2b207b428829ed5100a92f7276e16978e374c734834b0d627cddf6aff5cab72dafefc6" + "c038a91426e35ee0f2c1acc11c55a34a89874100b89588aba7b02e19490e66eb49ef6ed", + "3259fef5c2a0779ae408b26e6c7d581fa973156cdb07c329dde0c12b6c498e7a94577719" + "865b7fcc0db078ba72a27bf338ec6b8aa41c15963538c329c55dee67833faebe3b643ad"}, + {NID_sect571r1, NID_sha384, + "6c3937014361799f1461f652841b5137eb0dcaf01dd293298d002f27e9a770b9e1a30367" + "e35c04603881f0c814cf8ecfbe1619cc49cd516b1d60d27de37ed52a5e1cc300e2face46" + "69f308ebe6747255a3d386f16778e494a7cdd10b45171b2bfcdabd91b805bf24857708c1" + "b75e368edb2874321324f83a19154d3a1578c767", + "1e7410d012aeef02b3723346d24ebafd684c99087ecccaea1cf3735d52c4c81dda41812c" + "09f1e874dc964d858ca240a19963d5dc89451f5dd6764426ae41cb23f19cbfdca0fc562", + "040400a3bb3ff07a339ff98f7c45fe032cf42c0e25de8dee2934ce42dfb0c9894f4fce27" + "fef299b41beb8579270efc7b01c0663c3f72d7bdd9f6ff5186eca9c42d15faaef8784211" + "a5006fe998f7a0db06efed050d178865a2b7de6ca7c789cedff7f2158a5e07ac1d335ec0" + "dbd213fc9465399028fad8b7f4d2cd16fb8ceae4d3d53abefd2b4037efd7f7245296bfdf" + "9d", + "2bb0fb9c428e42482d5dbdb35157ad0fa713fe732dac8604c0194e3f9738fac5cf3874bd" + "863718712a3da45b7c4612c8685465ecaec0930d9fec32ab25818d2f25fad580009b698", + "1062386d3e77043298eb88be46bd4e6f33c83a7358926b30ca06a6b7139815f6e1630f73" + "d352a2cb9bc0619d08a89d4bde1636c74b6580543ed743073eec2ae0037bea2b3c9228e", + "1ceef759d804ff7de526559636d0bc7930c096c7b959f04f8fec5d7e96129fba14c8341b" + "0ed84a64c6cce7cd5b058fab7f44dcf3e714544c9b6f9c1d46ce512870deb51856e9dec"}, + {NID_sect571r1, NID_sha384, + "12fea55ffda15db902aa6a4388b9807c89c193cbf75b5d2a4c95206fa43dedc45974c800" + "79933451bdc5b3ea015ed3ca2c54156dc61afb1bc82adefed1491302a48b9d3d2f474ab4" + "5343c611677d360515b93fb36da7a1c1b2341c9cce185c881c0beef33d43967134a190c0" + "9034ae3261f3295b79aebd3fe123616f73cf2089", + "2139839ce38eb879d266065dde5e5ea227244323b330e3ad5a0bc690f3c210f794cf18f0" + "d730693887548bfbc434f48ee10ed34cb41d52172b06e448df938170a5e17311cab8e88", + "0402ecf46b90616b534ea25cc9993942fd7576a1c4f2f443d3b1f56d4490bf0af669c9eb" + "9d110fe2a65609875e1a924bc4b9ed2ed2315047bbaeadaa1029b38a7a87dd8751d4128e" + "8002aec3a2f2557c7152a4907af68aa39485274f20927b2da70823440fbd09cbc308d46e" + "30bd6b705f615b7074fe5421ca36b4aa53861983eceae9a69649495952e75b0f060b5d26" + "e4", + "2e3412b61eb23d33ca2910dc25dd14c04d2c8b403d8077a72b9511d71ee9da6d7e1db093" + "b92287f8fb00aea0576f6712c56d80cc4e3554e0faa9c7d911e3d17682de831bf649bd9", + "06a3075efec81a86175cd1dc2bfe82e83aff1db640184a6a3ed7a0dcdef51aa0be0005c5" + "4ac05f9b65af265af7f2ec3d1d7c137184b0d695d701ff1aed194faf2efa98ce6c5e502", + "237d7ff92480fa7d6d1f5a0564a2608afe5e95ce2c29dd88853d1ad9d4d2beb8d1f0423e" + "db883faadd592394f52048bf2dc26d2dc19279477ed86621c7a5960ee3c3e2d345fda29"}, + {NID_sect571r1, NID_sha384, + "c8395546842ddb545d8ea3db4efe970453dcb06025ac3b7a25aa5ef62070f3021b9a1fea" + "91ff7055b6c398073e7886a6f71afe53c82c47b71377dfe291972503bbeb25bd477bf0e7" + "adc8a5d3f8b34ccd0080d61e121214e1b29802b711cdd8a6bb2275a2395c467ec2c15719" + "52992e448d736d8bd70ee629c75b5e32b8323a00", + "274f70fe69e4dbb55c5d404e39f5196335047113087f8711f2f67f2be4964e4fbcb86568" + "0758df1c401cd677b0971654b7a6aeb7bee0d6d80ac0de14d4f46f356b2d5545c185aa6", + "0402b2321e0a1df083919628dd8b4c318b9ded8a3e660ce5585b21e46843228b4d32da76" + "5a3776c181654aad0ce90724bf85b01b051d236342b48d41a1dbda1e9904d659c98a039a" + "97020227182fcf099d46d9882c0b0f26b0595a2a3166248898df2f3fd27c78e7c0b8b59e" + "f0ed6745660c0dea1acb567f9d943928864dd1e94f8eb6b5b8473c0c91485643189cf679" + "d2", + "2f234066c936625fca10dd080cbbb1228c4d2054cbdeafc8a0a248c0d22807fc92c661b4" + "f69586ecf9469bc4c22895cc73ecf492fb2165a12b027194d409677e7185de24f6870a3", + "3a48daa8e379b3b2f377049a4d462530c9ea67019752f4af4b4192b02d6e028386dcb9ef" + "95c8019e90e09dfc8dff5e6f6812df491906ced39befedf16caef614d8c174e7ea95fc1", + "33f18738cb26d88c8c048c58a210c7be70c71636dc62c022df1bd7747d8c67bfcf5ff2fb" + "3990ed35becf6c77755ac62aed480df55efea578671bd8d50536a10e2c0192bd42d78e2"}, + {NID_sect571r1, NID_sha512, + "10d2e00ae57176c79cdfc746c0c887abe799ee445b151b008e3d9f81eb69be40298ddf37" + "b5c45a9b6e5ff83785d8c140cf11e6a4c3879a2845796872363da24b10f1f8d9cc48f8af" + "20681dceb60dd62095d6d3b1779a4a805de3d74e38983b24c0748618e2f92ef7cac257ff" + "4bd1f41113f2891eb13c47930e69ddbe91f270fb", + "03e1b03ffca4399d5b439fac8f87a5cb06930f00d304193d7daf83d5947d0c1e293f74ae" + "f8e56849f16147133c37a6b3d1b1883e5d61d6b871ea036c5291d9a74541f28878cb986", + "0403b236fc135d849d50140fdaae1045e6ae35ef61091e98f5059b30eb16acdd0deb2bc0" + "d3544bc3a666e0014e50030134fe5466a9e4d3911ed580e28851f3747c0010888e819d3d" + "1f03a8b6627a587d289032bd76374d16771188d7ff281c39542c8977f6872fa932e5daa1" + "4e13792dea9ffe8e9f68d6b525ec99b81a5a60cfb0590cc6f297cfff8d7ba1a8bb81fe2e" + "16", + "2e56a94cfbbcd293e242f0c2a2e9df289a9480e6ba52e0f00fa19bcf2a7769bd155e6b79" + "ddbd6a8646b0e69c8baea27f8034a18796e8eb4fe6e0e2358c383521d9375d2b6b437f9", + "2eb1c5c1fc93cf3c8babed12c031cf1504e094174fd335104cbe4a2abd210b5a14b1c3a4" + "55579f1ed0517c31822340e4dd3c1f967e1b4b9d071a1072afc1a199f8c548cd449a634", + "22f97bb48641235826cf4e597fa8de849402d6bd6114ad2d7fbcf53a08247e5ee921f1bd" + "5994dffee36eedff5592bb93b8bb148214da3b7baebffbd96b4f86c55b3f6bbac142442"}, + {NID_sect571r1, NID_sha512, + "b61a0849a28672cb536fcf61ea2eb389d02ff7a09aa391744cae6597bd56703c40c50ca2" + "dee5f7ee796acfd47322f03d8dbe4d99dc8eec588b4e5467f123075b2d74b2a0b0bbfd3a" + "c5487a905fad6d6ac1421c2e564c0cf15e1f0f10bc31c249b7b46edd2462a55f85560d99" + "bde9d5b06b97817d1dbe0a67c701d6e6e7878272", + "2e09ffd8b434bb7f67d1d3ccf482164f1653c6e4ec64dec2517aa21b7a93b2b21ea1eebb" + "54734882f29303e489f02e3b741a87287e2dcdf3858eb6d2ec668f8b5b26f442ce513a2", + "04036f1be8738dd7dae4486b86a08fe90424f3673e76b10e739442e15f3bfafaf841842a" + "c98e490521b7e7bb94c127529f6ec6a42cc6f06fc80606f1210fe020ff508148f93301c9" + "d304d39666ebe99fe214336ad440d776c88eb916f2f4a3433548b87d2aebed840b424d15" + "c8341b4a0a657bf6a234d4fe78631c8e07ac1f4dc7474cd6b4545d536b7b17c160db4562" + "d9", + "378e7801566d7b77db7a474717ab2195b02957cc264a9449d4126a7cc574728ed5a4769a" + "bd5dde987ca66cfe3d45b5fc52ffd266acb8a8bb3fcb4b60f7febbf48aebe33bd3efbdd", + "3d8105f87fe3166046c08e80a28acc98a80b8b7a729623053c2a9e80afd06756edfe09bd" + "cf3035f6829ede041b745955d219dc5d30ddd8b37f6ba0f6d2857504cdc68a1ed812a10", + "34db9998dc53527114518a7ce3783d674ca8cced823fa05e2942e7a0a20b3cc583dcd930" + "c43f9b93079c5ee18a1f5a66e7c3527c18610f9b47a4da7e245ef803e0662e4d2ad721c"}, + {NID_sect571r1, NID_sha512, + "ba6be551bc60653192401ed8ff9e1acd9013d8811a7a1389528bf07438366f5772cd7aed" + "ad010c19c47622cec03a4d35b8003b39ed901b720629ab59de55a03c1ca50a62987f8da1" + "59e356245df58d5ae1936e65f3cd3acbe03ad1d0fcab4aaf2a7a947549ae776772201efb" + "c6fab1aebfa1d99994d4f43dc28f39c0f279b992", + "2a69bc1df069c6e89722521a63675f318252be629e7558f3716917998e660ac960b0b750" + "562846fe6c12ef492951e51e224754bab84a6eacd4147a5f26ae85ee4381bb14ec2a8c7", + "0404685c0358ca31883cdfd7d609afa8b1e47540a97f473e0ebe98b0aaaab9418877aeea" + "d3a26fb01a4725fda20e7223a4fe7de0df6891c0812555b8b146918d3b80edd11615d95b" + "77067c92736447946c7577965b613e18950d813a4df049a6000895f9dac34d73ea46a83c" + "6a4e7c83831af0d33026825664c44090953521175b9da2a7ac563a0fc5e13c85d34aaf49" + "f2", + "1700d9ac00a987ff3a1d0be4290979317fe60f4f8ce1e0e72a026fc89e28c0070b76ada1" + "4f7a1a66ac2e8aef17eec18b568ada4fd59c05414e55356fc17d9e5079e6cabfc1f220d", + "23a279662efec48f6cf8c7334862525b52ac37a9b03da6a063da2849f878015632427834" + "34fca02fa23e32249666ddc6f596e07750ed21de303f4f10de56f1d37101cb0826bb8bf", + "3b449467b150cba0d7c2b44280c5ac452f1217384ce121c979625d313394f6cef501b819" + "80a02567ca55da2bc313dc0754b5256b08d8e3b63ea033253b205cc5dcb014574b8e9a0"}, + {NID_sect571r1, NID_sha512, + "295720a79ac8201f40a66b06ae5d970afb15f36582897eed25cd92edcd00f70ac8e31c55" + "6eed4375ea044c2e8b227a8e02c0a3e996c9272d52ac7b3ad43b80f217295dddc84b177c" + "f1e800ad08bf7fdd021fb2f49b54162092f8d628679c4ee335abbc90c027264c8b288c6e" + "16eca3172eaa297ba50626b00fe0a0ad3a9dbeeb", + "0d11ed1b78b22b3420df4ddc4acc7c2286d9569dd6dd88e0fa3ecae69bcced68bb81bbb4" + "ca6e9b54e67856e7fdf39155aa27aecb9cc827ccb9cdcf9ac633561b27d8eebfc261aee", + "0401868a1335058a69e3ce24ea4e6e8dc25851777bb28d3a5da67b741ec9c46e26f2d2ae" + "70a48c3e4feabb3b15b3c3ebd561f667ef3b95a587621de6073b9c8a904755566c5f7a3b" + "4206365a03c3f3066eca1af17bbbd08cd52e89f8095075b415cd4b82f3364cbff008fe36" + "42fe71e8a8c634ad0e5d9979251e6cedd42cb97c2203f743210051f5ee1b70c861d2a72c" + "00", + "075e49d2ff6f2aa8b44fad90446474ee0e72323a3c39e731b6c2b075cce0cb9d193bc335" + "6f8fdae0e0143603a57028836ee6451cab101a6eb550042cb41b5c4233d3ad3e87034d1", + "207a8eed0b87efe65ec558a0ccbecb13b9215e176abd93c1a4803fcae713927ece70ec6c" + "41c621357d78a13a950958871a52621f1de7ab74befd964a0e8f4820b84af3e0811bc67", + "2f02017714f54089652e02af36ac5165e44ac4a83747c805a9e003fde4bdb29561dcead2" + "c76b02c195074396a2dcc1b93a256c721716f8eeda8dae443c3eea446118fec3cebc4dc"}, + {NID_sect571r1, NID_sha512, + "a9cff41c6dfdc4a12f31dc375a5455950077ae323d0b7a3d9a8dde73b76e9d7b94ddf9c8" + "8ae8e6c262d704052ac47681fc35adfc56c904baaa6e146eb653984369d76a85596cb744" + "941aa7b558c945ff2e81bd5ef7f00ecb4f43af23b4cea3bd4ba7b1899f1868a0c0ecfc62" + "ccb1d588955597ffbbaf34cab2838efc2b866669", + "2c36ef754b5bd065e9eadde684750acc52795be80f54dd3d7a7d743d968a18f7e404bd71" + "f8a76eb0395f396df5a7c2ff7e0ab6de35df34282fda6ee01fe5b9b68ecb4e378dbe32e", + "0404805e1a23b6eadcf91647b40903bc1fd3b9921861c942fc24d2c03d0544e7c01f004c" + "aeed04b5c4ebbce366a098a878c322cbebe7910bfb0f91b284ac1aef344152fc5831669b" + "7904f589ddb4da482ba1e9a59241b1dfbc7e9b9b69e8f69f8e90460ad58fdecc48a56842" + "ea6aa0537abec0a605ebfb713e588685a98f62e05a7d52082bfd57e3d68fb7851b37ec55" + "67", + "2f2002bdde0c0b0fd92e96abe76c0858e42fd7d94a181c711fc6753572539e18effa8155" + "cde7b1e9ceab2394f9eba874b7ea257d7c308c8ac08500f4944af5f33057650608db8fe", + "27f9109799bced42730faecdeea68259383a45033c6d5dc8d87adf994b46beb34177e013" + "700b13f1253cf756a8866218e9c8adc180f3c242c56b3de28405b36940d53c2aab24f1a", + "20a762ffb2f5a88b0e1356964fb558b555c424946109d16c7548f41a33cfe41da1f48327" + "6a27b188faf948a56670716ddf3b187570c9f514869c4492d7773d6ce453a075f9bc64f"}, + {NID_sect571r1, NID_sha512, + "efa6c582d7fcf5e431aa89b3b00180c0e78efd7ccb0384d90b80e59a115a13e55001d951" + "528c42860132531c9b8ab29dda7a657c53c2ce96fd85549f6f1810e121eb89961295335e" + "aa0e40532d85814a4206e6fffdf9bff76599da9b2e71a22ed572910b0e3bae38ad72c704" + "2579f106739a8628dea5a745168bd918736e488a", + "19ffee50be5496507e3ef5c40ee88a49625e46d1dd1686a52b09ad4a8e3ee9ef364f953b" + "fcd97c52104eecb6138067192997cd4ebadaccb73c7b2560879289a46353a756b73cc43", + "04077dca410e722009ef11b37742c2c003ab3015d0ca0328a70d9d41aae04cb64f7746f1" + "c348b08458eb3bb1788f9ffe7d0570a9b689a9b7aca43e05400bace7630d598f5b484d13" + "c407291f74cddd9ff69470cf0d92afaaddcc4c8c274d4a7a64fd94292ddc8bf080606795" + "376bb725ab4d32c72ef77dff34cfedd34aff2f463d635bfcd7e1fd002d84383dc5bf8d5d" + "23", + "2ea37750fc3bbdeec100694068d55f92fdf35bff9ed49251c4b8bbfb2dec2dd4446999af" + "8848e05c7b819aeb1864430ab4e8c1d684e1cf78947a71b04d5ab8ad61cc7e3e4e24205", + "12ff1852eaff37fee997531039adb1fb2f9b4f4199670c022e8534625fff1fa93390ee9b" + "c7204ad2ba3efc2233260943f1d2381a3cc025b78c6d1f660a7bd6f42e5ed3c123055a9", + "1b4d8abb28ef1a9d77066921ed50eba64b8433cf00c66b8467269a4a914f568cdb86c766" + "a7a6a52437c5d98cfc9a2130dfaba20f3c2001f31bba7071647d51fb9fbd5fc67ee120f"}, + {NID_sect571r1, NID_sha512, + "211acebfaf13bba33a9dd16722ec53baab92a140127d61372cbf1850f2fc894e942e25d7" + "80778235f880743953d04eca7a9205602e388172aec2abf35412b483490751f93b51239b" + "6701cb0aab14e5179b0d7f55d8586358381dd83e3e436bf69a6820317d1701750cb1fea1" + "293467ba589eec5f5779c2dbf2a9b8f28c4dc239", + "3129e96fd28c4198cc5242c1e3531a3979fae643d527044e98d7721aa56b5b4b45dfddfa" + "17a4115e10a2b4f46d92f81cbdd7e86e588a4c6d8c2b3a83f54cebcee1d1dd33e85d81a", + "04073a92abcc991e3f89d82c47fa0fec48e3e7c4d97e2525f8dc2d24da39f616af4a5a80" + "4d2603703f6db7cc9324c5b56a21009373f6605f561c8503394e7746e51273b5722ffbc2" + "3d00684c842f03a53a60cce087f4fcdbf23b7a28c48b6b6544f583342a65d97dd87037c6" + "fef176a1f00513713468273494a5be683b68c5e75bc08995fde763bb6f965da1acb7e894" + "f1", + "0165e52640fcaf8cbdbfe73cb8058c53045e7670aafb2def28d2c9eceb5ed1634b5339cc" + "47ba981eb6eb03ba714c7717e9ed5acc15c8f304702a0409bd4508015d4626cfc5484b1", + "27dcdf16b7156a7a05a752da28b5bd6b233e8a7c16eb7f9030f29c4352e6508f8424d1b5" + "ba789dac4152ac4812ff7975cce69908371a81a4d7d9dd70a8dabebdc4e3af27234f0d0", + "32a654a31f09a9803e502a1440c2bcf122780f4f47aa37e15991d9a548583fdca4880080" + "4712816b212cd3c657e6bd4cb7443a0288592541473c5086e1277250612c21346538374"}, + {NID_sect571r1, NID_sha512, + "ee592e20e0a45c18089c2e41460e65a7d22ed9714379f095d43a308bdd383128aaa6fb24" + "e9d35fd28fc95c5b792ad75c980d2cdf0f460ac60b12c5919d3cb28dac4d488196be6c2d" + "fe462b1b0ce59f8501692255840f5215c0fd8b74b1996a267a5e3b22d2841cf0a0b6315e" + "f4ec7180f1c8494f4c07d5869c01fa2711739efc", + "3d723d2697cd07dd8444f992f2ab4a063db334034c25ea9be99fd7a1f495e3a644e5ea03" + "3a41264e0d24a911e55741d0cab80a0bd678eaec2bd1e60424d4491eb86d664900d907e", + "0400c7a229b5fb9fc774c1b6250f3bba2f0972d1aada7080641c014d012db0637a0656a4" + "3024ec0ea25ff70012646dc19eeb1033aebcc96a001ba876b2f5def6e198b8d4a53f7c7f" + "4a009228a68eafaac214fdfa19923a0c19629de31ac0967c9d02c53dbf221f9affb735d3" + "bad732f381f1ca414d70920231a78f742254d895a33ffab492f8e6094a542e77962a324b" + "a4", + "3b3724a5933353bb9ff5f742f59385e780caa517a963590b7fc89882bed95cf90ca6365c" + "e8b882f2d96e56bd866a5c437733b681308c570c51ec893ea95fede66c7aaf4561173f7", + "2a487c1fc29426e8e85f0a35c177cd168a444959b2f5cd4519b9edd52af3ea829cfe964a" + "c2b59198af8e2d3859ebdf9885ebf57bdf5767da1611d3958de286f91ef397230d65599", + "10fc01efcb22b982f992efb71887bc79c3f32a9088bc2011c269924cee0f47c36452399d" + "499f2933587081b872e9fd2191c20cd5cd94927839228ebcf22cf7acdf4608a2fa66310"}, + {NID_sect571r1, NID_sha512, + "fffca41927debbd53455821441d9115db99fb31bfc69752a382f57bc7abe021f148346ee" + "29e17512c64b4918ab2391d12d6e5643bee6b5682885dc28177b292e23a37ff99b359b9c" + "f7578432af56e0ad1028a6cce7428980654c145af8daf09addbb3be11228d3c742defca9" + "d3b1667f48c63091fe3307ecf72667b02e008f24", + "1999ab45d66cd1d3a0fe6aa43bf5ef1e2a67637d53674f6fbbfb9b582be91fc42a12cdca" + "d94b50b0fc7ac55030de24a0b99fbc4314fa743ef4b5198bcc5f54d8b669fbed78e2e91", + "0400cbf3b0bb4a2e6c225aa922bea3b233da4661df5da7e0a1cd343a9b6655ee87fc60cd" + "763dee21eaa2b81c4dd5af6f4fadc3ceea643b37a6b17a6501e1b9b689fb0c4716911c1f" + "10014b5a9ae025f09066fffa6797ddf95f27eeade06b8ca5be5738f770362d5213c46ecf" + "ca58e3c60cb2bae1f8ab1bf0577c80b4fdad02819fc174cafb33df64fc0ec79713f7b252" + "09", + "253b533d3ad1c7095363e3fc80cb32471061e44dab3f9ae0ea6252f6ef169cee8badd3ec" + "cb77096ae9224f89baeee7e183058579680661655fb689419e36a61e8573de5ecb4cd09", + "3ba94f7682fb61de725a35caf1d4d799c4b05a1d1c44eb1c251dd8efab6b7d713c3fb917" + "776902a1bb202f9226558f4c1e75964349717e6dff938d0befea07a9ca1bbd429dd6318", + "226f43be8e24062180c726b5cb721cc04ffd3acd82183925523ff9e8631aecbec2c224d5" + "a291bb225f0da726d256aa822ee7cc2c7d69df3f2a5beb21132d91bea22e4c5db900cec"}, + {NID_sect571r1, NID_sha512, + "a2f71619ea04f7057e6943c2cece8594b341ec3b96c3915d924f94ba13fd7aaeed41ffa0" + "e842ade414784f1ef825fcf2dbcf7bd8263b802def45f94de596aec0c121fc06558c7bb0" + "6b9f27a9bf56c42090b5dc344e82b69c4f528d33be166764a593483f6fda0cf56e6000ff" + "363ba220f5ea0ea2c3191615c7ae3bb4fa575324", + "2ce1cae0716205330d730e6bc6dbfb6b951dc83ee3b4a7dae75d057e32e8a46e22be75b5" + "f09135452b29c34dfe81a9be2e8dcd243fbd946a0ed14a832a7802e20cfe1abfd3d6e4b", + "04075971399fa621ce535144ec1d57f544d798a0a59207166c3d657e5a80ac00e8f5b643" + "448e3546064d68ae624aaabf36face3016561a248256ff9131950ab8b04710551e12222d" + "0c0224a50f321647f47de3db4fbe1bf1e3a3dce8a834312779f66037315e3326721e3fd6" + "3d4d6ef92b7ba1fa9aeb70f92e2a6701458ac8da49ac386491f2306adcd8dd781fe75e99" + "e1", + "0ad95aa69cf9f40e13f8a72ed6d93388168abc8001670ee4d95fb4b726b1f958205ab2f4" + "58df8bb9ccf2405680d0e6951abbb922cc11d47cfded93c0efdb70caf0c54e7ae96d7e5", + "09ce019161bf29eeaf323933045f59d2efc372904ba50c4a6602b8305234a851d95f06a5" + "b56193ad5d28488102ec25e3f421a5f5c4626b435b423d612e6ab60e0a4fe5d4952e2c5", + "04f7b7ac787b361c2bdfa767da9c22152e402184a7ac133f651fdcd928239215dc917401" + "122a6d41e78299b4235e085399e594465b7f8dbfaae9bf302d83470b4295ea06bb9bd1e"}, + {NID_sect571r1, NID_sha512, + "b60415a831eca2cf60c79a334ef2f327a76d290846ee588d5d33d0a826bb0c7ec3e11dbb" + "384a7f89c8d180425dfae7463e0ea6497d2eec1dde112f1c1efccb532a2e2b66a28e2d36" + "d4252a4c3b12850d465fe21bddc441b92e6a7b0f67744f7f6e7812a0603211a26518b311" + "a5b190ed890ad852bed4f6ed13377cab3eebedf4", + "2c9d0fcfcee7e75c3245ba955ae04188b1033c55ec9c821d8de7685276bda3e9a93c3ae1" + "b003e5ea722913e7b169d67b1aa2dc8cd42adbd9368672a3f81a6817bf3e5529dcb0c8b", + "04019cba4c8ddadb596d7303331f2a22461849ebfbc78ea69277f72dcfe23d08397025ff" + "6691c61ed9958d68a9c5dd8a32048a89a2553afb9077ec43358763756b1473ab2cd8f25b" + "530319eeaa78444b7cc5d8cff4e9199ddd2c6dc7bd935a1be1d8b1c657dd5ac49bc92b0c" + "d91304ef44ddb7ecac05518301bfa0e533402043533f99549621e31dcc282a52186478df" + "2b", + "385e12170ed0b23c9c65ff7edd413145fd343dd841e85c498fae5f36e577641688999028" + "17d4dc39127010faa1da68000a511ac69f80708be5afe1631432f3bab7aaec2bdeb11b4", + "231ef400c6a3a0c7b26ba1b92341b72e138ca62d04ea2172854631c40c48081a18a57e9f" + "055748245d3e83d10d21af39935b0e50c9c86956ac46c1ea03ac4ae023d84b24f830973", + "24d37d67afafb0676cd7b5da2960cabfc804b0b3244b5e6739f8fe43d0841693d28c61b8" + "e76181f8aa24940d76fc5ea8ef3a95f72f67303e1ed85ad6e83cd2c44fd0e0f3f2f44f4"}, + {NID_sect571r1, NID_sha512, + "5d15a08226cc74cf495be681b795d0bde26b19f29aca1a8c6ef77d50271ebdcb4e5fa2df" + "23961fe11620b1c6580183f6ebdceb2c09516c8127be576496fb71449bbbf0a9d3d1c48a" + "25024619b97c3e0d8b165897db96ae9758d13ac28441d7cbfb75b23cb423e0002046358b" + "b6d64779974a5995dfe54b398f95f7d64fc52d96", + "10c057bbaa44ef0f565edc288bfe66d4f6acd8686899359bca418ba89fb690429489a37b" + "d3c6c9f3a8714b2ca225868c6a45fee360e378a676f7ea39321790f32a4b005b81dce43", + "04043b1e7d7b2aee3563813a6692f0b4b61ba82b801697c3e23724a2fbab2af80a2c56be" + "55af41def0a90cbfce7a45ec61629906055a8b2a5013740e96859e580c444ae9f0ddf73a" + "fe06742f13244f1bf156d321eab2c3095ca548c3182c405187c3de2fbcb01d0e16e1fef2" + "46012c87d4d32378629a75b694572ec8583ae0cc813ac64f10bb05a9e52e4805590482f2" + "89", + "2b8076102a6448bd4c4e192e93cdb96ea9a6c7f6753818267ee9e67644df1a4a6c9ff64b" + "be9f64904648cc640fb7f0cce69f9e02878ee950b91ad559a9ec0ae15b676d933f1620f", + "1ad97f4997037adfe306f3859d550f9fd89bce8b566e657d5742feb17466b6b8d507d581" + "0a8cbba44d671b043ddb557df084bf5d1de74ef8bbd6a93690459fc16a17b80dd6c0f28", + "3262ef6e4175e7afe095d18157f67b3d12564d54954e9964e991c31bcfe1dee7e86b3549" + "1ce818400cc0f83b819f478f2f2c2d21c6c7a6be43938841559e09bce70b0d61fe51245"}, + {NID_sect571r1, NID_sha512, + "9eca4bd88200baf61b901fca53dc1f1e7e3f83b94d58a6cc6a2adbc9b1a35fe3f8ec6178" + "7c76ed9a0d696167cd4fe46e1a0883fda564666131753c576a720125e0b712db1da02780" + "67cb899bdb14eec08737e864544663abb1d62f34a2114be07e8e3cf56e2d17099299ce6b" + "6d83b1a34e6153d7c6a32a72c7b1bf4583fcbcf7", + "2c182df7976ea93d996f3ba5d2221f3cb755cc7847bc3fe9e022fa4285046f5bfb426baf" + "a3580beea206de36f87593ae561b4b74a03fcd61fbd0e8d6fd5668f2148819a88a650aa", + "0406004b26a184ed710a5fb67e9d042f7fb9c8f5584b1f70a91b0b3be41c3fd2cd1a537e" + "962fdac8756df33f80fce2bb1bc7241d325bfc36dbaef7cf625918d589b6352fa7447189" + "10036a29b04a494abfe809d956c3cd6f84ea51a7fa28cb39a52f16137a13f72f0726a84f" + "6ae53ae24f5b468733f4cbfa0ce5bbbc1cc7b348fb996d33a45ff656a6a7557619f598a6" + "b7", + "2ab349232bcb4f4816b26bd0049e130fffc90ca0b9308edd50fb9055358a87fe798d0014" + "0b0ae01ed8b1f6bb9bfb726b253c3d4949ce9eecaa6c7fa84d1ef812669fa929f26be0f", + "0bbf2f9765b12742224ba7d064358c0305fb63e9b54a831e302a4546aa02cace798d82a1" + "88d2f536d78544c1571f481289d6ec69d117648026490e781f1eb9fca59bee05234ba7e", + "27e07ee0a1a99c90753cdc8c0291da25a82c116e62ec58b93f91086ac1cc039b35ce7d8b" + "53cdaa92a5ade65a7684b6e7ab79873dce33dcd467c39d0c764ee390b7fb25ca18912c3"}, + {NID_sect571r1, NID_sha512, + "707450bd84141f3b61beb12ffa5ae89d812dd11badcdf6a88a2d50fc70e23f6d822ff447" + "7047abc58cdfa28f97ad7f4911ae0773c04ebed1f51bb2308cf6e5712c4aaed461edd698" + "7fdd1796aab70198276b601241f6a14225dce575830ff60f935fd9f567d1d210652e4710" + "922fa793da78c8fdc30c273cb08365c9fc887f50", + "2d3a65bbe133cc98cf0eb56ee1362195968b4eab960a1d55d8b762f1361fc21348d6f275" + "d4bea1de7158fb97c995e20b92a9c887a3e332d154667ad167acc632eb88a0ead6113a2", + "04034355b54d00c3df7c2762ee2982cb777491aaf78e550c4d2ff5d5a893416eb3517671" + "dbe522b8c553fd71edfe0306cd7628324f4f748091fc5d84ad8af33b896985674649a6f4" + "e507e322a04eb600a3faf3e045959f1e9f798e1c965ced40fd4c0383c0d4e79a96bf693a" + "91d7662780990d0c9dfca77a9bc0e13551d2ab35af8a153fa34ea903961fe66996ca053b" + "64", + "0a59ac1240bcefc52456486ce23b780cc92c8b89314b8442a6898c373bd0adc3725e3eba" + "c580546d1ec82ebfb2e04c608441d962d759ab5f5af1596c6623487e1347537a3c35bf4", + "0c47ef55d93ac36cee537160bbe39c3d4504184188533edfe589a5ab6e5a3e06ef413aa4" + "8710d304f0b2bc380fd69a34aa0b8e2e9466fd8a131cb056dffe4b809a59fd83e594483", + "2d8de1e8e2a52dd1be08435cda69e673b328573edeb1767849536e6f2d5fc8f18f7bfde9" + "36d8c32ecbfa97bf976133d65641320ca1c41e81c388fd6088884bbd89274b1976470fc"}, + {NID_sect571r1, NID_sha512, + "d5ce9d59391cdc47ef942dd2a818d024ae3917deea8a5a4214e4db6a0c5e6b0936f3e632" + "fdb68a3f0006e05c44b7232013e1da5f877cd197f44fd6f60c1fd2378995e9a47534948c" + "5a09e33750f07a7165072ab38095373b07a50bc1391eb6b650ee13acd63d0352e7d9c316" + "95ea1ec6323f9b5f57b426ace56aa7fdbf419be0", + "2a920e8dc928acdd56e3655b2340d4371c793e66f67405fb7a90f31e9c4ef466cc44331d" + "1d2fe3ff7391d2576dc6640772166ef8c154a5ff1808f5dab2f03061070ec8b3f786c36", + "0405edc0fb974314e21ad40d73524d5620b7279084e3ecb9e58b06340ae53d2383efd206" + "b8b1eb3dd60c38f593efc05e2ba5fb8989472bac7db60fcada2d18d4108ab36e8c20cc71" + "0d00444cf65175f6bbaf647739cfd8407e7036fc6cc6208ccb9d776eb13e13b377136c68" + "3e108775d85b6bc5638926432a17344de965d45e042a0a8e0b63c7fc3a36fc15cf718f3b" + "af", + "35a0215892d0c52ece29559ebfa061011da8d597af6b3d1ee988ea4819be194c79a42681" + "476140738b1b5dc191485bd20c96c282ab38ddbc3987343155366b6a5d1ce7053efcd83", + "1a69a9a51f6b0dc196b2a8db2e8bf61764d4c65b038f43b5ed6b5dc2673971c32928606f" + "92b7caafb4dab3cd61ee724bba71a0d5c788cde4b96ef6b453f2a69126dafc20dbc7c82", + "13b5463636b8462cd9f479de8d114e29e7011489bcb9735ffe9ca0707a07df3c0aba0504" + "3eab387bfedd9fe982fbf04968f2be200e9e052cb4b02223b8579913d713acf94e7dc80"}, + /* binary KATs from X9.62 */ + {NID_X9_62_c2tnb191v1, NID_sha1, + "616263", /* "abc" */ + "340562e1dda332f9d2aec168249b5696ee39d0ed4d03760f", + "045de37e756bd55d72e3768cb396ffeb962614dea4ce28a2e755c0e0e02f5fb132caf416" + "ef85b229bbb8e1352003125ba1", + "3eeace72b4919d991738d521879f787cb590aff8189d2b69", + "038e5a11fb55e4c65471dcd4998452b1e02d8af7099bb930", + "0c9a08c34468c244b4e5d6b21b3c68362807416020328b6e"}, + {NID_X9_62_c2tnb239v1, NID_sha1, + "616263", /* "abc" */ + "151a30a6d843db3b25063c5108255cc4448ec0f4d426d4ec884502229c96", + "045894609ccecf9a92533f630de713a958e96c97ccb8f5abb5a688a238deed6dc2d9d0c9" + "4ebfb7d526ba6a61764175b99cb6011e2047f9f067293f57f5", + "18d114bdf47e2913463e50375dc92784a14934a124f83d28caf97c5d8aab", + "03210d71ef6c10157c0d1053dff93e8b085f1e9bc22401f7a24798a63c00", + "1c8c4343a8ecbf7c4d4e48f7d76d5658bc027c77086ec8b10097deb307d6"} +# endif /* OPENSSL_NO_EC2M */ +}; +#endif /* ECDSATEST_CAVS_H */ diff --git a/test/property_test.c b/test/property_test.c index 722de05d..ee942526 100644 --- a/test/property_test.c +++ b/test/property_test.c @@ -304,10 +304,8 @@ static int test_property(void) for (i = 0; i < OSSL_NELEM(queries); i++) { OSSL_PROPERTY_LIST *pq = NULL; - if (!TEST_true(ossl_property_read_lock(store)) - || !TEST_true(ossl_method_store_fetch(store, queries[i].nid, - queries[i].prop, &result)) - || !TEST_true(ossl_property_unlock(store)) + if (!TEST_true(ossl_method_store_fetch(store, queries[i].nid, + queries[i].prop, &result)) || !TEST_str_eq((char *)result, queries[i].expected)) { TEST_note("iteration %zd", i + 1); ossl_property_free(pq); diff --git a/test/recipes/02-test_errstr.t b/test/recipes/02-test_errstr.t index a9e8ed46..3498b819 100644 --- a/test/recipes/02-test_errstr.t +++ b/test/recipes/02-test_errstr.t @@ -31,6 +31,12 @@ setup('test_errstr'); plan skip_all => 'This is unsupported for cross compiled configurations' if config('CROSS_COMPILE'); +# The same can be said when compiling OpenSSL with mingw configuration +# on Windows when built with msys perl. Similar problems are also observed +# in MSVC builds, depending on the perl implementation used. +plan skip_all => 'This is unsupported on MSYS/MinGW or MSWin32' + if $^O eq 'msys' or $^O eq 'MSWin32'; + plan skip_all => 'OpenSSL is configured "no-autoerrinit" or "no-err"' if disabled('autoerrinit') || disabled('err'); diff --git a/test/recipes/20-test_pkeyutl.t b/test/recipes/20-test_pkeyutl.t new file mode 100644 index 00000000..14575301 --- /dev/null +++ b/test/recipes/20-test_pkeyutl.t @@ -0,0 +1,48 @@ +#! /usr/bin/env perl +# Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the Apache License 2.0 (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 + +use strict; +use warnings; + +use File::Spec; +use OpenSSL::Test qw/:DEFAULT srctop_file/; +use OpenSSL::Test::Utils; + +setup("test_pkeyutl"); + +plan tests => 2; + +sub sign +{ + # Utilize the sm2.crt as the TBS file + return run(app(([ 'openssl', 'pkeyutl', '-sign', + '-in', srctop_file('test', 'certs', 'sm2.crt'), + '-inkey', srctop_file('test', 'certs', 'sm2.key'), + '-out', 'signature.sm2', '-rawin', + '-digest', 'sm3', '-pkeyopt', 'sm2_id:someid']))); +} + +sub verify +{ + # Utilize the sm2.crt as the TBS file + return run(app(([ 'openssl', 'pkeyutl', '-verify', '-certin', + '-in', srctop_file('test', 'certs', 'sm2.crt'), + '-inkey', srctop_file('test', 'certs', 'sm2.crt'), + '-sigfile', 'signature.sm2', '-rawin', + '-digest', 'sm3', '-pkeyopt', 'sm2_id:someid']))); +} + +SKIP: { + skip "Skipping tests that require EC, SM2 or SM3", 2 + if disabled("ec") || disabled("sm2") || disabled("sm3"); + + ok(sign, "Sign a piece of data using SM2"); + ok(verify, "Verify an SM2 signature against a piece of data"); +} + +unlink 'signature.sm2'; diff --git a/test/recipes/30-test_aesgcm.t b/test/recipes/30-test_aesgcm.t new file mode 100644 index 00000000..f4862bf0 --- /dev/null +++ b/test/recipes/30-test_aesgcm.t @@ -0,0 +1,12 @@ +#! /usr/bin/env perl +# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the Apache License 2.0 (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 + + +use OpenSSL::Test::Simple; + +simple_test("test_aesgcm", "aesgcmtest", "aesgcm"); diff --git a/test/recipes/30-test_evp_data/evpciph.txt b/test/recipes/30-test_evp_data/evpciph.txt index 84669b84..8bf5ac18 100644 --- a/test/recipes/30-test_evp_data/evpciph.txt +++ b/test/recipes/30-test_evp_data/evpciph.txt @@ -2507,3 +2507,12 @@ AAD = f33388860000000000004e91 Tag = e0723bce23528ce6ccb10ff9627038bf Plaintext = 496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d447261667473206173207265666572656e6365206d6174657269616c206f7220746f2063697465207468656d206f74686572207468616e206173202fe2809c776f726b20696e2070726f67496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d447261667473206173207265666572656e6365206d6174657269616c206f7220746f2063697465207468656d206f74686572207468616e206173202fe2809c776f726b20696e2070726f67496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d Ciphertext = 64a0861575861af460f062c79be643bd5e805cfd345cf389f108670ac76c8cb24c6cfc18755d43eea09ee94e382d26b0bdb7b73c321b0100d4f03b7f355894cf332f830e710b97ce98c8a84abd0b948114ad176e008d33bd60f982b1ff37c8559797a06ef4f0ef61c186324e2b3506383606907b6a7c02b0f9f6157b53c867e4b9166c767b804d46a59b5216cde7a4e99040c5a40433225ee282a1b0a06c523eaf4534d7f83fa1155b0047718cbc546a0d072b04b3564eea1b422273f548271a0bb2316053fa76991955ebd63159434ecebb4e466dae5a1073a6727627097a1049e617d91d361094fa68f0ff77987130305beaba2eda04df997b714d6c6f2c299da65ba25e6a85842bf0440fd98a9a2266b061c4b3a13327c090f9a0789f58aad805275e4378a525f19232bfbfb749ede38480f405cf43ec2f1f8619ebcbc80a89e92a859c7911e674977ab17d4a7126a6b8a477358ff14a344d276ef6e504e10268ac3619fcf90c2d6c03fc2e3d1f290d9bf26c1fa1495dd8f97eec6229a55c2354e4524143551a5cc370a1c622c9390530cff21c3e1ed50c5e3daf97518ccce34156bdbd7eafab8bd417aef25c6c927301731bd319d247a1d5c3186ed10bfd9a7a24bac30e3e4503ed9204154d338b79ea276e7058e7f20f4d4fd1ac93d63f611af7b6d006c2a72add0eedc497b19cb30a198816664f0da00155f2e2d6ac61045b296d614301e0ad4983308028850dd4feffe3a8163970306e4047f5a165cb4befbc129729cd2e286e837e9b606486d402acc3dec5bf8b92387f6e486f2140 + +Cipher = chacha20-poly1305 +Key = 1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0 +IV = ff000000000102030405060708 +AAD = f33388860000000000004e91 +Tag = e0723bce23528ce6ccb10ff9627038bf +Plaintext = 496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d447261667473206173207265666572656e6365206d6174657269616c206f7220746f2063697465207468656d206f74686572207468616e206173202fe2809c776f726b20696e2070726f67496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d447261667473206173207265666572656e6365206d6174657269616c206f7220746f2063697465207468656d206f74686572207468616e206173202fe2809c776f726b20696e2070726f67496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d +Ciphertext = 64a0861575861af460f062c79be643bd5e805cfd345cf389f108670ac76c8cb24c6cfc18755d43eea09ee94e382d26b0bdb7b73c321b0100d4f03b7f355894cf332f830e710b97ce98c8a84abd0b948114ad176e008d33bd60f982b1ff37c8559797a06ef4f0ef61c186324e2b3506383606907b6a7c02b0f9f6157b53c867e4b9166c767b804d46a59b5216cde7a4e99040c5a40433225ee282a1b0a06c523eaf4534d7f83fa1155b0047718cbc546a0d072b04b3564eea1b422273f548271a0bb2316053fa76991955ebd63159434ecebb4e466dae5a1073a6727627097a1049e617d91d361094fa68f0ff77987130305beaba2eda04df997b714d6c6f2c299da65ba25e6a85842bf0440fd98a9a2266b061c4b3a13327c090f9a0789f58aad805275e4378a525f19232bfbfb749ede38480f405cf43ec2f1f8619ebcbc80a89e92a859c7911e674977ab17d4a7126a6b8a477358ff14a344d276ef6e504e10268ac3619fcf90c2d6c03fc2e3d1f290d9bf26c1fa1495dd8f97eec6229a55c2354e4524143551a5cc370a1c622c9390530cff21c3e1ed50c5e3daf97518ccce34156bdbd7eafab8bd417aef25c6c927301731bd319d247a1d5c3186ed10bfd9a7a24bac30e3e4503ed9204154d338b79ea276e7058e7f20f4d4fd1ac93d63f611af7b6d006c2a72add0eedc497b19cb30a198816664f0da00155f2e2d6ac61045b296d614301e0ad4983308028850dd4feffe3a8163970306e4047f5a165cb4befbc129729cd2e286e837e9b606486d402acc3dec5bf8b92387f6e486f2140 +Result = INVALID_IV_LENGTH diff --git a/test/recipes/30-test_evp_data/evpkdf.txt b/test/recipes/30-test_evp_data/evpkdf.txt index 6e34d38b..bbaa24f9 100644 --- a/test/recipes/30-test_evp_data/evpkdf.txt +++ b/test/recipes/30-test_evp_data/evpkdf.txt @@ -433,3 +433,4856 @@ Ctrl.iter = iter:1 Ctrl.digest = digest:sha512 Output = 00ef42cdbfc98d29db20976608e455567fdddf14 +Title = SSHKDF tests (from NIST CAVS 14.1 test vectors) + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008055bae931c07fd824bf10add1902b6fbc7c665347383498a686929ff5a25f8e40cb6645ea814fb1a5e0a11f852f86255641e5ed986e83a78bc8269480eac0b0dfd770cab92e7a28dd87ff452466d6ae867cead63b366b1c286e6c4811a9f14c27aea14c5171d49b78c06e3735d36e6a3be321dd5fc82308f34ee1cb17fba94a59 +Ctrl.hexxcghash = hexxcghash:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.hexsession_id = hexsession_id:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.type = type:A +Output = e2f627c0b43f1ac1 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008055bae931c07fd824bf10add1902b6fbc7c665347383498a686929ff5a25f8e40cb6645ea814fb1a5e0a11f852f86255641e5ed986e83a78bc8269480eac0b0dfd770cab92e7a28dd87ff452466d6ae867cead63b366b1c286e6c4811a9f14c27aea14c5171d49b78c06e3735d36e6a3be321dd5fc82308f34ee1cb17fba94a59 +Ctrl.hexxcghash = hexxcghash:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.hexsession_id = hexsession_id:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.type = type:B +Output = 58471445f342b181 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008055bae931c07fd824bf10add1902b6fbc7c665347383498a686929ff5a25f8e40cb6645ea814fb1a5e0a11f852f86255641e5ed986e83a78bc8269480eac0b0dfd770cab92e7a28dd87ff452466d6ae867cead63b366b1c286e6c4811a9f14c27aea14c5171d49b78c06e3735d36e6a3be321dd5fc82308f34ee1cb17fba94a59 +Ctrl.hexxcghash = hexxcghash:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.hexsession_id = hexsession_id:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.type = type:C +Output = 1ca9d310f86d51f6cb8e7007cb2b220d55c5281ce680b533 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008055bae931c07fd824bf10add1902b6fbc7c665347383498a686929ff5a25f8e40cb6645ea814fb1a5e0a11f852f86255641e5ed986e83a78bc8269480eac0b0dfd770cab92e7a28dd87ff452466d6ae867cead63b366b1c286e6c4811a9f14c27aea14c5171d49b78c06e3735d36e6a3be321dd5fc82308f34ee1cb17fba94a59 +Ctrl.hexxcghash = hexxcghash:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.hexsession_id = hexsession_id:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.type = type:D +Output = 2c60df8603d34cc1dbb03c11f725a44b44008851c73d6844 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008055bae931c07fd824bf10add1902b6fbc7c665347383498a686929ff5a25f8e40cb6645ea814fb1a5e0a11f852f86255641e5ed986e83a78bc8269480eac0b0dfd770cab92e7a28dd87ff452466d6ae867cead63b366b1c286e6c4811a9f14c27aea14c5171d49b78c06e3735d36e6a3be321dd5fc82308f34ee1cb17fba94a59 +Ctrl.hexxcghash = hexxcghash:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.hexsession_id = hexsession_id:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.type = type:E +Output = 472eb8a26166ae6aa8e06868e45c3b26e6eeed06 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008055bae931c07fd824bf10add1902b6fbc7c665347383498a686929ff5a25f8e40cb6645ea814fb1a5e0a11f852f86255641e5ed986e83a78bc8269480eac0b0dfd770cab92e7a28dd87ff452466d6ae867cead63b366b1c286e6c4811a9f14c27aea14c5171d49b78c06e3735d36e6a3be321dd5fc82308f34ee1cb17fba94a59 +Ctrl.hexxcghash = hexxcghash:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.hexsession_id = hexsession_id:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.type = type:F +Output = e3e2fdb9d7bc21165a3dbe47e1eceb7764390bab + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100ec6f2c5f0517fd92f730567bd783138302917c277552b1b3fdf2b67d6edb6fa81bd17f7ebbe339b54b171341e6522b91611f8274cc88652a458f8041261040818a268497e949e12f57271318b2b3194c29760cbb767c0fc8833b272994e18682da807e6c9f235d88ef89c203c6f756d25cc2bea199b02c955b8b40cbc04f9208 +Ctrl.hexxcghash = hexxcghash:ee40eef61bea3da8c2b1cec40fc4cdac892a2626 +Ctrl.hexsession_id = hexsession_id:ca9aad244e24797fd348d1250387c8aa45a0110a +Ctrl.type = type:A +Output = 55a1015757de84cb + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100ec6f2c5f0517fd92f730567bd783138302917c277552b1b3fdf2b67d6edb6fa81bd17f7ebbe339b54b171341e6522b91611f8274cc88652a458f8041261040818a268497e949e12f57271318b2b3194c29760cbb767c0fc8833b272994e18682da807e6c9f235d88ef89c203c6f756d25cc2bea199b02c955b8b40cbc04f9208 +Ctrl.hexxcghash = hexxcghash:ee40eef61bea3da8c2b1cec40fc4cdac892a2626 +Ctrl.hexsession_id = hexsession_id:ca9aad244e24797fd348d1250387c8aa45a0110a +Ctrl.type = type:B +Output = 7e57f61d5735f4fb + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100ec6f2c5f0517fd92f730567bd783138302917c277552b1b3fdf2b67d6edb6fa81bd17f7ebbe339b54b171341e6522b91611f8274cc88652a458f8041261040818a268497e949e12f57271318b2b3194c29760cbb767c0fc8833b272994e18682da807e6c9f235d88ef89c203c6f756d25cc2bea199b02c955b8b40cbc04f9208 +Ctrl.hexxcghash = hexxcghash:ee40eef61bea3da8c2b1cec40fc4cdac892a2626 +Ctrl.hexsession_id = hexsession_id:ca9aad244e24797fd348d1250387c8aa45a0110a +Ctrl.type = type:C +Output = dd1c24bde1af845e82207541e3e173aec822fb904a94ae3c + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100ec6f2c5f0517fd92f730567bd783138302917c277552b1b3fdf2b67d6edb6fa81bd17f7ebbe339b54b171341e6522b91611f8274cc88652a458f8041261040818a268497e949e12f57271318b2b3194c29760cbb767c0fc8833b272994e18682da807e6c9f235d88ef89c203c6f756d25cc2bea199b02c955b8b40cbc04f9208 +Ctrl.hexxcghash = hexxcghash:ee40eef61bea3da8c2b1cec40fc4cdac892a2626 +Ctrl.hexsession_id = hexsession_id:ca9aad244e24797fd348d1250387c8aa45a0110a +Ctrl.type = type:D +Output = cbbfdc9442af6db7f8c4dcaa4b0b5d0163e0e204476aa2a0 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100ec6f2c5f0517fd92f730567bd783138302917c277552b1b3fdf2b67d6edb6fa81bd17f7ebbe339b54b171341e6522b91611f8274cc88652a458f8041261040818a268497e949e12f57271318b2b3194c29760cbb767c0fc8833b272994e18682da807e6c9f235d88ef89c203c6f756d25cc2bea199b02c955b8b40cbc04f9208 +Ctrl.hexxcghash = hexxcghash:ee40eef61bea3da8c2b1cec40fc4cdac892a2626 +Ctrl.hexsession_id = hexsession_id:ca9aad244e24797fd348d1250387c8aa45a0110a +Ctrl.type = type:E +Output = e153e04886c0dc446dde9a9b3b13efb77151764d + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100ec6f2c5f0517fd92f730567bd783138302917c277552b1b3fdf2b67d6edb6fa81bd17f7ebbe339b54b171341e6522b91611f8274cc88652a458f8041261040818a268497e949e12f57271318b2b3194c29760cbb767c0fc8833b272994e18682da807e6c9f235d88ef89c203c6f756d25cc2bea199b02c955b8b40cbc04f9208 +Ctrl.hexxcghash = hexxcghash:ee40eef61bea3da8c2b1cec40fc4cdac892a2626 +Ctrl.hexsession_id = hexsession_id:ca9aad244e24797fd348d1250387c8aa45a0110a +Ctrl.type = type:F +Output = c8e4f61bd6b5abb2c6e06eca7b302349435e4842 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100a3beebff410a7cdc0ac56dad0152a7f6da6b1d4195285ce96f8b59930d8c3ccbc518bc043eb60362388ea87c20db3b490b490ba9b90f086004ba3e389cb3a715d477c2b1e480e3419c36cd83e237e241462ee79758f4ff5bf7a5e1eae58a6834778a658c60b2e157d36b16371f97660ad4abfd4a2703dba7cab055be4c778b62 +Ctrl.hexxcghash = hexxcghash:b81915a9656128d2add5e5741914d765226f93e2 +Ctrl.hexsession_id = hexsession_id:2872e0c92fc3074d4f40e408a2ebd83e2fc7bccd +Ctrl.type = type:A +Output = 054eaf5d7dea31e7 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100a3beebff410a7cdc0ac56dad0152a7f6da6b1d4195285ce96f8b59930d8c3ccbc518bc043eb60362388ea87c20db3b490b490ba9b90f086004ba3e389cb3a715d477c2b1e480e3419c36cd83e237e241462ee79758f4ff5bf7a5e1eae58a6834778a658c60b2e157d36b16371f97660ad4abfd4a2703dba7cab055be4c778b62 +Ctrl.hexxcghash = hexxcghash:b81915a9656128d2add5e5741914d765226f93e2 +Ctrl.hexsession_id = hexsession_id:2872e0c92fc3074d4f40e408a2ebd83e2fc7bccd +Ctrl.type = type:B +Output = 6ce586c127da010f + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100a3beebff410a7cdc0ac56dad0152a7f6da6b1d4195285ce96f8b59930d8c3ccbc518bc043eb60362388ea87c20db3b490b490ba9b90f086004ba3e389cb3a715d477c2b1e480e3419c36cd83e237e241462ee79758f4ff5bf7a5e1eae58a6834778a658c60b2e157d36b16371f97660ad4abfd4a2703dba7cab055be4c778b62 +Ctrl.hexxcghash = hexxcghash:b81915a9656128d2add5e5741914d765226f93e2 +Ctrl.hexsession_id = hexsession_id:2872e0c92fc3074d4f40e408a2ebd83e2fc7bccd +Ctrl.type = type:C +Output = 7907bf3d7c58ce72714b2adb1a14f156194b14378a4a7c49 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100a3beebff410a7cdc0ac56dad0152a7f6da6b1d4195285ce96f8b59930d8c3ccbc518bc043eb60362388ea87c20db3b490b490ba9b90f086004ba3e389cb3a715d477c2b1e480e3419c36cd83e237e241462ee79758f4ff5bf7a5e1eae58a6834778a658c60b2e157d36b16371f97660ad4abfd4a2703dba7cab055be4c778b62 +Ctrl.hexxcghash = hexxcghash:b81915a9656128d2add5e5741914d765226f93e2 +Ctrl.hexsession_id = hexsession_id:2872e0c92fc3074d4f40e408a2ebd83e2fc7bccd +Ctrl.type = type:D +Output = c34757dc104e7b811f6550bbc3888e1d4297578fd88b2ca5 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100a3beebff410a7cdc0ac56dad0152a7f6da6b1d4195285ce96f8b59930d8c3ccbc518bc043eb60362388ea87c20db3b490b490ba9b90f086004ba3e389cb3a715d477c2b1e480e3419c36cd83e237e241462ee79758f4ff5bf7a5e1eae58a6834778a658c60b2e157d36b16371f97660ad4abfd4a2703dba7cab055be4c778b62 +Ctrl.hexxcghash = hexxcghash:b81915a9656128d2add5e5741914d765226f93e2 +Ctrl.hexsession_id = hexsession_id:2872e0c92fc3074d4f40e408a2ebd83e2fc7bccd +Ctrl.type = type:E +Output = e463e05ef70e61f994ee3cd20d504cb6eddb9b1a + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100a3beebff410a7cdc0ac56dad0152a7f6da6b1d4195285ce96f8b59930d8c3ccbc518bc043eb60362388ea87c20db3b490b490ba9b90f086004ba3e389cb3a715d477c2b1e480e3419c36cd83e237e241462ee79758f4ff5bf7a5e1eae58a6834778a658c60b2e157d36b16371f97660ad4abfd4a2703dba7cab055be4c778b62 +Ctrl.hexxcghash = hexxcghash:b81915a9656128d2add5e5741914d765226f93e2 +Ctrl.hexsession_id = hexsession_id:2872e0c92fc3074d4f40e408a2ebd83e2fc7bccd +Ctrl.type = type:F +Output = 676cf1dfc887e122353eead2b1e644f9d9def944 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008017357de60344a125ca41d9ea51eb304a571d7f0aa37a5e36d4b7a5473546f7226583cefe7c06f6f94b97da0da2517190fa02a0337a3bc9ddfeeb68b953613d4d5e473783f137a82246b8260fb3451363adda1813acdf6b10861e022e23a00db9b5a893fcefd6b647f6a73904aa9c3b53e5d879d7e84f052dfabe15a27c1f3aa9 +Ctrl.hexxcghash = hexxcghash:28fcf3bc600f6bb0b9594b01283d085e149b2586 +Ctrl.hexsession_id = hexsession_id:4d6b90988de45dfd08e8167504a6253a8552c200 +Ctrl.type = type:A +Output = bc4b5164911bc87b + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008017357de60344a125ca41d9ea51eb304a571d7f0aa37a5e36d4b7a5473546f7226583cefe7c06f6f94b97da0da2517190fa02a0337a3bc9ddfeeb68b953613d4d5e473783f137a82246b8260fb3451363adda1813acdf6b10861e022e23a00db9b5a893fcefd6b647f6a73904aa9c3b53e5d879d7e84f052dfabe15a27c1f3aa9 +Ctrl.hexxcghash = hexxcghash:28fcf3bc600f6bb0b9594b01283d085e149b2586 +Ctrl.hexsession_id = hexsession_id:4d6b90988de45dfd08e8167504a6253a8552c200 +Ctrl.type = type:B +Output = d791c5986b27257e + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008017357de60344a125ca41d9ea51eb304a571d7f0aa37a5e36d4b7a5473546f7226583cefe7c06f6f94b97da0da2517190fa02a0337a3bc9ddfeeb68b953613d4d5e473783f137a82246b8260fb3451363adda1813acdf6b10861e022e23a00db9b5a893fcefd6b647f6a73904aa9c3b53e5d879d7e84f052dfabe15a27c1f3aa9 +Ctrl.hexxcghash = hexxcghash:28fcf3bc600f6bb0b9594b01283d085e149b2586 +Ctrl.hexsession_id = hexsession_id:4d6b90988de45dfd08e8167504a6253a8552c200 +Ctrl.type = type:C +Output = de8e99bb3f60ccf0583712528aa3dd0418fdb90d0a588012 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008017357de60344a125ca41d9ea51eb304a571d7f0aa37a5e36d4b7a5473546f7226583cefe7c06f6f94b97da0da2517190fa02a0337a3bc9ddfeeb68b953613d4d5e473783f137a82246b8260fb3451363adda1813acdf6b10861e022e23a00db9b5a893fcefd6b647f6a73904aa9c3b53e5d879d7e84f052dfabe15a27c1f3aa9 +Ctrl.hexxcghash = hexxcghash:28fcf3bc600f6bb0b9594b01283d085e149b2586 +Ctrl.hexsession_id = hexsession_id:4d6b90988de45dfd08e8167504a6253a8552c200 +Ctrl.type = type:D +Output = f37f75a685f1eaf4fd270b946d84734e96aa3b4ed130afc6 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008017357de60344a125ca41d9ea51eb304a571d7f0aa37a5e36d4b7a5473546f7226583cefe7c06f6f94b97da0da2517190fa02a0337a3bc9ddfeeb68b953613d4d5e473783f137a82246b8260fb3451363adda1813acdf6b10861e022e23a00db9b5a893fcefd6b647f6a73904aa9c3b53e5d879d7e84f052dfabe15a27c1f3aa9 +Ctrl.hexxcghash = hexxcghash:28fcf3bc600f6bb0b9594b01283d085e149b2586 +Ctrl.hexsession_id = hexsession_id:4d6b90988de45dfd08e8167504a6253a8552c200 +Ctrl.type = type:E +Output = 658f04b0f59aab071b9e11ec9ff187ee10e80254 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008017357de60344a125ca41d9ea51eb304a571d7f0aa37a5e36d4b7a5473546f7226583cefe7c06f6f94b97da0da2517190fa02a0337a3bc9ddfeeb68b953613d4d5e473783f137a82246b8260fb3451363adda1813acdf6b10861e022e23a00db9b5a893fcefd6b647f6a73904aa9c3b53e5d879d7e84f052dfabe15a27c1f3aa9 +Ctrl.hexxcghash = hexxcghash:28fcf3bc600f6bb0b9594b01283d085e149b2586 +Ctrl.hexsession_id = hexsession_id:4d6b90988de45dfd08e8167504a6253a8552c200 +Ctrl.type = type:F +Output = b030809222ff7a12b0df35072d67f314ab1d5eda + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000000803c3ce2b19e0cadf8ad02438c695efcd3018c833657318bfaef7b9c278cd7e8d7b3a2249f9d586832c3dee727ada167056ff1febc9210186ba47cc1dfaaf08101fb89742ebf4f3e291a20c94a7a6f7877799151d177e163ce3e57ef863c0cda0311265fbac157879150a715e309392b3e521dcf03224717ff5e0030e480f20dff +Ctrl.hexxcghash = hexxcghash:46a674c532460a80cdc5c6da9a8c3bdf4f3ff614 +Ctrl.hexsession_id = hexsession_id:aedeb64df7119db53202e959dc84be3e5285512d +Ctrl.type = type:A +Output = 7a74ec799ef16865 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000000803c3ce2b19e0cadf8ad02438c695efcd3018c833657318bfaef7b9c278cd7e8d7b3a2249f9d586832c3dee727ada167056ff1febc9210186ba47cc1dfaaf08101fb89742ebf4f3e291a20c94a7a6f7877799151d177e163ce3e57ef863c0cda0311265fbac157879150a715e309392b3e521dcf03224717ff5e0030e480f20dff +Ctrl.hexxcghash = hexxcghash:46a674c532460a80cdc5c6da9a8c3bdf4f3ff614 +Ctrl.hexsession_id = hexsession_id:aedeb64df7119db53202e959dc84be3e5285512d +Ctrl.type = type:B +Output = 6e544fc6db0ca1ba + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000000803c3ce2b19e0cadf8ad02438c695efcd3018c833657318bfaef7b9c278cd7e8d7b3a2249f9d586832c3dee727ada167056ff1febc9210186ba47cc1dfaaf08101fb89742ebf4f3e291a20c94a7a6f7877799151d177e163ce3e57ef863c0cda0311265fbac157879150a715e309392b3e521dcf03224717ff5e0030e480f20dff +Ctrl.hexxcghash = hexxcghash:46a674c532460a80cdc5c6da9a8c3bdf4f3ff614 +Ctrl.hexsession_id = hexsession_id:aedeb64df7119db53202e959dc84be3e5285512d +Ctrl.type = type:C +Output = 658226b1b10b2033fa88838b619572b18e81e80c76507918 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000000803c3ce2b19e0cadf8ad02438c695efcd3018c833657318bfaef7b9c278cd7e8d7b3a2249f9d586832c3dee727ada167056ff1febc9210186ba47cc1dfaaf08101fb89742ebf4f3e291a20c94a7a6f7877799151d177e163ce3e57ef863c0cda0311265fbac157879150a715e309392b3e521dcf03224717ff5e0030e480f20dff +Ctrl.hexxcghash = hexxcghash:46a674c532460a80cdc5c6da9a8c3bdf4f3ff614 +Ctrl.hexsession_id = hexsession_id:aedeb64df7119db53202e959dc84be3e5285512d +Ctrl.type = type:D +Output = 327298c8660685efcb01c5c0df49faebb15c0e93b0f6c65d + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000000803c3ce2b19e0cadf8ad02438c695efcd3018c833657318bfaef7b9c278cd7e8d7b3a2249f9d586832c3dee727ada167056ff1febc9210186ba47cc1dfaaf08101fb89742ebf4f3e291a20c94a7a6f7877799151d177e163ce3e57ef863c0cda0311265fbac157879150a715e309392b3e521dcf03224717ff5e0030e480f20dff +Ctrl.hexxcghash = hexxcghash:46a674c532460a80cdc5c6da9a8c3bdf4f3ff614 +Ctrl.hexsession_id = hexsession_id:aedeb64df7119db53202e959dc84be3e5285512d +Ctrl.type = type:E +Output = 6b618a10aeaa12c9a8d2bcb10e975605582c00e5 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000000803c3ce2b19e0cadf8ad02438c695efcd3018c833657318bfaef7b9c278cd7e8d7b3a2249f9d586832c3dee727ada167056ff1febc9210186ba47cc1dfaaf08101fb89742ebf4f3e291a20c94a7a6f7877799151d177e163ce3e57ef863c0cda0311265fbac157879150a715e309392b3e521dcf03224717ff5e0030e480f20dff +Ctrl.hexxcghash = hexxcghash:46a674c532460a80cdc5c6da9a8c3bdf4f3ff614 +Ctrl.hexsession_id = hexsession_id:aedeb64df7119db53202e959dc84be3e5285512d +Ctrl.type = type:F +Output = 6d4ce50da9de90d6f746e812a2e74bcd921f5612 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008075957f464f5a7985e1a3ffb7d5814ff9ceb8fb1584a3f5cc454c37139e9b880940442cce2aef94d9d0462c4dc313ed7a8cc3f9a58c38a98ef0236e3cc78fb63b6f82e9c503097b7a08ef2261dda68c7bfe9f83ac790d1f9ff57605d24f4bdfedde23cc5aabba248bc91d3fe1d4394485bc4421730a297694c09bdf024ac2eac3 +Ctrl.hexxcghash = hexxcghash:0a70b4f26b1985d48ece540f1de6304fdb38212f +Ctrl.hexsession_id = hexsession_id:2f0ce0e2da2e2bf11eae2ab98e9734412d47a19a +Ctrl.type = type:A +Output = b655839abcb1a7b8 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008075957f464f5a7985e1a3ffb7d5814ff9ceb8fb1584a3f5cc454c37139e9b880940442cce2aef94d9d0462c4dc313ed7a8cc3f9a58c38a98ef0236e3cc78fb63b6f82e9c503097b7a08ef2261dda68c7bfe9f83ac790d1f9ff57605d24f4bdfedde23cc5aabba248bc91d3fe1d4394485bc4421730a297694c09bdf024ac2eac3 +Ctrl.hexxcghash = hexxcghash:0a70b4f26b1985d48ece540f1de6304fdb38212f +Ctrl.hexsession_id = hexsession_id:2f0ce0e2da2e2bf11eae2ab98e9734412d47a19a +Ctrl.type = type:B +Output = 98f9ec980831a8bc + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008075957f464f5a7985e1a3ffb7d5814ff9ceb8fb1584a3f5cc454c37139e9b880940442cce2aef94d9d0462c4dc313ed7a8cc3f9a58c38a98ef0236e3cc78fb63b6f82e9c503097b7a08ef2261dda68c7bfe9f83ac790d1f9ff57605d24f4bdfedde23cc5aabba248bc91d3fe1d4394485bc4421730a297694c09bdf024ac2eac3 +Ctrl.hexxcghash = hexxcghash:0a70b4f26b1985d48ece540f1de6304fdb38212f +Ctrl.hexsession_id = hexsession_id:2f0ce0e2da2e2bf11eae2ab98e9734412d47a19a +Ctrl.type = type:C +Output = 31a63b64cfa8b6a12ba165096dad8d127cd3f3b67698b670 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008075957f464f5a7985e1a3ffb7d5814ff9ceb8fb1584a3f5cc454c37139e9b880940442cce2aef94d9d0462c4dc313ed7a8cc3f9a58c38a98ef0236e3cc78fb63b6f82e9c503097b7a08ef2261dda68c7bfe9f83ac790d1f9ff57605d24f4bdfedde23cc5aabba248bc91d3fe1d4394485bc4421730a297694c09bdf024ac2eac3 +Ctrl.hexxcghash = hexxcghash:0a70b4f26b1985d48ece540f1de6304fdb38212f +Ctrl.hexsession_id = hexsession_id:2f0ce0e2da2e2bf11eae2ab98e9734412d47a19a +Ctrl.type = type:D +Output = 8bd79633967b92f0039a38a2d421e12840ea5c31b43c4e90 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008075957f464f5a7985e1a3ffb7d5814ff9ceb8fb1584a3f5cc454c37139e9b880940442cce2aef94d9d0462c4dc313ed7a8cc3f9a58c38a98ef0236e3cc78fb63b6f82e9c503097b7a08ef2261dda68c7bfe9f83ac790d1f9ff57605d24f4bdfedde23cc5aabba248bc91d3fe1d4394485bc4421730a297694c09bdf024ac2eac3 +Ctrl.hexxcghash = hexxcghash:0a70b4f26b1985d48ece540f1de6304fdb38212f +Ctrl.hexsession_id = hexsession_id:2f0ce0e2da2e2bf11eae2ab98e9734412d47a19a +Ctrl.type = type:E +Output = 37eccade73b422d1108e390eaa28c646b554a721 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008075957f464f5a7985e1a3ffb7d5814ff9ceb8fb1584a3f5cc454c37139e9b880940442cce2aef94d9d0462c4dc313ed7a8cc3f9a58c38a98ef0236e3cc78fb63b6f82e9c503097b7a08ef2261dda68c7bfe9f83ac790d1f9ff57605d24f4bdfedde23cc5aabba248bc91d3fe1d4394485bc4421730a297694c09bdf024ac2eac3 +Ctrl.hexxcghash = hexxcghash:0a70b4f26b1985d48ece540f1de6304fdb38212f +Ctrl.hexsession_id = hexsession_id:2f0ce0e2da2e2bf11eae2ab98e9734412d47a19a +Ctrl.type = type:F +Output = 013a20fc8f53ef08aae0a836b9410153a877983a + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100c050aa3d848750af69d1c04d6cb0a1ef8a4f25be4b16c927ff7313e83680b1b7a92b6100fa773cea9958fc7efb1a475fc71eda8be8efc92ad198a34d6ae017f12b76f39c82b741994b0d42ada1807fa7803876d21d93b129d75dc9aba4811ef51925e49e4bf4f5313e8fee0625d8727da8bcb15eb15da2d237082fc5499621ef +Ctrl.hexxcghash = hexxcghash:5ea2568ee7ddcdb3260dfdf54e15e4d494ca9023 +Ctrl.hexsession_id = hexsession_id:bc8988ac5f9058ee76536472b1706c5c338bd114 +Ctrl.type = type:A +Output = 12f6c3ac60d6ee3b + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100c050aa3d848750af69d1c04d6cb0a1ef8a4f25be4b16c927ff7313e83680b1b7a92b6100fa773cea9958fc7efb1a475fc71eda8be8efc92ad198a34d6ae017f12b76f39c82b741994b0d42ada1807fa7803876d21d93b129d75dc9aba4811ef51925e49e4bf4f5313e8fee0625d8727da8bcb15eb15da2d237082fc5499621ef +Ctrl.hexxcghash = hexxcghash:5ea2568ee7ddcdb3260dfdf54e15e4d494ca9023 +Ctrl.hexsession_id = hexsession_id:bc8988ac5f9058ee76536472b1706c5c338bd114 +Ctrl.type = type:B +Output = 536d106e00aec6fd + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100c050aa3d848750af69d1c04d6cb0a1ef8a4f25be4b16c927ff7313e83680b1b7a92b6100fa773cea9958fc7efb1a475fc71eda8be8efc92ad198a34d6ae017f12b76f39c82b741994b0d42ada1807fa7803876d21d93b129d75dc9aba4811ef51925e49e4bf4f5313e8fee0625d8727da8bcb15eb15da2d237082fc5499621ef +Ctrl.hexxcghash = hexxcghash:5ea2568ee7ddcdb3260dfdf54e15e4d494ca9023 +Ctrl.hexsession_id = hexsession_id:bc8988ac5f9058ee76536472b1706c5c338bd114 +Ctrl.type = type:C +Output = 26b8ec66854d0f0aa98f6888be628ebc75900c3738d47894 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100c050aa3d848750af69d1c04d6cb0a1ef8a4f25be4b16c927ff7313e83680b1b7a92b6100fa773cea9958fc7efb1a475fc71eda8be8efc92ad198a34d6ae017f12b76f39c82b741994b0d42ada1807fa7803876d21d93b129d75dc9aba4811ef51925e49e4bf4f5313e8fee0625d8727da8bcb15eb15da2d237082fc5499621ef +Ctrl.hexxcghash = hexxcghash:5ea2568ee7ddcdb3260dfdf54e15e4d494ca9023 +Ctrl.hexsession_id = hexsession_id:bc8988ac5f9058ee76536472b1706c5c338bd114 +Ctrl.type = type:D +Output = d5d3b3817214eeb3bf292dffc77daeab062ac7fcd2e3a2bd + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100c050aa3d848750af69d1c04d6cb0a1ef8a4f25be4b16c927ff7313e83680b1b7a92b6100fa773cea9958fc7efb1a475fc71eda8be8efc92ad198a34d6ae017f12b76f39c82b741994b0d42ada1807fa7803876d21d93b129d75dc9aba4811ef51925e49e4bf4f5313e8fee0625d8727da8bcb15eb15da2d237082fc5499621ef +Ctrl.hexxcghash = hexxcghash:5ea2568ee7ddcdb3260dfdf54e15e4d494ca9023 +Ctrl.hexsession_id = hexsession_id:bc8988ac5f9058ee76536472b1706c5c338bd114 +Ctrl.type = type:E +Output = 014613aef22194307bc0678f6edd1ccff240adfa + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100c050aa3d848750af69d1c04d6cb0a1ef8a4f25be4b16c927ff7313e83680b1b7a92b6100fa773cea9958fc7efb1a475fc71eda8be8efc92ad198a34d6ae017f12b76f39c82b741994b0d42ada1807fa7803876d21d93b129d75dc9aba4811ef51925e49e4bf4f5313e8fee0625d8727da8bcb15eb15da2d237082fc5499621ef +Ctrl.hexxcghash = hexxcghash:5ea2568ee7ddcdb3260dfdf54e15e4d494ca9023 +Ctrl.hexsession_id = hexsession_id:bc8988ac5f9058ee76536472b1706c5c338bd114 +Ctrl.type = type:F +Output = 5057b4cc2c300f7546d358a75daf58233b71da1a + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100f00388418be28ae3235c5b640d000df44f6e65782cad783726a507e2c645a056307f1ab7b4cd24d38640118105d7415c2ecea77e33e7b8a9dc9d205e3fdfb718769754213c0782ee18c7db1408e780369bccfb8233581cda4fbb133b3c41d0a7afa6996f31f8dd36fa3dd82efb23dcaa1ec5e37caae3af639123190fe7795983 +Ctrl.hexxcghash = hexxcghash:fc48c85ac48ee97be3ce45c10807a666e8e9b639 +Ctrl.hexsession_id = hexsession_id:d36e8c070b97795dfb10a3c2e41e4d0d70382606 +Ctrl.type = type:A +Output = d160f91f36027ff9 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100f00388418be28ae3235c5b640d000df44f6e65782cad783726a507e2c645a056307f1ab7b4cd24d38640118105d7415c2ecea77e33e7b8a9dc9d205e3fdfb718769754213c0782ee18c7db1408e780369bccfb8233581cda4fbb133b3c41d0a7afa6996f31f8dd36fa3dd82efb23dcaa1ec5e37caae3af639123190fe7795983 +Ctrl.hexxcghash = hexxcghash:fc48c85ac48ee97be3ce45c10807a666e8e9b639 +Ctrl.hexsession_id = hexsession_id:d36e8c070b97795dfb10a3c2e41e4d0d70382606 +Ctrl.type = type:B +Output = 0d02ec310663bbcc + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100f00388418be28ae3235c5b640d000df44f6e65782cad783726a507e2c645a056307f1ab7b4cd24d38640118105d7415c2ecea77e33e7b8a9dc9d205e3fdfb718769754213c0782ee18c7db1408e780369bccfb8233581cda4fbb133b3c41d0a7afa6996f31f8dd36fa3dd82efb23dcaa1ec5e37caae3af639123190fe7795983 +Ctrl.hexxcghash = hexxcghash:fc48c85ac48ee97be3ce45c10807a666e8e9b639 +Ctrl.hexsession_id = hexsession_id:d36e8c070b97795dfb10a3c2e41e4d0d70382606 +Ctrl.type = type:C +Output = 03b66f451ad93a01914dd3372d980bea3de94993e176ea01 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100f00388418be28ae3235c5b640d000df44f6e65782cad783726a507e2c645a056307f1ab7b4cd24d38640118105d7415c2ecea77e33e7b8a9dc9d205e3fdfb718769754213c0782ee18c7db1408e780369bccfb8233581cda4fbb133b3c41d0a7afa6996f31f8dd36fa3dd82efb23dcaa1ec5e37caae3af639123190fe7795983 +Ctrl.hexxcghash = hexxcghash:fc48c85ac48ee97be3ce45c10807a666e8e9b639 +Ctrl.hexsession_id = hexsession_id:d36e8c070b97795dfb10a3c2e41e4d0d70382606 +Ctrl.type = type:D +Output = c2db767cbbdf2f839eb2f37ada87a041d220b9f58842d0db + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100f00388418be28ae3235c5b640d000df44f6e65782cad783726a507e2c645a056307f1ab7b4cd24d38640118105d7415c2ecea77e33e7b8a9dc9d205e3fdfb718769754213c0782ee18c7db1408e780369bccfb8233581cda4fbb133b3c41d0a7afa6996f31f8dd36fa3dd82efb23dcaa1ec5e37caae3af639123190fe7795983 +Ctrl.hexxcghash = hexxcghash:fc48c85ac48ee97be3ce45c10807a666e8e9b639 +Ctrl.hexsession_id = hexsession_id:d36e8c070b97795dfb10a3c2e41e4d0d70382606 +Ctrl.type = type:E +Output = 0b2944c26dcf4cc877cdc55c4e9b1b8155e3874b + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100f00388418be28ae3235c5b640d000df44f6e65782cad783726a507e2c645a056307f1ab7b4cd24d38640118105d7415c2ecea77e33e7b8a9dc9d205e3fdfb718769754213c0782ee18c7db1408e780369bccfb8233581cda4fbb133b3c41d0a7afa6996f31f8dd36fa3dd82efb23dcaa1ec5e37caae3af639123190fe7795983 +Ctrl.hexxcghash = hexxcghash:fc48c85ac48ee97be3ce45c10807a666e8e9b639 +Ctrl.hexsession_id = hexsession_id:d36e8c070b97795dfb10a3c2e41e4d0d70382606 +Ctrl.type = type:F +Output = f7977d574c7d9e4f34ecd6b405c765963f0dfe57 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:00000081009dc61278a79fdb00ee937c0418668ac0176fdfd0297ebc86ee391e3e8db147f01d782650f1e30391d3c1fe62425842119fe41b76243ed47f6c30370dd1cc1b10e3bdac2730287b0e5901e487563d700d56078ed88d20c300250a3da5f2128db56230d90bb99e90aca80da446d8dddac49e2f2db1b37f9e1b65834adf8fdbcd31 +Ctrl.hexxcghash = hexxcghash:3c63a552ac5313d219ec30f1e926e2c52e992929 +Ctrl.hexsession_id = hexsession_id:a17e0e9cc2741d861f4c7195c29c75e4c38e9ba0 +Ctrl.type = type:A +Output = e4387818ab7f4fa6 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:00000081009dc61278a79fdb00ee937c0418668ac0176fdfd0297ebc86ee391e3e8db147f01d782650f1e30391d3c1fe62425842119fe41b76243ed47f6c30370dd1cc1b10e3bdac2730287b0e5901e487563d700d56078ed88d20c300250a3da5f2128db56230d90bb99e90aca80da446d8dddac49e2f2db1b37f9e1b65834adf8fdbcd31 +Ctrl.hexxcghash = hexxcghash:3c63a552ac5313d219ec30f1e926e2c52e992929 +Ctrl.hexsession_id = hexsession_id:a17e0e9cc2741d861f4c7195c29c75e4c38e9ba0 +Ctrl.type = type:B +Output = 1daabebcc8a064df + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:00000081009dc61278a79fdb00ee937c0418668ac0176fdfd0297ebc86ee391e3e8db147f01d782650f1e30391d3c1fe62425842119fe41b76243ed47f6c30370dd1cc1b10e3bdac2730287b0e5901e487563d700d56078ed88d20c300250a3da5f2128db56230d90bb99e90aca80da446d8dddac49e2f2db1b37f9e1b65834adf8fdbcd31 +Ctrl.hexxcghash = hexxcghash:3c63a552ac5313d219ec30f1e926e2c52e992929 +Ctrl.hexsession_id = hexsession_id:a17e0e9cc2741d861f4c7195c29c75e4c38e9ba0 +Ctrl.type = type:C +Output = 9fffad3aec53cd719c1d500850c2f38d8eea04606f78b402 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:00000081009dc61278a79fdb00ee937c0418668ac0176fdfd0297ebc86ee391e3e8db147f01d782650f1e30391d3c1fe62425842119fe41b76243ed47f6c30370dd1cc1b10e3bdac2730287b0e5901e487563d700d56078ed88d20c300250a3da5f2128db56230d90bb99e90aca80da446d8dddac49e2f2db1b37f9e1b65834adf8fdbcd31 +Ctrl.hexxcghash = hexxcghash:3c63a552ac5313d219ec30f1e926e2c52e992929 +Ctrl.hexsession_id = hexsession_id:a17e0e9cc2741d861f4c7195c29c75e4c38e9ba0 +Ctrl.type = type:D +Output = 6b196bce2aa2bd912ffd67a94fc42dec1051376f73ec3ce2 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:00000081009dc61278a79fdb00ee937c0418668ac0176fdfd0297ebc86ee391e3e8db147f01d782650f1e30391d3c1fe62425842119fe41b76243ed47f6c30370dd1cc1b10e3bdac2730287b0e5901e487563d700d56078ed88d20c300250a3da5f2128db56230d90bb99e90aca80da446d8dddac49e2f2db1b37f9e1b65834adf8fdbcd31 +Ctrl.hexxcghash = hexxcghash:3c63a552ac5313d219ec30f1e926e2c52e992929 +Ctrl.hexsession_id = hexsession_id:a17e0e9cc2741d861f4c7195c29c75e4c38e9ba0 +Ctrl.type = type:E +Output = beab583906e6bed005558c102a5b5fd6ee71485f + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:00000081009dc61278a79fdb00ee937c0418668ac0176fdfd0297ebc86ee391e3e8db147f01d782650f1e30391d3c1fe62425842119fe41b76243ed47f6c30370dd1cc1b10e3bdac2730287b0e5901e487563d700d56078ed88d20c300250a3da5f2128db56230d90bb99e90aca80da446d8dddac49e2f2db1b37f9e1b65834adf8fdbcd31 +Ctrl.hexxcghash = hexxcghash:3c63a552ac5313d219ec30f1e926e2c52e992929 +Ctrl.hexsession_id = hexsession_id:a17e0e9cc2741d861f4c7195c29c75e4c38e9ba0 +Ctrl.type = type:F +Output = 105140594b5b9061de7ff2afac09bce81b75d6c6 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100df75bb7ce0b66431ca073a5768dbc6930b024b8d6804a5ef9f3f3c9341b8c8b7216eaf26536ac671ab360eff568502e596adbf41b795d329d136ebe44c60ff4ffd58ed99b40a228cab6c8ed9733702e75f7750e58f04cbb78402eec2877205a0ba3f48318543489dc4885dcdc51c4658acbc28f9a82c563ac20b582cff8c432d +Ctrl.hexxcghash = hexxcghash:c08ddd40832cc96fe373b67a4850b86848e48f70 +Ctrl.hexsession_id = hexsession_id:477c8d32e73a475707e0085cf235d605ed564a1c +Ctrl.type = type:A +Output = ef982c8fd0fd464f + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100df75bb7ce0b66431ca073a5768dbc6930b024b8d6804a5ef9f3f3c9341b8c8b7216eaf26536ac671ab360eff568502e596adbf41b795d329d136ebe44c60ff4ffd58ed99b40a228cab6c8ed9733702e75f7750e58f04cbb78402eec2877205a0ba3f48318543489dc4885dcdc51c4658acbc28f9a82c563ac20b582cff8c432d +Ctrl.hexxcghash = hexxcghash:c08ddd40832cc96fe373b67a4850b86848e48f70 +Ctrl.hexsession_id = hexsession_id:477c8d32e73a475707e0085cf235d605ed564a1c +Ctrl.type = type:B +Output = 845ad3ba4d359326 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100df75bb7ce0b66431ca073a5768dbc6930b024b8d6804a5ef9f3f3c9341b8c8b7216eaf26536ac671ab360eff568502e596adbf41b795d329d136ebe44c60ff4ffd58ed99b40a228cab6c8ed9733702e75f7750e58f04cbb78402eec2877205a0ba3f48318543489dc4885dcdc51c4658acbc28f9a82c563ac20b582cff8c432d +Ctrl.hexxcghash = hexxcghash:c08ddd40832cc96fe373b67a4850b86848e48f70 +Ctrl.hexsession_id = hexsession_id:477c8d32e73a475707e0085cf235d605ed564a1c +Ctrl.type = type:C +Output = d9e516001b6b1a17268e507fa6e13f6bc9c3ded0020ef841 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100df75bb7ce0b66431ca073a5768dbc6930b024b8d6804a5ef9f3f3c9341b8c8b7216eaf26536ac671ab360eff568502e596adbf41b795d329d136ebe44c60ff4ffd58ed99b40a228cab6c8ed9733702e75f7750e58f04cbb78402eec2877205a0ba3f48318543489dc4885dcdc51c4658acbc28f9a82c563ac20b582cff8c432d +Ctrl.hexxcghash = hexxcghash:c08ddd40832cc96fe373b67a4850b86848e48f70 +Ctrl.hexsession_id = hexsession_id:477c8d32e73a475707e0085cf235d605ed564a1c +Ctrl.type = type:D +Output = d57d2f3c25b536442d8c7f36d62778d06fb6e7d4b5c7ab76 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100df75bb7ce0b66431ca073a5768dbc6930b024b8d6804a5ef9f3f3c9341b8c8b7216eaf26536ac671ab360eff568502e596adbf41b795d329d136ebe44c60ff4ffd58ed99b40a228cab6c8ed9733702e75f7750e58f04cbb78402eec2877205a0ba3f48318543489dc4885dcdc51c4658acbc28f9a82c563ac20b582cff8c432d +Ctrl.hexxcghash = hexxcghash:c08ddd40832cc96fe373b67a4850b86848e48f70 +Ctrl.hexsession_id = hexsession_id:477c8d32e73a475707e0085cf235d605ed564a1c +Ctrl.type = type:E +Output = f0b75425b271eb82645b1f1424b2a838dbcf6f98 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008100df75bb7ce0b66431ca073a5768dbc6930b024b8d6804a5ef9f3f3c9341b8c8b7216eaf26536ac671ab360eff568502e596adbf41b795d329d136ebe44c60ff4ffd58ed99b40a228cab6c8ed9733702e75f7750e58f04cbb78402eec2877205a0ba3f48318543489dc4885dcdc51c4658acbc28f9a82c563ac20b582cff8c432d +Ctrl.hexxcghash = hexxcghash:c08ddd40832cc96fe373b67a4850b86848e48f70 +Ctrl.hexsession_id = hexsession_id:477c8d32e73a475707e0085cf235d605ed564a1c +Ctrl.type = type:F +Output = cdf59b2327588ffd18becfc0e5bb526014101401 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001010085a60bcca88b096c418e825f3de4fd8920ecce617afadda2ca8001e8eba07e58e60e70a9a05b8ddc29d5636d33c407d5f23952b65326e113f28d89bc6ba3a4c3b71ae239d6d1bd295466682d1c675bdb88a3259f474fe54a0f4004ddc46b442451654e1e66d0c93d7b310f28a8db7b95eee7abc61e71dee322b4e732baf9ec7ce189b889d536da1a55a2cc29e1666aa9c0e702f4412206bd207302fe84043c664394bde0e0a47d0a7a947c95997e1dbaeecd2efae12cacef8eab2f6b2478dedcebb3264827cf226e13f8082931db410fbc03352e7dde82fd1f58caab3115aa065ac6e2a1c7b1c1b2d5fa3447bf9839d76cfa5822b097bff9106f37eba1250145 +Ctrl.hexxcghash = hexxcghash:dde6f8e070ef32a27ff04ad1045c65b2dfa33e03 +Ctrl.hexsession_id = hexsession_id:dde6f8e070ef32a27ff04ad1045c65b2dfa33e03 +Ctrl.type = type:A +Output = 79c9195e683ae10750960cb55c4d4c0b + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001010085a60bcca88b096c418e825f3de4fd8920ecce617afadda2ca8001e8eba07e58e60e70a9a05b8ddc29d5636d33c407d5f23952b65326e113f28d89bc6ba3a4c3b71ae239d6d1bd295466682d1c675bdb88a3259f474fe54a0f4004ddc46b442451654e1e66d0c93d7b310f28a8db7b95eee7abc61e71dee322b4e732baf9ec7ce189b889d536da1a55a2cc29e1666aa9c0e702f4412206bd207302fe84043c664394bde0e0a47d0a7a947c95997e1dbaeecd2efae12cacef8eab2f6b2478dedcebb3264827cf226e13f8082931db410fbc03352e7dde82fd1f58caab3115aa065ac6e2a1c7b1c1b2d5fa3447bf9839d76cfa5822b097bff9106f37eba1250145 +Ctrl.hexxcghash = hexxcghash:dde6f8e070ef32a27ff04ad1045c65b2dfa33e03 +Ctrl.hexsession_id = hexsession_id:dde6f8e070ef32a27ff04ad1045c65b2dfa33e03 +Ctrl.type = type:B +Output = ef00b448ab9fd6523bb5143a0a818750 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001010085a60bcca88b096c418e825f3de4fd8920ecce617afadda2ca8001e8eba07e58e60e70a9a05b8ddc29d5636d33c407d5f23952b65326e113f28d89bc6ba3a4c3b71ae239d6d1bd295466682d1c675bdb88a3259f474fe54a0f4004ddc46b442451654e1e66d0c93d7b310f28a8db7b95eee7abc61e71dee322b4e732baf9ec7ce189b889d536da1a55a2cc29e1666aa9c0e702f4412206bd207302fe84043c664394bde0e0a47d0a7a947c95997e1dbaeecd2efae12cacef8eab2f6b2478dedcebb3264827cf226e13f8082931db410fbc03352e7dde82fd1f58caab3115aa065ac6e2a1c7b1c1b2d5fa3447bf9839d76cfa5822b097bff9106f37eba1250145 +Ctrl.hexxcghash = hexxcghash:dde6f8e070ef32a27ff04ad1045c65b2dfa33e03 +Ctrl.hexsession_id = hexsession_id:dde6f8e070ef32a27ff04ad1045c65b2dfa33e03 +Ctrl.type = type:C +Output = 51c8b4aaf5e42443be0aa3c50aa7e1dd + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001010085a60bcca88b096c418e825f3de4fd8920ecce617afadda2ca8001e8eba07e58e60e70a9a05b8ddc29d5636d33c407d5f23952b65326e113f28d89bc6ba3a4c3b71ae239d6d1bd295466682d1c675bdb88a3259f474fe54a0f4004ddc46b442451654e1e66d0c93d7b310f28a8db7b95eee7abc61e71dee322b4e732baf9ec7ce189b889d536da1a55a2cc29e1666aa9c0e702f4412206bd207302fe84043c664394bde0e0a47d0a7a947c95997e1dbaeecd2efae12cacef8eab2f6b2478dedcebb3264827cf226e13f8082931db410fbc03352e7dde82fd1f58caab3115aa065ac6e2a1c7b1c1b2d5fa3447bf9839d76cfa5822b097bff9106f37eba1250145 +Ctrl.hexxcghash = hexxcghash:dde6f8e070ef32a27ff04ad1045c65b2dfa33e03 +Ctrl.hexsession_id = hexsession_id:dde6f8e070ef32a27ff04ad1045c65b2dfa33e03 +Ctrl.type = type:D +Output = 4153a587397fb14dc3faad028fdb7ecc + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001010085a60bcca88b096c418e825f3de4fd8920ecce617afadda2ca8001e8eba07e58e60e70a9a05b8ddc29d5636d33c407d5f23952b65326e113f28d89bc6ba3a4c3b71ae239d6d1bd295466682d1c675bdb88a3259f474fe54a0f4004ddc46b442451654e1e66d0c93d7b310f28a8db7b95eee7abc61e71dee322b4e732baf9ec7ce189b889d536da1a55a2cc29e1666aa9c0e702f4412206bd207302fe84043c664394bde0e0a47d0a7a947c95997e1dbaeecd2efae12cacef8eab2f6b2478dedcebb3264827cf226e13f8082931db410fbc03352e7dde82fd1f58caab3115aa065ac6e2a1c7b1c1b2d5fa3447bf9839d76cfa5822b097bff9106f37eba1250145 +Ctrl.hexxcghash = hexxcghash:dde6f8e070ef32a27ff04ad1045c65b2dfa33e03 +Ctrl.hexsession_id = hexsession_id:dde6f8e070ef32a27ff04ad1045c65b2dfa33e03 +Ctrl.type = type:E +Output = d23e36347052a1cfb4a7789df48627e8a31345c7 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001010085a60bcca88b096c418e825f3de4fd8920ecce617afadda2ca8001e8eba07e58e60e70a9a05b8ddc29d5636d33c407d5f23952b65326e113f28d89bc6ba3a4c3b71ae239d6d1bd295466682d1c675bdb88a3259f474fe54a0f4004ddc46b442451654e1e66d0c93d7b310f28a8db7b95eee7abc61e71dee322b4e732baf9ec7ce189b889d536da1a55a2cc29e1666aa9c0e702f4412206bd207302fe84043c664394bde0e0a47d0a7a947c95997e1dbaeecd2efae12cacef8eab2f6b2478dedcebb3264827cf226e13f8082931db410fbc03352e7dde82fd1f58caab3115aa065ac6e2a1c7b1c1b2d5fa3447bf9839d76cfa5822b097bff9106f37eba1250145 +Ctrl.hexxcghash = hexxcghash:dde6f8e070ef32a27ff04ad1045c65b2dfa33e03 +Ctrl.hexsession_id = hexsession_id:dde6f8e070ef32a27ff04ad1045c65b2dfa33e03 +Ctrl.type = type:F +Output = c1286e92655912d923154c460702a31424bd6b01 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010100c0724e077d7237441eb79039debaa851c0bf411e69cd5314f3c72aa45760c9969985b34291fb64bf964b719d2b989e40a0e9fbccdb23536a78f1b55ebbda809f862e8ec3561c15c4288595546e09789cbc2491050073222397957c9090b7f8f96e3fefbc5f438c72ca8bb48f6337e208ee9b3f630a8c5b40b9fafca8e55be0a0cf4046884a0a049b4557da4ddb7a344226f4707c706e96467b1568ad4d10363aa9eb04b91efbada0c1c292475ce9893a27d4a1deb4a262d980141e63756adf3d5fbcf6ebde919cfd44052984704af6ba360e190fecfc730a5e470785d3061ee5f495cd697af97f90bbc11f2e4e41e57ce25f34b9c4ec9f3c051d964ad0c036b4 +Ctrl.hexxcghash = hexxcghash:5ae93beda675546c8a783974925aca9b365a6d8e +Ctrl.hexsession_id = hexsession_id:bb0bfeb33b78474b2d53232b3122506992c0cae4 +Ctrl.type = type:A +Output = 739ad52e454ba3457735b7c5304c6578 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010100c0724e077d7237441eb79039debaa851c0bf411e69cd5314f3c72aa45760c9969985b34291fb64bf964b719d2b989e40a0e9fbccdb23536a78f1b55ebbda809f862e8ec3561c15c4288595546e09789cbc2491050073222397957c9090b7f8f96e3fefbc5f438c72ca8bb48f6337e208ee9b3f630a8c5b40b9fafca8e55be0a0cf4046884a0a049b4557da4ddb7a344226f4707c706e96467b1568ad4d10363aa9eb04b91efbada0c1c292475ce9893a27d4a1deb4a262d980141e63756adf3d5fbcf6ebde919cfd44052984704af6ba360e190fecfc730a5e470785d3061ee5f495cd697af97f90bbc11f2e4e41e57ce25f34b9c4ec9f3c051d964ad0c036b4 +Ctrl.hexxcghash = hexxcghash:5ae93beda675546c8a783974925aca9b365a6d8e +Ctrl.hexsession_id = hexsession_id:bb0bfeb33b78474b2d53232b3122506992c0cae4 +Ctrl.type = type:B +Output = 3bd9f9d9f06aa521d2f53e40fc5d9f90 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010100c0724e077d7237441eb79039debaa851c0bf411e69cd5314f3c72aa45760c9969985b34291fb64bf964b719d2b989e40a0e9fbccdb23536a78f1b55ebbda809f862e8ec3561c15c4288595546e09789cbc2491050073222397957c9090b7f8f96e3fefbc5f438c72ca8bb48f6337e208ee9b3f630a8c5b40b9fafca8e55be0a0cf4046884a0a049b4557da4ddb7a344226f4707c706e96467b1568ad4d10363aa9eb04b91efbada0c1c292475ce9893a27d4a1deb4a262d980141e63756adf3d5fbcf6ebde919cfd44052984704af6ba360e190fecfc730a5e470785d3061ee5f495cd697af97f90bbc11f2e4e41e57ce25f34b9c4ec9f3c051d964ad0c036b4 +Ctrl.hexxcghash = hexxcghash:5ae93beda675546c8a783974925aca9b365a6d8e +Ctrl.hexsession_id = hexsession_id:bb0bfeb33b78474b2d53232b3122506992c0cae4 +Ctrl.type = type:C +Output = 335cd2813bebd3d5e1dda4c1e14c23de + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010100c0724e077d7237441eb79039debaa851c0bf411e69cd5314f3c72aa45760c9969985b34291fb64bf964b719d2b989e40a0e9fbccdb23536a78f1b55ebbda809f862e8ec3561c15c4288595546e09789cbc2491050073222397957c9090b7f8f96e3fefbc5f438c72ca8bb48f6337e208ee9b3f630a8c5b40b9fafca8e55be0a0cf4046884a0a049b4557da4ddb7a344226f4707c706e96467b1568ad4d10363aa9eb04b91efbada0c1c292475ce9893a27d4a1deb4a262d980141e63756adf3d5fbcf6ebde919cfd44052984704af6ba360e190fecfc730a5e470785d3061ee5f495cd697af97f90bbc11f2e4e41e57ce25f34b9c4ec9f3c051d964ad0c036b4 +Ctrl.hexxcghash = hexxcghash:5ae93beda675546c8a783974925aca9b365a6d8e +Ctrl.hexsession_id = hexsession_id:bb0bfeb33b78474b2d53232b3122506992c0cae4 +Ctrl.type = type:D +Output = fd25c5ae649645d8c0cfff0d4d8e7a47 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010100c0724e077d7237441eb79039debaa851c0bf411e69cd5314f3c72aa45760c9969985b34291fb64bf964b719d2b989e40a0e9fbccdb23536a78f1b55ebbda809f862e8ec3561c15c4288595546e09789cbc2491050073222397957c9090b7f8f96e3fefbc5f438c72ca8bb48f6337e208ee9b3f630a8c5b40b9fafca8e55be0a0cf4046884a0a049b4557da4ddb7a344226f4707c706e96467b1568ad4d10363aa9eb04b91efbada0c1c292475ce9893a27d4a1deb4a262d980141e63756adf3d5fbcf6ebde919cfd44052984704af6ba360e190fecfc730a5e470785d3061ee5f495cd697af97f90bbc11f2e4e41e57ce25f34b9c4ec9f3c051d964ad0c036b4 +Ctrl.hexxcghash = hexxcghash:5ae93beda675546c8a783974925aca9b365a6d8e +Ctrl.hexsession_id = hexsession_id:bb0bfeb33b78474b2d53232b3122506992c0cae4 +Ctrl.type = type:E +Output = 90e89773d04623553d4d298e6aa75781d8a6544b + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010100c0724e077d7237441eb79039debaa851c0bf411e69cd5314f3c72aa45760c9969985b34291fb64bf964b719d2b989e40a0e9fbccdb23536a78f1b55ebbda809f862e8ec3561c15c4288595546e09789cbc2491050073222397957c9090b7f8f96e3fefbc5f438c72ca8bb48f6337e208ee9b3f630a8c5b40b9fafca8e55be0a0cf4046884a0a049b4557da4ddb7a344226f4707c706e96467b1568ad4d10363aa9eb04b91efbada0c1c292475ce9893a27d4a1deb4a262d980141e63756adf3d5fbcf6ebde919cfd44052984704af6ba360e190fecfc730a5e470785d3061ee5f495cd697af97f90bbc11f2e4e41e57ce25f34b9c4ec9f3c051d964ad0c036b4 +Ctrl.hexxcghash = hexxcghash:5ae93beda675546c8a783974925aca9b365a6d8e +Ctrl.hexsession_id = hexsession_id:bb0bfeb33b78474b2d53232b3122506992c0cae4 +Ctrl.type = type:F +Output = 86a3f05a5f844b23d787cccbda37a3d773a4d049 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001004c48728c828a34a5ff90188cd749d5ccf849d8f96d78072bc8c3a766e4be2c4bfdb8d0310225f05b0373fa582b5a9e78b6a05d958a7b82d944d00697a1ef2119e7545bdf2c6dc2e8cb2215ff58a0163c116b0b326caa50e6384e4e4ab424bfada5d15af1d22f34dc5f8bfd5c823c4b9253fe858a9d7f17bf0be17951bce751b8c2f0b3be25bad6054b39fb2d687d4e69c07d79f4952e65315b1f712cee11707a4984f29df9aac7a7274772f60a2f207ec6a35e1478aa9ae8045dc53417b220bf60124d988e376bf18414400bbe2ac4654716fd26b3a90ae53215ff906364ef82a08686a1977126c64d6d3f381e8477d55f8e79a0e0719089e073fffdbf828cde +Ctrl.hexxcghash = hexxcghash:edeac369fd19f7dd1e8e48d0c69f9df5fe5475b4 +Ctrl.hexsession_id = hexsession_id:30d9cd8d63a203aeff4a99d8c299676f21a2c74e +Ctrl.type = type:A +Output = d2d06d589e6e696556e3d44d7d05decb + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001004c48728c828a34a5ff90188cd749d5ccf849d8f96d78072bc8c3a766e4be2c4bfdb8d0310225f05b0373fa582b5a9e78b6a05d958a7b82d944d00697a1ef2119e7545bdf2c6dc2e8cb2215ff58a0163c116b0b326caa50e6384e4e4ab424bfada5d15af1d22f34dc5f8bfd5c823c4b9253fe858a9d7f17bf0be17951bce751b8c2f0b3be25bad6054b39fb2d687d4e69c07d79f4952e65315b1f712cee11707a4984f29df9aac7a7274772f60a2f207ec6a35e1478aa9ae8045dc53417b220bf60124d988e376bf18414400bbe2ac4654716fd26b3a90ae53215ff906364ef82a08686a1977126c64d6d3f381e8477d55f8e79a0e0719089e073fffdbf828cde +Ctrl.hexxcghash = hexxcghash:edeac369fd19f7dd1e8e48d0c69f9df5fe5475b4 +Ctrl.hexsession_id = hexsession_id:30d9cd8d63a203aeff4a99d8c299676f21a2c74e +Ctrl.type = type:B +Output = 14e3a886b715206e837b70fe7c02b941 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001004c48728c828a34a5ff90188cd749d5ccf849d8f96d78072bc8c3a766e4be2c4bfdb8d0310225f05b0373fa582b5a9e78b6a05d958a7b82d944d00697a1ef2119e7545bdf2c6dc2e8cb2215ff58a0163c116b0b326caa50e6384e4e4ab424bfada5d15af1d22f34dc5f8bfd5c823c4b9253fe858a9d7f17bf0be17951bce751b8c2f0b3be25bad6054b39fb2d687d4e69c07d79f4952e65315b1f712cee11707a4984f29df9aac7a7274772f60a2f207ec6a35e1478aa9ae8045dc53417b220bf60124d988e376bf18414400bbe2ac4654716fd26b3a90ae53215ff906364ef82a08686a1977126c64d6d3f381e8477d55f8e79a0e0719089e073fffdbf828cde +Ctrl.hexxcghash = hexxcghash:edeac369fd19f7dd1e8e48d0c69f9df5fe5475b4 +Ctrl.hexsession_id = hexsession_id:30d9cd8d63a203aeff4a99d8c299676f21a2c74e +Ctrl.type = type:C +Output = 98625cf9741819273a0d6852ca7ab592 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001004c48728c828a34a5ff90188cd749d5ccf849d8f96d78072bc8c3a766e4be2c4bfdb8d0310225f05b0373fa582b5a9e78b6a05d958a7b82d944d00697a1ef2119e7545bdf2c6dc2e8cb2215ff58a0163c116b0b326caa50e6384e4e4ab424bfada5d15af1d22f34dc5f8bfd5c823c4b9253fe858a9d7f17bf0be17951bce751b8c2f0b3be25bad6054b39fb2d687d4e69c07d79f4952e65315b1f712cee11707a4984f29df9aac7a7274772f60a2f207ec6a35e1478aa9ae8045dc53417b220bf60124d988e376bf18414400bbe2ac4654716fd26b3a90ae53215ff906364ef82a08686a1977126c64d6d3f381e8477d55f8e79a0e0719089e073fffdbf828cde +Ctrl.hexxcghash = hexxcghash:edeac369fd19f7dd1e8e48d0c69f9df5fe5475b4 +Ctrl.hexsession_id = hexsession_id:30d9cd8d63a203aeff4a99d8c299676f21a2c74e +Ctrl.type = type:D +Output = a7b273f04d537856015e06075c94c398 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001004c48728c828a34a5ff90188cd749d5ccf849d8f96d78072bc8c3a766e4be2c4bfdb8d0310225f05b0373fa582b5a9e78b6a05d958a7b82d944d00697a1ef2119e7545bdf2c6dc2e8cb2215ff58a0163c116b0b326caa50e6384e4e4ab424bfada5d15af1d22f34dc5f8bfd5c823c4b9253fe858a9d7f17bf0be17951bce751b8c2f0b3be25bad6054b39fb2d687d4e69c07d79f4952e65315b1f712cee11707a4984f29df9aac7a7274772f60a2f207ec6a35e1478aa9ae8045dc53417b220bf60124d988e376bf18414400bbe2ac4654716fd26b3a90ae53215ff906364ef82a08686a1977126c64d6d3f381e8477d55f8e79a0e0719089e073fffdbf828cde +Ctrl.hexxcghash = hexxcghash:edeac369fd19f7dd1e8e48d0c69f9df5fe5475b4 +Ctrl.hexsession_id = hexsession_id:30d9cd8d63a203aeff4a99d8c299676f21a2c74e +Ctrl.type = type:E +Output = 3e1afa980d05ec30e9a55331ac301c10305999e2 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001004c48728c828a34a5ff90188cd749d5ccf849d8f96d78072bc8c3a766e4be2c4bfdb8d0310225f05b0373fa582b5a9e78b6a05d958a7b82d944d00697a1ef2119e7545bdf2c6dc2e8cb2215ff58a0163c116b0b326caa50e6384e4e4ab424bfada5d15af1d22f34dc5f8bfd5c823c4b9253fe858a9d7f17bf0be17951bce751b8c2f0b3be25bad6054b39fb2d687d4e69c07d79f4952e65315b1f712cee11707a4984f29df9aac7a7274772f60a2f207ec6a35e1478aa9ae8045dc53417b220bf60124d988e376bf18414400bbe2ac4654716fd26b3a90ae53215ff906364ef82a08686a1977126c64d6d3f381e8477d55f8e79a0e0719089e073fffdbf828cde +Ctrl.hexxcghash = hexxcghash:edeac369fd19f7dd1e8e48d0c69f9df5fe5475b4 +Ctrl.hexsession_id = hexsession_id:30d9cd8d63a203aeff4a99d8c299676f21a2c74e +Ctrl.type = type:F +Output = b993c4254669c7a51ed713ddaf7174fd5296fe57 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010100f6fa934f303a9db720352fca5a6bae671857d44053d61132a6d36d76cee686fd31ea796407306ad3cb500f99b8881641ce304217910179ca03d3638c89419127542d2f6eea999c637070a3a2e2d17419fd2d53a23dc0bbad1333089a64c232c4328ca5d6db233777a93932407741a9fe4c8efd13e9f2f411368fd2035d05175f8710b79a77bd4749df3027eef44f1d050fd01458cd1c6d1fe67d774f4e056533305ad39ecf5a6e4898186b8b66e95c9546081c7df6df7a433887bb0333d0fb16418bb2d399b2be0b02978e5bbc97b57e67e88aa073ba3280a386209029bdc3d8f448eb18e29c87811142629827c54aa19d150b6eb6fb7a33d746b11d27d9d474 +Ctrl.hexxcghash = hexxcghash:6dffed964fd4044cb99b5f8770abef82d02c1cd1 +Ctrl.hexsession_id = hexsession_id:d98f1e884633c4632568e1dd0a54e4c8508c279d +Ctrl.type = type:A +Output = d9c0ed6b7fbf066d4f3cff7d2585ef5b + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010100f6fa934f303a9db720352fca5a6bae671857d44053d61132a6d36d76cee686fd31ea796407306ad3cb500f99b8881641ce304217910179ca03d3638c89419127542d2f6eea999c637070a3a2e2d17419fd2d53a23dc0bbad1333089a64c232c4328ca5d6db233777a93932407741a9fe4c8efd13e9f2f411368fd2035d05175f8710b79a77bd4749df3027eef44f1d050fd01458cd1c6d1fe67d774f4e056533305ad39ecf5a6e4898186b8b66e95c9546081c7df6df7a433887bb0333d0fb16418bb2d399b2be0b02978e5bbc97b57e67e88aa073ba3280a386209029bdc3d8f448eb18e29c87811142629827c54aa19d150b6eb6fb7a33d746b11d27d9d474 +Ctrl.hexxcghash = hexxcghash:6dffed964fd4044cb99b5f8770abef82d02c1cd1 +Ctrl.hexsession_id = hexsession_id:d98f1e884633c4632568e1dd0a54e4c8508c279d +Ctrl.type = type:B +Output = da13833aa2c086e5d76595132f4e5fc6 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010100f6fa934f303a9db720352fca5a6bae671857d44053d61132a6d36d76cee686fd31ea796407306ad3cb500f99b8881641ce304217910179ca03d3638c89419127542d2f6eea999c637070a3a2e2d17419fd2d53a23dc0bbad1333089a64c232c4328ca5d6db233777a93932407741a9fe4c8efd13e9f2f411368fd2035d05175f8710b79a77bd4749df3027eef44f1d050fd01458cd1c6d1fe67d774f4e056533305ad39ecf5a6e4898186b8b66e95c9546081c7df6df7a433887bb0333d0fb16418bb2d399b2be0b02978e5bbc97b57e67e88aa073ba3280a386209029bdc3d8f448eb18e29c87811142629827c54aa19d150b6eb6fb7a33d746b11d27d9d474 +Ctrl.hexxcghash = hexxcghash:6dffed964fd4044cb99b5f8770abef82d02c1cd1 +Ctrl.hexsession_id = hexsession_id:d98f1e884633c4632568e1dd0a54e4c8508c279d +Ctrl.type = type:C +Output = 9e27400587b646397a7655be0e5763ec + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010100f6fa934f303a9db720352fca5a6bae671857d44053d61132a6d36d76cee686fd31ea796407306ad3cb500f99b8881641ce304217910179ca03d3638c89419127542d2f6eea999c637070a3a2e2d17419fd2d53a23dc0bbad1333089a64c232c4328ca5d6db233777a93932407741a9fe4c8efd13e9f2f411368fd2035d05175f8710b79a77bd4749df3027eef44f1d050fd01458cd1c6d1fe67d774f4e056533305ad39ecf5a6e4898186b8b66e95c9546081c7df6df7a433887bb0333d0fb16418bb2d399b2be0b02978e5bbc97b57e67e88aa073ba3280a386209029bdc3d8f448eb18e29c87811142629827c54aa19d150b6eb6fb7a33d746b11d27d9d474 +Ctrl.hexxcghash = hexxcghash:6dffed964fd4044cb99b5f8770abef82d02c1cd1 +Ctrl.hexsession_id = hexsession_id:d98f1e884633c4632568e1dd0a54e4c8508c279d +Ctrl.type = type:D +Output = 91b95d5cce7f2aec14776f49f652a305 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010100f6fa934f303a9db720352fca5a6bae671857d44053d61132a6d36d76cee686fd31ea796407306ad3cb500f99b8881641ce304217910179ca03d3638c89419127542d2f6eea999c637070a3a2e2d17419fd2d53a23dc0bbad1333089a64c232c4328ca5d6db233777a93932407741a9fe4c8efd13e9f2f411368fd2035d05175f8710b79a77bd4749df3027eef44f1d050fd01458cd1c6d1fe67d774f4e056533305ad39ecf5a6e4898186b8b66e95c9546081c7df6df7a433887bb0333d0fb16418bb2d399b2be0b02978e5bbc97b57e67e88aa073ba3280a386209029bdc3d8f448eb18e29c87811142629827c54aa19d150b6eb6fb7a33d746b11d27d9d474 +Ctrl.hexxcghash = hexxcghash:6dffed964fd4044cb99b5f8770abef82d02c1cd1 +Ctrl.hexsession_id = hexsession_id:d98f1e884633c4632568e1dd0a54e4c8508c279d +Ctrl.type = type:E +Output = a97dc9a99e37c983a4922cd2ecdfa394b71141ce + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010100f6fa934f303a9db720352fca5a6bae671857d44053d61132a6d36d76cee686fd31ea796407306ad3cb500f99b8881641ce304217910179ca03d3638c89419127542d2f6eea999c637070a3a2e2d17419fd2d53a23dc0bbad1333089a64c232c4328ca5d6db233777a93932407741a9fe4c8efd13e9f2f411368fd2035d05175f8710b79a77bd4749df3027eef44f1d050fd01458cd1c6d1fe67d774f4e056533305ad39ecf5a6e4898186b8b66e95c9546081c7df6df7a433887bb0333d0fb16418bb2d399b2be0b02978e5bbc97b57e67e88aa073ba3280a386209029bdc3d8f448eb18e29c87811142629827c54aa19d150b6eb6fb7a33d746b11d27d9d474 +Ctrl.hexxcghash = hexxcghash:6dffed964fd4044cb99b5f8770abef82d02c1cd1 +Ctrl.hexsession_id = hexsession_id:d98f1e884633c4632568e1dd0a54e4c8508c279d +Ctrl.type = type:F +Output = 173d846f9790c742ca86af4bff5f965c6088a05b + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001000a341cb148554046ac79686473c7e924486ae79c9dd1878a647687d3562cc81e5379c20df44edd6bfa8b9a26cdc06c6eb5f02272f90992ef58c65fe3e98725e9434a8512aef4c2093d27c57a1aee5f5b6861025001d20b5bc8666c4930107f563035bca6ddc91ff9d15ebb56d2628146d3baa3c6f81dc73602518c2aef4906e08b2ffa67e4528d92b1b3bcbd3a9e421d86413bb355574bb68f94bf75221918ca4f6624445b0afa0c26e270788490cbab1abd41a42200ab9e76a2f8b8ffbe0c5ef7a230b5bf7018cfd170ccd009058092d2446ebe73c5f0bf2d9ceca311502af621880eb18e46edc7832765c00e2599fbb82402b039eb5c5ae376690a717c0344 +Ctrl.hexxcghash = hexxcghash:4cee9b1867e94911e8f9fbd9ec3375d25c955f97 +Ctrl.hexsession_id = hexsession_id:2aefdaa6f14ac3ec200a951fd74433cddc01193a +Ctrl.type = type:A +Output = 6fa496847cda7367cb32b8be9aae3f85 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001000a341cb148554046ac79686473c7e924486ae79c9dd1878a647687d3562cc81e5379c20df44edd6bfa8b9a26cdc06c6eb5f02272f90992ef58c65fe3e98725e9434a8512aef4c2093d27c57a1aee5f5b6861025001d20b5bc8666c4930107f563035bca6ddc91ff9d15ebb56d2628146d3baa3c6f81dc73602518c2aef4906e08b2ffa67e4528d92b1b3bcbd3a9e421d86413bb355574bb68f94bf75221918ca4f6624445b0afa0c26e270788490cbab1abd41a42200ab9e76a2f8b8ffbe0c5ef7a230b5bf7018cfd170ccd009058092d2446ebe73c5f0bf2d9ceca311502af621880eb18e46edc7832765c00e2599fbb82402b039eb5c5ae376690a717c0344 +Ctrl.hexxcghash = hexxcghash:4cee9b1867e94911e8f9fbd9ec3375d25c955f97 +Ctrl.hexsession_id = hexsession_id:2aefdaa6f14ac3ec200a951fd74433cddc01193a +Ctrl.type = type:B +Output = 702ac8636520b7c6169ddc660781de9f + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001000a341cb148554046ac79686473c7e924486ae79c9dd1878a647687d3562cc81e5379c20df44edd6bfa8b9a26cdc06c6eb5f02272f90992ef58c65fe3e98725e9434a8512aef4c2093d27c57a1aee5f5b6861025001d20b5bc8666c4930107f563035bca6ddc91ff9d15ebb56d2628146d3baa3c6f81dc73602518c2aef4906e08b2ffa67e4528d92b1b3bcbd3a9e421d86413bb355574bb68f94bf75221918ca4f6624445b0afa0c26e270788490cbab1abd41a42200ab9e76a2f8b8ffbe0c5ef7a230b5bf7018cfd170ccd009058092d2446ebe73c5f0bf2d9ceca311502af621880eb18e46edc7832765c00e2599fbb82402b039eb5c5ae376690a717c0344 +Ctrl.hexxcghash = hexxcghash:4cee9b1867e94911e8f9fbd9ec3375d25c955f97 +Ctrl.hexsession_id = hexsession_id:2aefdaa6f14ac3ec200a951fd74433cddc01193a +Ctrl.type = type:C +Output = 6ffd703180af7c2207d5fa9e467272e3 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001000a341cb148554046ac79686473c7e924486ae79c9dd1878a647687d3562cc81e5379c20df44edd6bfa8b9a26cdc06c6eb5f02272f90992ef58c65fe3e98725e9434a8512aef4c2093d27c57a1aee5f5b6861025001d20b5bc8666c4930107f563035bca6ddc91ff9d15ebb56d2628146d3baa3c6f81dc73602518c2aef4906e08b2ffa67e4528d92b1b3bcbd3a9e421d86413bb355574bb68f94bf75221918ca4f6624445b0afa0c26e270788490cbab1abd41a42200ab9e76a2f8b8ffbe0c5ef7a230b5bf7018cfd170ccd009058092d2446ebe73c5f0bf2d9ceca311502af621880eb18e46edc7832765c00e2599fbb82402b039eb5c5ae376690a717c0344 +Ctrl.hexxcghash = hexxcghash:4cee9b1867e94911e8f9fbd9ec3375d25c955f97 +Ctrl.hexsession_id = hexsession_id:2aefdaa6f14ac3ec200a951fd74433cddc01193a +Ctrl.type = type:D +Output = 7ae5281e377f230dcc9854cf995f663d + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001000a341cb148554046ac79686473c7e924486ae79c9dd1878a647687d3562cc81e5379c20df44edd6bfa8b9a26cdc06c6eb5f02272f90992ef58c65fe3e98725e9434a8512aef4c2093d27c57a1aee5f5b6861025001d20b5bc8666c4930107f563035bca6ddc91ff9d15ebb56d2628146d3baa3c6f81dc73602518c2aef4906e08b2ffa67e4528d92b1b3bcbd3a9e421d86413bb355574bb68f94bf75221918ca4f6624445b0afa0c26e270788490cbab1abd41a42200ab9e76a2f8b8ffbe0c5ef7a230b5bf7018cfd170ccd009058092d2446ebe73c5f0bf2d9ceca311502af621880eb18e46edc7832765c00e2599fbb82402b039eb5c5ae376690a717c0344 +Ctrl.hexxcghash = hexxcghash:4cee9b1867e94911e8f9fbd9ec3375d25c955f97 +Ctrl.hexsession_id = hexsession_id:2aefdaa6f14ac3ec200a951fd74433cddc01193a +Ctrl.type = type:E +Output = fbcb152df7a3f12a8f174f9ca31bb31b124ae3c2 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001000a341cb148554046ac79686473c7e924486ae79c9dd1878a647687d3562cc81e5379c20df44edd6bfa8b9a26cdc06c6eb5f02272f90992ef58c65fe3e98725e9434a8512aef4c2093d27c57a1aee5f5b6861025001d20b5bc8666c4930107f563035bca6ddc91ff9d15ebb56d2628146d3baa3c6f81dc73602518c2aef4906e08b2ffa67e4528d92b1b3bcbd3a9e421d86413bb355574bb68f94bf75221918ca4f6624445b0afa0c26e270788490cbab1abd41a42200ab9e76a2f8b8ffbe0c5ef7a230b5bf7018cfd170ccd009058092d2446ebe73c5f0bf2d9ceca311502af621880eb18e46edc7832765c00e2599fbb82402b039eb5c5ae376690a717c0344 +Ctrl.hexxcghash = hexxcghash:4cee9b1867e94911e8f9fbd9ec3375d25c955f97 +Ctrl.hexsession_id = hexsession_id:2aefdaa6f14ac3ec200a951fd74433cddc01193a +Ctrl.type = type:F +Output = 3f0c57fbccfb7306cff23bdaf69d70a8a394b34b + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010011afb59055b4e8e0840d76a2d28a3ec1cf3fe7e436b585eab29cc3149e1fa610d979fcc1483a0ea2b426f8e25bc87bae94bdcbeaa80501a3c554d996f1656ac9be75ecefa46273b3ab8a66468cb4a16b3630cbc41df49ebe3917b5afba24d669264e11689f1a401abc557a0c4cf22ad9323056642c2bf7fea0907ba2274b7666dd144e66e1f39371a14ccafa030bad4c6e04f7b22f1e14f9a37ad6aaa3642f66068863a74ed4a07e87494f0ace772b682845fb27efd7f1a99f09b419f43d8443302534e4c59c0d3c59736e47375ff6e96c167247c5196a7c8849adb527e9ccbfae797ea311181978197f924dcf0db7367f84baa27db6e554ba6b764550d2834f +Ctrl.hexxcghash = hexxcghash:7ced7b72644be681615e503ecafe0c8f7124c85b +Ctrl.hexsession_id = hexsession_id:95d4ca5b0107d3d9f94ef857d7a64f685d3fecdc +Ctrl.type = type:A +Output = 7e37ea52156fad1903709e1d3229721f + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010011afb59055b4e8e0840d76a2d28a3ec1cf3fe7e436b585eab29cc3149e1fa610d979fcc1483a0ea2b426f8e25bc87bae94bdcbeaa80501a3c554d996f1656ac9be75ecefa46273b3ab8a66468cb4a16b3630cbc41df49ebe3917b5afba24d669264e11689f1a401abc557a0c4cf22ad9323056642c2bf7fea0907ba2274b7666dd144e66e1f39371a14ccafa030bad4c6e04f7b22f1e14f9a37ad6aaa3642f66068863a74ed4a07e87494f0ace772b682845fb27efd7f1a99f09b419f43d8443302534e4c59c0d3c59736e47375ff6e96c167247c5196a7c8849adb527e9ccbfae797ea311181978197f924dcf0db7367f84baa27db6e554ba6b764550d2834f +Ctrl.hexxcghash = hexxcghash:7ced7b72644be681615e503ecafe0c8f7124c85b +Ctrl.hexsession_id = hexsession_id:95d4ca5b0107d3d9f94ef857d7a64f685d3fecdc +Ctrl.type = type:B +Output = c15569583de413e08293bf1689a9afe8 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010011afb59055b4e8e0840d76a2d28a3ec1cf3fe7e436b585eab29cc3149e1fa610d979fcc1483a0ea2b426f8e25bc87bae94bdcbeaa80501a3c554d996f1656ac9be75ecefa46273b3ab8a66468cb4a16b3630cbc41df49ebe3917b5afba24d669264e11689f1a401abc557a0c4cf22ad9323056642c2bf7fea0907ba2274b7666dd144e66e1f39371a14ccafa030bad4c6e04f7b22f1e14f9a37ad6aaa3642f66068863a74ed4a07e87494f0ace772b682845fb27efd7f1a99f09b419f43d8443302534e4c59c0d3c59736e47375ff6e96c167247c5196a7c8849adb527e9ccbfae797ea311181978197f924dcf0db7367f84baa27db6e554ba6b764550d2834f +Ctrl.hexxcghash = hexxcghash:7ced7b72644be681615e503ecafe0c8f7124c85b +Ctrl.hexsession_id = hexsession_id:95d4ca5b0107d3d9f94ef857d7a64f685d3fecdc +Ctrl.type = type:C +Output = 0c85227539f5e328c64172280759d9bf + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010011afb59055b4e8e0840d76a2d28a3ec1cf3fe7e436b585eab29cc3149e1fa610d979fcc1483a0ea2b426f8e25bc87bae94bdcbeaa80501a3c554d996f1656ac9be75ecefa46273b3ab8a66468cb4a16b3630cbc41df49ebe3917b5afba24d669264e11689f1a401abc557a0c4cf22ad9323056642c2bf7fea0907ba2274b7666dd144e66e1f39371a14ccafa030bad4c6e04f7b22f1e14f9a37ad6aaa3642f66068863a74ed4a07e87494f0ace772b682845fb27efd7f1a99f09b419f43d8443302534e4c59c0d3c59736e47375ff6e96c167247c5196a7c8849adb527e9ccbfae797ea311181978197f924dcf0db7367f84baa27db6e554ba6b764550d2834f +Ctrl.hexxcghash = hexxcghash:7ced7b72644be681615e503ecafe0c8f7124c85b +Ctrl.hexsession_id = hexsession_id:95d4ca5b0107d3d9f94ef857d7a64f685d3fecdc +Ctrl.type = type:D +Output = 3dbc42d9e7128e861b87781546cedc8e + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010011afb59055b4e8e0840d76a2d28a3ec1cf3fe7e436b585eab29cc3149e1fa610d979fcc1483a0ea2b426f8e25bc87bae94bdcbeaa80501a3c554d996f1656ac9be75ecefa46273b3ab8a66468cb4a16b3630cbc41df49ebe3917b5afba24d669264e11689f1a401abc557a0c4cf22ad9323056642c2bf7fea0907ba2274b7666dd144e66e1f39371a14ccafa030bad4c6e04f7b22f1e14f9a37ad6aaa3642f66068863a74ed4a07e87494f0ace772b682845fb27efd7f1a99f09b419f43d8443302534e4c59c0d3c59736e47375ff6e96c167247c5196a7c8849adb527e9ccbfae797ea311181978197f924dcf0db7367f84baa27db6e554ba6b764550d2834f +Ctrl.hexxcghash = hexxcghash:7ced7b72644be681615e503ecafe0c8f7124c85b +Ctrl.hexsession_id = hexsession_id:95d4ca5b0107d3d9f94ef857d7a64f685d3fecdc +Ctrl.type = type:E +Output = 1ec0d15e38ea1b48da963837dbf30cef855a92c7 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010011afb59055b4e8e0840d76a2d28a3ec1cf3fe7e436b585eab29cc3149e1fa610d979fcc1483a0ea2b426f8e25bc87bae94bdcbeaa80501a3c554d996f1656ac9be75ecefa46273b3ab8a66468cb4a16b3630cbc41df49ebe3917b5afba24d669264e11689f1a401abc557a0c4cf22ad9323056642c2bf7fea0907ba2274b7666dd144e66e1f39371a14ccafa030bad4c6e04f7b22f1e14f9a37ad6aaa3642f66068863a74ed4a07e87494f0ace772b682845fb27efd7f1a99f09b419f43d8443302534e4c59c0d3c59736e47375ff6e96c167247c5196a7c8849adb527e9ccbfae797ea311181978197f924dcf0db7367f84baa27db6e554ba6b764550d2834f +Ctrl.hexxcghash = hexxcghash:7ced7b72644be681615e503ecafe0c8f7124c85b +Ctrl.hexsession_id = hexsession_id:95d4ca5b0107d3d9f94ef857d7a64f685d3fecdc +Ctrl.type = type:F +Output = eea8ea042a079fcf8416a8b244fafab35adeca8a + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001002f14b1acdf871bec4ea5720a3e921cf16a796559b2a094a0d1e45021dcabff152a0e3dca4115239454dc407a6474c8fcd395273a6487c6736710610aeb607707b7ef87203a081646af53ba037f29316a3dec4ce80ec04775b8697db46f7e4f4b38d69de832a25cf0a5484c9b36a48950d50dfe77ac5da63a1c2314ffa8cb68f0c201bbfb7a1a89837b9f57465d14635bda2abf601a06bbd8f70af0169c39209dcda9fb1416a9eadb5ea4deb358566190a62a44d6765d9a25b5157ed5e0f5317f0ed3f6eacebe07ba214e2ef9f654dbc2fa3dc2f227124a3f56a40905c9c86cd64b0ed80c4299d86f59d5f06b9c026a28feea5c5fafbe7ba90283de867dd55858 +Ctrl.hexxcghash = hexxcghash:5fb6dff3272cb949856a57f2645a56d957dc4606 +Ctrl.hexsession_id = hexsession_id:5160cab836d899193077dc67485ef41669ec5d8a +Ctrl.type = type:A +Output = f2faef6e274814ed7ca544484ac21a3a + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001002f14b1acdf871bec4ea5720a3e921cf16a796559b2a094a0d1e45021dcabff152a0e3dca4115239454dc407a6474c8fcd395273a6487c6736710610aeb607707b7ef87203a081646af53ba037f29316a3dec4ce80ec04775b8697db46f7e4f4b38d69de832a25cf0a5484c9b36a48950d50dfe77ac5da63a1c2314ffa8cb68f0c201bbfb7a1a89837b9f57465d14635bda2abf601a06bbd8f70af0169c39209dcda9fb1416a9eadb5ea4deb358566190a62a44d6765d9a25b5157ed5e0f5317f0ed3f6eacebe07ba214e2ef9f654dbc2fa3dc2f227124a3f56a40905c9c86cd64b0ed80c4299d86f59d5f06b9c026a28feea5c5fafbe7ba90283de867dd55858 +Ctrl.hexxcghash = hexxcghash:5fb6dff3272cb949856a57f2645a56d957dc4606 +Ctrl.hexsession_id = hexsession_id:5160cab836d899193077dc67485ef41669ec5d8a +Ctrl.type = type:B +Output = 3ca9bc0f3c65c257fa160a4d1c5e3520 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001002f14b1acdf871bec4ea5720a3e921cf16a796559b2a094a0d1e45021dcabff152a0e3dca4115239454dc407a6474c8fcd395273a6487c6736710610aeb607707b7ef87203a081646af53ba037f29316a3dec4ce80ec04775b8697db46f7e4f4b38d69de832a25cf0a5484c9b36a48950d50dfe77ac5da63a1c2314ffa8cb68f0c201bbfb7a1a89837b9f57465d14635bda2abf601a06bbd8f70af0169c39209dcda9fb1416a9eadb5ea4deb358566190a62a44d6765d9a25b5157ed5e0f5317f0ed3f6eacebe07ba214e2ef9f654dbc2fa3dc2f227124a3f56a40905c9c86cd64b0ed80c4299d86f59d5f06b9c026a28feea5c5fafbe7ba90283de867dd55858 +Ctrl.hexxcghash = hexxcghash:5fb6dff3272cb949856a57f2645a56d957dc4606 +Ctrl.hexsession_id = hexsession_id:5160cab836d899193077dc67485ef41669ec5d8a +Ctrl.type = type:C +Output = fcdf0545b51aca6515bccf6ed0ecb582 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001002f14b1acdf871bec4ea5720a3e921cf16a796559b2a094a0d1e45021dcabff152a0e3dca4115239454dc407a6474c8fcd395273a6487c6736710610aeb607707b7ef87203a081646af53ba037f29316a3dec4ce80ec04775b8697db46f7e4f4b38d69de832a25cf0a5484c9b36a48950d50dfe77ac5da63a1c2314ffa8cb68f0c201bbfb7a1a89837b9f57465d14635bda2abf601a06bbd8f70af0169c39209dcda9fb1416a9eadb5ea4deb358566190a62a44d6765d9a25b5157ed5e0f5317f0ed3f6eacebe07ba214e2ef9f654dbc2fa3dc2f227124a3f56a40905c9c86cd64b0ed80c4299d86f59d5f06b9c026a28feea5c5fafbe7ba90283de867dd55858 +Ctrl.hexxcghash = hexxcghash:5fb6dff3272cb949856a57f2645a56d957dc4606 +Ctrl.hexsession_id = hexsession_id:5160cab836d899193077dc67485ef41669ec5d8a +Ctrl.type = type:D +Output = 86ea895a310c3bbd1aac209b2362d58a + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001002f14b1acdf871bec4ea5720a3e921cf16a796559b2a094a0d1e45021dcabff152a0e3dca4115239454dc407a6474c8fcd395273a6487c6736710610aeb607707b7ef87203a081646af53ba037f29316a3dec4ce80ec04775b8697db46f7e4f4b38d69de832a25cf0a5484c9b36a48950d50dfe77ac5da63a1c2314ffa8cb68f0c201bbfb7a1a89837b9f57465d14635bda2abf601a06bbd8f70af0169c39209dcda9fb1416a9eadb5ea4deb358566190a62a44d6765d9a25b5157ed5e0f5317f0ed3f6eacebe07ba214e2ef9f654dbc2fa3dc2f227124a3f56a40905c9c86cd64b0ed80c4299d86f59d5f06b9c026a28feea5c5fafbe7ba90283de867dd55858 +Ctrl.hexxcghash = hexxcghash:5fb6dff3272cb949856a57f2645a56d957dc4606 +Ctrl.hexsession_id = hexsession_id:5160cab836d899193077dc67485ef41669ec5d8a +Ctrl.type = type:E +Output = 12a4f2b749e2bf88c1f8437e5ff61de761fd48b3 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001002f14b1acdf871bec4ea5720a3e921cf16a796559b2a094a0d1e45021dcabff152a0e3dca4115239454dc407a6474c8fcd395273a6487c6736710610aeb607707b7ef87203a081646af53ba037f29316a3dec4ce80ec04775b8697db46f7e4f4b38d69de832a25cf0a5484c9b36a48950d50dfe77ac5da63a1c2314ffa8cb68f0c201bbfb7a1a89837b9f57465d14635bda2abf601a06bbd8f70af0169c39209dcda9fb1416a9eadb5ea4deb358566190a62a44d6765d9a25b5157ed5e0f5317f0ed3f6eacebe07ba214e2ef9f654dbc2fa3dc2f227124a3f56a40905c9c86cd64b0ed80c4299d86f59d5f06b9c026a28feea5c5fafbe7ba90283de867dd55858 +Ctrl.hexxcghash = hexxcghash:5fb6dff3272cb949856a57f2645a56d957dc4606 +Ctrl.hexsession_id = hexsession_id:5160cab836d899193077dc67485ef41669ec5d8a +Ctrl.type = type:F +Output = a3a9276a120db379ec780e434879a54935db954d + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010060cc18ebbeb9b25cb16a58bfa47644110ceab67f274daf67157e923b70f775a4168bb7911d0e53075044366e503fbffcf3fcf9249e551d69211715b681ba3a28dd133dbada24dcf80d2bf67a1d6c0477f108f8763b30fe28c6d0b54e59e7e580692453d05a30d38e134d6117ca999ace80a57d088228b2a9f001e57d3a8b1cdffe55fda194f01189ec2bb0d99fc8570a9d822a94dddb22f4ba3c88f2ee1045dafa2d106e5c2c09519e47ad9eaf2301569c9258a2deda9d3ea5b0c73f00d8d12579e5931d5253220d60eeb12fcefc98bc8f390e52b3b407280a31283628963c1131b6fd584be948c3fb4d316fa4a1b135513a174cafb0d394bb4afbee6cbe796e +Ctrl.hexxcghash = hexxcghash:501c76e6b5791e343fb6e7597e890c7dea7f04e5 +Ctrl.hexsession_id = hexsession_id:68e1f225f2e63df7bedbab15112b3670f03eed56 +Ctrl.type = type:A +Output = e53f2f61d8919e097cb99627fe668385 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010060cc18ebbeb9b25cb16a58bfa47644110ceab67f274daf67157e923b70f775a4168bb7911d0e53075044366e503fbffcf3fcf9249e551d69211715b681ba3a28dd133dbada24dcf80d2bf67a1d6c0477f108f8763b30fe28c6d0b54e59e7e580692453d05a30d38e134d6117ca999ace80a57d088228b2a9f001e57d3a8b1cdffe55fda194f01189ec2bb0d99fc8570a9d822a94dddb22f4ba3c88f2ee1045dafa2d106e5c2c09519e47ad9eaf2301569c9258a2deda9d3ea5b0c73f00d8d12579e5931d5253220d60eeb12fcefc98bc8f390e52b3b407280a31283628963c1131b6fd584be948c3fb4d316fa4a1b135513a174cafb0d394bb4afbee6cbe796e +Ctrl.hexxcghash = hexxcghash:501c76e6b5791e343fb6e7597e890c7dea7f04e5 +Ctrl.hexsession_id = hexsession_id:68e1f225f2e63df7bedbab15112b3670f03eed56 +Ctrl.type = type:B +Output = cea80fd8dc06654ed80b0ec150835537 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010060cc18ebbeb9b25cb16a58bfa47644110ceab67f274daf67157e923b70f775a4168bb7911d0e53075044366e503fbffcf3fcf9249e551d69211715b681ba3a28dd133dbada24dcf80d2bf67a1d6c0477f108f8763b30fe28c6d0b54e59e7e580692453d05a30d38e134d6117ca999ace80a57d088228b2a9f001e57d3a8b1cdffe55fda194f01189ec2bb0d99fc8570a9d822a94dddb22f4ba3c88f2ee1045dafa2d106e5c2c09519e47ad9eaf2301569c9258a2deda9d3ea5b0c73f00d8d12579e5931d5253220d60eeb12fcefc98bc8f390e52b3b407280a31283628963c1131b6fd584be948c3fb4d316fa4a1b135513a174cafb0d394bb4afbee6cbe796e +Ctrl.hexxcghash = hexxcghash:501c76e6b5791e343fb6e7597e890c7dea7f04e5 +Ctrl.hexsession_id = hexsession_id:68e1f225f2e63df7bedbab15112b3670f03eed56 +Ctrl.type = type:C +Output = d5ba475e737bed349b8931ba38d426e9 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010060cc18ebbeb9b25cb16a58bfa47644110ceab67f274daf67157e923b70f775a4168bb7911d0e53075044366e503fbffcf3fcf9249e551d69211715b681ba3a28dd133dbada24dcf80d2bf67a1d6c0477f108f8763b30fe28c6d0b54e59e7e580692453d05a30d38e134d6117ca999ace80a57d088228b2a9f001e57d3a8b1cdffe55fda194f01189ec2bb0d99fc8570a9d822a94dddb22f4ba3c88f2ee1045dafa2d106e5c2c09519e47ad9eaf2301569c9258a2deda9d3ea5b0c73f00d8d12579e5931d5253220d60eeb12fcefc98bc8f390e52b3b407280a31283628963c1131b6fd584be948c3fb4d316fa4a1b135513a174cafb0d394bb4afbee6cbe796e +Ctrl.hexxcghash = hexxcghash:501c76e6b5791e343fb6e7597e890c7dea7f04e5 +Ctrl.hexsession_id = hexsession_id:68e1f225f2e63df7bedbab15112b3670f03eed56 +Ctrl.type = type:D +Output = f3ea92b4f365ab2fb8403ad8ecd2d17c + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010060cc18ebbeb9b25cb16a58bfa47644110ceab67f274daf67157e923b70f775a4168bb7911d0e53075044366e503fbffcf3fcf9249e551d69211715b681ba3a28dd133dbada24dcf80d2bf67a1d6c0477f108f8763b30fe28c6d0b54e59e7e580692453d05a30d38e134d6117ca999ace80a57d088228b2a9f001e57d3a8b1cdffe55fda194f01189ec2bb0d99fc8570a9d822a94dddb22f4ba3c88f2ee1045dafa2d106e5c2c09519e47ad9eaf2301569c9258a2deda9d3ea5b0c73f00d8d12579e5931d5253220d60eeb12fcefc98bc8f390e52b3b407280a31283628963c1131b6fd584be948c3fb4d316fa4a1b135513a174cafb0d394bb4afbee6cbe796e +Ctrl.hexxcghash = hexxcghash:501c76e6b5791e343fb6e7597e890c7dea7f04e5 +Ctrl.hexsession_id = hexsession_id:68e1f225f2e63df7bedbab15112b3670f03eed56 +Ctrl.type = type:E +Output = 41fa718884738fd6fd9ee9fd5af05f0de9400952 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010060cc18ebbeb9b25cb16a58bfa47644110ceab67f274daf67157e923b70f775a4168bb7911d0e53075044366e503fbffcf3fcf9249e551d69211715b681ba3a28dd133dbada24dcf80d2bf67a1d6c0477f108f8763b30fe28c6d0b54e59e7e580692453d05a30d38e134d6117ca999ace80a57d088228b2a9f001e57d3a8b1cdffe55fda194f01189ec2bb0d99fc8570a9d822a94dddb22f4ba3c88f2ee1045dafa2d106e5c2c09519e47ad9eaf2301569c9258a2deda9d3ea5b0c73f00d8d12579e5931d5253220d60eeb12fcefc98bc8f390e52b3b407280a31283628963c1131b6fd584be948c3fb4d316fa4a1b135513a174cafb0d394bb4afbee6cbe796e +Ctrl.hexxcghash = hexxcghash:501c76e6b5791e343fb6e7597e890c7dea7f04e5 +Ctrl.hexsession_id = hexsession_id:68e1f225f2e63df7bedbab15112b3670f03eed56 +Ctrl.type = type:F +Output = 91395bbd90abb140d0984ed5e77836590bf44695 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010072a106d13e5148877457b7a8c853cfabd151d1b1acde6d776b7affc23c653a3b1c893398c7d83e039fbea9dc739dc14f3a9348af154f840d2f88e3c1982758adeaeb78cff050046d26a9a13391099eea03e9fb853e95c117edaac5b36736e63cb5ad72b346cf1fb342169f5e538591988daec82e0e9a2f4a57db22df8af92424f63111d87991345fd4458abab42cdbfcb84abb222701575a50274a7c6cc38355740cc04bfaff33467c816a70242142fd5467b1713eeec1e0d0f2fcfaf66602dcc31c4105d928a7185ebf53a6e792f419f57573e6dc6d1221e6907f6ad958d2a0c8fe096ce43e403316ae92f93acd1cac7878c9011bc71eff81d4353d7b0c13b1 +Ctrl.hexxcghash = hexxcghash:9acf1f808aeac5b11460192c8f191491b62fc66a +Ctrl.hexsession_id = hexsession_id:4c662e4dc764cbcb1b3eed4de4375f85c8b2f56c +Ctrl.type = type:A +Output = 04d3c0a3f5e33ae373c637ef45897779 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010072a106d13e5148877457b7a8c853cfabd151d1b1acde6d776b7affc23c653a3b1c893398c7d83e039fbea9dc739dc14f3a9348af154f840d2f88e3c1982758adeaeb78cff050046d26a9a13391099eea03e9fb853e95c117edaac5b36736e63cb5ad72b346cf1fb342169f5e538591988daec82e0e9a2f4a57db22df8af92424f63111d87991345fd4458abab42cdbfcb84abb222701575a50274a7c6cc38355740cc04bfaff33467c816a70242142fd5467b1713eeec1e0d0f2fcfaf66602dcc31c4105d928a7185ebf53a6e792f419f57573e6dc6d1221e6907f6ad958d2a0c8fe096ce43e403316ae92f93acd1cac7878c9011bc71eff81d4353d7b0c13b1 +Ctrl.hexxcghash = hexxcghash:9acf1f808aeac5b11460192c8f191491b62fc66a +Ctrl.hexsession_id = hexsession_id:4c662e4dc764cbcb1b3eed4de4375f85c8b2f56c +Ctrl.type = type:B +Output = c5a45bfbf6d7c14c5d3a953b4848e433 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010072a106d13e5148877457b7a8c853cfabd151d1b1acde6d776b7affc23c653a3b1c893398c7d83e039fbea9dc739dc14f3a9348af154f840d2f88e3c1982758adeaeb78cff050046d26a9a13391099eea03e9fb853e95c117edaac5b36736e63cb5ad72b346cf1fb342169f5e538591988daec82e0e9a2f4a57db22df8af92424f63111d87991345fd4458abab42cdbfcb84abb222701575a50274a7c6cc38355740cc04bfaff33467c816a70242142fd5467b1713eeec1e0d0f2fcfaf66602dcc31c4105d928a7185ebf53a6e792f419f57573e6dc6d1221e6907f6ad958d2a0c8fe096ce43e403316ae92f93acd1cac7878c9011bc71eff81d4353d7b0c13b1 +Ctrl.hexxcghash = hexxcghash:9acf1f808aeac5b11460192c8f191491b62fc66a +Ctrl.hexsession_id = hexsession_id:4c662e4dc764cbcb1b3eed4de4375f85c8b2f56c +Ctrl.type = type:C +Output = 3a16d0da2f785e2c325b45109778910a + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010072a106d13e5148877457b7a8c853cfabd151d1b1acde6d776b7affc23c653a3b1c893398c7d83e039fbea9dc739dc14f3a9348af154f840d2f88e3c1982758adeaeb78cff050046d26a9a13391099eea03e9fb853e95c117edaac5b36736e63cb5ad72b346cf1fb342169f5e538591988daec82e0e9a2f4a57db22df8af92424f63111d87991345fd4458abab42cdbfcb84abb222701575a50274a7c6cc38355740cc04bfaff33467c816a70242142fd5467b1713eeec1e0d0f2fcfaf66602dcc31c4105d928a7185ebf53a6e792f419f57573e6dc6d1221e6907f6ad958d2a0c8fe096ce43e403316ae92f93acd1cac7878c9011bc71eff81d4353d7b0c13b1 +Ctrl.hexxcghash = hexxcghash:9acf1f808aeac5b11460192c8f191491b62fc66a +Ctrl.hexsession_id = hexsession_id:4c662e4dc764cbcb1b3eed4de4375f85c8b2f56c +Ctrl.type = type:D +Output = 902b38dd6c759945e671c1de7d99e918 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010072a106d13e5148877457b7a8c853cfabd151d1b1acde6d776b7affc23c653a3b1c893398c7d83e039fbea9dc739dc14f3a9348af154f840d2f88e3c1982758adeaeb78cff050046d26a9a13391099eea03e9fb853e95c117edaac5b36736e63cb5ad72b346cf1fb342169f5e538591988daec82e0e9a2f4a57db22df8af92424f63111d87991345fd4458abab42cdbfcb84abb222701575a50274a7c6cc38355740cc04bfaff33467c816a70242142fd5467b1713eeec1e0d0f2fcfaf66602dcc31c4105d928a7185ebf53a6e792f419f57573e6dc6d1221e6907f6ad958d2a0c8fe096ce43e403316ae92f93acd1cac7878c9011bc71eff81d4353d7b0c13b1 +Ctrl.hexxcghash = hexxcghash:9acf1f808aeac5b11460192c8f191491b62fc66a +Ctrl.hexsession_id = hexsession_id:4c662e4dc764cbcb1b3eed4de4375f85c8b2f56c +Ctrl.type = type:E +Output = b573244de3127f6aa5457e792219dc89defaaecd + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000010072a106d13e5148877457b7a8c853cfabd151d1b1acde6d776b7affc23c653a3b1c893398c7d83e039fbea9dc739dc14f3a9348af154f840d2f88e3c1982758adeaeb78cff050046d26a9a13391099eea03e9fb853e95c117edaac5b36736e63cb5ad72b346cf1fb342169f5e538591988daec82e0e9a2f4a57db22df8af92424f63111d87991345fd4458abab42cdbfcb84abb222701575a50274a7c6cc38355740cc04bfaff33467c816a70242142fd5467b1713eeec1e0d0f2fcfaf66602dcc31c4105d928a7185ebf53a6e792f419f57573e6dc6d1221e6907f6ad958d2a0c8fe096ce43e403316ae92f93acd1cac7878c9011bc71eff81d4353d7b0c13b1 +Ctrl.hexxcghash = hexxcghash:9acf1f808aeac5b11460192c8f191491b62fc66a +Ctrl.hexsession_id = hexsession_id:4c662e4dc764cbcb1b3eed4de4375f85c8b2f56c +Ctrl.type = type:F +Output = 6cd221005dd1f0de4f472f48d15e61dcc2e91e99 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001003644f9ee24c3ec2e2fe16cdece326cdf5c1309e931bc41f245d3b76f2bdbef0bae58e850e10dcbd0d18356b4f98957a3b95f64c85d1af12ab01fe967e52a632761074f27406a29618192f1cbebae2c25e42f6e9fc00a737e4c92398403ab946a6c33e675e529b5c7364f36d64f07ff65889866dee99293bd5bb5f6454a77bbe0cbfd746d54e5bc948c617c5a1d5d3d2b65fa6a86c5f42c5e01f92a8e97a96f848e50ecb1b495a0e87323b44f5b9dd25ab34a94c077b7490657d1d8f9a9acef2785de82b02ef9fb670faf841ae9b479d2d538ae8e38eaf6e74b884c18c9dafc19b6c9728ff3411537555b3b3b69f6f039958ffb0790e58b09bd8c63819ee50ea5 +Ctrl.hexxcghash = hexxcghash:4d31fdb68c8f42f38cae260bf6402e47de93aac7 +Ctrl.hexsession_id = hexsession_id:47caa2c09bb4dc9d6aeb697a76046bdf1fcd879b +Ctrl.type = type:A +Output = 5f9deaf2ee4f05af0a8a813ef6bb9549 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001003644f9ee24c3ec2e2fe16cdece326cdf5c1309e931bc41f245d3b76f2bdbef0bae58e850e10dcbd0d18356b4f98957a3b95f64c85d1af12ab01fe967e52a632761074f27406a29618192f1cbebae2c25e42f6e9fc00a737e4c92398403ab946a6c33e675e529b5c7364f36d64f07ff65889866dee99293bd5bb5f6454a77bbe0cbfd746d54e5bc948c617c5a1d5d3d2b65fa6a86c5f42c5e01f92a8e97a96f848e50ecb1b495a0e87323b44f5b9dd25ab34a94c077b7490657d1d8f9a9acef2785de82b02ef9fb670faf841ae9b479d2d538ae8e38eaf6e74b884c18c9dafc19b6c9728ff3411537555b3b3b69f6f039958ffb0790e58b09bd8c63819ee50ea5 +Ctrl.hexxcghash = hexxcghash:4d31fdb68c8f42f38cae260bf6402e47de93aac7 +Ctrl.hexsession_id = hexsession_id:47caa2c09bb4dc9d6aeb697a76046bdf1fcd879b +Ctrl.type = type:B +Output = a2ea4b795f9c9de1d786d0c771df2b84 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001003644f9ee24c3ec2e2fe16cdece326cdf5c1309e931bc41f245d3b76f2bdbef0bae58e850e10dcbd0d18356b4f98957a3b95f64c85d1af12ab01fe967e52a632761074f27406a29618192f1cbebae2c25e42f6e9fc00a737e4c92398403ab946a6c33e675e529b5c7364f36d64f07ff65889866dee99293bd5bb5f6454a77bbe0cbfd746d54e5bc948c617c5a1d5d3d2b65fa6a86c5f42c5e01f92a8e97a96f848e50ecb1b495a0e87323b44f5b9dd25ab34a94c077b7490657d1d8f9a9acef2785de82b02ef9fb670faf841ae9b479d2d538ae8e38eaf6e74b884c18c9dafc19b6c9728ff3411537555b3b3b69f6f039958ffb0790e58b09bd8c63819ee50ea5 +Ctrl.hexxcghash = hexxcghash:4d31fdb68c8f42f38cae260bf6402e47de93aac7 +Ctrl.hexsession_id = hexsession_id:47caa2c09bb4dc9d6aeb697a76046bdf1fcd879b +Ctrl.type = type:C +Output = 13f828f8f1e5532a04f138681bc8259d + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001003644f9ee24c3ec2e2fe16cdece326cdf5c1309e931bc41f245d3b76f2bdbef0bae58e850e10dcbd0d18356b4f98957a3b95f64c85d1af12ab01fe967e52a632761074f27406a29618192f1cbebae2c25e42f6e9fc00a737e4c92398403ab946a6c33e675e529b5c7364f36d64f07ff65889866dee99293bd5bb5f6454a77bbe0cbfd746d54e5bc948c617c5a1d5d3d2b65fa6a86c5f42c5e01f92a8e97a96f848e50ecb1b495a0e87323b44f5b9dd25ab34a94c077b7490657d1d8f9a9acef2785de82b02ef9fb670faf841ae9b479d2d538ae8e38eaf6e74b884c18c9dafc19b6c9728ff3411537555b3b3b69f6f039958ffb0790e58b09bd8c63819ee50ea5 +Ctrl.hexxcghash = hexxcghash:4d31fdb68c8f42f38cae260bf6402e47de93aac7 +Ctrl.hexsession_id = hexsession_id:47caa2c09bb4dc9d6aeb697a76046bdf1fcd879b +Ctrl.type = type:D +Output = 7231ce5fd725391e058cd78815f44625 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001003644f9ee24c3ec2e2fe16cdece326cdf5c1309e931bc41f245d3b76f2bdbef0bae58e850e10dcbd0d18356b4f98957a3b95f64c85d1af12ab01fe967e52a632761074f27406a29618192f1cbebae2c25e42f6e9fc00a737e4c92398403ab946a6c33e675e529b5c7364f36d64f07ff65889866dee99293bd5bb5f6454a77bbe0cbfd746d54e5bc948c617c5a1d5d3d2b65fa6a86c5f42c5e01f92a8e97a96f848e50ecb1b495a0e87323b44f5b9dd25ab34a94c077b7490657d1d8f9a9acef2785de82b02ef9fb670faf841ae9b479d2d538ae8e38eaf6e74b884c18c9dafc19b6c9728ff3411537555b3b3b69f6f039958ffb0790e58b09bd8c63819ee50ea5 +Ctrl.hexxcghash = hexxcghash:4d31fdb68c8f42f38cae260bf6402e47de93aac7 +Ctrl.hexsession_id = hexsession_id:47caa2c09bb4dc9d6aeb697a76046bdf1fcd879b +Ctrl.type = type:E +Output = 937b7e16ed0b2324203cdae904fc55cbe25067a1 + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:000001003644f9ee24c3ec2e2fe16cdece326cdf5c1309e931bc41f245d3b76f2bdbef0bae58e850e10dcbd0d18356b4f98957a3b95f64c85d1af12ab01fe967e52a632761074f27406a29618192f1cbebae2c25e42f6e9fc00a737e4c92398403ab946a6c33e675e529b5c7364f36d64f07ff65889866dee99293bd5bb5f6454a77bbe0cbfd746d54e5bc948c617c5a1d5d3d2b65fa6a86c5f42c5e01f92a8e97a96f848e50ecb1b495a0e87323b44f5b9dd25ab34a94c077b7490657d1d8f9a9acef2785de82b02ef9fb670faf841ae9b479d2d538ae8e38eaf6e74b884c18c9dafc19b6c9728ff3411537555b3b3b69f6f039958ffb0790e58b09bd8c63819ee50ea5 +Ctrl.hexxcghash = hexxcghash:4d31fdb68c8f42f38cae260bf6402e47de93aac7 +Ctrl.hexsession_id = hexsession_id:47caa2c09bb4dc9d6aeb697a76046bdf1fcd879b +Ctrl.type = type:F +Output = d7536b911dc79d5953455ba6e15cb5fec7c14025 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:00000081008de60df019c23966d215d9b8490ac493dfae59b99dbefdad81d2c9e761205c93a696dbd9e538cc57cd3e24c2798d2c56561d6803e8ee24e112babef84ad5a2c571c572339f2b38f1345164314f8f4714047f0c66650f10051044f8dcd256bfe8171302a81ce13f47f7375db80a6bbf8ce7d8f96e03fc6275fd5dacfbdd166792 +Ctrl.hexxcghash = hexxcghash:e69fbbee90f0cb7c57996c6f3f9ec4c7de9f0c43b7c993ec3ec1d4ca +Ctrl.hexsession_id = hexsession_id:e69fbbee90f0cb7c57996c6f3f9ec4c7de9f0c43b7c993ec3ec1d4ca +Ctrl.type = type:A +Output = 9fff6c6a6d1f5c31 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:00000081008de60df019c23966d215d9b8490ac493dfae59b99dbefdad81d2c9e761205c93a696dbd9e538cc57cd3e24c2798d2c56561d6803e8ee24e112babef84ad5a2c571c572339f2b38f1345164314f8f4714047f0c66650f10051044f8dcd256bfe8171302a81ce13f47f7375db80a6bbf8ce7d8f96e03fc6275fd5dacfbdd166792 +Ctrl.hexxcghash = hexxcghash:e69fbbee90f0cb7c57996c6f3f9ec4c7de9f0c43b7c993ec3ec1d4ca +Ctrl.hexsession_id = hexsession_id:e69fbbee90f0cb7c57996c6f3f9ec4c7de9f0c43b7c993ec3ec1d4ca +Ctrl.type = type:B +Output = 8e0ae78c64d2fe2a + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:00000081008de60df019c23966d215d9b8490ac493dfae59b99dbefdad81d2c9e761205c93a696dbd9e538cc57cd3e24c2798d2c56561d6803e8ee24e112babef84ad5a2c571c572339f2b38f1345164314f8f4714047f0c66650f10051044f8dcd256bfe8171302a81ce13f47f7375db80a6bbf8ce7d8f96e03fc6275fd5dacfbdd166792 +Ctrl.hexxcghash = hexxcghash:e69fbbee90f0cb7c57996c6f3f9ec4c7de9f0c43b7c993ec3ec1d4ca +Ctrl.hexsession_id = hexsession_id:e69fbbee90f0cb7c57996c6f3f9ec4c7de9f0c43b7c993ec3ec1d4ca +Ctrl.type = type:C +Output = 9044f963ffb56b94556a38aac5398a7072ffba60258500be + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:00000081008de60df019c23966d215d9b8490ac493dfae59b99dbefdad81d2c9e761205c93a696dbd9e538cc57cd3e24c2798d2c56561d6803e8ee24e112babef84ad5a2c571c572339f2b38f1345164314f8f4714047f0c66650f10051044f8dcd256bfe8171302a81ce13f47f7375db80a6bbf8ce7d8f96e03fc6275fd5dacfbdd166792 +Ctrl.hexxcghash = hexxcghash:e69fbbee90f0cb7c57996c6f3f9ec4c7de9f0c43b7c993ec3ec1d4ca +Ctrl.hexsession_id = hexsession_id:e69fbbee90f0cb7c57996c6f3f9ec4c7de9f0c43b7c993ec3ec1d4ca +Ctrl.type = type:D +Output = a861a317ea42b050901aff367b5a1d0abd5c497c77311ba2 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:00000081008de60df019c23966d215d9b8490ac493dfae59b99dbefdad81d2c9e761205c93a696dbd9e538cc57cd3e24c2798d2c56561d6803e8ee24e112babef84ad5a2c571c572339f2b38f1345164314f8f4714047f0c66650f10051044f8dcd256bfe8171302a81ce13f47f7375db80a6bbf8ce7d8f96e03fc6275fd5dacfbdd166792 +Ctrl.hexxcghash = hexxcghash:e69fbbee90f0cb7c57996c6f3f9ec4c7de9f0c43b7c993ec3ec1d4ca +Ctrl.hexsession_id = hexsession_id:e69fbbee90f0cb7c57996c6f3f9ec4c7de9f0c43b7c993ec3ec1d4ca +Ctrl.type = type:E +Output = 43225d64b6da6f070925ad1c8b7ac88893f9a7cba0dfc55ddea42eec + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:00000081008de60df019c23966d215d9b8490ac493dfae59b99dbefdad81d2c9e761205c93a696dbd9e538cc57cd3e24c2798d2c56561d6803e8ee24e112babef84ad5a2c571c572339f2b38f1345164314f8f4714047f0c66650f10051044f8dcd256bfe8171302a81ce13f47f7375db80a6bbf8ce7d8f96e03fc6275fd5dacfbdd166792 +Ctrl.hexxcghash = hexxcghash:e69fbbee90f0cb7c57996c6f3f9ec4c7de9f0c43b7c993ec3ec1d4ca +Ctrl.hexsession_id = hexsession_id:e69fbbee90f0cb7c57996c6f3f9ec4c7de9f0c43b7c993ec3ec1d4ca +Ctrl.type = type:F +Output = eb31db29bbafca2773f815fa478d927943288588e371ae9ba0414d98 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100a03d807fef48a50d8a04d9b6721979c5904412c3bcfe69ebd4c2554debe82a695a66fb9d844c6ef3aa4b745c2a4c8dbc4ba26742e0d1159ded83edca0bec61c7303e81f9d7f3169b7c97573b9184ec3c5286d9646e96595f064d61013431628f5c57bcb1bf79bcd1b0177ab4520c1a1a9b34b5067d9f465c9b03154d57f1b42f +Ctrl.hexxcghash = hexxcghash:03af4bd15a37aa7816d826332dcd9daa1537770fd0bcafbafe30033d +Ctrl.hexsession_id = hexsession_id:36084ca3dc535b37d533d034d891fabc20e3b0270bb8c008066bfac8 +Ctrl.type = type:A +Output = bf2d6e03ba930c71 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100a03d807fef48a50d8a04d9b6721979c5904412c3bcfe69ebd4c2554debe82a695a66fb9d844c6ef3aa4b745c2a4c8dbc4ba26742e0d1159ded83edca0bec61c7303e81f9d7f3169b7c97573b9184ec3c5286d9646e96595f064d61013431628f5c57bcb1bf79bcd1b0177ab4520c1a1a9b34b5067d9f465c9b03154d57f1b42f +Ctrl.hexxcghash = hexxcghash:03af4bd15a37aa7816d826332dcd9daa1537770fd0bcafbafe30033d +Ctrl.hexsession_id = hexsession_id:36084ca3dc535b37d533d034d891fabc20e3b0270bb8c008066bfac8 +Ctrl.type = type:B +Output = ff14fadc19a0bd8a + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100a03d807fef48a50d8a04d9b6721979c5904412c3bcfe69ebd4c2554debe82a695a66fb9d844c6ef3aa4b745c2a4c8dbc4ba26742e0d1159ded83edca0bec61c7303e81f9d7f3169b7c97573b9184ec3c5286d9646e96595f064d61013431628f5c57bcb1bf79bcd1b0177ab4520c1a1a9b34b5067d9f465c9b03154d57f1b42f +Ctrl.hexxcghash = hexxcghash:03af4bd15a37aa7816d826332dcd9daa1537770fd0bcafbafe30033d +Ctrl.hexsession_id = hexsession_id:36084ca3dc535b37d533d034d891fabc20e3b0270bb8c008066bfac8 +Ctrl.type = type:C +Output = 34a70734eaebeb8608cbb91098fa13326f37ccc5d408584d + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100a03d807fef48a50d8a04d9b6721979c5904412c3bcfe69ebd4c2554debe82a695a66fb9d844c6ef3aa4b745c2a4c8dbc4ba26742e0d1159ded83edca0bec61c7303e81f9d7f3169b7c97573b9184ec3c5286d9646e96595f064d61013431628f5c57bcb1bf79bcd1b0177ab4520c1a1a9b34b5067d9f465c9b03154d57f1b42f +Ctrl.hexxcghash = hexxcghash:03af4bd15a37aa7816d826332dcd9daa1537770fd0bcafbafe30033d +Ctrl.hexsession_id = hexsession_id:36084ca3dc535b37d533d034d891fabc20e3b0270bb8c008066bfac8 +Ctrl.type = type:D +Output = f993da8f2e840b836c8980fa2d780a1b4eeef77046988eed + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100a03d807fef48a50d8a04d9b6721979c5904412c3bcfe69ebd4c2554debe82a695a66fb9d844c6ef3aa4b745c2a4c8dbc4ba26742e0d1159ded83edca0bec61c7303e81f9d7f3169b7c97573b9184ec3c5286d9646e96595f064d61013431628f5c57bcb1bf79bcd1b0177ab4520c1a1a9b34b5067d9f465c9b03154d57f1b42f +Ctrl.hexxcghash = hexxcghash:03af4bd15a37aa7816d826332dcd9daa1537770fd0bcafbafe30033d +Ctrl.hexsession_id = hexsession_id:36084ca3dc535b37d533d034d891fabc20e3b0270bb8c008066bfac8 +Ctrl.type = type:E +Output = a274441c86dd146cfab25d87344bd5a880d374d300aa8e1fe4919378 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100a03d807fef48a50d8a04d9b6721979c5904412c3bcfe69ebd4c2554debe82a695a66fb9d844c6ef3aa4b745c2a4c8dbc4ba26742e0d1159ded83edca0bec61c7303e81f9d7f3169b7c97573b9184ec3c5286d9646e96595f064d61013431628f5c57bcb1bf79bcd1b0177ab4520c1a1a9b34b5067d9f465c9b03154d57f1b42f +Ctrl.hexxcghash = hexxcghash:03af4bd15a37aa7816d826332dcd9daa1537770fd0bcafbafe30033d +Ctrl.hexsession_id = hexsession_id:36084ca3dc535b37d533d034d891fabc20e3b0270bb8c008066bfac8 +Ctrl.type = type:F +Output = 7774dc48324cca24901bedc37224cb291d6202fb6b5e1d9315a9bd10 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100d09e300c8b93b8c759f96910b319b8fd9c9c8c1b704b65649f525b6c16732ee37f499ac729bdce9ea493811954849e8eeb449cb2f4485fe78b0f538038178ad3e1b95ef13fcf0134f1199ad742b31d5f222ed7927283a008c970143af46965acde32139c2448db5cc11fd55e534779f1b5d7757b27e3a3881a3596b0b002ff7e +Ctrl.hexxcghash = hexxcghash:be8559339a1b231a59a8feae904c00decaf970ff8e83018662c65fa8 +Ctrl.hexsession_id = hexsession_id:a8378fd158677fac292c5cce8a9efdbd5c5c98ee6f056a5e6e771b6b +Ctrl.type = type:A +Output = 75bc82b271311f53 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100d09e300c8b93b8c759f96910b319b8fd9c9c8c1b704b65649f525b6c16732ee37f499ac729bdce9ea493811954849e8eeb449cb2f4485fe78b0f538038178ad3e1b95ef13fcf0134f1199ad742b31d5f222ed7927283a008c970143af46965acde32139c2448db5cc11fd55e534779f1b5d7757b27e3a3881a3596b0b002ff7e +Ctrl.hexxcghash = hexxcghash:be8559339a1b231a59a8feae904c00decaf970ff8e83018662c65fa8 +Ctrl.hexsession_id = hexsession_id:a8378fd158677fac292c5cce8a9efdbd5c5c98ee6f056a5e6e771b6b +Ctrl.type = type:B +Output = 602d69e77b8c30b3 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100d09e300c8b93b8c759f96910b319b8fd9c9c8c1b704b65649f525b6c16732ee37f499ac729bdce9ea493811954849e8eeb449cb2f4485fe78b0f538038178ad3e1b95ef13fcf0134f1199ad742b31d5f222ed7927283a008c970143af46965acde32139c2448db5cc11fd55e534779f1b5d7757b27e3a3881a3596b0b002ff7e +Ctrl.hexxcghash = hexxcghash:be8559339a1b231a59a8feae904c00decaf970ff8e83018662c65fa8 +Ctrl.hexsession_id = hexsession_id:a8378fd158677fac292c5cce8a9efdbd5c5c98ee6f056a5e6e771b6b +Ctrl.type = type:C +Output = e0c8856a26b2f4804e98809d5b81cdb360b43884a33d4fef + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100d09e300c8b93b8c759f96910b319b8fd9c9c8c1b704b65649f525b6c16732ee37f499ac729bdce9ea493811954849e8eeb449cb2f4485fe78b0f538038178ad3e1b95ef13fcf0134f1199ad742b31d5f222ed7927283a008c970143af46965acde32139c2448db5cc11fd55e534779f1b5d7757b27e3a3881a3596b0b002ff7e +Ctrl.hexxcghash = hexxcghash:be8559339a1b231a59a8feae904c00decaf970ff8e83018662c65fa8 +Ctrl.hexsession_id = hexsession_id:a8378fd158677fac292c5cce8a9efdbd5c5c98ee6f056a5e6e771b6b +Ctrl.type = type:D +Output = e661555415bcab0b1f2d4b4387cda213cdd93f8458a2ace4 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100d09e300c8b93b8c759f96910b319b8fd9c9c8c1b704b65649f525b6c16732ee37f499ac729bdce9ea493811954849e8eeb449cb2f4485fe78b0f538038178ad3e1b95ef13fcf0134f1199ad742b31d5f222ed7927283a008c970143af46965acde32139c2448db5cc11fd55e534779f1b5d7757b27e3a3881a3596b0b002ff7e +Ctrl.hexxcghash = hexxcghash:be8559339a1b231a59a8feae904c00decaf970ff8e83018662c65fa8 +Ctrl.hexsession_id = hexsession_id:a8378fd158677fac292c5cce8a9efdbd5c5c98ee6f056a5e6e771b6b +Ctrl.type = type:E +Output = a368f66127573c79e2d936032f75c3d11c0131455eb9b6c5384582de + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100d09e300c8b93b8c759f96910b319b8fd9c9c8c1b704b65649f525b6c16732ee37f499ac729bdce9ea493811954849e8eeb449cb2f4485fe78b0f538038178ad3e1b95ef13fcf0134f1199ad742b31d5f222ed7927283a008c970143af46965acde32139c2448db5cc11fd55e534779f1b5d7757b27e3a3881a3596b0b002ff7e +Ctrl.hexxcghash = hexxcghash:be8559339a1b231a59a8feae904c00decaf970ff8e83018662c65fa8 +Ctrl.hexsession_id = hexsession_id:a8378fd158677fac292c5cce8a9efdbd5c5c98ee6f056a5e6e771b6b +Ctrl.type = type:F +Output = 779f09f514bdf7ed4a01788f10146367ce2ddf2aacebb961524c002a + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008057352c4a26aa011e9b9e101736ab6b1369c73f553848d159b01bf2c7671074cdcdc73b8c697649dc7465197c2f17560d0045246410063f20d8d29518e7b25d871886346acccd9ec1b2d74b19b4aff16953714266d1440247859958f010f3fe616859c07315169c5bb5547c6dfdaf4a219daa3a78f546958f56e14fdf64c3b26e +Ctrl.hexxcghash = hexxcghash:dca302cd4ee29d88b3f909f73e19d920099b8c18062e875cb762257b +Ctrl.hexsession_id = hexsession_id:2f6368dd5f1a6a8db98f74331850c110aa0e58f06a10ca8178171d95 +Ctrl.type = type:A +Output = 386bc0b99215c8fa + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008057352c4a26aa011e9b9e101736ab6b1369c73f553848d159b01bf2c7671074cdcdc73b8c697649dc7465197c2f17560d0045246410063f20d8d29518e7b25d871886346acccd9ec1b2d74b19b4aff16953714266d1440247859958f010f3fe616859c07315169c5bb5547c6dfdaf4a219daa3a78f546958f56e14fdf64c3b26e +Ctrl.hexxcghash = hexxcghash:dca302cd4ee29d88b3f909f73e19d920099b8c18062e875cb762257b +Ctrl.hexsession_id = hexsession_id:2f6368dd5f1a6a8db98f74331850c110aa0e58f06a10ca8178171d95 +Ctrl.type = type:B +Output = c793dba9a68f70a4 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008057352c4a26aa011e9b9e101736ab6b1369c73f553848d159b01bf2c7671074cdcdc73b8c697649dc7465197c2f17560d0045246410063f20d8d29518e7b25d871886346acccd9ec1b2d74b19b4aff16953714266d1440247859958f010f3fe616859c07315169c5bb5547c6dfdaf4a219daa3a78f546958f56e14fdf64c3b26e +Ctrl.hexxcghash = hexxcghash:dca302cd4ee29d88b3f909f73e19d920099b8c18062e875cb762257b +Ctrl.hexsession_id = hexsession_id:2f6368dd5f1a6a8db98f74331850c110aa0e58f06a10ca8178171d95 +Ctrl.type = type:C +Output = 3dcaea7c946c2de76811482556299aa9bf96c8eef11fb2d6 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008057352c4a26aa011e9b9e101736ab6b1369c73f553848d159b01bf2c7671074cdcdc73b8c697649dc7465197c2f17560d0045246410063f20d8d29518e7b25d871886346acccd9ec1b2d74b19b4aff16953714266d1440247859958f010f3fe616859c07315169c5bb5547c6dfdaf4a219daa3a78f546958f56e14fdf64c3b26e +Ctrl.hexxcghash = hexxcghash:dca302cd4ee29d88b3f909f73e19d920099b8c18062e875cb762257b +Ctrl.hexsession_id = hexsession_id:2f6368dd5f1a6a8db98f74331850c110aa0e58f06a10ca8178171d95 +Ctrl.type = type:D +Output = fd078ef65922006809729f9533c8742e9f973f7ff37ba987 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008057352c4a26aa011e9b9e101736ab6b1369c73f553848d159b01bf2c7671074cdcdc73b8c697649dc7465197c2f17560d0045246410063f20d8d29518e7b25d871886346acccd9ec1b2d74b19b4aff16953714266d1440247859958f010f3fe616859c07315169c5bb5547c6dfdaf4a219daa3a78f546958f56e14fdf64c3b26e +Ctrl.hexxcghash = hexxcghash:dca302cd4ee29d88b3f909f73e19d920099b8c18062e875cb762257b +Ctrl.hexsession_id = hexsession_id:2f6368dd5f1a6a8db98f74331850c110aa0e58f06a10ca8178171d95 +Ctrl.type = type:E +Output = 83a1924fa5f7ceffeba7f519ac51a86a2746a93eb194db51a4596ca1 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008057352c4a26aa011e9b9e101736ab6b1369c73f553848d159b01bf2c7671074cdcdc73b8c697649dc7465197c2f17560d0045246410063f20d8d29518e7b25d871886346acccd9ec1b2d74b19b4aff16953714266d1440247859958f010f3fe616859c07315169c5bb5547c6dfdaf4a219daa3a78f546958f56e14fdf64c3b26e +Ctrl.hexxcghash = hexxcghash:dca302cd4ee29d88b3f909f73e19d920099b8c18062e875cb762257b +Ctrl.hexsession_id = hexsession_id:2f6368dd5f1a6a8db98f74331850c110aa0e58f06a10ca8178171d95 +Ctrl.type = type:F +Output = e16507d1bbd53b41f9bb2f0f21b5112eb6cd1eb0489fb5e754212390 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:00000081008d372970f67a75a1748e6967c67a1f5665a3d6f71d6d24ab113bedb42ad544de34e67df7f644f78e5dcfd12e25b7cb8655aa9f07fef59058e42450aee5d4a733887535313e06c7e6426598284fdaa33ff88e1b6174c33199f2630ec42c8d7d9b92ea3d83a1bf8514b153fd9cf9c520636a0de9c6ba8b9318465ddcaa293367e5 +Ctrl.hexxcghash = hexxcghash:683a0b23e8bf98e03178a032a65e743e429c805b8de04407f73ab21b +Ctrl.hexsession_id = hexsession_id:0e9de6ef124b670db44ade438920db01b5e6fb69a482816a303fcef7 +Ctrl.type = type:A +Output = 0e764ebe0d523aae + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:00000081008d372970f67a75a1748e6967c67a1f5665a3d6f71d6d24ab113bedb42ad544de34e67df7f644f78e5dcfd12e25b7cb8655aa9f07fef59058e42450aee5d4a733887535313e06c7e6426598284fdaa33ff88e1b6174c33199f2630ec42c8d7d9b92ea3d83a1bf8514b153fd9cf9c520636a0de9c6ba8b9318465ddcaa293367e5 +Ctrl.hexxcghash = hexxcghash:683a0b23e8bf98e03178a032a65e743e429c805b8de04407f73ab21b +Ctrl.hexsession_id = hexsession_id:0e9de6ef124b670db44ade438920db01b5e6fb69a482816a303fcef7 +Ctrl.type = type:B +Output = 24bd2eff86c2a8dc + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:00000081008d372970f67a75a1748e6967c67a1f5665a3d6f71d6d24ab113bedb42ad544de34e67df7f644f78e5dcfd12e25b7cb8655aa9f07fef59058e42450aee5d4a733887535313e06c7e6426598284fdaa33ff88e1b6174c33199f2630ec42c8d7d9b92ea3d83a1bf8514b153fd9cf9c520636a0de9c6ba8b9318465ddcaa293367e5 +Ctrl.hexxcghash = hexxcghash:683a0b23e8bf98e03178a032a65e743e429c805b8de04407f73ab21b +Ctrl.hexsession_id = hexsession_id:0e9de6ef124b670db44ade438920db01b5e6fb69a482816a303fcef7 +Ctrl.type = type:C +Output = 26c01e3d56c1b928f65aaa1b6a15f5b8d41de187b4bb5fdc + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:00000081008d372970f67a75a1748e6967c67a1f5665a3d6f71d6d24ab113bedb42ad544de34e67df7f644f78e5dcfd12e25b7cb8655aa9f07fef59058e42450aee5d4a733887535313e06c7e6426598284fdaa33ff88e1b6174c33199f2630ec42c8d7d9b92ea3d83a1bf8514b153fd9cf9c520636a0de9c6ba8b9318465ddcaa293367e5 +Ctrl.hexxcghash = hexxcghash:683a0b23e8bf98e03178a032a65e743e429c805b8de04407f73ab21b +Ctrl.hexsession_id = hexsession_id:0e9de6ef124b670db44ade438920db01b5e6fb69a482816a303fcef7 +Ctrl.type = type:D +Output = e0cc3bdb6d69d10893eeb73b892d746acea151f24247fd9c + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:00000081008d372970f67a75a1748e6967c67a1f5665a3d6f71d6d24ab113bedb42ad544de34e67df7f644f78e5dcfd12e25b7cb8655aa9f07fef59058e42450aee5d4a733887535313e06c7e6426598284fdaa33ff88e1b6174c33199f2630ec42c8d7d9b92ea3d83a1bf8514b153fd9cf9c520636a0de9c6ba8b9318465ddcaa293367e5 +Ctrl.hexxcghash = hexxcghash:683a0b23e8bf98e03178a032a65e743e429c805b8de04407f73ab21b +Ctrl.hexsession_id = hexsession_id:0e9de6ef124b670db44ade438920db01b5e6fb69a482816a303fcef7 +Ctrl.type = type:E +Output = bf442ba6ec794f20584528686cedbaa568c13b895f642fe5cb3542bb + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:00000081008d372970f67a75a1748e6967c67a1f5665a3d6f71d6d24ab113bedb42ad544de34e67df7f644f78e5dcfd12e25b7cb8655aa9f07fef59058e42450aee5d4a733887535313e06c7e6426598284fdaa33ff88e1b6174c33199f2630ec42c8d7d9b92ea3d83a1bf8514b153fd9cf9c520636a0de9c6ba8b9318465ddcaa293367e5 +Ctrl.hexxcghash = hexxcghash:683a0b23e8bf98e03178a032a65e743e429c805b8de04407f73ab21b +Ctrl.hexsession_id = hexsession_id:0e9de6ef124b670db44ade438920db01b5e6fb69a482816a303fcef7 +Ctrl.type = type:F +Output = 65ab453e5ffd1b5e1540aa547766d7c177204c319642f93059bdf257 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008004a70cf5e546c0920433bf16dcda3076d9195b5c35ad6b83b6a51e880f22fddaae0d358e35037bbe1e66f2422c29ff30a39822e067930b9faf59f844441dee6f233635a00c7cb71596f8589194016132ebbe204d98fc7f9bb0b7f4e6b6a68f488a59138d9859729d938de6ace9d08be86301bbd4e80d4650391ef3599a6f0bc0 +Ctrl.hexxcghash = hexxcghash:a05a5c2d8beb394b7befaecfe3f4227cd81a28d90ac64ec78ce170b6 +Ctrl.hexsession_id = hexsession_id:1380b38f6b6997a47ce234b7d3d6afb5960e721a348a725704c19cff +Ctrl.type = type:A +Output = 45799bbb09fd8804 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008004a70cf5e546c0920433bf16dcda3076d9195b5c35ad6b83b6a51e880f22fddaae0d358e35037bbe1e66f2422c29ff30a39822e067930b9faf59f844441dee6f233635a00c7cb71596f8589194016132ebbe204d98fc7f9bb0b7f4e6b6a68f488a59138d9859729d938de6ace9d08be86301bbd4e80d4650391ef3599a6f0bc0 +Ctrl.hexxcghash = hexxcghash:a05a5c2d8beb394b7befaecfe3f4227cd81a28d90ac64ec78ce170b6 +Ctrl.hexsession_id = hexsession_id:1380b38f6b6997a47ce234b7d3d6afb5960e721a348a725704c19cff +Ctrl.type = type:B +Output = b787b009f3313be0 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008004a70cf5e546c0920433bf16dcda3076d9195b5c35ad6b83b6a51e880f22fddaae0d358e35037bbe1e66f2422c29ff30a39822e067930b9faf59f844441dee6f233635a00c7cb71596f8589194016132ebbe204d98fc7f9bb0b7f4e6b6a68f488a59138d9859729d938de6ace9d08be86301bbd4e80d4650391ef3599a6f0bc0 +Ctrl.hexxcghash = hexxcghash:a05a5c2d8beb394b7befaecfe3f4227cd81a28d90ac64ec78ce170b6 +Ctrl.hexsession_id = hexsession_id:1380b38f6b6997a47ce234b7d3d6afb5960e721a348a725704c19cff +Ctrl.type = type:C +Output = c4cbb547c997e8fddb9e56ef5df91327766668a43a958a8e + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008004a70cf5e546c0920433bf16dcda3076d9195b5c35ad6b83b6a51e880f22fddaae0d358e35037bbe1e66f2422c29ff30a39822e067930b9faf59f844441dee6f233635a00c7cb71596f8589194016132ebbe204d98fc7f9bb0b7f4e6b6a68f488a59138d9859729d938de6ace9d08be86301bbd4e80d4650391ef3599a6f0bc0 +Ctrl.hexxcghash = hexxcghash:a05a5c2d8beb394b7befaecfe3f4227cd81a28d90ac64ec78ce170b6 +Ctrl.hexsession_id = hexsession_id:1380b38f6b6997a47ce234b7d3d6afb5960e721a348a725704c19cff +Ctrl.type = type:D +Output = b55b7cca0a0363b84b40b79366b87db7c440dec5bf89e952 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008004a70cf5e546c0920433bf16dcda3076d9195b5c35ad6b83b6a51e880f22fddaae0d358e35037bbe1e66f2422c29ff30a39822e067930b9faf59f844441dee6f233635a00c7cb71596f8589194016132ebbe204d98fc7f9bb0b7f4e6b6a68f488a59138d9859729d938de6ace9d08be86301bbd4e80d4650391ef3599a6f0bc0 +Ctrl.hexxcghash = hexxcghash:a05a5c2d8beb394b7befaecfe3f4227cd81a28d90ac64ec78ce170b6 +Ctrl.hexsession_id = hexsession_id:1380b38f6b6997a47ce234b7d3d6afb5960e721a348a725704c19cff +Ctrl.type = type:E +Output = 9c6399e5f4db0fc7652268d7423230ee5ffc0a210c26568dc5c0ab7d + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008004a70cf5e546c0920433bf16dcda3076d9195b5c35ad6b83b6a51e880f22fddaae0d358e35037bbe1e66f2422c29ff30a39822e067930b9faf59f844441dee6f233635a00c7cb71596f8589194016132ebbe204d98fc7f9bb0b7f4e6b6a68f488a59138d9859729d938de6ace9d08be86301bbd4e80d4650391ef3599a6f0bc0 +Ctrl.hexxcghash = hexxcghash:a05a5c2d8beb394b7befaecfe3f4227cd81a28d90ac64ec78ce170b6 +Ctrl.hexsession_id = hexsession_id:1380b38f6b6997a47ce234b7d3d6afb5960e721a348a725704c19cff +Ctrl.type = type:F +Output = 9824301c33daae0f1b75eb472d6f0b4ef2cea0b2f61e204b6aefb0bd + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100d07c8a0c16c5f000ff00db6161555ea6b6b400803fe250288a9b88b48ced381de3f46982210216dff4defdbb007e98ea47f891ae3f38e09f56c96913406c13ed35cade3f2f80c6c6402e7ab097decc9e7ecc377b9965991422b54b8fcf34b9635cdc6b1cb698c61cd8377f3fadf1ba9e289d83767ca24370661085461a0b348e +Ctrl.hexxcghash = hexxcghash:45dfee14ec8160cb1ccd769d2db4785b9773aeedde0c6ca0f75324df +Ctrl.hexsession_id = hexsession_id:0f15315853288a987cec1e0668f34fa54537304f7082673d74d4f970 +Ctrl.type = type:A +Output = 2958928e5fd3c6e4 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100d07c8a0c16c5f000ff00db6161555ea6b6b400803fe250288a9b88b48ced381de3f46982210216dff4defdbb007e98ea47f891ae3f38e09f56c96913406c13ed35cade3f2f80c6c6402e7ab097decc9e7ecc377b9965991422b54b8fcf34b9635cdc6b1cb698c61cd8377f3fadf1ba9e289d83767ca24370661085461a0b348e +Ctrl.hexxcghash = hexxcghash:45dfee14ec8160cb1ccd769d2db4785b9773aeedde0c6ca0f75324df +Ctrl.hexsession_id = hexsession_id:0f15315853288a987cec1e0668f34fa54537304f7082673d74d4f970 +Ctrl.type = type:B +Output = aa91bee1a3b3374c + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100d07c8a0c16c5f000ff00db6161555ea6b6b400803fe250288a9b88b48ced381de3f46982210216dff4defdbb007e98ea47f891ae3f38e09f56c96913406c13ed35cade3f2f80c6c6402e7ab097decc9e7ecc377b9965991422b54b8fcf34b9635cdc6b1cb698c61cd8377f3fadf1ba9e289d83767ca24370661085461a0b348e +Ctrl.hexxcghash = hexxcghash:45dfee14ec8160cb1ccd769d2db4785b9773aeedde0c6ca0f75324df +Ctrl.hexsession_id = hexsession_id:0f15315853288a987cec1e0668f34fa54537304f7082673d74d4f970 +Ctrl.type = type:C +Output = 6fdac559eb1d6af7fc7fbaa4f9a15fd4145b97b9418518d9 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100d07c8a0c16c5f000ff00db6161555ea6b6b400803fe250288a9b88b48ced381de3f46982210216dff4defdbb007e98ea47f891ae3f38e09f56c96913406c13ed35cade3f2f80c6c6402e7ab097decc9e7ecc377b9965991422b54b8fcf34b9635cdc6b1cb698c61cd8377f3fadf1ba9e289d83767ca24370661085461a0b348e +Ctrl.hexxcghash = hexxcghash:45dfee14ec8160cb1ccd769d2db4785b9773aeedde0c6ca0f75324df +Ctrl.hexsession_id = hexsession_id:0f15315853288a987cec1e0668f34fa54537304f7082673d74d4f970 +Ctrl.type = type:D +Output = 5a8271402756f7eac59f09b5020f7b05f6475fc3a2e2b482 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100d07c8a0c16c5f000ff00db6161555ea6b6b400803fe250288a9b88b48ced381de3f46982210216dff4defdbb007e98ea47f891ae3f38e09f56c96913406c13ed35cade3f2f80c6c6402e7ab097decc9e7ecc377b9965991422b54b8fcf34b9635cdc6b1cb698c61cd8377f3fadf1ba9e289d83767ca24370661085461a0b348e +Ctrl.hexxcghash = hexxcghash:45dfee14ec8160cb1ccd769d2db4785b9773aeedde0c6ca0f75324df +Ctrl.hexsession_id = hexsession_id:0f15315853288a987cec1e0668f34fa54537304f7082673d74d4f970 +Ctrl.type = type:E +Output = 910de4a4a437cab056f7c38037f0196c524464237c5e332e79564a90 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100d07c8a0c16c5f000ff00db6161555ea6b6b400803fe250288a9b88b48ced381de3f46982210216dff4defdbb007e98ea47f891ae3f38e09f56c96913406c13ed35cade3f2f80c6c6402e7ab097decc9e7ecc377b9965991422b54b8fcf34b9635cdc6b1cb698c61cd8377f3fadf1ba9e289d83767ca24370661085461a0b348e +Ctrl.hexxcghash = hexxcghash:45dfee14ec8160cb1ccd769d2db4785b9773aeedde0c6ca0f75324df +Ctrl.hexsession_id = hexsession_id:0f15315853288a987cec1e0668f34fa54537304f7082673d74d4f970 +Ctrl.type = type:F +Output = 0bfa6ed5dc8ab0fc1bb9feb966d7107137ebf3f754ac71c2a16a9c22 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000000807f046e0e1a0050fe544cd0bf194fdb0a07efe7708498a1b25aad90641e8befdef8f4aacb538ccc446d02d3896e1cc34d9a8becdcc48d10e73460f7c0c58eb51707d37f1eaa0008cb21c89e8b226a3e60c76f9f9f5af2a16abca346a81c66ec0199167b17e0d8cb3baea9a9c700632f585e0cd467e779eba02bc24eff22b6425c +Ctrl.hexxcghash = hexxcghash:b63c992199e370cde19b640077bbbac92c6a8a0f206b4d560935cee5 +Ctrl.hexsession_id = hexsession_id:ee00f86c7ecc4ce74a3ece1699802b7420ca4d49cc74b23399c23545 +Ctrl.type = type:A +Output = 82204d79e13252f1 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000000807f046e0e1a0050fe544cd0bf194fdb0a07efe7708498a1b25aad90641e8befdef8f4aacb538ccc446d02d3896e1cc34d9a8becdcc48d10e73460f7c0c58eb51707d37f1eaa0008cb21c89e8b226a3e60c76f9f9f5af2a16abca346a81c66ec0199167b17e0d8cb3baea9a9c700632f585e0cd467e779eba02bc24eff22b6425c +Ctrl.hexxcghash = hexxcghash:b63c992199e370cde19b640077bbbac92c6a8a0f206b4d560935cee5 +Ctrl.hexsession_id = hexsession_id:ee00f86c7ecc4ce74a3ece1699802b7420ca4d49cc74b23399c23545 +Ctrl.type = type:B +Output = a76ff923488c7bd3 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000000807f046e0e1a0050fe544cd0bf194fdb0a07efe7708498a1b25aad90641e8befdef8f4aacb538ccc446d02d3896e1cc34d9a8becdcc48d10e73460f7c0c58eb51707d37f1eaa0008cb21c89e8b226a3e60c76f9f9f5af2a16abca346a81c66ec0199167b17e0d8cb3baea9a9c700632f585e0cd467e779eba02bc24eff22b6425c +Ctrl.hexxcghash = hexxcghash:b63c992199e370cde19b640077bbbac92c6a8a0f206b4d560935cee5 +Ctrl.hexsession_id = hexsession_id:ee00f86c7ecc4ce74a3ece1699802b7420ca4d49cc74b23399c23545 +Ctrl.type = type:C +Output = 8ba3bd224890bdd4dd07d2a5a98e5efcd95d82c66583d098 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000000807f046e0e1a0050fe544cd0bf194fdb0a07efe7708498a1b25aad90641e8befdef8f4aacb538ccc446d02d3896e1cc34d9a8becdcc48d10e73460f7c0c58eb51707d37f1eaa0008cb21c89e8b226a3e60c76f9f9f5af2a16abca346a81c66ec0199167b17e0d8cb3baea9a9c700632f585e0cd467e779eba02bc24eff22b6425c +Ctrl.hexxcghash = hexxcghash:b63c992199e370cde19b640077bbbac92c6a8a0f206b4d560935cee5 +Ctrl.hexsession_id = hexsession_id:ee00f86c7ecc4ce74a3ece1699802b7420ca4d49cc74b23399c23545 +Ctrl.type = type:D +Output = a04a3844933ca1bb45848bc1a7626e4c50dc46aa5376d027 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000000807f046e0e1a0050fe544cd0bf194fdb0a07efe7708498a1b25aad90641e8befdef8f4aacb538ccc446d02d3896e1cc34d9a8becdcc48d10e73460f7c0c58eb51707d37f1eaa0008cb21c89e8b226a3e60c76f9f9f5af2a16abca346a81c66ec0199167b17e0d8cb3baea9a9c700632f585e0cd467e779eba02bc24eff22b6425c +Ctrl.hexxcghash = hexxcghash:b63c992199e370cde19b640077bbbac92c6a8a0f206b4d560935cee5 +Ctrl.hexsession_id = hexsession_id:ee00f86c7ecc4ce74a3ece1699802b7420ca4d49cc74b23399c23545 +Ctrl.type = type:E +Output = 393f2f152d6c6d063f284cadd1fd9d700928188b7fea31f74b44fbc6 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000000807f046e0e1a0050fe544cd0bf194fdb0a07efe7708498a1b25aad90641e8befdef8f4aacb538ccc446d02d3896e1cc34d9a8becdcc48d10e73460f7c0c58eb51707d37f1eaa0008cb21c89e8b226a3e60c76f9f9f5af2a16abca346a81c66ec0199167b17e0d8cb3baea9a9c700632f585e0cd467e779eba02bc24eff22b6425c +Ctrl.hexxcghash = hexxcghash:b63c992199e370cde19b640077bbbac92c6a8a0f206b4d560935cee5 +Ctrl.hexsession_id = hexsession_id:ee00f86c7ecc4ce74a3ece1699802b7420ca4d49cc74b23399c23545 +Ctrl.type = type:F +Output = f27f2cd72b22e1719f91b912d6c9d180985121d32bd217e348cd2003 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100b51d0e3d21612b3bde548bf3da6d474166972f602beb1b876b7045a595483ec0bfb707eaf7c0d416d028a3ed7cff460cad66e2284e3190a746d3304678c91b2654b3ab147aece57e3bb5f4d30d4d7c01e065f70b12b9270ebec306a178870d1fd814806c3dbdc16d4bd7e843de8e5414ff336e735bc5c8241ab0ae08197159d6 +Ctrl.hexxcghash = hexxcghash:1eacc2c8e8ec2c3a5af31c6d498301e82664f60899223ef4348f4467 +Ctrl.hexsession_id = hexsession_id:ddc879c0f221147bd70a1cedf5578fd8f196290357945fe75e551262 +Ctrl.type = type:A +Output = f843e3c6a1621998 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100b51d0e3d21612b3bde548bf3da6d474166972f602beb1b876b7045a595483ec0bfb707eaf7c0d416d028a3ed7cff460cad66e2284e3190a746d3304678c91b2654b3ab147aece57e3bb5f4d30d4d7c01e065f70b12b9270ebec306a178870d1fd814806c3dbdc16d4bd7e843de8e5414ff336e735bc5c8241ab0ae08197159d6 +Ctrl.hexxcghash = hexxcghash:1eacc2c8e8ec2c3a5af31c6d498301e82664f60899223ef4348f4467 +Ctrl.hexsession_id = hexsession_id:ddc879c0f221147bd70a1cedf5578fd8f196290357945fe75e551262 +Ctrl.type = type:B +Output = 128b2d8968cfaad5 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100b51d0e3d21612b3bde548bf3da6d474166972f602beb1b876b7045a595483ec0bfb707eaf7c0d416d028a3ed7cff460cad66e2284e3190a746d3304678c91b2654b3ab147aece57e3bb5f4d30d4d7c01e065f70b12b9270ebec306a178870d1fd814806c3dbdc16d4bd7e843de8e5414ff336e735bc5c8241ab0ae08197159d6 +Ctrl.hexxcghash = hexxcghash:1eacc2c8e8ec2c3a5af31c6d498301e82664f60899223ef4348f4467 +Ctrl.hexsession_id = hexsession_id:ddc879c0f221147bd70a1cedf5578fd8f196290357945fe75e551262 +Ctrl.type = type:C +Output = d6c4d2685753580dea2c6a6eb6add592011356eb9e868d44 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100b51d0e3d21612b3bde548bf3da6d474166972f602beb1b876b7045a595483ec0bfb707eaf7c0d416d028a3ed7cff460cad66e2284e3190a746d3304678c91b2654b3ab147aece57e3bb5f4d30d4d7c01e065f70b12b9270ebec306a178870d1fd814806c3dbdc16d4bd7e843de8e5414ff336e735bc5c8241ab0ae08197159d6 +Ctrl.hexxcghash = hexxcghash:1eacc2c8e8ec2c3a5af31c6d498301e82664f60899223ef4348f4467 +Ctrl.hexsession_id = hexsession_id:ddc879c0f221147bd70a1cedf5578fd8f196290357945fe75e551262 +Ctrl.type = type:D +Output = 92af60f4858f3d14efaac039130389ab9ae1237f0da09a29 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100b51d0e3d21612b3bde548bf3da6d474166972f602beb1b876b7045a595483ec0bfb707eaf7c0d416d028a3ed7cff460cad66e2284e3190a746d3304678c91b2654b3ab147aece57e3bb5f4d30d4d7c01e065f70b12b9270ebec306a178870d1fd814806c3dbdc16d4bd7e843de8e5414ff336e735bc5c8241ab0ae08197159d6 +Ctrl.hexxcghash = hexxcghash:1eacc2c8e8ec2c3a5af31c6d498301e82664f60899223ef4348f4467 +Ctrl.hexsession_id = hexsession_id:ddc879c0f221147bd70a1cedf5578fd8f196290357945fe75e551262 +Ctrl.type = type:E +Output = a37af93c8f25e145def1c5397bec2ee2119cc0e0bd4854fe23b2e3d1 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000008100b51d0e3d21612b3bde548bf3da6d474166972f602beb1b876b7045a595483ec0bfb707eaf7c0d416d028a3ed7cff460cad66e2284e3190a746d3304678c91b2654b3ab147aece57e3bb5f4d30d4d7c01e065f70b12b9270ebec306a178870d1fd814806c3dbdc16d4bd7e843de8e5414ff336e735bc5c8241ab0ae08197159d6 +Ctrl.hexxcghash = hexxcghash:1eacc2c8e8ec2c3a5af31c6d498301e82664f60899223ef4348f4467 +Ctrl.hexsession_id = hexsession_id:ddc879c0f221147bd70a1cedf5578fd8f196290357945fe75e551262 +Ctrl.type = type:F +Output = d44def5fcec300da5913ca109c0fd7a2c2cbcedd2c3e3216c5cb0d95 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000000810088a2add0cc5918c649c6bbc82930ae99326188faa20e2cfc8f819cc44bdd99d1638fbbd380197beda58c039c239fdcced533db7ea31635b835f5f92725490e7638d40a017b89f48406faab653aa03721af5d7c5c61d4519e7c07f99974c1f715b1ce3fcffc50b2a6cc9b4e45a76791b862ac87524d2b52fe6c706f5a73e5dc0a +Ctrl.hexxcghash = hexxcghash:321ef6b92cae9df351c1b7d2253325536e659df52acd4a8787b45217 +Ctrl.hexsession_id = hexsession_id:340edbc8aeec53501158ad2ea7650abcbb906348d57b14b61524469e +Ctrl.type = type:A +Output = 4276fab65090b420 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000000810088a2add0cc5918c649c6bbc82930ae99326188faa20e2cfc8f819cc44bdd99d1638fbbd380197beda58c039c239fdcced533db7ea31635b835f5f92725490e7638d40a017b89f48406faab653aa03721af5d7c5c61d4519e7c07f99974c1f715b1ce3fcffc50b2a6cc9b4e45a76791b862ac87524d2b52fe6c706f5a73e5dc0a +Ctrl.hexxcghash = hexxcghash:321ef6b92cae9df351c1b7d2253325536e659df52acd4a8787b45217 +Ctrl.hexsession_id = hexsession_id:340edbc8aeec53501158ad2ea7650abcbb906348d57b14b61524469e +Ctrl.type = type:B +Output = 00303ca4f9a5a6f8 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000000810088a2add0cc5918c649c6bbc82930ae99326188faa20e2cfc8f819cc44bdd99d1638fbbd380197beda58c039c239fdcced533db7ea31635b835f5f92725490e7638d40a017b89f48406faab653aa03721af5d7c5c61d4519e7c07f99974c1f715b1ce3fcffc50b2a6cc9b4e45a76791b862ac87524d2b52fe6c706f5a73e5dc0a +Ctrl.hexxcghash = hexxcghash:321ef6b92cae9df351c1b7d2253325536e659df52acd4a8787b45217 +Ctrl.hexsession_id = hexsession_id:340edbc8aeec53501158ad2ea7650abcbb906348d57b14b61524469e +Ctrl.type = type:C +Output = 3d67892281e9c6ed6535d7ae69e832f6723afd545763bd3d + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000000810088a2add0cc5918c649c6bbc82930ae99326188faa20e2cfc8f819cc44bdd99d1638fbbd380197beda58c039c239fdcced533db7ea31635b835f5f92725490e7638d40a017b89f48406faab653aa03721af5d7c5c61d4519e7c07f99974c1f715b1ce3fcffc50b2a6cc9b4e45a76791b862ac87524d2b52fe6c706f5a73e5dc0a +Ctrl.hexxcghash = hexxcghash:321ef6b92cae9df351c1b7d2253325536e659df52acd4a8787b45217 +Ctrl.hexsession_id = hexsession_id:340edbc8aeec53501158ad2ea7650abcbb906348d57b14b61524469e +Ctrl.type = type:D +Output = 5a5844e6c47eacc172e0012044037668a653758b96310350 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000000810088a2add0cc5918c649c6bbc82930ae99326188faa20e2cfc8f819cc44bdd99d1638fbbd380197beda58c039c239fdcced533db7ea31635b835f5f92725490e7638d40a017b89f48406faab653aa03721af5d7c5c61d4519e7c07f99974c1f715b1ce3fcffc50b2a6cc9b4e45a76791b862ac87524d2b52fe6c706f5a73e5dc0a +Ctrl.hexxcghash = hexxcghash:321ef6b92cae9df351c1b7d2253325536e659df52acd4a8787b45217 +Ctrl.hexsession_id = hexsession_id:340edbc8aeec53501158ad2ea7650abcbb906348d57b14b61524469e +Ctrl.type = type:E +Output = 4783fb6e98db788f6594c2b82e751528590c41780adce2ffba234290 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000000810088a2add0cc5918c649c6bbc82930ae99326188faa20e2cfc8f819cc44bdd99d1638fbbd380197beda58c039c239fdcced533db7ea31635b835f5f92725490e7638d40a017b89f48406faab653aa03721af5d7c5c61d4519e7c07f99974c1f715b1ce3fcffc50b2a6cc9b4e45a76791b862ac87524d2b52fe6c706f5a73e5dc0a +Ctrl.hexxcghash = hexxcghash:321ef6b92cae9df351c1b7d2253325536e659df52acd4a8787b45217 +Ctrl.hexsession_id = hexsession_id:340edbc8aeec53501158ad2ea7650abcbb906348d57b14b61524469e +Ctrl.type = type:F +Output = 7c60752b0b5a0f0027507ecd88e6af2b78e462a98459bf0511152663 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100d62744a1ee5a4d03d761f48fb63ece42d9204e00016dad042ae7cbe600cb9e93535bc36d2f94d715cf8c2cd948caf876b4948429cb85ac73765949495af8380a56b68d1d3eeb4d9b310e2c53db5f51a7b8382759273c0be30862df81ca420f414c3ea8e6a1fb4875257ccc536e971c8dc07e600e265e642489266604f94ee995f96ef02eac771bb88bc66c57d229edfba1e484fd1c8b49e11e594aefa681f26ea28c348615d3e0a2dc76845d2d19543751ce444c7b65fa449a74639fa13c123d025200efa7012b209400746e03bd6a7bc938b926107da0491407bd952602d14a7fa743cbd51d5090a22c76a336f06b5e6dc5ecf70c803da8dcbff149c5013c36 +Ctrl.hexxcghash = hexxcghash:273ab849318045321f672fdf9b4bc250c4b46717374bfb3322bc7701 +Ctrl.hexsession_id = hexsession_id:273ab849318045321f672fdf9b4bc250c4b46717374bfb3322bc7701 +Ctrl.type = type:A +Output = 2512664639690af9f64afd16d9ccf3d3 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100d62744a1ee5a4d03d761f48fb63ece42d9204e00016dad042ae7cbe600cb9e93535bc36d2f94d715cf8c2cd948caf876b4948429cb85ac73765949495af8380a56b68d1d3eeb4d9b310e2c53db5f51a7b8382759273c0be30862df81ca420f414c3ea8e6a1fb4875257ccc536e971c8dc07e600e265e642489266604f94ee995f96ef02eac771bb88bc66c57d229edfba1e484fd1c8b49e11e594aefa681f26ea28c348615d3e0a2dc76845d2d19543751ce444c7b65fa449a74639fa13c123d025200efa7012b209400746e03bd6a7bc938b926107da0491407bd952602d14a7fa743cbd51d5090a22c76a336f06b5e6dc5ecf70c803da8dcbff149c5013c36 +Ctrl.hexxcghash = hexxcghash:273ab849318045321f672fdf9b4bc250c4b46717374bfb3322bc7701 +Ctrl.hexsession_id = hexsession_id:273ab849318045321f672fdf9b4bc250c4b46717374bfb3322bc7701 +Ctrl.type = type:B +Output = c13223796f394c6d1ffd18c22c09f27a + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100d62744a1ee5a4d03d761f48fb63ece42d9204e00016dad042ae7cbe600cb9e93535bc36d2f94d715cf8c2cd948caf876b4948429cb85ac73765949495af8380a56b68d1d3eeb4d9b310e2c53db5f51a7b8382759273c0be30862df81ca420f414c3ea8e6a1fb4875257ccc536e971c8dc07e600e265e642489266604f94ee995f96ef02eac771bb88bc66c57d229edfba1e484fd1c8b49e11e594aefa681f26ea28c348615d3e0a2dc76845d2d19543751ce444c7b65fa449a74639fa13c123d025200efa7012b209400746e03bd6a7bc938b926107da0491407bd952602d14a7fa743cbd51d5090a22c76a336f06b5e6dc5ecf70c803da8dcbff149c5013c36 +Ctrl.hexxcghash = hexxcghash:273ab849318045321f672fdf9b4bc250c4b46717374bfb3322bc7701 +Ctrl.hexsession_id = hexsession_id:273ab849318045321f672fdf9b4bc250c4b46717374bfb3322bc7701 +Ctrl.type = type:C +Output = 7be659a7cbeda28722315d96444a5c98 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100d62744a1ee5a4d03d761f48fb63ece42d9204e00016dad042ae7cbe600cb9e93535bc36d2f94d715cf8c2cd948caf876b4948429cb85ac73765949495af8380a56b68d1d3eeb4d9b310e2c53db5f51a7b8382759273c0be30862df81ca420f414c3ea8e6a1fb4875257ccc536e971c8dc07e600e265e642489266604f94ee995f96ef02eac771bb88bc66c57d229edfba1e484fd1c8b49e11e594aefa681f26ea28c348615d3e0a2dc76845d2d19543751ce444c7b65fa449a74639fa13c123d025200efa7012b209400746e03bd6a7bc938b926107da0491407bd952602d14a7fa743cbd51d5090a22c76a336f06b5e6dc5ecf70c803da8dcbff149c5013c36 +Ctrl.hexxcghash = hexxcghash:273ab849318045321f672fdf9b4bc250c4b46717374bfb3322bc7701 +Ctrl.hexsession_id = hexsession_id:273ab849318045321f672fdf9b4bc250c4b46717374bfb3322bc7701 +Ctrl.type = type:D +Output = bdfbd698c518aa45c35d7afd7bd91150 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100d62744a1ee5a4d03d761f48fb63ece42d9204e00016dad042ae7cbe600cb9e93535bc36d2f94d715cf8c2cd948caf876b4948429cb85ac73765949495af8380a56b68d1d3eeb4d9b310e2c53db5f51a7b8382759273c0be30862df81ca420f414c3ea8e6a1fb4875257ccc536e971c8dc07e600e265e642489266604f94ee995f96ef02eac771bb88bc66c57d229edfba1e484fd1c8b49e11e594aefa681f26ea28c348615d3e0a2dc76845d2d19543751ce444c7b65fa449a74639fa13c123d025200efa7012b209400746e03bd6a7bc938b926107da0491407bd952602d14a7fa743cbd51d5090a22c76a336f06b5e6dc5ecf70c803da8dcbff149c5013c36 +Ctrl.hexxcghash = hexxcghash:273ab849318045321f672fdf9b4bc250c4b46717374bfb3322bc7701 +Ctrl.hexsession_id = hexsession_id:273ab849318045321f672fdf9b4bc250c4b46717374bfb3322bc7701 +Ctrl.type = type:E +Output = dd38b79b081713ac3007ffd88d5cd67f43fbb36c983e0fc1cd273d84 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100d62744a1ee5a4d03d761f48fb63ece42d9204e00016dad042ae7cbe600cb9e93535bc36d2f94d715cf8c2cd948caf876b4948429cb85ac73765949495af8380a56b68d1d3eeb4d9b310e2c53db5f51a7b8382759273c0be30862df81ca420f414c3ea8e6a1fb4875257ccc536e971c8dc07e600e265e642489266604f94ee995f96ef02eac771bb88bc66c57d229edfba1e484fd1c8b49e11e594aefa681f26ea28c348615d3e0a2dc76845d2d19543751ce444c7b65fa449a74639fa13c123d025200efa7012b209400746e03bd6a7bc938b926107da0491407bd952602d14a7fa743cbd51d5090a22c76a336f06b5e6dc5ecf70c803da8dcbff149c5013c36 +Ctrl.hexxcghash = hexxcghash:273ab849318045321f672fdf9b4bc250c4b46717374bfb3322bc7701 +Ctrl.hexsession_id = hexsession_id:273ab849318045321f672fdf9b4bc250c4b46717374bfb3322bc7701 +Ctrl.type = type:F +Output = edf713ecfb21b9e9c2d9d04c882d5ded433dcf459ff5b0fe7cd45bb1 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100d9b92844753a5eadc2ef7e84372a56bd096cc1d57a5c282811658d7df87564f202e800c774e75bbb53f47e835f207300ccd4661fd8a73b6ff87770c2c036346e99fadc5193171e1e732f3b6a017808a150ee02c4b6e70d87462e51825a94bda27fa9cbe18c7ef20d0b0201cb7526e0e9bac21b877e5064000290424387a9aa98da563ee2a5ef36af4b442a69eb631b88b8e3a0f073aa5dda589c4aa0e4e007e0d0036a231d52137d724fd60d41f42512214853e7acf8bde77e377842468f4216a15d0c8fe033c2b133bf651c82fda6d227e3c3f0cb7d0a9eba7c35eeefcf683ddde696fdeba5ec124e701f01bf5b0d59a667c75633dea07670b07baa20f313c3 +Ctrl.hexxcghash = hexxcghash:a510774a9b07b05e4e0eaf9409d77028a511a9565784b69ab3c03ffc +Ctrl.hexsession_id = hexsession_id:49c4ad412d13870d0e9c6855e2881fc032aab36fa3ab3598a7f1153e +Ctrl.type = type:A +Output = f3064d3f3ed09eefd34731a2c60c1a80 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100d9b92844753a5eadc2ef7e84372a56bd096cc1d57a5c282811658d7df87564f202e800c774e75bbb53f47e835f207300ccd4661fd8a73b6ff87770c2c036346e99fadc5193171e1e732f3b6a017808a150ee02c4b6e70d87462e51825a94bda27fa9cbe18c7ef20d0b0201cb7526e0e9bac21b877e5064000290424387a9aa98da563ee2a5ef36af4b442a69eb631b88b8e3a0f073aa5dda589c4aa0e4e007e0d0036a231d52137d724fd60d41f42512214853e7acf8bde77e377842468f4216a15d0c8fe033c2b133bf651c82fda6d227e3c3f0cb7d0a9eba7c35eeefcf683ddde696fdeba5ec124e701f01bf5b0d59a667c75633dea07670b07baa20f313c3 +Ctrl.hexxcghash = hexxcghash:a510774a9b07b05e4e0eaf9409d77028a511a9565784b69ab3c03ffc +Ctrl.hexsession_id = hexsession_id:49c4ad412d13870d0e9c6855e2881fc032aab36fa3ab3598a7f1153e +Ctrl.type = type:B +Output = 1f7f508d9c4cf1004a220f26e0e6c184 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100d9b92844753a5eadc2ef7e84372a56bd096cc1d57a5c282811658d7df87564f202e800c774e75bbb53f47e835f207300ccd4661fd8a73b6ff87770c2c036346e99fadc5193171e1e732f3b6a017808a150ee02c4b6e70d87462e51825a94bda27fa9cbe18c7ef20d0b0201cb7526e0e9bac21b877e5064000290424387a9aa98da563ee2a5ef36af4b442a69eb631b88b8e3a0f073aa5dda589c4aa0e4e007e0d0036a231d52137d724fd60d41f42512214853e7acf8bde77e377842468f4216a15d0c8fe033c2b133bf651c82fda6d227e3c3f0cb7d0a9eba7c35eeefcf683ddde696fdeba5ec124e701f01bf5b0d59a667c75633dea07670b07baa20f313c3 +Ctrl.hexxcghash = hexxcghash:a510774a9b07b05e4e0eaf9409d77028a511a9565784b69ab3c03ffc +Ctrl.hexsession_id = hexsession_id:49c4ad412d13870d0e9c6855e2881fc032aab36fa3ab3598a7f1153e +Ctrl.type = type:C +Output = 2ad48a77fa12fcb5d3d3e98d5bb87d76 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100d9b92844753a5eadc2ef7e84372a56bd096cc1d57a5c282811658d7df87564f202e800c774e75bbb53f47e835f207300ccd4661fd8a73b6ff87770c2c036346e99fadc5193171e1e732f3b6a017808a150ee02c4b6e70d87462e51825a94bda27fa9cbe18c7ef20d0b0201cb7526e0e9bac21b877e5064000290424387a9aa98da563ee2a5ef36af4b442a69eb631b88b8e3a0f073aa5dda589c4aa0e4e007e0d0036a231d52137d724fd60d41f42512214853e7acf8bde77e377842468f4216a15d0c8fe033c2b133bf651c82fda6d227e3c3f0cb7d0a9eba7c35eeefcf683ddde696fdeba5ec124e701f01bf5b0d59a667c75633dea07670b07baa20f313c3 +Ctrl.hexxcghash = hexxcghash:a510774a9b07b05e4e0eaf9409d77028a511a9565784b69ab3c03ffc +Ctrl.hexsession_id = hexsession_id:49c4ad412d13870d0e9c6855e2881fc032aab36fa3ab3598a7f1153e +Ctrl.type = type:D +Output = 0433db7fd40d9d0dc9df6e9eed8059e4 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100d9b92844753a5eadc2ef7e84372a56bd096cc1d57a5c282811658d7df87564f202e800c774e75bbb53f47e835f207300ccd4661fd8a73b6ff87770c2c036346e99fadc5193171e1e732f3b6a017808a150ee02c4b6e70d87462e51825a94bda27fa9cbe18c7ef20d0b0201cb7526e0e9bac21b877e5064000290424387a9aa98da563ee2a5ef36af4b442a69eb631b88b8e3a0f073aa5dda589c4aa0e4e007e0d0036a231d52137d724fd60d41f42512214853e7acf8bde77e377842468f4216a15d0c8fe033c2b133bf651c82fda6d227e3c3f0cb7d0a9eba7c35eeefcf683ddde696fdeba5ec124e701f01bf5b0d59a667c75633dea07670b07baa20f313c3 +Ctrl.hexxcghash = hexxcghash:a510774a9b07b05e4e0eaf9409d77028a511a9565784b69ab3c03ffc +Ctrl.hexsession_id = hexsession_id:49c4ad412d13870d0e9c6855e2881fc032aab36fa3ab3598a7f1153e +Ctrl.type = type:E +Output = b07884f15910c6a083143ef9bda115d05c9e4c4057c1987c4f78a1b6 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100d9b92844753a5eadc2ef7e84372a56bd096cc1d57a5c282811658d7df87564f202e800c774e75bbb53f47e835f207300ccd4661fd8a73b6ff87770c2c036346e99fadc5193171e1e732f3b6a017808a150ee02c4b6e70d87462e51825a94bda27fa9cbe18c7ef20d0b0201cb7526e0e9bac21b877e5064000290424387a9aa98da563ee2a5ef36af4b442a69eb631b88b8e3a0f073aa5dda589c4aa0e4e007e0d0036a231d52137d724fd60d41f42512214853e7acf8bde77e377842468f4216a15d0c8fe033c2b133bf651c82fda6d227e3c3f0cb7d0a9eba7c35eeefcf683ddde696fdeba5ec124e701f01bf5b0d59a667c75633dea07670b07baa20f313c3 +Ctrl.hexxcghash = hexxcghash:a510774a9b07b05e4e0eaf9409d77028a511a9565784b69ab3c03ffc +Ctrl.hexsession_id = hexsession_id:49c4ad412d13870d0e9c6855e2881fc032aab36fa3ab3598a7f1153e +Ctrl.type = type:F +Output = f838da7b26311dbd529f742d901709229482cea9d7ac9f0c2cd14200 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010012641156f363edf89c1824532fcf379a846dd042ac173d6b9b75651d7aa911ebe75f5dd3b502a7d6ec331f095ed08505e86f51008242357b3d29d75db82619066c2ecb3ba78e8de8fceeb206bfa39ef3e6617d1f20e4a092ac6bd589904fe0ce4fac2d73c7396a54084bf71e929ae0c5c7e67e1795e73f9fab8c6ee90254f27dae6750e1f8769af5b235f9f7aef302f1fc4015f60af34656a1a8187159a4d6c4b3be40abe9ad5cb56a52f5407186b42fdce7a691b917550719fc7eef858030dcb2829a07a39ca279d9deb0487b893d4c7bbc41cde4eb366188f38bdb4289b8a95ae757864e963cbe4f5eced9aebf3b33ebb3c75b7e405816366e609e16f8bc56 +Ctrl.hexxcghash = hexxcghash:d041364fa73e42f0c9c49d2ad25a758c3f4691761d9caf6dfd2ad690 +Ctrl.hexsession_id = hexsession_id:1fea0e79508d3b2caf0e275c463626ad7d57c6cfc1da79a5bce2fa53 +Ctrl.type = type:A +Output = d8c60bf582892d2cd03956774614b9f1 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010012641156f363edf89c1824532fcf379a846dd042ac173d6b9b75651d7aa911ebe75f5dd3b502a7d6ec331f095ed08505e86f51008242357b3d29d75db82619066c2ecb3ba78e8de8fceeb206bfa39ef3e6617d1f20e4a092ac6bd589904fe0ce4fac2d73c7396a54084bf71e929ae0c5c7e67e1795e73f9fab8c6ee90254f27dae6750e1f8769af5b235f9f7aef302f1fc4015f60af34656a1a8187159a4d6c4b3be40abe9ad5cb56a52f5407186b42fdce7a691b917550719fc7eef858030dcb2829a07a39ca279d9deb0487b893d4c7bbc41cde4eb366188f38bdb4289b8a95ae757864e963cbe4f5eced9aebf3b33ebb3c75b7e405816366e609e16f8bc56 +Ctrl.hexxcghash = hexxcghash:d041364fa73e42f0c9c49d2ad25a758c3f4691761d9caf6dfd2ad690 +Ctrl.hexsession_id = hexsession_id:1fea0e79508d3b2caf0e275c463626ad7d57c6cfc1da79a5bce2fa53 +Ctrl.type = type:B +Output = bac1bef6d6dd92de55bc174c9db77a54 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010012641156f363edf89c1824532fcf379a846dd042ac173d6b9b75651d7aa911ebe75f5dd3b502a7d6ec331f095ed08505e86f51008242357b3d29d75db82619066c2ecb3ba78e8de8fceeb206bfa39ef3e6617d1f20e4a092ac6bd589904fe0ce4fac2d73c7396a54084bf71e929ae0c5c7e67e1795e73f9fab8c6ee90254f27dae6750e1f8769af5b235f9f7aef302f1fc4015f60af34656a1a8187159a4d6c4b3be40abe9ad5cb56a52f5407186b42fdce7a691b917550719fc7eef858030dcb2829a07a39ca279d9deb0487b893d4c7bbc41cde4eb366188f38bdb4289b8a95ae757864e963cbe4f5eced9aebf3b33ebb3c75b7e405816366e609e16f8bc56 +Ctrl.hexxcghash = hexxcghash:d041364fa73e42f0c9c49d2ad25a758c3f4691761d9caf6dfd2ad690 +Ctrl.hexsession_id = hexsession_id:1fea0e79508d3b2caf0e275c463626ad7d57c6cfc1da79a5bce2fa53 +Ctrl.type = type:C +Output = bdf96d88d7ac4f0daa62d29948a5c891 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010012641156f363edf89c1824532fcf379a846dd042ac173d6b9b75651d7aa911ebe75f5dd3b502a7d6ec331f095ed08505e86f51008242357b3d29d75db82619066c2ecb3ba78e8de8fceeb206bfa39ef3e6617d1f20e4a092ac6bd589904fe0ce4fac2d73c7396a54084bf71e929ae0c5c7e67e1795e73f9fab8c6ee90254f27dae6750e1f8769af5b235f9f7aef302f1fc4015f60af34656a1a8187159a4d6c4b3be40abe9ad5cb56a52f5407186b42fdce7a691b917550719fc7eef858030dcb2829a07a39ca279d9deb0487b893d4c7bbc41cde4eb366188f38bdb4289b8a95ae757864e963cbe4f5eced9aebf3b33ebb3c75b7e405816366e609e16f8bc56 +Ctrl.hexxcghash = hexxcghash:d041364fa73e42f0c9c49d2ad25a758c3f4691761d9caf6dfd2ad690 +Ctrl.hexsession_id = hexsession_id:1fea0e79508d3b2caf0e275c463626ad7d57c6cfc1da79a5bce2fa53 +Ctrl.type = type:D +Output = ef0dbe568b4f3fbcb8b2665ed7ed0f8d + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010012641156f363edf89c1824532fcf379a846dd042ac173d6b9b75651d7aa911ebe75f5dd3b502a7d6ec331f095ed08505e86f51008242357b3d29d75db82619066c2ecb3ba78e8de8fceeb206bfa39ef3e6617d1f20e4a092ac6bd589904fe0ce4fac2d73c7396a54084bf71e929ae0c5c7e67e1795e73f9fab8c6ee90254f27dae6750e1f8769af5b235f9f7aef302f1fc4015f60af34656a1a8187159a4d6c4b3be40abe9ad5cb56a52f5407186b42fdce7a691b917550719fc7eef858030dcb2829a07a39ca279d9deb0487b893d4c7bbc41cde4eb366188f38bdb4289b8a95ae757864e963cbe4f5eced9aebf3b33ebb3c75b7e405816366e609e16f8bc56 +Ctrl.hexxcghash = hexxcghash:d041364fa73e42f0c9c49d2ad25a758c3f4691761d9caf6dfd2ad690 +Ctrl.hexsession_id = hexsession_id:1fea0e79508d3b2caf0e275c463626ad7d57c6cfc1da79a5bce2fa53 +Ctrl.type = type:E +Output = 315d50a1b29f9d556c983432b98bf437893c1a892cf69880353d9797 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010012641156f363edf89c1824532fcf379a846dd042ac173d6b9b75651d7aa911ebe75f5dd3b502a7d6ec331f095ed08505e86f51008242357b3d29d75db82619066c2ecb3ba78e8de8fceeb206bfa39ef3e6617d1f20e4a092ac6bd589904fe0ce4fac2d73c7396a54084bf71e929ae0c5c7e67e1795e73f9fab8c6ee90254f27dae6750e1f8769af5b235f9f7aef302f1fc4015f60af34656a1a8187159a4d6c4b3be40abe9ad5cb56a52f5407186b42fdce7a691b917550719fc7eef858030dcb2829a07a39ca279d9deb0487b893d4c7bbc41cde4eb366188f38bdb4289b8a95ae757864e963cbe4f5eced9aebf3b33ebb3c75b7e405816366e609e16f8bc56 +Ctrl.hexxcghash = hexxcghash:d041364fa73e42f0c9c49d2ad25a758c3f4691761d9caf6dfd2ad690 +Ctrl.hexsession_id = hexsession_id:1fea0e79508d3b2caf0e275c463626ad7d57c6cfc1da79a5bce2fa53 +Ctrl.type = type:F +Output = 612e3ac6651f9c7d99c532da0820f079292d9b33d36b684198665f5e + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100ecfd38c0707d59db0b361a449a22ddc63f055678e253ffbc8324a306ff06e31590fcdf6fc271665335f01af804619f4367489d7829ca756cd14d2147f2c6b2c0355847955ebe89ed2133dc74283732c4f821a7cadcaa9abf661fa9fcf81b0596c454fdac23d79267c5a832979217df61f9bb04c0fa69f5fdae2407da763210f0b7c1097463505b0da86ad71c20c1c57accaae353919cb2708aa378a5ff598d0a4b21b7527b2dbd271957fbbf04f5787076fb7f8afdfb75ddb5fa142ab427e026c87033fe2c6f22454ebace3f77646d0ee447cd1d339c9a21ce86c0b233c7fcbd6d1d165e14d57908777cde654b7fc3c3db7e62951b359ec71fe475356dc6a58b +Ctrl.hexxcghash = hexxcghash:7af5885d52c4173000c45dd2b0fbeb21fa5722aa65eecb1bf977248a +Ctrl.hexsession_id = hexsession_id:122e2d181cca7dcec6f30a8b027b4d29275d342af5fd82794b24560f +Ctrl.type = type:A +Output = e0d36ac1de6cc8514d25ff824bfaaa37 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100ecfd38c0707d59db0b361a449a22ddc63f055678e253ffbc8324a306ff06e31590fcdf6fc271665335f01af804619f4367489d7829ca756cd14d2147f2c6b2c0355847955ebe89ed2133dc74283732c4f821a7cadcaa9abf661fa9fcf81b0596c454fdac23d79267c5a832979217df61f9bb04c0fa69f5fdae2407da763210f0b7c1097463505b0da86ad71c20c1c57accaae353919cb2708aa378a5ff598d0a4b21b7527b2dbd271957fbbf04f5787076fb7f8afdfb75ddb5fa142ab427e026c87033fe2c6f22454ebace3f77646d0ee447cd1d339c9a21ce86c0b233c7fcbd6d1d165e14d57908777cde654b7fc3c3db7e62951b359ec71fe475356dc6a58b +Ctrl.hexxcghash = hexxcghash:7af5885d52c4173000c45dd2b0fbeb21fa5722aa65eecb1bf977248a +Ctrl.hexsession_id = hexsession_id:122e2d181cca7dcec6f30a8b027b4d29275d342af5fd82794b24560f +Ctrl.type = type:B +Output = 58c896b4d1a9507e7da2234a1a538d78 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100ecfd38c0707d59db0b361a449a22ddc63f055678e253ffbc8324a306ff06e31590fcdf6fc271665335f01af804619f4367489d7829ca756cd14d2147f2c6b2c0355847955ebe89ed2133dc74283732c4f821a7cadcaa9abf661fa9fcf81b0596c454fdac23d79267c5a832979217df61f9bb04c0fa69f5fdae2407da763210f0b7c1097463505b0da86ad71c20c1c57accaae353919cb2708aa378a5ff598d0a4b21b7527b2dbd271957fbbf04f5787076fb7f8afdfb75ddb5fa142ab427e026c87033fe2c6f22454ebace3f77646d0ee447cd1d339c9a21ce86c0b233c7fcbd6d1d165e14d57908777cde654b7fc3c3db7e62951b359ec71fe475356dc6a58b +Ctrl.hexxcghash = hexxcghash:7af5885d52c4173000c45dd2b0fbeb21fa5722aa65eecb1bf977248a +Ctrl.hexsession_id = hexsession_id:122e2d181cca7dcec6f30a8b027b4d29275d342af5fd82794b24560f +Ctrl.type = type:C +Output = 5966df5cb582234585b4c4312318f829 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100ecfd38c0707d59db0b361a449a22ddc63f055678e253ffbc8324a306ff06e31590fcdf6fc271665335f01af804619f4367489d7829ca756cd14d2147f2c6b2c0355847955ebe89ed2133dc74283732c4f821a7cadcaa9abf661fa9fcf81b0596c454fdac23d79267c5a832979217df61f9bb04c0fa69f5fdae2407da763210f0b7c1097463505b0da86ad71c20c1c57accaae353919cb2708aa378a5ff598d0a4b21b7527b2dbd271957fbbf04f5787076fb7f8afdfb75ddb5fa142ab427e026c87033fe2c6f22454ebace3f77646d0ee447cd1d339c9a21ce86c0b233c7fcbd6d1d165e14d57908777cde654b7fc3c3db7e62951b359ec71fe475356dc6a58b +Ctrl.hexxcghash = hexxcghash:7af5885d52c4173000c45dd2b0fbeb21fa5722aa65eecb1bf977248a +Ctrl.hexsession_id = hexsession_id:122e2d181cca7dcec6f30a8b027b4d29275d342af5fd82794b24560f +Ctrl.type = type:D +Output = 40d8bdab78c9dac2b2d14d1c8bd41405 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100ecfd38c0707d59db0b361a449a22ddc63f055678e253ffbc8324a306ff06e31590fcdf6fc271665335f01af804619f4367489d7829ca756cd14d2147f2c6b2c0355847955ebe89ed2133dc74283732c4f821a7cadcaa9abf661fa9fcf81b0596c454fdac23d79267c5a832979217df61f9bb04c0fa69f5fdae2407da763210f0b7c1097463505b0da86ad71c20c1c57accaae353919cb2708aa378a5ff598d0a4b21b7527b2dbd271957fbbf04f5787076fb7f8afdfb75ddb5fa142ab427e026c87033fe2c6f22454ebace3f77646d0ee447cd1d339c9a21ce86c0b233c7fcbd6d1d165e14d57908777cde654b7fc3c3db7e62951b359ec71fe475356dc6a58b +Ctrl.hexxcghash = hexxcghash:7af5885d52c4173000c45dd2b0fbeb21fa5722aa65eecb1bf977248a +Ctrl.hexsession_id = hexsession_id:122e2d181cca7dcec6f30a8b027b4d29275d342af5fd82794b24560f +Ctrl.type = type:E +Output = 1af4707570794ff6c718c817ccb9fca5edf22a3a8d493a861633fb7a + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100ecfd38c0707d59db0b361a449a22ddc63f055678e253ffbc8324a306ff06e31590fcdf6fc271665335f01af804619f4367489d7829ca756cd14d2147f2c6b2c0355847955ebe89ed2133dc74283732c4f821a7cadcaa9abf661fa9fcf81b0596c454fdac23d79267c5a832979217df61f9bb04c0fa69f5fdae2407da763210f0b7c1097463505b0da86ad71c20c1c57accaae353919cb2708aa378a5ff598d0a4b21b7527b2dbd271957fbbf04f5787076fb7f8afdfb75ddb5fa142ab427e026c87033fe2c6f22454ebace3f77646d0ee447cd1d339c9a21ce86c0b233c7fcbd6d1d165e14d57908777cde654b7fc3c3db7e62951b359ec71fe475356dc6a58b +Ctrl.hexxcghash = hexxcghash:7af5885d52c4173000c45dd2b0fbeb21fa5722aa65eecb1bf977248a +Ctrl.hexsession_id = hexsession_id:122e2d181cca7dcec6f30a8b027b4d29275d342af5fd82794b24560f +Ctrl.type = type:F +Output = 4e6edd5d86f0a3b92595fb2d4f0f9b0f0ed1e850c84014224270bcbc + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000001002dde91723fa969756f5a597683fa0ef938423ffcf3b3d0262f9ba0d69d72ffc3afbf2ccb9bbc42332f97d3857b44575e30849fe19e77688e9102d9909585d9e53835eee4127aee038deaf8501c70cfd209ef755f84613365d9b2150009f9055300b74c593f8204b84c7faaac87c781e7bdda8c54bf0ec170e4dbf71cd15825c949ebaa934797333124e63db50efe0f33f5224687c097b22d52de36045659622dd214effab378b6bff298c84436831f85540a5eac0b68d51fa1abd18d19ce5452aefe729b7d384e038927ee8f0c2ddffd1cb6ea537a90d9b06bce3bd01fdf4370d62d985ab80417d1256d38ab3874297163a020052b42e73e8ef64950851e7da2 +Ctrl.hexxcghash = hexxcghash:590c8e3800ddfd382f0b3023c7a8753bd013e756855ffbca1dee0f01 +Ctrl.hexsession_id = hexsession_id:5e4528c7ff85f2ed7d632c4355e2524438ee83ef0e1695524921408d +Ctrl.type = type:A +Output = d30b7efda77a1008d78487fb1c9df511 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000001002dde91723fa969756f5a597683fa0ef938423ffcf3b3d0262f9ba0d69d72ffc3afbf2ccb9bbc42332f97d3857b44575e30849fe19e77688e9102d9909585d9e53835eee4127aee038deaf8501c70cfd209ef755f84613365d9b2150009f9055300b74c593f8204b84c7faaac87c781e7bdda8c54bf0ec170e4dbf71cd15825c949ebaa934797333124e63db50efe0f33f5224687c097b22d52de36045659622dd214effab378b6bff298c84436831f85540a5eac0b68d51fa1abd18d19ce5452aefe729b7d384e038927ee8f0c2ddffd1cb6ea537a90d9b06bce3bd01fdf4370d62d985ab80417d1256d38ab3874297163a020052b42e73e8ef64950851e7da2 +Ctrl.hexxcghash = hexxcghash:590c8e3800ddfd382f0b3023c7a8753bd013e756855ffbca1dee0f01 +Ctrl.hexsession_id = hexsession_id:5e4528c7ff85f2ed7d632c4355e2524438ee83ef0e1695524921408d +Ctrl.type = type:B +Output = 498b3d9f14446a028d1aed8bc4748e34 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000001002dde91723fa969756f5a597683fa0ef938423ffcf3b3d0262f9ba0d69d72ffc3afbf2ccb9bbc42332f97d3857b44575e30849fe19e77688e9102d9909585d9e53835eee4127aee038deaf8501c70cfd209ef755f84613365d9b2150009f9055300b74c593f8204b84c7faaac87c781e7bdda8c54bf0ec170e4dbf71cd15825c949ebaa934797333124e63db50efe0f33f5224687c097b22d52de36045659622dd214effab378b6bff298c84436831f85540a5eac0b68d51fa1abd18d19ce5452aefe729b7d384e038927ee8f0c2ddffd1cb6ea537a90d9b06bce3bd01fdf4370d62d985ab80417d1256d38ab3874297163a020052b42e73e8ef64950851e7da2 +Ctrl.hexxcghash = hexxcghash:590c8e3800ddfd382f0b3023c7a8753bd013e756855ffbca1dee0f01 +Ctrl.hexsession_id = hexsession_id:5e4528c7ff85f2ed7d632c4355e2524438ee83ef0e1695524921408d +Ctrl.type = type:C +Output = f4909273c39ef8819b353cde80f57cc9 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000001002dde91723fa969756f5a597683fa0ef938423ffcf3b3d0262f9ba0d69d72ffc3afbf2ccb9bbc42332f97d3857b44575e30849fe19e77688e9102d9909585d9e53835eee4127aee038deaf8501c70cfd209ef755f84613365d9b2150009f9055300b74c593f8204b84c7faaac87c781e7bdda8c54bf0ec170e4dbf71cd15825c949ebaa934797333124e63db50efe0f33f5224687c097b22d52de36045659622dd214effab378b6bff298c84436831f85540a5eac0b68d51fa1abd18d19ce5452aefe729b7d384e038927ee8f0c2ddffd1cb6ea537a90d9b06bce3bd01fdf4370d62d985ab80417d1256d38ab3874297163a020052b42e73e8ef64950851e7da2 +Ctrl.hexxcghash = hexxcghash:590c8e3800ddfd382f0b3023c7a8753bd013e756855ffbca1dee0f01 +Ctrl.hexsession_id = hexsession_id:5e4528c7ff85f2ed7d632c4355e2524438ee83ef0e1695524921408d +Ctrl.type = type:D +Output = b31337a6ecd02f4beb9bf4af12ea4e11 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000001002dde91723fa969756f5a597683fa0ef938423ffcf3b3d0262f9ba0d69d72ffc3afbf2ccb9bbc42332f97d3857b44575e30849fe19e77688e9102d9909585d9e53835eee4127aee038deaf8501c70cfd209ef755f84613365d9b2150009f9055300b74c593f8204b84c7faaac87c781e7bdda8c54bf0ec170e4dbf71cd15825c949ebaa934797333124e63db50efe0f33f5224687c097b22d52de36045659622dd214effab378b6bff298c84436831f85540a5eac0b68d51fa1abd18d19ce5452aefe729b7d384e038927ee8f0c2ddffd1cb6ea537a90d9b06bce3bd01fdf4370d62d985ab80417d1256d38ab3874297163a020052b42e73e8ef64950851e7da2 +Ctrl.hexxcghash = hexxcghash:590c8e3800ddfd382f0b3023c7a8753bd013e756855ffbca1dee0f01 +Ctrl.hexsession_id = hexsession_id:5e4528c7ff85f2ed7d632c4355e2524438ee83ef0e1695524921408d +Ctrl.type = type:E +Output = 6f3da7bb4b64ad3e1171083a62eca5e755563e639594b848243760d8 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000001002dde91723fa969756f5a597683fa0ef938423ffcf3b3d0262f9ba0d69d72ffc3afbf2ccb9bbc42332f97d3857b44575e30849fe19e77688e9102d9909585d9e53835eee4127aee038deaf8501c70cfd209ef755f84613365d9b2150009f9055300b74c593f8204b84c7faaac87c781e7bdda8c54bf0ec170e4dbf71cd15825c949ebaa934797333124e63db50efe0f33f5224687c097b22d52de36045659622dd214effab378b6bff298c84436831f85540a5eac0b68d51fa1abd18d19ce5452aefe729b7d384e038927ee8f0c2ddffd1cb6ea537a90d9b06bce3bd01fdf4370d62d985ab80417d1256d38ab3874297163a020052b42e73e8ef64950851e7da2 +Ctrl.hexxcghash = hexxcghash:590c8e3800ddfd382f0b3023c7a8753bd013e756855ffbca1dee0f01 +Ctrl.hexsession_id = hexsession_id:5e4528c7ff85f2ed7d632c4355e2524438ee83ef0e1695524921408d +Ctrl.type = type:F +Output = e88506aa4a4ffa33675c4a296abf91e24450a496e56f8465e9a7525c + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100be7e6428be4ff862e2b9fe69f055bbbeaa51b7666d51e1ad2e5fe12e2f7a171121147311780840e5d1345c6a24eb3e2d7bace8c88cddae9a062c7aacc7ae87d31ef7d4c52dc2e35f364266c9c34e1ff703a61a8fb39397344ac94e75a42fc956dcc887e50e67018d5a74c89c1a8555ebff4a4baf5b4916aea1dd95c126df390882143908821ecf68511e986bd379cf0871fe1a2679241b339f3317f76c65dc2b121e15a0b8891d9c0120b8a8a383a1dd5eb6fbd65d22a03b7987f843d454e4e1f09b9e2d37ef2be72b7f8accade301c772f74a582afab960dfa43a167275771f6a9be5a9f275cea55e9661a54b1c3210042f824fe783969fa60ad23b748a6b56 +Ctrl.hexxcghash = hexxcghash:97e793420ceda1730dac88f0d7dc52d8713a79a0b48ddb2af45dd143 +Ctrl.hexsession_id = hexsession_id:16dd0d6aca3757eec6e9dc3c4a5f590cb7911cd3cabc80815527b73c +Ctrl.type = type:A +Output = c5cbb653102d99457c33c88921b5dbe4 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100be7e6428be4ff862e2b9fe69f055bbbeaa51b7666d51e1ad2e5fe12e2f7a171121147311780840e5d1345c6a24eb3e2d7bace8c88cddae9a062c7aacc7ae87d31ef7d4c52dc2e35f364266c9c34e1ff703a61a8fb39397344ac94e75a42fc956dcc887e50e67018d5a74c89c1a8555ebff4a4baf5b4916aea1dd95c126df390882143908821ecf68511e986bd379cf0871fe1a2679241b339f3317f76c65dc2b121e15a0b8891d9c0120b8a8a383a1dd5eb6fbd65d22a03b7987f843d454e4e1f09b9e2d37ef2be72b7f8accade301c772f74a582afab960dfa43a167275771f6a9be5a9f275cea55e9661a54b1c3210042f824fe783969fa60ad23b748a6b56 +Ctrl.hexxcghash = hexxcghash:97e793420ceda1730dac88f0d7dc52d8713a79a0b48ddb2af45dd143 +Ctrl.hexsession_id = hexsession_id:16dd0d6aca3757eec6e9dc3c4a5f590cb7911cd3cabc80815527b73c +Ctrl.type = type:B +Output = dd9b1c786c7f739832629f7666e4e21e + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100be7e6428be4ff862e2b9fe69f055bbbeaa51b7666d51e1ad2e5fe12e2f7a171121147311780840e5d1345c6a24eb3e2d7bace8c88cddae9a062c7aacc7ae87d31ef7d4c52dc2e35f364266c9c34e1ff703a61a8fb39397344ac94e75a42fc956dcc887e50e67018d5a74c89c1a8555ebff4a4baf5b4916aea1dd95c126df390882143908821ecf68511e986bd379cf0871fe1a2679241b339f3317f76c65dc2b121e15a0b8891d9c0120b8a8a383a1dd5eb6fbd65d22a03b7987f843d454e4e1f09b9e2d37ef2be72b7f8accade301c772f74a582afab960dfa43a167275771f6a9be5a9f275cea55e9661a54b1c3210042f824fe783969fa60ad23b748a6b56 +Ctrl.hexxcghash = hexxcghash:97e793420ceda1730dac88f0d7dc52d8713a79a0b48ddb2af45dd143 +Ctrl.hexsession_id = hexsession_id:16dd0d6aca3757eec6e9dc3c4a5f590cb7911cd3cabc80815527b73c +Ctrl.type = type:C +Output = c33d08d706ffac1811f157526b08086f + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100be7e6428be4ff862e2b9fe69f055bbbeaa51b7666d51e1ad2e5fe12e2f7a171121147311780840e5d1345c6a24eb3e2d7bace8c88cddae9a062c7aacc7ae87d31ef7d4c52dc2e35f364266c9c34e1ff703a61a8fb39397344ac94e75a42fc956dcc887e50e67018d5a74c89c1a8555ebff4a4baf5b4916aea1dd95c126df390882143908821ecf68511e986bd379cf0871fe1a2679241b339f3317f76c65dc2b121e15a0b8891d9c0120b8a8a383a1dd5eb6fbd65d22a03b7987f843d454e4e1f09b9e2d37ef2be72b7f8accade301c772f74a582afab960dfa43a167275771f6a9be5a9f275cea55e9661a54b1c3210042f824fe783969fa60ad23b748a6b56 +Ctrl.hexxcghash = hexxcghash:97e793420ceda1730dac88f0d7dc52d8713a79a0b48ddb2af45dd143 +Ctrl.hexsession_id = hexsession_id:16dd0d6aca3757eec6e9dc3c4a5f590cb7911cd3cabc80815527b73c +Ctrl.type = type:D +Output = 5750b617b71a239d99fc412796f6d986 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100be7e6428be4ff862e2b9fe69f055bbbeaa51b7666d51e1ad2e5fe12e2f7a171121147311780840e5d1345c6a24eb3e2d7bace8c88cddae9a062c7aacc7ae87d31ef7d4c52dc2e35f364266c9c34e1ff703a61a8fb39397344ac94e75a42fc956dcc887e50e67018d5a74c89c1a8555ebff4a4baf5b4916aea1dd95c126df390882143908821ecf68511e986bd379cf0871fe1a2679241b339f3317f76c65dc2b121e15a0b8891d9c0120b8a8a383a1dd5eb6fbd65d22a03b7987f843d454e4e1f09b9e2d37ef2be72b7f8accade301c772f74a582afab960dfa43a167275771f6a9be5a9f275cea55e9661a54b1c3210042f824fe783969fa60ad23b748a6b56 +Ctrl.hexxcghash = hexxcghash:97e793420ceda1730dac88f0d7dc52d8713a79a0b48ddb2af45dd143 +Ctrl.hexsession_id = hexsession_id:16dd0d6aca3757eec6e9dc3c4a5f590cb7911cd3cabc80815527b73c +Ctrl.type = type:E +Output = 4c2edee4688119e17723fede94d81c141cb2dd632dde5e223fcd12c2 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100be7e6428be4ff862e2b9fe69f055bbbeaa51b7666d51e1ad2e5fe12e2f7a171121147311780840e5d1345c6a24eb3e2d7bace8c88cddae9a062c7aacc7ae87d31ef7d4c52dc2e35f364266c9c34e1ff703a61a8fb39397344ac94e75a42fc956dcc887e50e67018d5a74c89c1a8555ebff4a4baf5b4916aea1dd95c126df390882143908821ecf68511e986bd379cf0871fe1a2679241b339f3317f76c65dc2b121e15a0b8891d9c0120b8a8a383a1dd5eb6fbd65d22a03b7987f843d454e4e1f09b9e2d37ef2be72b7f8accade301c772f74a582afab960dfa43a167275771f6a9be5a9f275cea55e9661a54b1c3210042f824fe783969fa60ad23b748a6b56 +Ctrl.hexxcghash = hexxcghash:97e793420ceda1730dac88f0d7dc52d8713a79a0b48ddb2af45dd143 +Ctrl.hexsession_id = hexsession_id:16dd0d6aca3757eec6e9dc3c4a5f590cb7911cd3cabc80815527b73c +Ctrl.type = type:F +Output = b48103cd81397bed3bf618b2ef30a44ea806b0ad07aa098a8a33273e + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100c810e36b6ae23b2dac234f36b4ddfe820762b53478eaea205cdab848c384f2c5fe262bc471971ff42a1ff8fdfff81cdc66371a75e9fda5d7d0bd656523603255c3e0970435f995948ec98d87942cefe2194e475a507e2928e0cfbba63962c75794aa53e8a385a5d1599d88dd1684a827914da576f9e06caaecc586bb98425621a5afaf86003cabe86fcd3964a390f47302bbbee8536f24024c5c31f031e80e6bcf2a3e24d4f0b6bd42250996f12a8a5c99b09a42a737e3cbf481e002c334fe3b7626419266e0036339b1592d3bf43245c449a65e43946e60112c1f8aff8963ff56e365c6f56c36b2208eadf591360554d2b116d3374341bd5779ebcdf7ba93de +Ctrl.hexxcghash = hexxcghash:f8a7854ec21f252f679b924f0f3d34639fe976de146ddb8e93c4e4d9 +Ctrl.hexsession_id = hexsession_id:6bebea19564c0f65dd96446496f7d7c7198a5b08bcdacf29449808ba +Ctrl.type = type:A +Output = c8bc1d232edd620e0282af630d596a6c + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100c810e36b6ae23b2dac234f36b4ddfe820762b53478eaea205cdab848c384f2c5fe262bc471971ff42a1ff8fdfff81cdc66371a75e9fda5d7d0bd656523603255c3e0970435f995948ec98d87942cefe2194e475a507e2928e0cfbba63962c75794aa53e8a385a5d1599d88dd1684a827914da576f9e06caaecc586bb98425621a5afaf86003cabe86fcd3964a390f47302bbbee8536f24024c5c31f031e80e6bcf2a3e24d4f0b6bd42250996f12a8a5c99b09a42a737e3cbf481e002c334fe3b7626419266e0036339b1592d3bf43245c449a65e43946e60112c1f8aff8963ff56e365c6f56c36b2208eadf591360554d2b116d3374341bd5779ebcdf7ba93de +Ctrl.hexxcghash = hexxcghash:f8a7854ec21f252f679b924f0f3d34639fe976de146ddb8e93c4e4d9 +Ctrl.hexsession_id = hexsession_id:6bebea19564c0f65dd96446496f7d7c7198a5b08bcdacf29449808ba +Ctrl.type = type:B +Output = 6a90269aab1a3e3612eec97a45db11e1 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100c810e36b6ae23b2dac234f36b4ddfe820762b53478eaea205cdab848c384f2c5fe262bc471971ff42a1ff8fdfff81cdc66371a75e9fda5d7d0bd656523603255c3e0970435f995948ec98d87942cefe2194e475a507e2928e0cfbba63962c75794aa53e8a385a5d1599d88dd1684a827914da576f9e06caaecc586bb98425621a5afaf86003cabe86fcd3964a390f47302bbbee8536f24024c5c31f031e80e6bcf2a3e24d4f0b6bd42250996f12a8a5c99b09a42a737e3cbf481e002c334fe3b7626419266e0036339b1592d3bf43245c449a65e43946e60112c1f8aff8963ff56e365c6f56c36b2208eadf591360554d2b116d3374341bd5779ebcdf7ba93de +Ctrl.hexxcghash = hexxcghash:f8a7854ec21f252f679b924f0f3d34639fe976de146ddb8e93c4e4d9 +Ctrl.hexsession_id = hexsession_id:6bebea19564c0f65dd96446496f7d7c7198a5b08bcdacf29449808ba +Ctrl.type = type:C +Output = ebb8a6227e789d33fa072355cb2851ac + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100c810e36b6ae23b2dac234f36b4ddfe820762b53478eaea205cdab848c384f2c5fe262bc471971ff42a1ff8fdfff81cdc66371a75e9fda5d7d0bd656523603255c3e0970435f995948ec98d87942cefe2194e475a507e2928e0cfbba63962c75794aa53e8a385a5d1599d88dd1684a827914da576f9e06caaecc586bb98425621a5afaf86003cabe86fcd3964a390f47302bbbee8536f24024c5c31f031e80e6bcf2a3e24d4f0b6bd42250996f12a8a5c99b09a42a737e3cbf481e002c334fe3b7626419266e0036339b1592d3bf43245c449a65e43946e60112c1f8aff8963ff56e365c6f56c36b2208eadf591360554d2b116d3374341bd5779ebcdf7ba93de +Ctrl.hexxcghash = hexxcghash:f8a7854ec21f252f679b924f0f3d34639fe976de146ddb8e93c4e4d9 +Ctrl.hexsession_id = hexsession_id:6bebea19564c0f65dd96446496f7d7c7198a5b08bcdacf29449808ba +Ctrl.type = type:D +Output = 9662ff73b11bd2978ffceb7545f6054e + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100c810e36b6ae23b2dac234f36b4ddfe820762b53478eaea205cdab848c384f2c5fe262bc471971ff42a1ff8fdfff81cdc66371a75e9fda5d7d0bd656523603255c3e0970435f995948ec98d87942cefe2194e475a507e2928e0cfbba63962c75794aa53e8a385a5d1599d88dd1684a827914da576f9e06caaecc586bb98425621a5afaf86003cabe86fcd3964a390f47302bbbee8536f24024c5c31f031e80e6bcf2a3e24d4f0b6bd42250996f12a8a5c99b09a42a737e3cbf481e002c334fe3b7626419266e0036339b1592d3bf43245c449a65e43946e60112c1f8aff8963ff56e365c6f56c36b2208eadf591360554d2b116d3374341bd5779ebcdf7ba93de +Ctrl.hexxcghash = hexxcghash:f8a7854ec21f252f679b924f0f3d34639fe976de146ddb8e93c4e4d9 +Ctrl.hexsession_id = hexsession_id:6bebea19564c0f65dd96446496f7d7c7198a5b08bcdacf29449808ba +Ctrl.type = type:E +Output = 9eb35f9a8a6155b81b8dda117f5d631cc4eddea4b4912147513bc4ec + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100c810e36b6ae23b2dac234f36b4ddfe820762b53478eaea205cdab848c384f2c5fe262bc471971ff42a1ff8fdfff81cdc66371a75e9fda5d7d0bd656523603255c3e0970435f995948ec98d87942cefe2194e475a507e2928e0cfbba63962c75794aa53e8a385a5d1599d88dd1684a827914da576f9e06caaecc586bb98425621a5afaf86003cabe86fcd3964a390f47302bbbee8536f24024c5c31f031e80e6bcf2a3e24d4f0b6bd42250996f12a8a5c99b09a42a737e3cbf481e002c334fe3b7626419266e0036339b1592d3bf43245c449a65e43946e60112c1f8aff8963ff56e365c6f56c36b2208eadf591360554d2b116d3374341bd5779ebcdf7ba93de +Ctrl.hexxcghash = hexxcghash:f8a7854ec21f252f679b924f0f3d34639fe976de146ddb8e93c4e4d9 +Ctrl.hexsession_id = hexsession_id:6bebea19564c0f65dd96446496f7d7c7198a5b08bcdacf29449808ba +Ctrl.type = type:F +Output = 3e137e015973e21c37a8de81cc812683d506fc35699114b31c06797e + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100940a3535b876a90210236f8571e20cb04d287ae7217b95d75c4170e8afea4d290bc41e736cdd1b470b02ce8b74ca4cdaa121bbb3b31df3f2c847455ef21b61e0c966bdb8cf58fb94819108c7feb9551c5dcacc37fec5fe4e9a59818e93ed08f3477632c62304fb2ba05f7fa8611970adb39379ab7159baa3731fb1fceba201a1858635b92d938b195a44612ffddac3f2b5db59b47c9f90b66e76b3e901887b27312e1043b000b5ff21d4fff4b5fc06203403387fe28837c4d367dbe2c73e1ec5c4e867cc99dca2bf8171aad1498b37bf0d17e5fd64e411386df72667d824e4514530cf6021ca8880154212884f5fdb44a0c8745a4049971de370eb31c959dac4 +Ctrl.hexxcghash = hexxcghash:4688aa9bceb36ddab933675e6963357b2bd0daa5e1984a06fc7f3ff3 +Ctrl.hexsession_id = hexsession_id:fb72bca26e61577066d7c5093ac9281fcf06ae3250b43228b067b86e +Ctrl.type = type:A +Output = cc22a730c15abf9628f749fac9d3f935 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100940a3535b876a90210236f8571e20cb04d287ae7217b95d75c4170e8afea4d290bc41e736cdd1b470b02ce8b74ca4cdaa121bbb3b31df3f2c847455ef21b61e0c966bdb8cf58fb94819108c7feb9551c5dcacc37fec5fe4e9a59818e93ed08f3477632c62304fb2ba05f7fa8611970adb39379ab7159baa3731fb1fceba201a1858635b92d938b195a44612ffddac3f2b5db59b47c9f90b66e76b3e901887b27312e1043b000b5ff21d4fff4b5fc06203403387fe28837c4d367dbe2c73e1ec5c4e867cc99dca2bf8171aad1498b37bf0d17e5fd64e411386df72667d824e4514530cf6021ca8880154212884f5fdb44a0c8745a4049971de370eb31c959dac4 +Ctrl.hexxcghash = hexxcghash:4688aa9bceb36ddab933675e6963357b2bd0daa5e1984a06fc7f3ff3 +Ctrl.hexsession_id = hexsession_id:fb72bca26e61577066d7c5093ac9281fcf06ae3250b43228b067b86e +Ctrl.type = type:B +Output = 188c477061a597384b1d1e417dc04f7d + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100940a3535b876a90210236f8571e20cb04d287ae7217b95d75c4170e8afea4d290bc41e736cdd1b470b02ce8b74ca4cdaa121bbb3b31df3f2c847455ef21b61e0c966bdb8cf58fb94819108c7feb9551c5dcacc37fec5fe4e9a59818e93ed08f3477632c62304fb2ba05f7fa8611970adb39379ab7159baa3731fb1fceba201a1858635b92d938b195a44612ffddac3f2b5db59b47c9f90b66e76b3e901887b27312e1043b000b5ff21d4fff4b5fc06203403387fe28837c4d367dbe2c73e1ec5c4e867cc99dca2bf8171aad1498b37bf0d17e5fd64e411386df72667d824e4514530cf6021ca8880154212884f5fdb44a0c8745a4049971de370eb31c959dac4 +Ctrl.hexxcghash = hexxcghash:4688aa9bceb36ddab933675e6963357b2bd0daa5e1984a06fc7f3ff3 +Ctrl.hexsession_id = hexsession_id:fb72bca26e61577066d7c5093ac9281fcf06ae3250b43228b067b86e +Ctrl.type = type:C +Output = b309760dd9f0d65c6edcdee3a3457c33 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100940a3535b876a90210236f8571e20cb04d287ae7217b95d75c4170e8afea4d290bc41e736cdd1b470b02ce8b74ca4cdaa121bbb3b31df3f2c847455ef21b61e0c966bdb8cf58fb94819108c7feb9551c5dcacc37fec5fe4e9a59818e93ed08f3477632c62304fb2ba05f7fa8611970adb39379ab7159baa3731fb1fceba201a1858635b92d938b195a44612ffddac3f2b5db59b47c9f90b66e76b3e901887b27312e1043b000b5ff21d4fff4b5fc06203403387fe28837c4d367dbe2c73e1ec5c4e867cc99dca2bf8171aad1498b37bf0d17e5fd64e411386df72667d824e4514530cf6021ca8880154212884f5fdb44a0c8745a4049971de370eb31c959dac4 +Ctrl.hexxcghash = hexxcghash:4688aa9bceb36ddab933675e6963357b2bd0daa5e1984a06fc7f3ff3 +Ctrl.hexsession_id = hexsession_id:fb72bca26e61577066d7c5093ac9281fcf06ae3250b43228b067b86e +Ctrl.type = type:D +Output = 1b8674f603a78f16fb979d6db70f6795 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100940a3535b876a90210236f8571e20cb04d287ae7217b95d75c4170e8afea4d290bc41e736cdd1b470b02ce8b74ca4cdaa121bbb3b31df3f2c847455ef21b61e0c966bdb8cf58fb94819108c7feb9551c5dcacc37fec5fe4e9a59818e93ed08f3477632c62304fb2ba05f7fa8611970adb39379ab7159baa3731fb1fceba201a1858635b92d938b195a44612ffddac3f2b5db59b47c9f90b66e76b3e901887b27312e1043b000b5ff21d4fff4b5fc06203403387fe28837c4d367dbe2c73e1ec5c4e867cc99dca2bf8171aad1498b37bf0d17e5fd64e411386df72667d824e4514530cf6021ca8880154212884f5fdb44a0c8745a4049971de370eb31c959dac4 +Ctrl.hexxcghash = hexxcghash:4688aa9bceb36ddab933675e6963357b2bd0daa5e1984a06fc7f3ff3 +Ctrl.hexsession_id = hexsession_id:fb72bca26e61577066d7c5093ac9281fcf06ae3250b43228b067b86e +Ctrl.type = type:E +Output = d881ac0cf62ecff2eb7d3c8284cfd4b95e003c435f6a3121ab0c65b0 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100940a3535b876a90210236f8571e20cb04d287ae7217b95d75c4170e8afea4d290bc41e736cdd1b470b02ce8b74ca4cdaa121bbb3b31df3f2c847455ef21b61e0c966bdb8cf58fb94819108c7feb9551c5dcacc37fec5fe4e9a59818e93ed08f3477632c62304fb2ba05f7fa8611970adb39379ab7159baa3731fb1fceba201a1858635b92d938b195a44612ffddac3f2b5db59b47c9f90b66e76b3e901887b27312e1043b000b5ff21d4fff4b5fc06203403387fe28837c4d367dbe2c73e1ec5c4e867cc99dca2bf8171aad1498b37bf0d17e5fd64e411386df72667d824e4514530cf6021ca8880154212884f5fdb44a0c8745a4049971de370eb31c959dac4 +Ctrl.hexxcghash = hexxcghash:4688aa9bceb36ddab933675e6963357b2bd0daa5e1984a06fc7f3ff3 +Ctrl.hexsession_id = hexsession_id:fb72bca26e61577066d7c5093ac9281fcf06ae3250b43228b067b86e +Ctrl.type = type:F +Output = 9a7560e7976c7fb0153fc94e51a7dead3b7f8954d1efa7ed6be77858 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000001004b9f55f17de634edb39218b30f224ae8ec64edd6e0c49dd00a52ac11e0a4089ccff931838ce5c02f449ffe33c14fd0a9f11da7d783787a03defc7931ce638a31aa11ddc4351e54480bea637857cae6cf30e03d392737fe2b3f234115903ab43f97d4fdb49fb987650610d9a0ca51b70839d0fc9980de371acc78ac6eaf5f5ac5008eec0f5aedd0f95496f27d2858477fc54d3113fe7884047596d5705d1dd974875872fc7c9111bdc5da73b317331c543f60687fc1ecb3f3853787a64fd94335b570a99fe2544acde49f99b96ef473dbcb16315b9e7ee8c3a20feb36636c1fa39567c2efd2b7827e38ab31607f6a3cff1fc7edf8612380e4af93c620bcd6ac36 +Ctrl.hexxcghash = hexxcghash:0d18d069225d0db81b8bb979635dc9e89999a74ad6b02022189150fd +Ctrl.hexsession_id = hexsession_id:1f42aa7a240d8b412fc26bd18f85ebefe59641d19a1e5e3681560a2c +Ctrl.type = type:A +Output = b842e2900a8c1f7d7c3fa465d46142fa + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000001004b9f55f17de634edb39218b30f224ae8ec64edd6e0c49dd00a52ac11e0a4089ccff931838ce5c02f449ffe33c14fd0a9f11da7d783787a03defc7931ce638a31aa11ddc4351e54480bea637857cae6cf30e03d392737fe2b3f234115903ab43f97d4fdb49fb987650610d9a0ca51b70839d0fc9980de371acc78ac6eaf5f5ac5008eec0f5aedd0f95496f27d2858477fc54d3113fe7884047596d5705d1dd974875872fc7c9111bdc5da73b317331c543f60687fc1ecb3f3853787a64fd94335b570a99fe2544acde49f99b96ef473dbcb16315b9e7ee8c3a20feb36636c1fa39567c2efd2b7827e38ab31607f6a3cff1fc7edf8612380e4af93c620bcd6ac36 +Ctrl.hexxcghash = hexxcghash:0d18d069225d0db81b8bb979635dc9e89999a74ad6b02022189150fd +Ctrl.hexsession_id = hexsession_id:1f42aa7a240d8b412fc26bd18f85ebefe59641d19a1e5e3681560a2c +Ctrl.type = type:B +Output = 5e96f771c176fafd18d4aa0bc07dc5d5 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000001004b9f55f17de634edb39218b30f224ae8ec64edd6e0c49dd00a52ac11e0a4089ccff931838ce5c02f449ffe33c14fd0a9f11da7d783787a03defc7931ce638a31aa11ddc4351e54480bea637857cae6cf30e03d392737fe2b3f234115903ab43f97d4fdb49fb987650610d9a0ca51b70839d0fc9980de371acc78ac6eaf5f5ac5008eec0f5aedd0f95496f27d2858477fc54d3113fe7884047596d5705d1dd974875872fc7c9111bdc5da73b317331c543f60687fc1ecb3f3853787a64fd94335b570a99fe2544acde49f99b96ef473dbcb16315b9e7ee8c3a20feb36636c1fa39567c2efd2b7827e38ab31607f6a3cff1fc7edf8612380e4af93c620bcd6ac36 +Ctrl.hexxcghash = hexxcghash:0d18d069225d0db81b8bb979635dc9e89999a74ad6b02022189150fd +Ctrl.hexsession_id = hexsession_id:1f42aa7a240d8b412fc26bd18f85ebefe59641d19a1e5e3681560a2c +Ctrl.type = type:C +Output = fe5fca0a03e6f8ac95ba4e882c64fb8c + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000001004b9f55f17de634edb39218b30f224ae8ec64edd6e0c49dd00a52ac11e0a4089ccff931838ce5c02f449ffe33c14fd0a9f11da7d783787a03defc7931ce638a31aa11ddc4351e54480bea637857cae6cf30e03d392737fe2b3f234115903ab43f97d4fdb49fb987650610d9a0ca51b70839d0fc9980de371acc78ac6eaf5f5ac5008eec0f5aedd0f95496f27d2858477fc54d3113fe7884047596d5705d1dd974875872fc7c9111bdc5da73b317331c543f60687fc1ecb3f3853787a64fd94335b570a99fe2544acde49f99b96ef473dbcb16315b9e7ee8c3a20feb36636c1fa39567c2efd2b7827e38ab31607f6a3cff1fc7edf8612380e4af93c620bcd6ac36 +Ctrl.hexxcghash = hexxcghash:0d18d069225d0db81b8bb979635dc9e89999a74ad6b02022189150fd +Ctrl.hexsession_id = hexsession_id:1f42aa7a240d8b412fc26bd18f85ebefe59641d19a1e5e3681560a2c +Ctrl.type = type:D +Output = b952b4e6f2010ebdac7ee10adb90f9ef + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000001004b9f55f17de634edb39218b30f224ae8ec64edd6e0c49dd00a52ac11e0a4089ccff931838ce5c02f449ffe33c14fd0a9f11da7d783787a03defc7931ce638a31aa11ddc4351e54480bea637857cae6cf30e03d392737fe2b3f234115903ab43f97d4fdb49fb987650610d9a0ca51b70839d0fc9980de371acc78ac6eaf5f5ac5008eec0f5aedd0f95496f27d2858477fc54d3113fe7884047596d5705d1dd974875872fc7c9111bdc5da73b317331c543f60687fc1ecb3f3853787a64fd94335b570a99fe2544acde49f99b96ef473dbcb16315b9e7ee8c3a20feb36636c1fa39567c2efd2b7827e38ab31607f6a3cff1fc7edf8612380e4af93c620bcd6ac36 +Ctrl.hexxcghash = hexxcghash:0d18d069225d0db81b8bb979635dc9e89999a74ad6b02022189150fd +Ctrl.hexsession_id = hexsession_id:1f42aa7a240d8b412fc26bd18f85ebefe59641d19a1e5e3681560a2c +Ctrl.type = type:E +Output = 819db930507c1f8e1617dc74e78de9f4abb02b7089d764cb20d14c56 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:000001004b9f55f17de634edb39218b30f224ae8ec64edd6e0c49dd00a52ac11e0a4089ccff931838ce5c02f449ffe33c14fd0a9f11da7d783787a03defc7931ce638a31aa11ddc4351e54480bea637857cae6cf30e03d392737fe2b3f234115903ab43f97d4fdb49fb987650610d9a0ca51b70839d0fc9980de371acc78ac6eaf5f5ac5008eec0f5aedd0f95496f27d2858477fc54d3113fe7884047596d5705d1dd974875872fc7c9111bdc5da73b317331c543f60687fc1ecb3f3853787a64fd94335b570a99fe2544acde49f99b96ef473dbcb16315b9e7ee8c3a20feb36636c1fa39567c2efd2b7827e38ab31607f6a3cff1fc7edf8612380e4af93c620bcd6ac36 +Ctrl.hexxcghash = hexxcghash:0d18d069225d0db81b8bb979635dc9e89999a74ad6b02022189150fd +Ctrl.hexsession_id = hexsession_id:1f42aa7a240d8b412fc26bd18f85ebefe59641d19a1e5e3681560a2c +Ctrl.type = type:F +Output = 79be1ec6ce722e98bca50a25bbca581318b6227c9fd346d67602958f + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100a0216e73007c1b53dba18acb5592ea68ab7719d9fd2f24af3e2968024933a5e68fcb1aa8b187f42972815f12d5f995c15d2d3eab84cfb869db413dcb328d045df23646e65179a53e3cbe1babcd6e6a5e300e33be1f5ed5d7eb1661a0ae6d8e6dd8f156eed726b30df6b9eee7e9457189b140de7671a1c7790938617e1bc95b8ee8bb9229f98be158a569bcb799869c445484d30d6019db44d97dcfd9b47f5a36418e3d5ec88037c172104d44ac6e770cbec415fbfce8ac9257074ca5fe003a4836001c8331f1845c1069d0610a62378e1c32ae512ffa22032f28245ee7ae957348a484bef3d295463b293975d787d45c480903f3eb35dcfd140161606f270177 +Ctrl.hexxcghash = hexxcghash:0f85b7ee92fe1a95c0aa0103f10092f04ba613a37e118f8fbb43e308 +Ctrl.hexsession_id = hexsession_id:25d9a92c96b98ecc31e6aca945899e93607848caf2c332efc03f9a0c +Ctrl.type = type:A +Output = 4d40be7041ac4c74d56d53855fead94f + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100a0216e73007c1b53dba18acb5592ea68ab7719d9fd2f24af3e2968024933a5e68fcb1aa8b187f42972815f12d5f995c15d2d3eab84cfb869db413dcb328d045df23646e65179a53e3cbe1babcd6e6a5e300e33be1f5ed5d7eb1661a0ae6d8e6dd8f156eed726b30df6b9eee7e9457189b140de7671a1c7790938617e1bc95b8ee8bb9229f98be158a569bcb799869c445484d30d6019db44d97dcfd9b47f5a36418e3d5ec88037c172104d44ac6e770cbec415fbfce8ac9257074ca5fe003a4836001c8331f1845c1069d0610a62378e1c32ae512ffa22032f28245ee7ae957348a484bef3d295463b293975d787d45c480903f3eb35dcfd140161606f270177 +Ctrl.hexxcghash = hexxcghash:0f85b7ee92fe1a95c0aa0103f10092f04ba613a37e118f8fbb43e308 +Ctrl.hexsession_id = hexsession_id:25d9a92c96b98ecc31e6aca945899e93607848caf2c332efc03f9a0c +Ctrl.type = type:B +Output = 501781a04c919226a9e2dd6d7a880568 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100a0216e73007c1b53dba18acb5592ea68ab7719d9fd2f24af3e2968024933a5e68fcb1aa8b187f42972815f12d5f995c15d2d3eab84cfb869db413dcb328d045df23646e65179a53e3cbe1babcd6e6a5e300e33be1f5ed5d7eb1661a0ae6d8e6dd8f156eed726b30df6b9eee7e9457189b140de7671a1c7790938617e1bc95b8ee8bb9229f98be158a569bcb799869c445484d30d6019db44d97dcfd9b47f5a36418e3d5ec88037c172104d44ac6e770cbec415fbfce8ac9257074ca5fe003a4836001c8331f1845c1069d0610a62378e1c32ae512ffa22032f28245ee7ae957348a484bef3d295463b293975d787d45c480903f3eb35dcfd140161606f270177 +Ctrl.hexxcghash = hexxcghash:0f85b7ee92fe1a95c0aa0103f10092f04ba613a37e118f8fbb43e308 +Ctrl.hexsession_id = hexsession_id:25d9a92c96b98ecc31e6aca945899e93607848caf2c332efc03f9a0c +Ctrl.type = type:C +Output = fe183f0e31d4bf9ebc9364e19e422385 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100a0216e73007c1b53dba18acb5592ea68ab7719d9fd2f24af3e2968024933a5e68fcb1aa8b187f42972815f12d5f995c15d2d3eab84cfb869db413dcb328d045df23646e65179a53e3cbe1babcd6e6a5e300e33be1f5ed5d7eb1661a0ae6d8e6dd8f156eed726b30df6b9eee7e9457189b140de7671a1c7790938617e1bc95b8ee8bb9229f98be158a569bcb799869c445484d30d6019db44d97dcfd9b47f5a36418e3d5ec88037c172104d44ac6e770cbec415fbfce8ac9257074ca5fe003a4836001c8331f1845c1069d0610a62378e1c32ae512ffa22032f28245ee7ae957348a484bef3d295463b293975d787d45c480903f3eb35dcfd140161606f270177 +Ctrl.hexxcghash = hexxcghash:0f85b7ee92fe1a95c0aa0103f10092f04ba613a37e118f8fbb43e308 +Ctrl.hexsession_id = hexsession_id:25d9a92c96b98ecc31e6aca945899e93607848caf2c332efc03f9a0c +Ctrl.type = type:D +Output = f12c0da703e5bedb2921a0e1795eb62f + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100a0216e73007c1b53dba18acb5592ea68ab7719d9fd2f24af3e2968024933a5e68fcb1aa8b187f42972815f12d5f995c15d2d3eab84cfb869db413dcb328d045df23646e65179a53e3cbe1babcd6e6a5e300e33be1f5ed5d7eb1661a0ae6d8e6dd8f156eed726b30df6b9eee7e9457189b140de7671a1c7790938617e1bc95b8ee8bb9229f98be158a569bcb799869c445484d30d6019db44d97dcfd9b47f5a36418e3d5ec88037c172104d44ac6e770cbec415fbfce8ac9257074ca5fe003a4836001c8331f1845c1069d0610a62378e1c32ae512ffa22032f28245ee7ae957348a484bef3d295463b293975d787d45c480903f3eb35dcfd140161606f270177 +Ctrl.hexxcghash = hexxcghash:0f85b7ee92fe1a95c0aa0103f10092f04ba613a37e118f8fbb43e308 +Ctrl.hexsession_id = hexsession_id:25d9a92c96b98ecc31e6aca945899e93607848caf2c332efc03f9a0c +Ctrl.type = type:E +Output = 1d34b1ae23af48c25db971fe0f95c2fdb4e269ca435b90e0e22ee720 + +KDF = SSHKDF +Ctrl.md = md:SHA224 +Ctrl.hexkey = hexkey:0000010100a0216e73007c1b53dba18acb5592ea68ab7719d9fd2f24af3e2968024933a5e68fcb1aa8b187f42972815f12d5f995c15d2d3eab84cfb869db413dcb328d045df23646e65179a53e3cbe1babcd6e6a5e300e33be1f5ed5d7eb1661a0ae6d8e6dd8f156eed726b30df6b9eee7e9457189b140de7671a1c7790938617e1bc95b8ee8bb9229f98be158a569bcb799869c445484d30d6019db44d97dcfd9b47f5a36418e3d5ec88037c172104d44ac6e770cbec415fbfce8ac9257074ca5fe003a4836001c8331f1845c1069d0610a62378e1c32ae512ffa22032f28245ee7ae957348a484bef3d295463b293975d787d45c480903f3eb35dcfd140161606f270177 +Ctrl.hexxcghash = hexxcghash:0f85b7ee92fe1a95c0aa0103f10092f04ba613a37e118f8fbb43e308 +Ctrl.hexsession_id = hexsession_id:25d9a92c96b98ecc31e6aca945899e93607848caf2c332efc03f9a0c +Ctrl.type = type:F +Output = b77dce4e2211c8e2b4fba841ba45d7f136323999ed9a4d306fa411a8 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100875c551cef526a4a8be1a7df27e9ed354bac9afb71f53dbae905679d14f9faf2469c53457cf80a366be278965ba6255276ca2d9f4a97d271f71e50d8a9ec46253a6a906ac2c5e4f48b27a63ce08d80390a492aa43bad9d882ccac23dac88bcada4b4d426a362083dab6569c54c224dd2d87643aa227693e141ad1630ce13144e +Ctrl.hexxcghash = hexxcghash:0e683fc8a9ed7c2ff02def23b2745ebc99b267daa86a4aa7697239088253f642 +Ctrl.hexsession_id = hexsession_id:0e683fc8a9ed7c2ff02def23b2745ebc99b267daa86a4aa7697239088253f642 +Ctrl.type = type:A +Output = 41ff2ead1683f1e6 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100875c551cef526a4a8be1a7df27e9ed354bac9afb71f53dbae905679d14f9faf2469c53457cf80a366be278965ba6255276ca2d9f4a97d271f71e50d8a9ec46253a6a906ac2c5e4f48b27a63ce08d80390a492aa43bad9d882ccac23dac88bcada4b4d426a362083dab6569c54c224dd2d87643aa227693e141ad1630ce13144e +Ctrl.hexxcghash = hexxcghash:0e683fc8a9ed7c2ff02def23b2745ebc99b267daa86a4aa7697239088253f642 +Ctrl.hexsession_id = hexsession_id:0e683fc8a9ed7c2ff02def23b2745ebc99b267daa86a4aa7697239088253f642 +Ctrl.type = type:B +Output = e619ecfd9edb50cd + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100875c551cef526a4a8be1a7df27e9ed354bac9afb71f53dbae905679d14f9faf2469c53457cf80a366be278965ba6255276ca2d9f4a97d271f71e50d8a9ec46253a6a906ac2c5e4f48b27a63ce08d80390a492aa43bad9d882ccac23dac88bcada4b4d426a362083dab6569c54c224dd2d87643aa227693e141ad1630ce13144e +Ctrl.hexxcghash = hexxcghash:0e683fc8a9ed7c2ff02def23b2745ebc99b267daa86a4aa7697239088253f642 +Ctrl.hexsession_id = hexsession_id:0e683fc8a9ed7c2ff02def23b2745ebc99b267daa86a4aa7697239088253f642 +Ctrl.type = type:C +Output = 4a6314d2f7511bf88fad39fb6892f3f218cafd530e72fe43 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100875c551cef526a4a8be1a7df27e9ed354bac9afb71f53dbae905679d14f9faf2469c53457cf80a366be278965ba6255276ca2d9f4a97d271f71e50d8a9ec46253a6a906ac2c5e4f48b27a63ce08d80390a492aa43bad9d882ccac23dac88bcada4b4d426a362083dab6569c54c224dd2d87643aa227693e141ad1630ce13144e +Ctrl.hexxcghash = hexxcghash:0e683fc8a9ed7c2ff02def23b2745ebc99b267daa86a4aa7697239088253f642 +Ctrl.hexsession_id = hexsession_id:0e683fc8a9ed7c2ff02def23b2745ebc99b267daa86a4aa7697239088253f642 +Ctrl.type = type:D +Output = 084c15fb7f99c65ff134eeb407cee5d540c341dea45a42a5 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100875c551cef526a4a8be1a7df27e9ed354bac9afb71f53dbae905679d14f9faf2469c53457cf80a366be278965ba6255276ca2d9f4a97d271f71e50d8a9ec46253a6a906ac2c5e4f48b27a63ce08d80390a492aa43bad9d882ccac23dac88bcada4b4d426a362083dab6569c54c224dd2d87643aa227693e141ad1630ce13144e +Ctrl.hexxcghash = hexxcghash:0e683fc8a9ed7c2ff02def23b2745ebc99b267daa86a4aa7697239088253f642 +Ctrl.hexsession_id = hexsession_id:0e683fc8a9ed7c2ff02def23b2745ebc99b267daa86a4aa7697239088253f642 +Ctrl.type = type:E +Output = 41ec5a94fecce7707ea156a6ad29239a891621adacbedb8be70675008d6f9274 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100875c551cef526a4a8be1a7df27e9ed354bac9afb71f53dbae905679d14f9faf2469c53457cf80a366be278965ba6255276ca2d9f4a97d271f71e50d8a9ec46253a6a906ac2c5e4f48b27a63ce08d80390a492aa43bad9d882ccac23dac88bcada4b4d426a362083dab6569c54c224dd2d87643aa227693e141ad1630ce13144e +Ctrl.hexxcghash = hexxcghash:0e683fc8a9ed7c2ff02def23b2745ebc99b267daa86a4aa7697239088253f642 +Ctrl.hexsession_id = hexsession_id:0e683fc8a9ed7c2ff02def23b2745ebc99b267daa86a4aa7697239088253f642 +Ctrl.type = type:F +Output = 47d3c20aba60981e47b30533623613ff1cacbcf1642fb4ad86ee712f2aed9af8 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000000800faa172b8c287e372bb236ad34c733695c13d77f882adc0f47e5a7f6a3de07efb101207aa5d665b619826f756591f65310bbd2c92c9384e6c6a67b42dec382fdb24c591d79ff5e47737b0f5b8479694c3adc19401704912bbfec2704d4d5bebbfc1a7fc796e277634e40851851a187ec2d37ed3f351c4596a5a0892916b4c55f +Ctrl.hexxcghash = hexxcghash:a347f5f1e191c35f212c9324d5867efdf83026be62c2b16ae006edb3378d4006 +Ctrl.hexsession_id = hexsession_id:90befcef3ff8f920674a9fab94198cf3fd9dca24a21d3c9dba394daafbc621ed +Ctrl.type = type:A +Output = 99bae6531508705f + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000000800faa172b8c287e372bb236ad34c733695c13d77f882adc0f47e5a7f6a3de07efb101207aa5d665b619826f756591f65310bbd2c92c9384e6c6a67b42dec382fdb24c591d79ff5e47737b0f5b8479694c3adc19401704912bbfec2704d4d5bebbfc1a7fc796e277634e40851851a187ec2d37ed3f351c4596a5a0892916b4c55f +Ctrl.hexxcghash = hexxcghash:a347f5f1e191c35f212c9324d5867efdf83026be62c2b16ae006edb3378d4006 +Ctrl.hexsession_id = hexsession_id:90befcef3ff8f920674a9fab94198cf3fd9dca24a21d3c9dba394daafbc621ed +Ctrl.type = type:B +Output = f25786f02f199737 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000000800faa172b8c287e372bb236ad34c733695c13d77f882adc0f47e5a7f6a3de07efb101207aa5d665b619826f756591f65310bbd2c92c9384e6c6a67b42dec382fdb24c591d79ff5e47737b0f5b8479694c3adc19401704912bbfec2704d4d5bebbfc1a7fc796e277634e40851851a187ec2d37ed3f351c4596a5a0892916b4c55f +Ctrl.hexxcghash = hexxcghash:a347f5f1e191c35f212c9324d5867efdf83026be62c2b16ae006edb3378d4006 +Ctrl.hexsession_id = hexsession_id:90befcef3ff8f920674a9fab94198cf3fd9dca24a21d3c9dba394daafbc621ed +Ctrl.type = type:C +Output = 97621bf882266f905da78cf193fc31f642acbb60957c41b7 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000000800faa172b8c287e372bb236ad34c733695c13d77f882adc0f47e5a7f6a3de07efb101207aa5d665b619826f756591f65310bbd2c92c9384e6c6a67b42dec382fdb24c591d79ff5e47737b0f5b8479694c3adc19401704912bbfec2704d4d5bebbfc1a7fc796e277634e40851851a187ec2d37ed3f351c4596a5a0892916b4c55f +Ctrl.hexxcghash = hexxcghash:a347f5f1e191c35f212c9324d5867efdf83026be62c2b16ae006edb3378d4006 +Ctrl.hexsession_id = hexsession_id:90befcef3ff8f920674a9fab94198cf3fd9dca24a21d3c9dba394daafbc621ed +Ctrl.type = type:D +Output = ad98a86a2386280912efea50f790e800a7758f7dade5d77e + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000000800faa172b8c287e372bb236ad34c733695c13d77f882adc0f47e5a7f6a3de07efb101207aa5d665b619826f756591f65310bbd2c92c9384e6c6a67b42dec382fdb24c591d79ff5e47737b0f5b8479694c3adc19401704912bbfec2704d4d5bebbfc1a7fc796e277634e40851851a187ec2d37ed3f351c4596a5a0892916b4c55f +Ctrl.hexxcghash = hexxcghash:a347f5f1e191c35f212c9324d5867efdf83026be62c2b16ae006edb3378d4006 +Ctrl.hexsession_id = hexsession_id:90befcef3ff8f920674a9fab94198cf3fd9dca24a21d3c9dba394daafbc621ed +Ctrl.type = type:E +Output = f92d052d3cdf34dfc69bc60a489c3a3553f4356596c191931d08fa20551273b3 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000000800faa172b8c287e372bb236ad34c733695c13d77f882adc0f47e5a7f6a3de07efb101207aa5d665b619826f756591f65310bbd2c92c9384e6c6a67b42dec382fdb24c591d79ff5e47737b0f5b8479694c3adc19401704912bbfec2704d4d5bebbfc1a7fc796e277634e40851851a187ec2d37ed3f351c4596a5a0892916b4c55f +Ctrl.hexxcghash = hexxcghash:a347f5f1e191c35f212c9324d5867efdf83026be62c2b16ae006edb3378d4006 +Ctrl.hexsession_id = hexsession_id:90befcef3ff8f920674a9fab94198cf3fd9dca24a21d3c9dba394daafbc621ed +Ctrl.type = type:F +Output = 147a771445123f846d8ae514d7ff9b3c93b2bceb7c7c9500942161b8e2d0110f + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100db8205ad53a96bd4c111ad8dc8dab8196f04557d87a5ac90b1013eec71456ca80f0a59af26f9ac6eb91ee51cd601602fe9467550d1f09f417f94e4df2aa5fb941a33ff7764b4d57bcba77f549959ca4fe5d568ff5d20702fcfef904d07f9182bd9936da1fc63d0b11cd573bc0ed9c4e7bb07b5c77c4214d457ca5b0a4410d7b0 +Ctrl.hexxcghash = hexxcghash:a85aa36aeae3f8a948ffa077509f183f2894b52930a79a06bf8783e501d9cae3 +Ctrl.hexsession_id = hexsession_id:6629bb9f32e259935f946e73543bf65830e78ddab691a8b885f3444f976fd655 +Ctrl.type = type:A +Output = 93da642974d71e52 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100db8205ad53a96bd4c111ad8dc8dab8196f04557d87a5ac90b1013eec71456ca80f0a59af26f9ac6eb91ee51cd601602fe9467550d1f09f417f94e4df2aa5fb941a33ff7764b4d57bcba77f549959ca4fe5d568ff5d20702fcfef904d07f9182bd9936da1fc63d0b11cd573bc0ed9c4e7bb07b5c77c4214d457ca5b0a4410d7b0 +Ctrl.hexxcghash = hexxcghash:a85aa36aeae3f8a948ffa077509f183f2894b52930a79a06bf8783e501d9cae3 +Ctrl.hexsession_id = hexsession_id:6629bb9f32e259935f946e73543bf65830e78ddab691a8b885f3444f976fd655 +Ctrl.type = type:B +Output = df2035ad67457151 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100db8205ad53a96bd4c111ad8dc8dab8196f04557d87a5ac90b1013eec71456ca80f0a59af26f9ac6eb91ee51cd601602fe9467550d1f09f417f94e4df2aa5fb941a33ff7764b4d57bcba77f549959ca4fe5d568ff5d20702fcfef904d07f9182bd9936da1fc63d0b11cd573bc0ed9c4e7bb07b5c77c4214d457ca5b0a4410d7b0 +Ctrl.hexxcghash = hexxcghash:a85aa36aeae3f8a948ffa077509f183f2894b52930a79a06bf8783e501d9cae3 +Ctrl.hexsession_id = hexsession_id:6629bb9f32e259935f946e73543bf65830e78ddab691a8b885f3444f976fd655 +Ctrl.type = type:C +Output = 42067bb0535da6701232a0f39ac7f436535af346c4786af5 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100db8205ad53a96bd4c111ad8dc8dab8196f04557d87a5ac90b1013eec71456ca80f0a59af26f9ac6eb91ee51cd601602fe9467550d1f09f417f94e4df2aa5fb941a33ff7764b4d57bcba77f549959ca4fe5d568ff5d20702fcfef904d07f9182bd9936da1fc63d0b11cd573bc0ed9c4e7bb07b5c77c4214d457ca5b0a4410d7b0 +Ctrl.hexxcghash = hexxcghash:a85aa36aeae3f8a948ffa077509f183f2894b52930a79a06bf8783e501d9cae3 +Ctrl.hexsession_id = hexsession_id:6629bb9f32e259935f946e73543bf65830e78ddab691a8b885f3444f976fd655 +Ctrl.type = type:D +Output = 08a0181a6c373d39540409dafb1b4e2359bc249af33bcfe0 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100db8205ad53a96bd4c111ad8dc8dab8196f04557d87a5ac90b1013eec71456ca80f0a59af26f9ac6eb91ee51cd601602fe9467550d1f09f417f94e4df2aa5fb941a33ff7764b4d57bcba77f549959ca4fe5d568ff5d20702fcfef904d07f9182bd9936da1fc63d0b11cd573bc0ed9c4e7bb07b5c77c4214d457ca5b0a4410d7b0 +Ctrl.hexxcghash = hexxcghash:a85aa36aeae3f8a948ffa077509f183f2894b52930a79a06bf8783e501d9cae3 +Ctrl.hexsession_id = hexsession_id:6629bb9f32e259935f946e73543bf65830e78ddab691a8b885f3444f976fd655 +Ctrl.type = type:E +Output = c043b5aece7cd2685c6dfb3788d7a562d6622d20f6d7e07b38aeb47c649dd99c + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100db8205ad53a96bd4c111ad8dc8dab8196f04557d87a5ac90b1013eec71456ca80f0a59af26f9ac6eb91ee51cd601602fe9467550d1f09f417f94e4df2aa5fb941a33ff7764b4d57bcba77f549959ca4fe5d568ff5d20702fcfef904d07f9182bd9936da1fc63d0b11cd573bc0ed9c4e7bb07b5c77c4214d457ca5b0a4410d7b0 +Ctrl.hexxcghash = hexxcghash:a85aa36aeae3f8a948ffa077509f183f2894b52930a79a06bf8783e501d9cae3 +Ctrl.hexsession_id = hexsession_id:6629bb9f32e259935f946e73543bf65830e78ddab691a8b885f3444f976fd655 +Ctrl.type = type:F +Output = cbe67a93ac758d9f2a6ff580bad5a44bb1a1062c9e20d5c974decb7aa2b0faa0 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100d97164957831bbc57c91e0a5c9ece230b4625d14b9d07decdc971cee28d28c2938d2f8b682bc33bd67458fb90120dd6a2ca5255fbe3daeb0325029e15b5e3135aae5081894da98fb4e4d578890c5a4b6a359097bf5e2c403f77b0398d12795d6c895ed979e792d13f5aeb3cd62799d9a509cb4bd8e2bf5d8b08498abccc0790c +Ctrl.hexxcghash = hexxcghash:81c3e6d1a6aeb3f3fc111a9e1467a7e569b9debbfef48fd31acd0d8b9b50a647 +Ctrl.hexsession_id = hexsession_id:068d4a2ebf66a0a6f75d3e76659c72a7f70630f98872e6f48c45ad862fd9b2a4 +Ctrl.type = type:A +Output = 320e807fab2b10f0 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100d97164957831bbc57c91e0a5c9ece230b4625d14b9d07decdc971cee28d28c2938d2f8b682bc33bd67458fb90120dd6a2ca5255fbe3daeb0325029e15b5e3135aae5081894da98fb4e4d578890c5a4b6a359097bf5e2c403f77b0398d12795d6c895ed979e792d13f5aeb3cd62799d9a509cb4bd8e2bf5d8b08498abccc0790c +Ctrl.hexxcghash = hexxcghash:81c3e6d1a6aeb3f3fc111a9e1467a7e569b9debbfef48fd31acd0d8b9b50a647 +Ctrl.hexsession_id = hexsession_id:068d4a2ebf66a0a6f75d3e76659c72a7f70630f98872e6f48c45ad862fd9b2a4 +Ctrl.type = type:B +Output = 7b8f91be4dcd59b1 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100d97164957831bbc57c91e0a5c9ece230b4625d14b9d07decdc971cee28d28c2938d2f8b682bc33bd67458fb90120dd6a2ca5255fbe3daeb0325029e15b5e3135aae5081894da98fb4e4d578890c5a4b6a359097bf5e2c403f77b0398d12795d6c895ed979e792d13f5aeb3cd62799d9a509cb4bd8e2bf5d8b08498abccc0790c +Ctrl.hexxcghash = hexxcghash:81c3e6d1a6aeb3f3fc111a9e1467a7e569b9debbfef48fd31acd0d8b9b50a647 +Ctrl.hexsession_id = hexsession_id:068d4a2ebf66a0a6f75d3e76659c72a7f70630f98872e6f48c45ad862fd9b2a4 +Ctrl.type = type:C +Output = dec6e67a94b3ddfcd32a24d6026c6951d00b6f4402d32c1a + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100d97164957831bbc57c91e0a5c9ece230b4625d14b9d07decdc971cee28d28c2938d2f8b682bc33bd67458fb90120dd6a2ca5255fbe3daeb0325029e15b5e3135aae5081894da98fb4e4d578890c5a4b6a359097bf5e2c403f77b0398d12795d6c895ed979e792d13f5aeb3cd62799d9a509cb4bd8e2bf5d8b08498abccc0790c +Ctrl.hexxcghash = hexxcghash:81c3e6d1a6aeb3f3fc111a9e1467a7e569b9debbfef48fd31acd0d8b9b50a647 +Ctrl.hexsession_id = hexsession_id:068d4a2ebf66a0a6f75d3e76659c72a7f70630f98872e6f48c45ad862fd9b2a4 +Ctrl.type = type:D +Output = 2ef3cea4588ad928ac3e8874f3e1f613f2d50787495acc32 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100d97164957831bbc57c91e0a5c9ece230b4625d14b9d07decdc971cee28d28c2938d2f8b682bc33bd67458fb90120dd6a2ca5255fbe3daeb0325029e15b5e3135aae5081894da98fb4e4d578890c5a4b6a359097bf5e2c403f77b0398d12795d6c895ed979e792d13f5aeb3cd62799d9a509cb4bd8e2bf5d8b08498abccc0790c +Ctrl.hexxcghash = hexxcghash:81c3e6d1a6aeb3f3fc111a9e1467a7e569b9debbfef48fd31acd0d8b9b50a647 +Ctrl.hexsession_id = hexsession_id:068d4a2ebf66a0a6f75d3e76659c72a7f70630f98872e6f48c45ad862fd9b2a4 +Ctrl.type = type:E +Output = 72f93537328eebeec1b5ca88fedb41bf4d9c6279e4fe8d13c38da72a39739ed8 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100d97164957831bbc57c91e0a5c9ece230b4625d14b9d07decdc971cee28d28c2938d2f8b682bc33bd67458fb90120dd6a2ca5255fbe3daeb0325029e15b5e3135aae5081894da98fb4e4d578890c5a4b6a359097bf5e2c403f77b0398d12795d6c895ed979e792d13f5aeb3cd62799d9a509cb4bd8e2bf5d8b08498abccc0790c +Ctrl.hexxcghash = hexxcghash:81c3e6d1a6aeb3f3fc111a9e1467a7e569b9debbfef48fd31acd0d8b9b50a647 +Ctrl.hexsession_id = hexsession_id:068d4a2ebf66a0a6f75d3e76659c72a7f70630f98872e6f48c45ad862fd9b2a4 +Ctrl.type = type:F +Output = 55dcf2c322b9c94686edbf9314d7c93bd9651e2ebc64f1a299d7176577d65b32 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008001223839219fa4dbaf2b88deaa058bed95793bd6079e670e88eecf0a391ae7ce2d3bf129e11273aad0d0047b84960e6f73fa3de394042b4254c7850fddc7525dcf27fb9bdcafc604626aa25e08c938a27c80ca97a4c1a2662f4e8485e016c75e4f4e6861f5bbd694bbd6492cbffa95128dab52d8a3d0316bcabd5da2c789dd62 +Ctrl.hexxcghash = hexxcghash:7817d37fe11f3499feda39bf21ce7755040a0091e61e8eb585e6299c6673db81 +Ctrl.hexsession_id = hexsession_id:2b7ef879949594c35dbccdba0ba4959e3a2fad446c5ce35666e400b7214fe69e +Ctrl.type = type:A +Output = f4dbc41aa23e1621 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008001223839219fa4dbaf2b88deaa058bed95793bd6079e670e88eecf0a391ae7ce2d3bf129e11273aad0d0047b84960e6f73fa3de394042b4254c7850fddc7525dcf27fb9bdcafc604626aa25e08c938a27c80ca97a4c1a2662f4e8485e016c75e4f4e6861f5bbd694bbd6492cbffa95128dab52d8a3d0316bcabd5da2c789dd62 +Ctrl.hexxcghash = hexxcghash:7817d37fe11f3499feda39bf21ce7755040a0091e61e8eb585e6299c6673db81 +Ctrl.hexsession_id = hexsession_id:2b7ef879949594c35dbccdba0ba4959e3a2fad446c5ce35666e400b7214fe69e +Ctrl.type = type:B +Output = e53b40c511180817 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008001223839219fa4dbaf2b88deaa058bed95793bd6079e670e88eecf0a391ae7ce2d3bf129e11273aad0d0047b84960e6f73fa3de394042b4254c7850fddc7525dcf27fb9bdcafc604626aa25e08c938a27c80ca97a4c1a2662f4e8485e016c75e4f4e6861f5bbd694bbd6492cbffa95128dab52d8a3d0316bcabd5da2c789dd62 +Ctrl.hexxcghash = hexxcghash:7817d37fe11f3499feda39bf21ce7755040a0091e61e8eb585e6299c6673db81 +Ctrl.hexsession_id = hexsession_id:2b7ef879949594c35dbccdba0ba4959e3a2fad446c5ce35666e400b7214fe69e +Ctrl.type = type:C +Output = 70fed9412989cf5de908ad429cb92065fd5ccc081477abba + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008001223839219fa4dbaf2b88deaa058bed95793bd6079e670e88eecf0a391ae7ce2d3bf129e11273aad0d0047b84960e6f73fa3de394042b4254c7850fddc7525dcf27fb9bdcafc604626aa25e08c938a27c80ca97a4c1a2662f4e8485e016c75e4f4e6861f5bbd694bbd6492cbffa95128dab52d8a3d0316bcabd5da2c789dd62 +Ctrl.hexxcghash = hexxcghash:7817d37fe11f3499feda39bf21ce7755040a0091e61e8eb585e6299c6673db81 +Ctrl.hexsession_id = hexsession_id:2b7ef879949594c35dbccdba0ba4959e3a2fad446c5ce35666e400b7214fe69e +Ctrl.type = type:D +Output = 3afdb0b4b4bc13e8731bb92e541b7d82a0b20d8878ce184b + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008001223839219fa4dbaf2b88deaa058bed95793bd6079e670e88eecf0a391ae7ce2d3bf129e11273aad0d0047b84960e6f73fa3de394042b4254c7850fddc7525dcf27fb9bdcafc604626aa25e08c938a27c80ca97a4c1a2662f4e8485e016c75e4f4e6861f5bbd694bbd6492cbffa95128dab52d8a3d0316bcabd5da2c789dd62 +Ctrl.hexxcghash = hexxcghash:7817d37fe11f3499feda39bf21ce7755040a0091e61e8eb585e6299c6673db81 +Ctrl.hexsession_id = hexsession_id:2b7ef879949594c35dbccdba0ba4959e3a2fad446c5ce35666e400b7214fe69e +Ctrl.type = type:E +Output = 59937f257aeef0806038543ced541990e5c2243881818edf2c522a54b64e9e93 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008001223839219fa4dbaf2b88deaa058bed95793bd6079e670e88eecf0a391ae7ce2d3bf129e11273aad0d0047b84960e6f73fa3de394042b4254c7850fddc7525dcf27fb9bdcafc604626aa25e08c938a27c80ca97a4c1a2662f4e8485e016c75e4f4e6861f5bbd694bbd6492cbffa95128dab52d8a3d0316bcabd5da2c789dd62 +Ctrl.hexxcghash = hexxcghash:7817d37fe11f3499feda39bf21ce7755040a0091e61e8eb585e6299c6673db81 +Ctrl.hexsession_id = hexsession_id:2b7ef879949594c35dbccdba0ba4959e3a2fad446c5ce35666e400b7214fe69e +Ctrl.type = type:F +Output = 187532105293274b841918e3ab51f5dd0453d4331e85f4e06b775dbce4979cdd + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000000807d3783ce1f598c3279e8a33f3e8bfe9c255979034f43d107bb3dd6cb21ff67d945594929f2fd7bef74679be81d3ad6c1b472293d1060242d720ed2fb250fde838064eec64d75cb9d5d2ec09c9e67e3bf48c0d0a92577f8bf6e05cfcbaafcd243369f30f14d24a4ad2c1aaff528e03198227135d26839fd45cd60678ae41307c2 +Ctrl.hexxcghash = hexxcghash:2efc2c1be24e1259105757bbd2c518d62ae52400451347aa90e2aab00bc58864 +Ctrl.hexsession_id = hexsession_id:2df7d0dbcb1beb17ef1a8b9884c9d6d8833b5039797a5fce61e7a2490405b323 +Ctrl.type = type:A +Output = 3cc220d5bb9b5346 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000000807d3783ce1f598c3279e8a33f3e8bfe9c255979034f43d107bb3dd6cb21ff67d945594929f2fd7bef74679be81d3ad6c1b472293d1060242d720ed2fb250fde838064eec64d75cb9d5d2ec09c9e67e3bf48c0d0a92577f8bf6e05cfcbaafcd243369f30f14d24a4ad2c1aaff528e03198227135d26839fd45cd60678ae41307c2 +Ctrl.hexxcghash = hexxcghash:2efc2c1be24e1259105757bbd2c518d62ae52400451347aa90e2aab00bc58864 +Ctrl.hexsession_id = hexsession_id:2df7d0dbcb1beb17ef1a8b9884c9d6d8833b5039797a5fce61e7a2490405b323 +Ctrl.type = type:B +Output = 051e3c79aede7e41 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000000807d3783ce1f598c3279e8a33f3e8bfe9c255979034f43d107bb3dd6cb21ff67d945594929f2fd7bef74679be81d3ad6c1b472293d1060242d720ed2fb250fde838064eec64d75cb9d5d2ec09c9e67e3bf48c0d0a92577f8bf6e05cfcbaafcd243369f30f14d24a4ad2c1aaff528e03198227135d26839fd45cd60678ae41307c2 +Ctrl.hexxcghash = hexxcghash:2efc2c1be24e1259105757bbd2c518d62ae52400451347aa90e2aab00bc58864 +Ctrl.hexsession_id = hexsession_id:2df7d0dbcb1beb17ef1a8b9884c9d6d8833b5039797a5fce61e7a2490405b323 +Ctrl.type = type:C +Output = 44c2b4725965ee9a2bce58d38e2e9a778263c415b21a25be + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000000807d3783ce1f598c3279e8a33f3e8bfe9c255979034f43d107bb3dd6cb21ff67d945594929f2fd7bef74679be81d3ad6c1b472293d1060242d720ed2fb250fde838064eec64d75cb9d5d2ec09c9e67e3bf48c0d0a92577f8bf6e05cfcbaafcd243369f30f14d24a4ad2c1aaff528e03198227135d26839fd45cd60678ae41307c2 +Ctrl.hexxcghash = hexxcghash:2efc2c1be24e1259105757bbd2c518d62ae52400451347aa90e2aab00bc58864 +Ctrl.hexsession_id = hexsession_id:2df7d0dbcb1beb17ef1a8b9884c9d6d8833b5039797a5fce61e7a2490405b323 +Ctrl.type = type:D +Output = d5de7a801956b934d820f9aa51bf1dae2a7aec7ce5ce4e50 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000000807d3783ce1f598c3279e8a33f3e8bfe9c255979034f43d107bb3dd6cb21ff67d945594929f2fd7bef74679be81d3ad6c1b472293d1060242d720ed2fb250fde838064eec64d75cb9d5d2ec09c9e67e3bf48c0d0a92577f8bf6e05cfcbaafcd243369f30f14d24a4ad2c1aaff528e03198227135d26839fd45cd60678ae41307c2 +Ctrl.hexxcghash = hexxcghash:2efc2c1be24e1259105757bbd2c518d62ae52400451347aa90e2aab00bc58864 +Ctrl.hexsession_id = hexsession_id:2df7d0dbcb1beb17ef1a8b9884c9d6d8833b5039797a5fce61e7a2490405b323 +Ctrl.type = type:E +Output = 7d2039a6505e3220535fde0ff71464f3971580f50711356760b225fc3053fc19 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000000807d3783ce1f598c3279e8a33f3e8bfe9c255979034f43d107bb3dd6cb21ff67d945594929f2fd7bef74679be81d3ad6c1b472293d1060242d720ed2fb250fde838064eec64d75cb9d5d2ec09c9e67e3bf48c0d0a92577f8bf6e05cfcbaafcd243369f30f14d24a4ad2c1aaff528e03198227135d26839fd45cd60678ae41307c2 +Ctrl.hexxcghash = hexxcghash:2efc2c1be24e1259105757bbd2c518d62ae52400451347aa90e2aab00bc58864 +Ctrl.hexsession_id = hexsession_id:2df7d0dbcb1beb17ef1a8b9884c9d6d8833b5039797a5fce61e7a2490405b323 +Ctrl.type = type:F +Output = b0972348a031ef2e87d42611e53cf0c4782d759ecdcc1390318eb11e1925ac35 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100b44b386751753bf1fbfe100b11761766aaef16b2786462ba9561d3b493581254a1c1556ef611fec70146a864f8860c6317f294d06aec94129740c78035411992492825554362d25bf2c43a2e8a4d22e5d4777c593c8686966684b95e8e4535fc0b4a0e53264f22cf568469e829a303cdd06c09d8f74ccef6b6028fde782a7285 +Ctrl.hexxcghash = hexxcghash:8c691585cffd38a6ad0fd751da66c1a0f2b46ad6c12348b5a89cd24f39e76517 +Ctrl.hexsession_id = hexsession_id:2d93238fe20a860db2fb8fb4c5a0525a2f8817abbb53773e4af9fb366a213506 +Ctrl.type = type:A +Output = cdb047beecd92d84 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100b44b386751753bf1fbfe100b11761766aaef16b2786462ba9561d3b493581254a1c1556ef611fec70146a864f8860c6317f294d06aec94129740c78035411992492825554362d25bf2c43a2e8a4d22e5d4777c593c8686966684b95e8e4535fc0b4a0e53264f22cf568469e829a303cdd06c09d8f74ccef6b6028fde782a7285 +Ctrl.hexxcghash = hexxcghash:8c691585cffd38a6ad0fd751da66c1a0f2b46ad6c12348b5a89cd24f39e76517 +Ctrl.hexsession_id = hexsession_id:2d93238fe20a860db2fb8fb4c5a0525a2f8817abbb53773e4af9fb366a213506 +Ctrl.type = type:B +Output = ef378e894d8f675e + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100b44b386751753bf1fbfe100b11761766aaef16b2786462ba9561d3b493581254a1c1556ef611fec70146a864f8860c6317f294d06aec94129740c78035411992492825554362d25bf2c43a2e8a4d22e5d4777c593c8686966684b95e8e4535fc0b4a0e53264f22cf568469e829a303cdd06c09d8f74ccef6b6028fde782a7285 +Ctrl.hexxcghash = hexxcghash:8c691585cffd38a6ad0fd751da66c1a0f2b46ad6c12348b5a89cd24f39e76517 +Ctrl.hexsession_id = hexsession_id:2d93238fe20a860db2fb8fb4c5a0525a2f8817abbb53773e4af9fb366a213506 +Ctrl.type = type:C +Output = 23ee42a437801e87348b3999bde76147a8731e318db57752 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100b44b386751753bf1fbfe100b11761766aaef16b2786462ba9561d3b493581254a1c1556ef611fec70146a864f8860c6317f294d06aec94129740c78035411992492825554362d25bf2c43a2e8a4d22e5d4777c593c8686966684b95e8e4535fc0b4a0e53264f22cf568469e829a303cdd06c09d8f74ccef6b6028fde782a7285 +Ctrl.hexxcghash = hexxcghash:8c691585cffd38a6ad0fd751da66c1a0f2b46ad6c12348b5a89cd24f39e76517 +Ctrl.hexsession_id = hexsession_id:2d93238fe20a860db2fb8fb4c5a0525a2f8817abbb53773e4af9fb366a213506 +Ctrl.type = type:D +Output = a3f50e3d14498f15e1f111cc929648011d6abfb58e90df1c + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100b44b386751753bf1fbfe100b11761766aaef16b2786462ba9561d3b493581254a1c1556ef611fec70146a864f8860c6317f294d06aec94129740c78035411992492825554362d25bf2c43a2e8a4d22e5d4777c593c8686966684b95e8e4535fc0b4a0e53264f22cf568469e829a303cdd06c09d8f74ccef6b6028fde782a7285 +Ctrl.hexxcghash = hexxcghash:8c691585cffd38a6ad0fd751da66c1a0f2b46ad6c12348b5a89cd24f39e76517 +Ctrl.hexsession_id = hexsession_id:2d93238fe20a860db2fb8fb4c5a0525a2f8817abbb53773e4af9fb366a213506 +Ctrl.type = type:E +Output = fb6a020561e46e521344cb671a50175afd63ded91eedaa1b2879c3a63761674d + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100b44b386751753bf1fbfe100b11761766aaef16b2786462ba9561d3b493581254a1c1556ef611fec70146a864f8860c6317f294d06aec94129740c78035411992492825554362d25bf2c43a2e8a4d22e5d4777c593c8686966684b95e8e4535fc0b4a0e53264f22cf568469e829a303cdd06c09d8f74ccef6b6028fde782a7285 +Ctrl.hexxcghash = hexxcghash:8c691585cffd38a6ad0fd751da66c1a0f2b46ad6c12348b5a89cd24f39e76517 +Ctrl.hexsession_id = hexsession_id:2d93238fe20a860db2fb8fb4c5a0525a2f8817abbb53773e4af9fb366a213506 +Ctrl.type = type:F +Output = 567a79e7c4b10d62a420ce2ea740661c08d9459ed636ecb4edebcedb17b0baba + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100b3462ee942f026de0922ab88b6ebf5ee2c968a4e12cbf374593f3542c6eb619ea1ec29b958c65a83305c37008de3b691ec020cc989e6c5393dae36bbb3bf0d1a29ed0bab6d23f60e63e277119b7a4c0a5fa96d9c043a5ace58034052ffb71b8bf0eaea8a6bc9a9834c512d7470122c71908a44ef7f3227b512f6971c82436e96 +Ctrl.hexxcghash = hexxcghash:3d5d7f742b08976755e2eb8457f1d9401d918bbf7e201fe0742f00ae799082df +Ctrl.hexsession_id = hexsession_id:50bcad2970e07c3ad3f14db05d451d77304fe70927ba26815fcaf1f3a723af91 +Ctrl.type = type:A +Output = 1f9e7ad5592ac73d + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100b3462ee942f026de0922ab88b6ebf5ee2c968a4e12cbf374593f3542c6eb619ea1ec29b958c65a83305c37008de3b691ec020cc989e6c5393dae36bbb3bf0d1a29ed0bab6d23f60e63e277119b7a4c0a5fa96d9c043a5ace58034052ffb71b8bf0eaea8a6bc9a9834c512d7470122c71908a44ef7f3227b512f6971c82436e96 +Ctrl.hexxcghash = hexxcghash:3d5d7f742b08976755e2eb8457f1d9401d918bbf7e201fe0742f00ae799082df +Ctrl.hexsession_id = hexsession_id:50bcad2970e07c3ad3f14db05d451d77304fe70927ba26815fcaf1f3a723af91 +Ctrl.type = type:B +Output = 15b254fe3510dd77 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100b3462ee942f026de0922ab88b6ebf5ee2c968a4e12cbf374593f3542c6eb619ea1ec29b958c65a83305c37008de3b691ec020cc989e6c5393dae36bbb3bf0d1a29ed0bab6d23f60e63e277119b7a4c0a5fa96d9c043a5ace58034052ffb71b8bf0eaea8a6bc9a9834c512d7470122c71908a44ef7f3227b512f6971c82436e96 +Ctrl.hexxcghash = hexxcghash:3d5d7f742b08976755e2eb8457f1d9401d918bbf7e201fe0742f00ae799082df +Ctrl.hexsession_id = hexsession_id:50bcad2970e07c3ad3f14db05d451d77304fe70927ba26815fcaf1f3a723af91 +Ctrl.type = type:C +Output = 88eadd5802e1a748284684438eb1b1bdc9b20ea30c59950d + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100b3462ee942f026de0922ab88b6ebf5ee2c968a4e12cbf374593f3542c6eb619ea1ec29b958c65a83305c37008de3b691ec020cc989e6c5393dae36bbb3bf0d1a29ed0bab6d23f60e63e277119b7a4c0a5fa96d9c043a5ace58034052ffb71b8bf0eaea8a6bc9a9834c512d7470122c71908a44ef7f3227b512f6971c82436e96 +Ctrl.hexxcghash = hexxcghash:3d5d7f742b08976755e2eb8457f1d9401d918bbf7e201fe0742f00ae799082df +Ctrl.hexsession_id = hexsession_id:50bcad2970e07c3ad3f14db05d451d77304fe70927ba26815fcaf1f3a723af91 +Ctrl.type = type:D +Output = 277c2c4ad3d4a3bec4bdc5329bb5f9d4e39aa06b1e115e77 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100b3462ee942f026de0922ab88b6ebf5ee2c968a4e12cbf374593f3542c6eb619ea1ec29b958c65a83305c37008de3b691ec020cc989e6c5393dae36bbb3bf0d1a29ed0bab6d23f60e63e277119b7a4c0a5fa96d9c043a5ace58034052ffb71b8bf0eaea8a6bc9a9834c512d7470122c71908a44ef7f3227b512f6971c82436e96 +Ctrl.hexxcghash = hexxcghash:3d5d7f742b08976755e2eb8457f1d9401d918bbf7e201fe0742f00ae799082df +Ctrl.hexsession_id = hexsession_id:50bcad2970e07c3ad3f14db05d451d77304fe70927ba26815fcaf1f3a723af91 +Ctrl.type = type:E +Output = 090d2f273a690ed1d67dd9919c34385b18a661f8657b84bef6832f2396771979 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100b3462ee942f026de0922ab88b6ebf5ee2c968a4e12cbf374593f3542c6eb619ea1ec29b958c65a83305c37008de3b691ec020cc989e6c5393dae36bbb3bf0d1a29ed0bab6d23f60e63e277119b7a4c0a5fa96d9c043a5ace58034052ffb71b8bf0eaea8a6bc9a9834c512d7470122c71908a44ef7f3227b512f6971c82436e96 +Ctrl.hexxcghash = hexxcghash:3d5d7f742b08976755e2eb8457f1d9401d918bbf7e201fe0742f00ae799082df +Ctrl.hexsession_id = hexsession_id:50bcad2970e07c3ad3f14db05d451d77304fe70927ba26815fcaf1f3a723af91 +Ctrl.type = type:F +Output = 1f3082fa5ac8ec565595c4c5b8a7ddbba88ed4936fca913bba6a8715dc856f30 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100831889c603d4dc01d0d9f19f07ccadb6a9fa7662305277d59efbc872f38325de2ec2151f58649f5fd15ff3a099f0191dca69be0b9c88ef729fe74af849cc8e7479f8a5406842af88e12167607103cda449a1394c86b2c21d4083cdee216f74078d4e878b352df901727870815528ae99f74f25c21a8a39772940d871badb39a6 +Ctrl.hexxcghash = hexxcghash:f77992d066bc305419a6c1b0879008856287b95ec20c2b1be5a5c8189cadbbb1 +Ctrl.hexsession_id = hexsession_id:15bd2e8c86d23eace4a581377ef8a3f5266dbd081cfcd01ab2b68506438228a2 +Ctrl.type = type:A +Output = 3aa08d67c81310b7 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100831889c603d4dc01d0d9f19f07ccadb6a9fa7662305277d59efbc872f38325de2ec2151f58649f5fd15ff3a099f0191dca69be0b9c88ef729fe74af849cc8e7479f8a5406842af88e12167607103cda449a1394c86b2c21d4083cdee216f74078d4e878b352df901727870815528ae99f74f25c21a8a39772940d871badb39a6 +Ctrl.hexxcghash = hexxcghash:f77992d066bc305419a6c1b0879008856287b95ec20c2b1be5a5c8189cadbbb1 +Ctrl.hexsession_id = hexsession_id:15bd2e8c86d23eace4a581377ef8a3f5266dbd081cfcd01ab2b68506438228a2 +Ctrl.type = type:B +Output = cf46596878a17a87 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100831889c603d4dc01d0d9f19f07ccadb6a9fa7662305277d59efbc872f38325de2ec2151f58649f5fd15ff3a099f0191dca69be0b9c88ef729fe74af849cc8e7479f8a5406842af88e12167607103cda449a1394c86b2c21d4083cdee216f74078d4e878b352df901727870815528ae99f74f25c21a8a39772940d871badb39a6 +Ctrl.hexxcghash = hexxcghash:f77992d066bc305419a6c1b0879008856287b95ec20c2b1be5a5c8189cadbbb1 +Ctrl.hexsession_id = hexsession_id:15bd2e8c86d23eace4a581377ef8a3f5266dbd081cfcd01ab2b68506438228a2 +Ctrl.type = type:C +Output = 871db438b8b33c2102ddab0c1f7be51ee4c2cbdf52a01a58 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100831889c603d4dc01d0d9f19f07ccadb6a9fa7662305277d59efbc872f38325de2ec2151f58649f5fd15ff3a099f0191dca69be0b9c88ef729fe74af849cc8e7479f8a5406842af88e12167607103cda449a1394c86b2c21d4083cdee216f74078d4e878b352df901727870815528ae99f74f25c21a8a39772940d871badb39a6 +Ctrl.hexxcghash = hexxcghash:f77992d066bc305419a6c1b0879008856287b95ec20c2b1be5a5c8189cadbbb1 +Ctrl.hexsession_id = hexsession_id:15bd2e8c86d23eace4a581377ef8a3f5266dbd081cfcd01ab2b68506438228a2 +Ctrl.type = type:D +Output = 04ac13599b84c22be0f1e5f7b96def31598e6ad36be412e8 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100831889c603d4dc01d0d9f19f07ccadb6a9fa7662305277d59efbc872f38325de2ec2151f58649f5fd15ff3a099f0191dca69be0b9c88ef729fe74af849cc8e7479f8a5406842af88e12167607103cda449a1394c86b2c21d4083cdee216f74078d4e878b352df901727870815528ae99f74f25c21a8a39772940d871badb39a6 +Ctrl.hexxcghash = hexxcghash:f77992d066bc305419a6c1b0879008856287b95ec20c2b1be5a5c8189cadbbb1 +Ctrl.hexsession_id = hexsession_id:15bd2e8c86d23eace4a581377ef8a3f5266dbd081cfcd01ab2b68506438228a2 +Ctrl.type = type:E +Output = f00c83a8afb5d1793749d4aae825b80e67ccd7f67e08f572222ccf42126ea2f0 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000008100831889c603d4dc01d0d9f19f07ccadb6a9fa7662305277d59efbc872f38325de2ec2151f58649f5fd15ff3a099f0191dca69be0b9c88ef729fe74af849cc8e7479f8a5406842af88e12167607103cda449a1394c86b2c21d4083cdee216f74078d4e878b352df901727870815528ae99f74f25c21a8a39772940d871badb39a6 +Ctrl.hexxcghash = hexxcghash:f77992d066bc305419a6c1b0879008856287b95ec20c2b1be5a5c8189cadbbb1 +Ctrl.hexsession_id = hexsession_id:15bd2e8c86d23eace4a581377ef8a3f5266dbd081cfcd01ab2b68506438228a2 +Ctrl.type = type:F +Output = df0570749d67136095b0dda6d461676b7eeb9a386f126306d436cab16dfd1b3c + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000081008fa89f9f89a2a2417a9461451a4b97343afd46552a8700e588638b0ef0ae568ffbaee2727ae3ae96271aa33b8439c1a4bad313ea42605ae0902817d91577b6a3c72fc576ee29544c1d6323bad205317d2265c533d82ed27a2dea64a8545c64e9772e81ce1cbfe265a51acfae74b72d5365366263541e50a567c3ffa594eac071 +Ctrl.hexxcghash = hexxcghash:4d071ee398757c548fa72f77ed94d5b158a311d3655bb7a6e324c4e2a26be84f +Ctrl.hexsession_id = hexsession_id:d1d34becf667002ace16be10726cab3c7d18ce7414759f62a83cb4cfaaed77f4 +Ctrl.type = type:A +Output = fad800cbf8975a01 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000081008fa89f9f89a2a2417a9461451a4b97343afd46552a8700e588638b0ef0ae568ffbaee2727ae3ae96271aa33b8439c1a4bad313ea42605ae0902817d91577b6a3c72fc576ee29544c1d6323bad205317d2265c533d82ed27a2dea64a8545c64e9772e81ce1cbfe265a51acfae74b72d5365366263541e50a567c3ffa594eac071 +Ctrl.hexxcghash = hexxcghash:4d071ee398757c548fa72f77ed94d5b158a311d3655bb7a6e324c4e2a26be84f +Ctrl.hexsession_id = hexsession_id:d1d34becf667002ace16be10726cab3c7d18ce7414759f62a83cb4cfaaed77f4 +Ctrl.type = type:B +Output = 679a118bda1f15a9 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000081008fa89f9f89a2a2417a9461451a4b97343afd46552a8700e588638b0ef0ae568ffbaee2727ae3ae96271aa33b8439c1a4bad313ea42605ae0902817d91577b6a3c72fc576ee29544c1d6323bad205317d2265c533d82ed27a2dea64a8545c64e9772e81ce1cbfe265a51acfae74b72d5365366263541e50a567c3ffa594eac071 +Ctrl.hexxcghash = hexxcghash:4d071ee398757c548fa72f77ed94d5b158a311d3655bb7a6e324c4e2a26be84f +Ctrl.hexsession_id = hexsession_id:d1d34becf667002ace16be10726cab3c7d18ce7414759f62a83cb4cfaaed77f4 +Ctrl.type = type:C +Output = 5193e9b3b10b7939b79b967b98e6cf3396758eaf8263edf2 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000081008fa89f9f89a2a2417a9461451a4b97343afd46552a8700e588638b0ef0ae568ffbaee2727ae3ae96271aa33b8439c1a4bad313ea42605ae0902817d91577b6a3c72fc576ee29544c1d6323bad205317d2265c533d82ed27a2dea64a8545c64e9772e81ce1cbfe265a51acfae74b72d5365366263541e50a567c3ffa594eac071 +Ctrl.hexxcghash = hexxcghash:4d071ee398757c548fa72f77ed94d5b158a311d3655bb7a6e324c4e2a26be84f +Ctrl.hexsession_id = hexsession_id:d1d34becf667002ace16be10726cab3c7d18ce7414759f62a83cb4cfaaed77f4 +Ctrl.type = type:D +Output = 3f5de8bec6d737836d3a91480ac76c19d0a90bc146f02d5c + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000081008fa89f9f89a2a2417a9461451a4b97343afd46552a8700e588638b0ef0ae568ffbaee2727ae3ae96271aa33b8439c1a4bad313ea42605ae0902817d91577b6a3c72fc576ee29544c1d6323bad205317d2265c533d82ed27a2dea64a8545c64e9772e81ce1cbfe265a51acfae74b72d5365366263541e50a567c3ffa594eac071 +Ctrl.hexxcghash = hexxcghash:4d071ee398757c548fa72f77ed94d5b158a311d3655bb7a6e324c4e2a26be84f +Ctrl.hexsession_id = hexsession_id:d1d34becf667002ace16be10726cab3c7d18ce7414759f62a83cb4cfaaed77f4 +Ctrl.type = type:E +Output = ce7be4fffd0ffd09ff45889d10c7be0edf922422d01cb71b737c6149bb1a2d05 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000081008fa89f9f89a2a2417a9461451a4b97343afd46552a8700e588638b0ef0ae568ffbaee2727ae3ae96271aa33b8439c1a4bad313ea42605ae0902817d91577b6a3c72fc576ee29544c1d6323bad205317d2265c533d82ed27a2dea64a8545c64e9772e81ce1cbfe265a51acfae74b72d5365366263541e50a567c3ffa594eac071 +Ctrl.hexxcghash = hexxcghash:4d071ee398757c548fa72f77ed94d5b158a311d3655bb7a6e324c4e2a26be84f +Ctrl.hexsession_id = hexsession_id:d1d34becf667002ace16be10726cab3c7d18ce7414759f62a83cb4cfaaed77f4 +Ctrl.type = type:F +Output = 60f413c9bcc42dcf0acc53d513dd8bc703f7e5d668f4e043f13028dcf40880b2 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001006ac382eaaca093e125e25c24bebc84640c11987507344b5c739ceb84a9e0b222b9a8b51c839e5ebe49cfadbfb39599764ed522099dc912751950dc7dc97fbdc06328b68f22781fd315af568009a5509e5b87a11bf527c056daffd82ab6cbc25cca37143459e7bc63bcde52757adeb7df01cf12173f1fef8102ec5ab142c213dd9d30696278a8d8bc32dde9592d28c078c6d92b947d825acaab6494846a49de24b9623f4889e8adc38e8c669effef176040ad945e90a7d3eec15efeee78ae71043c96511103a16ba7caf0acd0642efdbe809934faa1a5f1bd11043649b25ccd1fee2e38815d4d5f5fc6b4102969f21c22ae1b0e7d3603a556a13262ff628de222 +Ctrl.hexxcghash = hexxcghash:7b7001185e256d4493445f39a55fb905e6321f4b5dd8bbf3100d51ba0bda3d2d +Ctrl.hexsession_id = hexsession_id:7b7001185e256d4493445f39a55fb905e6321f4b5dd8bbf3100d51ba0bda3d2d +Ctrl.type = type:A +Output = 81f0330ef6f05361b3823bfded6e1de9 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001006ac382eaaca093e125e25c24bebc84640c11987507344b5c739ceb84a9e0b222b9a8b51c839e5ebe49cfadbfb39599764ed522099dc912751950dc7dc97fbdc06328b68f22781fd315af568009a5509e5b87a11bf527c056daffd82ab6cbc25cca37143459e7bc63bcde52757adeb7df01cf12173f1fef8102ec5ab142c213dd9d30696278a8d8bc32dde9592d28c078c6d92b947d825acaab6494846a49de24b9623f4889e8adc38e8c669effef176040ad945e90a7d3eec15efeee78ae71043c96511103a16ba7caf0acd0642efdbe809934faa1a5f1bd11043649b25ccd1fee2e38815d4d5f5fc6b4102969f21c22ae1b0e7d3603a556a13262ff628de222 +Ctrl.hexxcghash = hexxcghash:7b7001185e256d4493445f39a55fb905e6321f4b5dd8bbf3100d51ba0bda3d2d +Ctrl.hexsession_id = hexsession_id:7b7001185e256d4493445f39a55fb905e6321f4b5dd8bbf3100d51ba0bda3d2d +Ctrl.type = type:B +Output = 3f6fd2065eeb2b0b1d93195a1fed48a5 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001006ac382eaaca093e125e25c24bebc84640c11987507344b5c739ceb84a9e0b222b9a8b51c839e5ebe49cfadbfb39599764ed522099dc912751950dc7dc97fbdc06328b68f22781fd315af568009a5509e5b87a11bf527c056daffd82ab6cbc25cca37143459e7bc63bcde52757adeb7df01cf12173f1fef8102ec5ab142c213dd9d30696278a8d8bc32dde9592d28c078c6d92b947d825acaab6494846a49de24b9623f4889e8adc38e8c669effef176040ad945e90a7d3eec15efeee78ae71043c96511103a16ba7caf0acd0642efdbe809934faa1a5f1bd11043649b25ccd1fee2e38815d4d5f5fc6b4102969f21c22ae1b0e7d3603a556a13262ff628de222 +Ctrl.hexxcghash = hexxcghash:7b7001185e256d4493445f39a55fb905e6321f4b5dd8bbf3100d51ba0bda3d2d +Ctrl.hexsession_id = hexsession_id:7b7001185e256d4493445f39a55fb905e6321f4b5dd8bbf3100d51ba0bda3d2d +Ctrl.type = type:C +Output = c35471034e6fd6547613178e23435f21 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001006ac382eaaca093e125e25c24bebc84640c11987507344b5c739ceb84a9e0b222b9a8b51c839e5ebe49cfadbfb39599764ed522099dc912751950dc7dc97fbdc06328b68f22781fd315af568009a5509e5b87a11bf527c056daffd82ab6cbc25cca37143459e7bc63bcde52757adeb7df01cf12173f1fef8102ec5ab142c213dd9d30696278a8d8bc32dde9592d28c078c6d92b947d825acaab6494846a49de24b9623f4889e8adc38e8c669effef176040ad945e90a7d3eec15efeee78ae71043c96511103a16ba7caf0acd0642efdbe809934faa1a5f1bd11043649b25ccd1fee2e38815d4d5f5fc6b4102969f21c22ae1b0e7d3603a556a13262ff628de222 +Ctrl.hexxcghash = hexxcghash:7b7001185e256d4493445f39a55fb905e6321f4b5dd8bbf3100d51ba0bda3d2d +Ctrl.hexsession_id = hexsession_id:7b7001185e256d4493445f39a55fb905e6321f4b5dd8bbf3100d51ba0bda3d2d +Ctrl.type = type:D +Output = 7e9d79032090d99f98b015634dd9f462 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001006ac382eaaca093e125e25c24bebc84640c11987507344b5c739ceb84a9e0b222b9a8b51c839e5ebe49cfadbfb39599764ed522099dc912751950dc7dc97fbdc06328b68f22781fd315af568009a5509e5b87a11bf527c056daffd82ab6cbc25cca37143459e7bc63bcde52757adeb7df01cf12173f1fef8102ec5ab142c213dd9d30696278a8d8bc32dde9592d28c078c6d92b947d825acaab6494846a49de24b9623f4889e8adc38e8c669effef176040ad945e90a7d3eec15efeee78ae71043c96511103a16ba7caf0acd0642efdbe809934faa1a5f1bd11043649b25ccd1fee2e38815d4d5f5fc6b4102969f21c22ae1b0e7d3603a556a13262ff628de222 +Ctrl.hexxcghash = hexxcghash:7b7001185e256d4493445f39a55fb905e6321f4b5dd8bbf3100d51ba0bda3d2d +Ctrl.hexsession_id = hexsession_id:7b7001185e256d4493445f39a55fb905e6321f4b5dd8bbf3100d51ba0bda3d2d +Ctrl.type = type:E +Output = 24ee559ad7ce712b685d0b2271e443c17ab1d1dceb5a360569d25d5dc243002f + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001006ac382eaaca093e125e25c24bebc84640c11987507344b5c739ceb84a9e0b222b9a8b51c839e5ebe49cfadbfb39599764ed522099dc912751950dc7dc97fbdc06328b68f22781fd315af568009a5509e5b87a11bf527c056daffd82ab6cbc25cca37143459e7bc63bcde52757adeb7df01cf12173f1fef8102ec5ab142c213dd9d30696278a8d8bc32dde9592d28c078c6d92b947d825acaab6494846a49de24b9623f4889e8adc38e8c669effef176040ad945e90a7d3eec15efeee78ae71043c96511103a16ba7caf0acd0642efdbe809934faa1a5f1bd11043649b25ccd1fee2e38815d4d5f5fc6b4102969f21c22ae1b0e7d3603a556a13262ff628de222 +Ctrl.hexxcghash = hexxcghash:7b7001185e256d4493445f39a55fb905e6321f4b5dd8bbf3100d51ba0bda3d2d +Ctrl.hexsession_id = hexsession_id:7b7001185e256d4493445f39a55fb905e6321f4b5dd8bbf3100d51ba0bda3d2d +Ctrl.type = type:F +Output = c3419c2b966235869d714ba5ac48ddb7d9e35c8c19aac73422337a373453607e + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000010044708c76616f700bd31b0c155ef74e36390eeb39bc5c32cdc90e21922b0ed930b5b519c8afebef0f4e4fb5b41b81d649d2127506620b594e9899f7f0d442ecddd68308307b82f00065e9d75220a5a6f5641795772132215a236064ea965c6493c21f89879730ebbc3c20a22d8f5bfd07b525b194323b22d8a49944d1aa58502e756101ef1e8a91c9310e71f6db65a3ad0a542cfa751f83721a99e89f1dbe54971a3620ecffc967aa55eed1a42d6e7a138b853557ac84689889f6d0c8553575fb89b4e13eab5537da72ef16f0d72f5e8505d97f110745193d550fa315fe88f672db90d73843e97ba1f3d087ba8eb39025bbffad37589a6199227303d9d8e7f1e3 +Ctrl.hexxcghash = hexxcghash:fe3727fd99a5ac7987c2cfbe062129e3027bf5e10310c6bccde9c916c8329dc2 +Ctrl.hexsession_id = hexsession_id:fffa598bc0ad2ae84dc8dc05b1f72c5b0134025ae7edf8a2e8db11472e18e1fc +Ctrl.type = type:A +Output = 36730bae8de5cb98898d6b4a00b37058 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000010044708c76616f700bd31b0c155ef74e36390eeb39bc5c32cdc90e21922b0ed930b5b519c8afebef0f4e4fb5b41b81d649d2127506620b594e9899f7f0d442ecddd68308307b82f00065e9d75220a5a6f5641795772132215a236064ea965c6493c21f89879730ebbc3c20a22d8f5bfd07b525b194323b22d8a49944d1aa58502e756101ef1e8a91c9310e71f6db65a3ad0a542cfa751f83721a99e89f1dbe54971a3620ecffc967aa55eed1a42d6e7a138b853557ac84689889f6d0c8553575fb89b4e13eab5537da72ef16f0d72f5e8505d97f110745193d550fa315fe88f672db90d73843e97ba1f3d087ba8eb39025bbffad37589a6199227303d9d8e7f1e3 +Ctrl.hexxcghash = hexxcghash:fe3727fd99a5ac7987c2cfbe062129e3027bf5e10310c6bccde9c916c8329dc2 +Ctrl.hexsession_id = hexsession_id:fffa598bc0ad2ae84dc8dc05b1f72c5b0134025ae7edf8a2e8db11472e18e1fc +Ctrl.type = type:B +Output = 5dfe446a83f40e8358d28cb97df8f340 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000010044708c76616f700bd31b0c155ef74e36390eeb39bc5c32cdc90e21922b0ed930b5b519c8afebef0f4e4fb5b41b81d649d2127506620b594e9899f7f0d442ecddd68308307b82f00065e9d75220a5a6f5641795772132215a236064ea965c6493c21f89879730ebbc3c20a22d8f5bfd07b525b194323b22d8a49944d1aa58502e756101ef1e8a91c9310e71f6db65a3ad0a542cfa751f83721a99e89f1dbe54971a3620ecffc967aa55eed1a42d6e7a138b853557ac84689889f6d0c8553575fb89b4e13eab5537da72ef16f0d72f5e8505d97f110745193d550fa315fe88f672db90d73843e97ba1f3d087ba8eb39025bbffad37589a6199227303d9d8e7f1e3 +Ctrl.hexxcghash = hexxcghash:fe3727fd99a5ac7987c2cfbe062129e3027bf5e10310c6bccde9c916c8329dc2 +Ctrl.hexsession_id = hexsession_id:fffa598bc0ad2ae84dc8dc05b1f72c5b0134025ae7edf8a2e8db11472e18e1fc +Ctrl.type = type:C +Output = 495b7afed0872b761437728e9e94e2b8 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000010044708c76616f700bd31b0c155ef74e36390eeb39bc5c32cdc90e21922b0ed930b5b519c8afebef0f4e4fb5b41b81d649d2127506620b594e9899f7f0d442ecddd68308307b82f00065e9d75220a5a6f5641795772132215a236064ea965c6493c21f89879730ebbc3c20a22d8f5bfd07b525b194323b22d8a49944d1aa58502e756101ef1e8a91c9310e71f6db65a3ad0a542cfa751f83721a99e89f1dbe54971a3620ecffc967aa55eed1a42d6e7a138b853557ac84689889f6d0c8553575fb89b4e13eab5537da72ef16f0d72f5e8505d97f110745193d550fa315fe88f672db90d73843e97ba1f3d087ba8eb39025bbffad37589a6199227303d9d8e7f1e3 +Ctrl.hexxcghash = hexxcghash:fe3727fd99a5ac7987c2cfbe062129e3027bf5e10310c6bccde9c916c8329dc2 +Ctrl.hexsession_id = hexsession_id:fffa598bc0ad2ae84dc8dc05b1f72c5b0134025ae7edf8a2e8db11472e18e1fc +Ctrl.type = type:D +Output = c1474b3925bec36f0b7f6cc698e949c8 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000010044708c76616f700bd31b0c155ef74e36390eeb39bc5c32cdc90e21922b0ed930b5b519c8afebef0f4e4fb5b41b81d649d2127506620b594e9899f7f0d442ecddd68308307b82f00065e9d75220a5a6f5641795772132215a236064ea965c6493c21f89879730ebbc3c20a22d8f5bfd07b525b194323b22d8a49944d1aa58502e756101ef1e8a91c9310e71f6db65a3ad0a542cfa751f83721a99e89f1dbe54971a3620ecffc967aa55eed1a42d6e7a138b853557ac84689889f6d0c8553575fb89b4e13eab5537da72ef16f0d72f5e8505d97f110745193d550fa315fe88f672db90d73843e97ba1f3d087ba8eb39025bbffad37589a6199227303d9d8e7f1e3 +Ctrl.hexxcghash = hexxcghash:fe3727fd99a5ac7987c2cfbe062129e3027bf5e10310c6bccde9c916c8329dc2 +Ctrl.hexsession_id = hexsession_id:fffa598bc0ad2ae84dc8dc05b1f72c5b0134025ae7edf8a2e8db11472e18e1fc +Ctrl.type = type:E +Output = b730f8df6a0697645be261169486c32a11612229276cbac5d8b3669afb2e4262 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000010044708c76616f700bd31b0c155ef74e36390eeb39bc5c32cdc90e21922b0ed930b5b519c8afebef0f4e4fb5b41b81d649d2127506620b594e9899f7f0d442ecddd68308307b82f00065e9d75220a5a6f5641795772132215a236064ea965c6493c21f89879730ebbc3c20a22d8f5bfd07b525b194323b22d8a49944d1aa58502e756101ef1e8a91c9310e71f6db65a3ad0a542cfa751f83721a99e89f1dbe54971a3620ecffc967aa55eed1a42d6e7a138b853557ac84689889f6d0c8553575fb89b4e13eab5537da72ef16f0d72f5e8505d97f110745193d550fa315fe88f672db90d73843e97ba1f3d087ba8eb39025bbffad37589a6199227303d9d8e7f1e3 +Ctrl.hexxcghash = hexxcghash:fe3727fd99a5ac7987c2cfbe062129e3027bf5e10310c6bccde9c916c8329dc2 +Ctrl.hexsession_id = hexsession_id:fffa598bc0ad2ae84dc8dc05b1f72c5b0134025ae7edf8a2e8db11472e18e1fc +Ctrl.type = type:F +Output = 14a5ea98245fb058978b82a3cb092b1cca7ce0109a4f98c16e1529579d58b819 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101009b1c637286720d11a9030260e35726621f54115560c443ded98d5622f4007cb65427ba8ae0831f34452349993c74933466f3307e11452150f4640010ed7d1ab87656232d9659d9982e8227c25d648189d2bdda3283aa5dec8a2105af0fa840592a21d96eebb932f8ff36f94a2e4fc3819d7c9f0d26a472fb5ae5a43a2d4906247d59c42512dda252205f60042e1900e1581127f25ace253b62a83f62d4703281a294f240df2aa34ddf437c9f278278120bc10e2cb99f7804ecd6741b1be5520c553cb89747f79b4e4efd3cf09b484eb1eb034d220da457546a2ebb28d7f2faf67de0630757b8ae05e27a761956d2e190fe3fb93b1c7c142f62baeb089721cedc +Ctrl.hexxcghash = hexxcghash:cad407a823551726f9bdcb78e8f351536e4406e8ee64947ecc0074662c7c0462 +Ctrl.hexsession_id = hexsession_id:a9c8207642627e6ee872999123b29e36abfdd071dba36ea6f0c11dd59ea46410 +Ctrl.type = type:A +Output = 32d20a3f5e92b20fe100f4f41a1ad53c + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101009b1c637286720d11a9030260e35726621f54115560c443ded98d5622f4007cb65427ba8ae0831f34452349993c74933466f3307e11452150f4640010ed7d1ab87656232d9659d9982e8227c25d648189d2bdda3283aa5dec8a2105af0fa840592a21d96eebb932f8ff36f94a2e4fc3819d7c9f0d26a472fb5ae5a43a2d4906247d59c42512dda252205f60042e1900e1581127f25ace253b62a83f62d4703281a294f240df2aa34ddf437c9f278278120bc10e2cb99f7804ecd6741b1be5520c553cb89747f79b4e4efd3cf09b484eb1eb034d220da457546a2ebb28d7f2faf67de0630757b8ae05e27a761956d2e190fe3fb93b1c7c142f62baeb089721cedc +Ctrl.hexxcghash = hexxcghash:cad407a823551726f9bdcb78e8f351536e4406e8ee64947ecc0074662c7c0462 +Ctrl.hexsession_id = hexsession_id:a9c8207642627e6ee872999123b29e36abfdd071dba36ea6f0c11dd59ea46410 +Ctrl.type = type:B +Output = c3a3ff57f99187ba011fd422100af577 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101009b1c637286720d11a9030260e35726621f54115560c443ded98d5622f4007cb65427ba8ae0831f34452349993c74933466f3307e11452150f4640010ed7d1ab87656232d9659d9982e8227c25d648189d2bdda3283aa5dec8a2105af0fa840592a21d96eebb932f8ff36f94a2e4fc3819d7c9f0d26a472fb5ae5a43a2d4906247d59c42512dda252205f60042e1900e1581127f25ace253b62a83f62d4703281a294f240df2aa34ddf437c9f278278120bc10e2cb99f7804ecd6741b1be5520c553cb89747f79b4e4efd3cf09b484eb1eb034d220da457546a2ebb28d7f2faf67de0630757b8ae05e27a761956d2e190fe3fb93b1c7c142f62baeb089721cedc +Ctrl.hexxcghash = hexxcghash:cad407a823551726f9bdcb78e8f351536e4406e8ee64947ecc0074662c7c0462 +Ctrl.hexsession_id = hexsession_id:a9c8207642627e6ee872999123b29e36abfdd071dba36ea6f0c11dd59ea46410 +Ctrl.type = type:C +Output = 8517903c49d5a59ad8ef7cd8591c6b5e + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101009b1c637286720d11a9030260e35726621f54115560c443ded98d5622f4007cb65427ba8ae0831f34452349993c74933466f3307e11452150f4640010ed7d1ab87656232d9659d9982e8227c25d648189d2bdda3283aa5dec8a2105af0fa840592a21d96eebb932f8ff36f94a2e4fc3819d7c9f0d26a472fb5ae5a43a2d4906247d59c42512dda252205f60042e1900e1581127f25ace253b62a83f62d4703281a294f240df2aa34ddf437c9f278278120bc10e2cb99f7804ecd6741b1be5520c553cb89747f79b4e4efd3cf09b484eb1eb034d220da457546a2ebb28d7f2faf67de0630757b8ae05e27a761956d2e190fe3fb93b1c7c142f62baeb089721cedc +Ctrl.hexxcghash = hexxcghash:cad407a823551726f9bdcb78e8f351536e4406e8ee64947ecc0074662c7c0462 +Ctrl.hexsession_id = hexsession_id:a9c8207642627e6ee872999123b29e36abfdd071dba36ea6f0c11dd59ea46410 +Ctrl.type = type:D +Output = a5ad201101a617f1cd5b3a2baa3b27f7 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101009b1c637286720d11a9030260e35726621f54115560c443ded98d5622f4007cb65427ba8ae0831f34452349993c74933466f3307e11452150f4640010ed7d1ab87656232d9659d9982e8227c25d648189d2bdda3283aa5dec8a2105af0fa840592a21d96eebb932f8ff36f94a2e4fc3819d7c9f0d26a472fb5ae5a43a2d4906247d59c42512dda252205f60042e1900e1581127f25ace253b62a83f62d4703281a294f240df2aa34ddf437c9f278278120bc10e2cb99f7804ecd6741b1be5520c553cb89747f79b4e4efd3cf09b484eb1eb034d220da457546a2ebb28d7f2faf67de0630757b8ae05e27a761956d2e190fe3fb93b1c7c142f62baeb089721cedc +Ctrl.hexxcghash = hexxcghash:cad407a823551726f9bdcb78e8f351536e4406e8ee64947ecc0074662c7c0462 +Ctrl.hexsession_id = hexsession_id:a9c8207642627e6ee872999123b29e36abfdd071dba36ea6f0c11dd59ea46410 +Ctrl.type = type:E +Output = 16747a23fddd72f785c5d61dfb81a5a38555f5d8ff1dc5ae4fb423b82adfe05b + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101009b1c637286720d11a9030260e35726621f54115560c443ded98d5622f4007cb65427ba8ae0831f34452349993c74933466f3307e11452150f4640010ed7d1ab87656232d9659d9982e8227c25d648189d2bdda3283aa5dec8a2105af0fa840592a21d96eebb932f8ff36f94a2e4fc3819d7c9f0d26a472fb5ae5a43a2d4906247d59c42512dda252205f60042e1900e1581127f25ace253b62a83f62d4703281a294f240df2aa34ddf437c9f278278120bc10e2cb99f7804ecd6741b1be5520c553cb89747f79b4e4efd3cf09b484eb1eb034d220da457546a2ebb28d7f2faf67de0630757b8ae05e27a761956d2e190fe3fb93b1c7c142f62baeb089721cedc +Ctrl.hexxcghash = hexxcghash:cad407a823551726f9bdcb78e8f351536e4406e8ee64947ecc0074662c7c0462 +Ctrl.hexsession_id = hexsession_id:a9c8207642627e6ee872999123b29e36abfdd071dba36ea6f0c11dd59ea46410 +Ctrl.type = type:F +Output = b1b1bba896b0fd75a90187eae6cdf744d23884caa5f4ca979ced327ca1239771 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101008cd7061a3591b477989a4deb1bfc6debe874f753a4686eef11d1fa0e6796800db97c38497992b220d6e40d8f9154743b533666c8689db8cdffd38ac4009f85cfc6e48dc2fe94f78870138994ab4189e8d461a00b03425d8d838061b44e7ccd41e3a0332ab68afbf2919763c9f03747637db87a50d766504199fba6c34d216580fcd77756a6004ff485a79cdb646f0adde47a727e028261c808e0cb31928071701a0f2d2d237c293b93e80854f4e43243eaeb96cc25e00f74e2cd414c72774c7995757e93c0a9aac5ef5b0d23bef9ce475bfe697d14b815eeb0535d6e7e438bdb54aa2d8f50d05564d17c3ff2bc3451ca5b932f320c20f1c256c61ed503be2528 +Ctrl.hexxcghash = hexxcghash:53fc521edf6dea9daf619676276766508d32c1964943e9bd40b4ed2cdefa7c20 +Ctrl.hexsession_id = hexsession_id:14c6727d8e211c7632f930e716ab360e0916b1da3409367ef52d9e21512c700d +Ctrl.type = type:A +Output = b5c636c93e002f1fac0b78eb423d92cf + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101008cd7061a3591b477989a4deb1bfc6debe874f753a4686eef11d1fa0e6796800db97c38497992b220d6e40d8f9154743b533666c8689db8cdffd38ac4009f85cfc6e48dc2fe94f78870138994ab4189e8d461a00b03425d8d838061b44e7ccd41e3a0332ab68afbf2919763c9f03747637db87a50d766504199fba6c34d216580fcd77756a6004ff485a79cdb646f0adde47a727e028261c808e0cb31928071701a0f2d2d237c293b93e80854f4e43243eaeb96cc25e00f74e2cd414c72774c7995757e93c0a9aac5ef5b0d23bef9ce475bfe697d14b815eeb0535d6e7e438bdb54aa2d8f50d05564d17c3ff2bc3451ca5b932f320c20f1c256c61ed503be2528 +Ctrl.hexxcghash = hexxcghash:53fc521edf6dea9daf619676276766508d32c1964943e9bd40b4ed2cdefa7c20 +Ctrl.hexsession_id = hexsession_id:14c6727d8e211c7632f930e716ab360e0916b1da3409367ef52d9e21512c700d +Ctrl.type = type:B +Output = 64d82bef35e924abf030fe42cda10e81 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101008cd7061a3591b477989a4deb1bfc6debe874f753a4686eef11d1fa0e6796800db97c38497992b220d6e40d8f9154743b533666c8689db8cdffd38ac4009f85cfc6e48dc2fe94f78870138994ab4189e8d461a00b03425d8d838061b44e7ccd41e3a0332ab68afbf2919763c9f03747637db87a50d766504199fba6c34d216580fcd77756a6004ff485a79cdb646f0adde47a727e028261c808e0cb31928071701a0f2d2d237c293b93e80854f4e43243eaeb96cc25e00f74e2cd414c72774c7995757e93c0a9aac5ef5b0d23bef9ce475bfe697d14b815eeb0535d6e7e438bdb54aa2d8f50d05564d17c3ff2bc3451ca5b932f320c20f1c256c61ed503be2528 +Ctrl.hexxcghash = hexxcghash:53fc521edf6dea9daf619676276766508d32c1964943e9bd40b4ed2cdefa7c20 +Ctrl.hexsession_id = hexsession_id:14c6727d8e211c7632f930e716ab360e0916b1da3409367ef52d9e21512c700d +Ctrl.type = type:C +Output = 76a1b8b85d0ea49c68f30d7448155901 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101008cd7061a3591b477989a4deb1bfc6debe874f753a4686eef11d1fa0e6796800db97c38497992b220d6e40d8f9154743b533666c8689db8cdffd38ac4009f85cfc6e48dc2fe94f78870138994ab4189e8d461a00b03425d8d838061b44e7ccd41e3a0332ab68afbf2919763c9f03747637db87a50d766504199fba6c34d216580fcd77756a6004ff485a79cdb646f0adde47a727e028261c808e0cb31928071701a0f2d2d237c293b93e80854f4e43243eaeb96cc25e00f74e2cd414c72774c7995757e93c0a9aac5ef5b0d23bef9ce475bfe697d14b815eeb0535d6e7e438bdb54aa2d8f50d05564d17c3ff2bc3451ca5b932f320c20f1c256c61ed503be2528 +Ctrl.hexxcghash = hexxcghash:53fc521edf6dea9daf619676276766508d32c1964943e9bd40b4ed2cdefa7c20 +Ctrl.hexsession_id = hexsession_id:14c6727d8e211c7632f930e716ab360e0916b1da3409367ef52d9e21512c700d +Ctrl.type = type:D +Output = f136e09324b1ef12b92bf35d5b3dd8e2 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101008cd7061a3591b477989a4deb1bfc6debe874f753a4686eef11d1fa0e6796800db97c38497992b220d6e40d8f9154743b533666c8689db8cdffd38ac4009f85cfc6e48dc2fe94f78870138994ab4189e8d461a00b03425d8d838061b44e7ccd41e3a0332ab68afbf2919763c9f03747637db87a50d766504199fba6c34d216580fcd77756a6004ff485a79cdb646f0adde47a727e028261c808e0cb31928071701a0f2d2d237c293b93e80854f4e43243eaeb96cc25e00f74e2cd414c72774c7995757e93c0a9aac5ef5b0d23bef9ce475bfe697d14b815eeb0535d6e7e438bdb54aa2d8f50d05564d17c3ff2bc3451ca5b932f320c20f1c256c61ed503be2528 +Ctrl.hexxcghash = hexxcghash:53fc521edf6dea9daf619676276766508d32c1964943e9bd40b4ed2cdefa7c20 +Ctrl.hexsession_id = hexsession_id:14c6727d8e211c7632f930e716ab360e0916b1da3409367ef52d9e21512c700d +Ctrl.type = type:E +Output = 77abc45165b126f9127d59fbe655140cd3f768cd0498c29aa69cb5d65f7b0d50 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101008cd7061a3591b477989a4deb1bfc6debe874f753a4686eef11d1fa0e6796800db97c38497992b220d6e40d8f9154743b533666c8689db8cdffd38ac4009f85cfc6e48dc2fe94f78870138994ab4189e8d461a00b03425d8d838061b44e7ccd41e3a0332ab68afbf2919763c9f03747637db87a50d766504199fba6c34d216580fcd77756a6004ff485a79cdb646f0adde47a727e028261c808e0cb31928071701a0f2d2d237c293b93e80854f4e43243eaeb96cc25e00f74e2cd414c72774c7995757e93c0a9aac5ef5b0d23bef9ce475bfe697d14b815eeb0535d6e7e438bdb54aa2d8f50d05564d17c3ff2bc3451ca5b932f320c20f1c256c61ed503be2528 +Ctrl.hexxcghash = hexxcghash:53fc521edf6dea9daf619676276766508d32c1964943e9bd40b4ed2cdefa7c20 +Ctrl.hexsession_id = hexsession_id:14c6727d8e211c7632f930e716ab360e0916b1da3409367ef52d9e21512c700d +Ctrl.type = type:F +Output = d43f93faf692f59bc96fd480fb336033c94ee237ceece69691ffaa64bdd7fcc1 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101009b0b6fe41d565564f87ae984aadc75902d95828bdee0bba0ecc176afd5cc9c3ec79a34a9f7cf44ee6cbdcb5d8f027bb64c4c3b73e2f891ee06b781f3d7f02b59f95cbbfb2725b208856f3ebb8195fef1596248d56a371ed7acf3b973c627976e0cf156f340aa01acfbe9b574d4dedd4cbb66cb6ca5d9e76f16385be532fed8dd65735a3ecddeeb295133bb8a59499b4777242a4a7e463481d26baece4c7ef224aaf40af4d5108d024f5dd174cfdb91213939e355b0a1ca51ed6f7f584a4e47a0f1482d6a5768b1236e25d837cc8a2b49b2176bb54b2f77f4212ba394336e6a6046def9205fe482d98fcdd8d0a2643a39d753d2d481fe6689b0dc0d1c078335b7 +Ctrl.hexxcghash = hexxcghash:27faf1b9a15e505a0b46c47e2bf6ab5fff37a6dadb09e96ea9562091f1d88ce0 +Ctrl.hexsession_id = hexsession_id:6b52ddb87a66f0f1bb0dad39b462e7bd42bdeb99049d5a3581ca6f056c398228 +Ctrl.type = type:A +Output = 3b3c4416d3121a6838dd3f94a84b6ec6 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101009b0b6fe41d565564f87ae984aadc75902d95828bdee0bba0ecc176afd5cc9c3ec79a34a9f7cf44ee6cbdcb5d8f027bb64c4c3b73e2f891ee06b781f3d7f02b59f95cbbfb2725b208856f3ebb8195fef1596248d56a371ed7acf3b973c627976e0cf156f340aa01acfbe9b574d4dedd4cbb66cb6ca5d9e76f16385be532fed8dd65735a3ecddeeb295133bb8a59499b4777242a4a7e463481d26baece4c7ef224aaf40af4d5108d024f5dd174cfdb91213939e355b0a1ca51ed6f7f584a4e47a0f1482d6a5768b1236e25d837cc8a2b49b2176bb54b2f77f4212ba394336e6a6046def9205fe482d98fcdd8d0a2643a39d753d2d481fe6689b0dc0d1c078335b7 +Ctrl.hexxcghash = hexxcghash:27faf1b9a15e505a0b46c47e2bf6ab5fff37a6dadb09e96ea9562091f1d88ce0 +Ctrl.hexsession_id = hexsession_id:6b52ddb87a66f0f1bb0dad39b462e7bd42bdeb99049d5a3581ca6f056c398228 +Ctrl.type = type:B +Output = e0af22a9184e5cea74f3e90faf5212ba + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101009b0b6fe41d565564f87ae984aadc75902d95828bdee0bba0ecc176afd5cc9c3ec79a34a9f7cf44ee6cbdcb5d8f027bb64c4c3b73e2f891ee06b781f3d7f02b59f95cbbfb2725b208856f3ebb8195fef1596248d56a371ed7acf3b973c627976e0cf156f340aa01acfbe9b574d4dedd4cbb66cb6ca5d9e76f16385be532fed8dd65735a3ecddeeb295133bb8a59499b4777242a4a7e463481d26baece4c7ef224aaf40af4d5108d024f5dd174cfdb91213939e355b0a1ca51ed6f7f584a4e47a0f1482d6a5768b1236e25d837cc8a2b49b2176bb54b2f77f4212ba394336e6a6046def9205fe482d98fcdd8d0a2643a39d753d2d481fe6689b0dc0d1c078335b7 +Ctrl.hexxcghash = hexxcghash:27faf1b9a15e505a0b46c47e2bf6ab5fff37a6dadb09e96ea9562091f1d88ce0 +Ctrl.hexsession_id = hexsession_id:6b52ddb87a66f0f1bb0dad39b462e7bd42bdeb99049d5a3581ca6f056c398228 +Ctrl.type = type:C +Output = a3a7a9e48cc09a927e2d6eddd7647368 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101009b0b6fe41d565564f87ae984aadc75902d95828bdee0bba0ecc176afd5cc9c3ec79a34a9f7cf44ee6cbdcb5d8f027bb64c4c3b73e2f891ee06b781f3d7f02b59f95cbbfb2725b208856f3ebb8195fef1596248d56a371ed7acf3b973c627976e0cf156f340aa01acfbe9b574d4dedd4cbb66cb6ca5d9e76f16385be532fed8dd65735a3ecddeeb295133bb8a59499b4777242a4a7e463481d26baece4c7ef224aaf40af4d5108d024f5dd174cfdb91213939e355b0a1ca51ed6f7f584a4e47a0f1482d6a5768b1236e25d837cc8a2b49b2176bb54b2f77f4212ba394336e6a6046def9205fe482d98fcdd8d0a2643a39d753d2d481fe6689b0dc0d1c078335b7 +Ctrl.hexxcghash = hexxcghash:27faf1b9a15e505a0b46c47e2bf6ab5fff37a6dadb09e96ea9562091f1d88ce0 +Ctrl.hexsession_id = hexsession_id:6b52ddb87a66f0f1bb0dad39b462e7bd42bdeb99049d5a3581ca6f056c398228 +Ctrl.type = type:D +Output = b9411d2870e885e223a6b414ae6ac813 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101009b0b6fe41d565564f87ae984aadc75902d95828bdee0bba0ecc176afd5cc9c3ec79a34a9f7cf44ee6cbdcb5d8f027bb64c4c3b73e2f891ee06b781f3d7f02b59f95cbbfb2725b208856f3ebb8195fef1596248d56a371ed7acf3b973c627976e0cf156f340aa01acfbe9b574d4dedd4cbb66cb6ca5d9e76f16385be532fed8dd65735a3ecddeeb295133bb8a59499b4777242a4a7e463481d26baece4c7ef224aaf40af4d5108d024f5dd174cfdb91213939e355b0a1ca51ed6f7f584a4e47a0f1482d6a5768b1236e25d837cc8a2b49b2176bb54b2f77f4212ba394336e6a6046def9205fe482d98fcdd8d0a2643a39d753d2d481fe6689b0dc0d1c078335b7 +Ctrl.hexxcghash = hexxcghash:27faf1b9a15e505a0b46c47e2bf6ab5fff37a6dadb09e96ea9562091f1d88ce0 +Ctrl.hexsession_id = hexsession_id:6b52ddb87a66f0f1bb0dad39b462e7bd42bdeb99049d5a3581ca6f056c398228 +Ctrl.type = type:E +Output = 7f11812c28229fd8e39367b8885045313fea6322f22a69b6436caa4fb6c2d915 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000101009b0b6fe41d565564f87ae984aadc75902d95828bdee0bba0ecc176afd5cc9c3ec79a34a9f7cf44ee6cbdcb5d8f027bb64c4c3b73e2f891ee06b781f3d7f02b59f95cbbfb2725b208856f3ebb8195fef1596248d56a371ed7acf3b973c627976e0cf156f340aa01acfbe9b574d4dedd4cbb66cb6ca5d9e76f16385be532fed8dd65735a3ecddeeb295133bb8a59499b4777242a4a7e463481d26baece4c7ef224aaf40af4d5108d024f5dd174cfdb91213939e355b0a1ca51ed6f7f584a4e47a0f1482d6a5768b1236e25d837cc8a2b49b2176bb54b2f77f4212ba394336e6a6046def9205fe482d98fcdd8d0a2643a39d753d2d481fe6689b0dc0d1c078335b7 +Ctrl.hexxcghash = hexxcghash:27faf1b9a15e505a0b46c47e2bf6ab5fff37a6dadb09e96ea9562091f1d88ce0 +Ctrl.hexsession_id = hexsession_id:6b52ddb87a66f0f1bb0dad39b462e7bd42bdeb99049d5a3581ca6f056c398228 +Ctrl.type = type:F +Output = 4fc39e2a1e7038f2664a48986e8227c213e577eafea082f46cb08d087e642fe4 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000100435266668e94e5f35d31f10f7b486bed8a88465cf30711e54f8c6550a917916fb7160c41880d364df5084446d7834e32917882c10eef49f8192fa6ff4c9498a12d87bbf710d4bba3e76a6681c7ac3470e6f5e80c55851dcca38a9ce48b015ab73b24e28e0553f3a1bbe1dfa9b67bb9cb9372ad0fb0aaf443c3a8927d00b9b2705f4d1b219c80f7caa637c986de79410c5924943128e64cf869491f19c1646cb403d8543d5aaaea7fbaaaa1a846b9851f4f708b14266e55839e1d61b67a60359c2c111841839225c0f940252506be02ba43fcc7c4be7cb01c64094fbd9a78cc331c6e7809e0be3a4b693adfeedd1b20ad36d321498b396fce7cf169b2fb10e54b +Ctrl.hexxcghash = hexxcghash:d7303e57a2bf969f815c1b2fd08a879226c0e95c9897fb5586200c0f5e0a8a23 +Ctrl.hexsession_id = hexsession_id:20ace711e8190f5bbd2168bc93061c903899acd41697b76d0f6667d2bf345725 +Ctrl.type = type:A +Output = b71bd280b230b6fb9b326a3544ab9c90 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000100435266668e94e5f35d31f10f7b486bed8a88465cf30711e54f8c6550a917916fb7160c41880d364df5084446d7834e32917882c10eef49f8192fa6ff4c9498a12d87bbf710d4bba3e76a6681c7ac3470e6f5e80c55851dcca38a9ce48b015ab73b24e28e0553f3a1bbe1dfa9b67bb9cb9372ad0fb0aaf443c3a8927d00b9b2705f4d1b219c80f7caa637c986de79410c5924943128e64cf869491f19c1646cb403d8543d5aaaea7fbaaaa1a846b9851f4f708b14266e55839e1d61b67a60359c2c111841839225c0f940252506be02ba43fcc7c4be7cb01c64094fbd9a78cc331c6e7809e0be3a4b693adfeedd1b20ad36d321498b396fce7cf169b2fb10e54b +Ctrl.hexxcghash = hexxcghash:d7303e57a2bf969f815c1b2fd08a879226c0e95c9897fb5586200c0f5e0a8a23 +Ctrl.hexsession_id = hexsession_id:20ace711e8190f5bbd2168bc93061c903899acd41697b76d0f6667d2bf345725 +Ctrl.type = type:B +Output = ca38c1b5940e1417fb8caa6ab6deaf18 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000100435266668e94e5f35d31f10f7b486bed8a88465cf30711e54f8c6550a917916fb7160c41880d364df5084446d7834e32917882c10eef49f8192fa6ff4c9498a12d87bbf710d4bba3e76a6681c7ac3470e6f5e80c55851dcca38a9ce48b015ab73b24e28e0553f3a1bbe1dfa9b67bb9cb9372ad0fb0aaf443c3a8927d00b9b2705f4d1b219c80f7caa637c986de79410c5924943128e64cf869491f19c1646cb403d8543d5aaaea7fbaaaa1a846b9851f4f708b14266e55839e1d61b67a60359c2c111841839225c0f940252506be02ba43fcc7c4be7cb01c64094fbd9a78cc331c6e7809e0be3a4b693adfeedd1b20ad36d321498b396fce7cf169b2fb10e54b +Ctrl.hexxcghash = hexxcghash:d7303e57a2bf969f815c1b2fd08a879226c0e95c9897fb5586200c0f5e0a8a23 +Ctrl.hexsession_id = hexsession_id:20ace711e8190f5bbd2168bc93061c903899acd41697b76d0f6667d2bf345725 +Ctrl.type = type:C +Output = 5d02347e16760101a3689bf0087ed947 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000100435266668e94e5f35d31f10f7b486bed8a88465cf30711e54f8c6550a917916fb7160c41880d364df5084446d7834e32917882c10eef49f8192fa6ff4c9498a12d87bbf710d4bba3e76a6681c7ac3470e6f5e80c55851dcca38a9ce48b015ab73b24e28e0553f3a1bbe1dfa9b67bb9cb9372ad0fb0aaf443c3a8927d00b9b2705f4d1b219c80f7caa637c986de79410c5924943128e64cf869491f19c1646cb403d8543d5aaaea7fbaaaa1a846b9851f4f708b14266e55839e1d61b67a60359c2c111841839225c0f940252506be02ba43fcc7c4be7cb01c64094fbd9a78cc331c6e7809e0be3a4b693adfeedd1b20ad36d321498b396fce7cf169b2fb10e54b +Ctrl.hexxcghash = hexxcghash:d7303e57a2bf969f815c1b2fd08a879226c0e95c9897fb5586200c0f5e0a8a23 +Ctrl.hexsession_id = hexsession_id:20ace711e8190f5bbd2168bc93061c903899acd41697b76d0f6667d2bf345725 +Ctrl.type = type:D +Output = 2fb5e0eb5552f7e26ad9651bd22f1666 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000100435266668e94e5f35d31f10f7b486bed8a88465cf30711e54f8c6550a917916fb7160c41880d364df5084446d7834e32917882c10eef49f8192fa6ff4c9498a12d87bbf710d4bba3e76a6681c7ac3470e6f5e80c55851dcca38a9ce48b015ab73b24e28e0553f3a1bbe1dfa9b67bb9cb9372ad0fb0aaf443c3a8927d00b9b2705f4d1b219c80f7caa637c986de79410c5924943128e64cf869491f19c1646cb403d8543d5aaaea7fbaaaa1a846b9851f4f708b14266e55839e1d61b67a60359c2c111841839225c0f940252506be02ba43fcc7c4be7cb01c64094fbd9a78cc331c6e7809e0be3a4b693adfeedd1b20ad36d321498b396fce7cf169b2fb10e54b +Ctrl.hexxcghash = hexxcghash:d7303e57a2bf969f815c1b2fd08a879226c0e95c9897fb5586200c0f5e0a8a23 +Ctrl.hexsession_id = hexsession_id:20ace711e8190f5bbd2168bc93061c903899acd41697b76d0f6667d2bf345725 +Ctrl.type = type:E +Output = b7b7c4292a73e7d378284b12b318e0cd3ad714904b4ef9c83d44ee06ff49b1e1 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000100435266668e94e5f35d31f10f7b486bed8a88465cf30711e54f8c6550a917916fb7160c41880d364df5084446d7834e32917882c10eef49f8192fa6ff4c9498a12d87bbf710d4bba3e76a6681c7ac3470e6f5e80c55851dcca38a9ce48b015ab73b24e28e0553f3a1bbe1dfa9b67bb9cb9372ad0fb0aaf443c3a8927d00b9b2705f4d1b219c80f7caa637c986de79410c5924943128e64cf869491f19c1646cb403d8543d5aaaea7fbaaaa1a846b9851f4f708b14266e55839e1d61b67a60359c2c111841839225c0f940252506be02ba43fcc7c4be7cb01c64094fbd9a78cc331c6e7809e0be3a4b693adfeedd1b20ad36d321498b396fce7cf169b2fb10e54b +Ctrl.hexxcghash = hexxcghash:d7303e57a2bf969f815c1b2fd08a879226c0e95c9897fb5586200c0f5e0a8a23 +Ctrl.hexsession_id = hexsession_id:20ace711e8190f5bbd2168bc93061c903899acd41697b76d0f6667d2bf345725 +Ctrl.type = type:F +Output = c9884e71b158f2255fb204733e888bc5b2ee38a5493de9d0ef6700949159ac6a + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000100745f5abd8fb685eaae10854a96900806cd7d17d2d255990328594a4fdbb9fa28088ccb8fbf92ef23492a595f92c49d5fa32ea5ef6d76000635fb58496c9db824aaa41b67c3c2e8bdd525f6c6a224562c670076f6efd21fe49222c2627596b775c56dff5d477cd4cc008ef566086a495cf4ba634af20a42fb13fa52597dc252edebdfa57592494fd9cd44d0f7e27d6a6ff370876c42733977db656d7372d553c2ffc824fb02375e55069d5cccb493ec77001fb4cd73cbec6976bd45ae2cc0812c078784d917c0a0a54d8df6c745a2710828939be0685d7fc1657eee9c4dbc71615fab0174e62fb7971fa20f6d6b2da1c22c0a35c781c9dbdf009cec3d89891afc +Ctrl.hexxcghash = hexxcghash:35f601a7877ef637d6c40b4f2e1d85b888eceac9f37e686254f9d707b22bd764 +Ctrl.hexsession_id = hexsession_id:d04bce75141ed2a44942d98354ded46e861da28fc1175e5a22e8dddad4942f9a +Ctrl.type = type:A +Output = 88af3bdb49bd8e9d24489efc95dea1c1 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000100745f5abd8fb685eaae10854a96900806cd7d17d2d255990328594a4fdbb9fa28088ccb8fbf92ef23492a595f92c49d5fa32ea5ef6d76000635fb58496c9db824aaa41b67c3c2e8bdd525f6c6a224562c670076f6efd21fe49222c2627596b775c56dff5d477cd4cc008ef566086a495cf4ba634af20a42fb13fa52597dc252edebdfa57592494fd9cd44d0f7e27d6a6ff370876c42733977db656d7372d553c2ffc824fb02375e55069d5cccb493ec77001fb4cd73cbec6976bd45ae2cc0812c078784d917c0a0a54d8df6c745a2710828939be0685d7fc1657eee9c4dbc71615fab0174e62fb7971fa20f6d6b2da1c22c0a35c781c9dbdf009cec3d89891afc +Ctrl.hexxcghash = hexxcghash:35f601a7877ef637d6c40b4f2e1d85b888eceac9f37e686254f9d707b22bd764 +Ctrl.hexsession_id = hexsession_id:d04bce75141ed2a44942d98354ded46e861da28fc1175e5a22e8dddad4942f9a +Ctrl.type = type:B +Output = 5cf41e1d43f797c16a30e070f2f37dd4 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000100745f5abd8fb685eaae10854a96900806cd7d17d2d255990328594a4fdbb9fa28088ccb8fbf92ef23492a595f92c49d5fa32ea5ef6d76000635fb58496c9db824aaa41b67c3c2e8bdd525f6c6a224562c670076f6efd21fe49222c2627596b775c56dff5d477cd4cc008ef566086a495cf4ba634af20a42fb13fa52597dc252edebdfa57592494fd9cd44d0f7e27d6a6ff370876c42733977db656d7372d553c2ffc824fb02375e55069d5cccb493ec77001fb4cd73cbec6976bd45ae2cc0812c078784d917c0a0a54d8df6c745a2710828939be0685d7fc1657eee9c4dbc71615fab0174e62fb7971fa20f6d6b2da1c22c0a35c781c9dbdf009cec3d89891afc +Ctrl.hexxcghash = hexxcghash:35f601a7877ef637d6c40b4f2e1d85b888eceac9f37e686254f9d707b22bd764 +Ctrl.hexsession_id = hexsession_id:d04bce75141ed2a44942d98354ded46e861da28fc1175e5a22e8dddad4942f9a +Ctrl.type = type:C +Output = 7cc48e0f8b4bdd63f76e41ba411d7f37 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000100745f5abd8fb685eaae10854a96900806cd7d17d2d255990328594a4fdbb9fa28088ccb8fbf92ef23492a595f92c49d5fa32ea5ef6d76000635fb58496c9db824aaa41b67c3c2e8bdd525f6c6a224562c670076f6efd21fe49222c2627596b775c56dff5d477cd4cc008ef566086a495cf4ba634af20a42fb13fa52597dc252edebdfa57592494fd9cd44d0f7e27d6a6ff370876c42733977db656d7372d553c2ffc824fb02375e55069d5cccb493ec77001fb4cd73cbec6976bd45ae2cc0812c078784d917c0a0a54d8df6c745a2710828939be0685d7fc1657eee9c4dbc71615fab0174e62fb7971fa20f6d6b2da1c22c0a35c781c9dbdf009cec3d89891afc +Ctrl.hexxcghash = hexxcghash:35f601a7877ef637d6c40b4f2e1d85b888eceac9f37e686254f9d707b22bd764 +Ctrl.hexsession_id = hexsession_id:d04bce75141ed2a44942d98354ded46e861da28fc1175e5a22e8dddad4942f9a +Ctrl.type = type:D +Output = 37d942416267be06cd1ff9498dcf1e6e + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000100745f5abd8fb685eaae10854a96900806cd7d17d2d255990328594a4fdbb9fa28088ccb8fbf92ef23492a595f92c49d5fa32ea5ef6d76000635fb58496c9db824aaa41b67c3c2e8bdd525f6c6a224562c670076f6efd21fe49222c2627596b775c56dff5d477cd4cc008ef566086a495cf4ba634af20a42fb13fa52597dc252edebdfa57592494fd9cd44d0f7e27d6a6ff370876c42733977db656d7372d553c2ffc824fb02375e55069d5cccb493ec77001fb4cd73cbec6976bd45ae2cc0812c078784d917c0a0a54d8df6c745a2710828939be0685d7fc1657eee9c4dbc71615fab0174e62fb7971fa20f6d6b2da1c22c0a35c781c9dbdf009cec3d89891afc +Ctrl.hexxcghash = hexxcghash:35f601a7877ef637d6c40b4f2e1d85b888eceac9f37e686254f9d707b22bd764 +Ctrl.hexsession_id = hexsession_id:d04bce75141ed2a44942d98354ded46e861da28fc1175e5a22e8dddad4942f9a +Ctrl.type = type:E +Output = c3c8b48e228a3a671ae8c48aa4e4f1fe32c1ad4d5ae48c904836d13e7350f72e + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:00000100745f5abd8fb685eaae10854a96900806cd7d17d2d255990328594a4fdbb9fa28088ccb8fbf92ef23492a595f92c49d5fa32ea5ef6d76000635fb58496c9db824aaa41b67c3c2e8bdd525f6c6a224562c670076f6efd21fe49222c2627596b775c56dff5d477cd4cc008ef566086a495cf4ba634af20a42fb13fa52597dc252edebdfa57592494fd9cd44d0f7e27d6a6ff370876c42733977db656d7372d553c2ffc824fb02375e55069d5cccb493ec77001fb4cd73cbec6976bd45ae2cc0812c078784d917c0a0a54d8df6c745a2710828939be0685d7fc1657eee9c4dbc71615fab0174e62fb7971fa20f6d6b2da1c22c0a35c781c9dbdf009cec3d89891afc +Ctrl.hexxcghash = hexxcghash:35f601a7877ef637d6c40b4f2e1d85b888eceac9f37e686254f9d707b22bd764 +Ctrl.hexsession_id = hexsession_id:d04bce75141ed2a44942d98354ded46e861da28fc1175e5a22e8dddad4942f9a +Ctrl.type = type:F +Output = 605f7d3b3f28a8967402ba67ff916a61b0a4e9b736665c5e911fb33f60dc16fe + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001010089b741b0b9a6704f56df9aafe5f4294828fdc67f4243e9aa9b1d83166ad892f2d970fdff65eba7fa5eddb954dd86bda5262e084752c69c6b93c729ad34e9728f7c838c49f0e87349ae35feef1610b83a345c64c5b190fb5857bf0aa8419efba35789c258f19e8713e2729c184eab9d9c33a32ab3731d77e207a91849625bb855e581ca0be5d9f961aab9d65b463e416ee3d636ece573ead0d088a2fe05d87dd5ed21031f4dbea831112d3bd0e1cc1087a8395430cde3cb54d22a5965dd825329bee8c62d4599fb67ff90260204c6e608e6246f768e29a60cb85f580d4751f9c017cbf4e6062a160c6ff1d0c9d303a2c862a4986e22f72da79b17b868cee189a2 +Ctrl.hexxcghash = hexxcghash:61e49599eb3b01e3d7bc65415ce7004e20bf77805a4ff09681f3856adc129943 +Ctrl.hexsession_id = hexsession_id:832400eb1c4031502f7249d0a4279a7cbe4d4d6979289d02837d98b9ca16ff46 +Ctrl.type = type:A +Output = 7b91adc6eb48a6f82a8990efd2537903 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001010089b741b0b9a6704f56df9aafe5f4294828fdc67f4243e9aa9b1d83166ad892f2d970fdff65eba7fa5eddb954dd86bda5262e084752c69c6b93c729ad34e9728f7c838c49f0e87349ae35feef1610b83a345c64c5b190fb5857bf0aa8419efba35789c258f19e8713e2729c184eab9d9c33a32ab3731d77e207a91849625bb855e581ca0be5d9f961aab9d65b463e416ee3d636ece573ead0d088a2fe05d87dd5ed21031f4dbea831112d3bd0e1cc1087a8395430cde3cb54d22a5965dd825329bee8c62d4599fb67ff90260204c6e608e6246f768e29a60cb85f580d4751f9c017cbf4e6062a160c6ff1d0c9d303a2c862a4986e22f72da79b17b868cee189a2 +Ctrl.hexxcghash = hexxcghash:61e49599eb3b01e3d7bc65415ce7004e20bf77805a4ff09681f3856adc129943 +Ctrl.hexsession_id = hexsession_id:832400eb1c4031502f7249d0a4279a7cbe4d4d6979289d02837d98b9ca16ff46 +Ctrl.type = type:B +Output = 814c8fb54a535b38d4c2301aa49ad702 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001010089b741b0b9a6704f56df9aafe5f4294828fdc67f4243e9aa9b1d83166ad892f2d970fdff65eba7fa5eddb954dd86bda5262e084752c69c6b93c729ad34e9728f7c838c49f0e87349ae35feef1610b83a345c64c5b190fb5857bf0aa8419efba35789c258f19e8713e2729c184eab9d9c33a32ab3731d77e207a91849625bb855e581ca0be5d9f961aab9d65b463e416ee3d636ece573ead0d088a2fe05d87dd5ed21031f4dbea831112d3bd0e1cc1087a8395430cde3cb54d22a5965dd825329bee8c62d4599fb67ff90260204c6e608e6246f768e29a60cb85f580d4751f9c017cbf4e6062a160c6ff1d0c9d303a2c862a4986e22f72da79b17b868cee189a2 +Ctrl.hexxcghash = hexxcghash:61e49599eb3b01e3d7bc65415ce7004e20bf77805a4ff09681f3856adc129943 +Ctrl.hexsession_id = hexsession_id:832400eb1c4031502f7249d0a4279a7cbe4d4d6979289d02837d98b9ca16ff46 +Ctrl.type = type:C +Output = 3ec64c8571c7c7f39a9f37c0e1053324 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001010089b741b0b9a6704f56df9aafe5f4294828fdc67f4243e9aa9b1d83166ad892f2d970fdff65eba7fa5eddb954dd86bda5262e084752c69c6b93c729ad34e9728f7c838c49f0e87349ae35feef1610b83a345c64c5b190fb5857bf0aa8419efba35789c258f19e8713e2729c184eab9d9c33a32ab3731d77e207a91849625bb855e581ca0be5d9f961aab9d65b463e416ee3d636ece573ead0d088a2fe05d87dd5ed21031f4dbea831112d3bd0e1cc1087a8395430cde3cb54d22a5965dd825329bee8c62d4599fb67ff90260204c6e608e6246f768e29a60cb85f580d4751f9c017cbf4e6062a160c6ff1d0c9d303a2c862a4986e22f72da79b17b868cee189a2 +Ctrl.hexxcghash = hexxcghash:61e49599eb3b01e3d7bc65415ce7004e20bf77805a4ff09681f3856adc129943 +Ctrl.hexsession_id = hexsession_id:832400eb1c4031502f7249d0a4279a7cbe4d4d6979289d02837d98b9ca16ff46 +Ctrl.type = type:D +Output = 846d40dc45123f2710e27bd3140070c8 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001010089b741b0b9a6704f56df9aafe5f4294828fdc67f4243e9aa9b1d83166ad892f2d970fdff65eba7fa5eddb954dd86bda5262e084752c69c6b93c729ad34e9728f7c838c49f0e87349ae35feef1610b83a345c64c5b190fb5857bf0aa8419efba35789c258f19e8713e2729c184eab9d9c33a32ab3731d77e207a91849625bb855e581ca0be5d9f961aab9d65b463e416ee3d636ece573ead0d088a2fe05d87dd5ed21031f4dbea831112d3bd0e1cc1087a8395430cde3cb54d22a5965dd825329bee8c62d4599fb67ff90260204c6e608e6246f768e29a60cb85f580d4751f9c017cbf4e6062a160c6ff1d0c9d303a2c862a4986e22f72da79b17b868cee189a2 +Ctrl.hexxcghash = hexxcghash:61e49599eb3b01e3d7bc65415ce7004e20bf77805a4ff09681f3856adc129943 +Ctrl.hexsession_id = hexsession_id:832400eb1c4031502f7249d0a4279a7cbe4d4d6979289d02837d98b9ca16ff46 +Ctrl.type = type:E +Output = c2199b9bd701c2f4ee82a145adc28f3e8fac0af8dd43cb7f3da173681bcad2e0 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001010089b741b0b9a6704f56df9aafe5f4294828fdc67f4243e9aa9b1d83166ad892f2d970fdff65eba7fa5eddb954dd86bda5262e084752c69c6b93c729ad34e9728f7c838c49f0e87349ae35feef1610b83a345c64c5b190fb5857bf0aa8419efba35789c258f19e8713e2729c184eab9d9c33a32ab3731d77e207a91849625bb855e581ca0be5d9f961aab9d65b463e416ee3d636ece573ead0d088a2fe05d87dd5ed21031f4dbea831112d3bd0e1cc1087a8395430cde3cb54d22a5965dd825329bee8c62d4599fb67ff90260204c6e608e6246f768e29a60cb85f580d4751f9c017cbf4e6062a160c6ff1d0c9d303a2c862a4986e22f72da79b17b868cee189a2 +Ctrl.hexxcghash = hexxcghash:61e49599eb3b01e3d7bc65415ce7004e20bf77805a4ff09681f3856adc129943 +Ctrl.hexsession_id = hexsession_id:832400eb1c4031502f7249d0a4279a7cbe4d4d6979289d02837d98b9ca16ff46 +Ctrl.type = type:F +Output = 49f5fb8862a4f01900f9f76d6146f181483428beadb000d4f5097adf59c5eb99 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000010100f7217049f9cc4f3d59ea109a06ac3cfb79fc05dc349e1c54482072c467e503494d845004c278dabd9338d3bdb3c2f3c58cb264d65575d9946961345dcda5b9ce59cc8fdfc994acb74fe8f3b1fc143abceedc541ae74d69cd543fa7438ac5b5c84168d6e6f7fba2722c279b7cd0c1e07cdd59bb231f17174d33b7c1a6eb199cfa093476cdd31292f3bff20ae224459caaec461c76d741f0e9269ba96676a3ccebe986a3843a36747a0998bb3feaba41671db20368867a13875f76136b2418b6c807335a7133b4e4fbc0e908516ce97458abec2a32355fb061237bada4e07b950a2b1c8d41201f1c0a41c771d990e4741fef6e2eb5cd106c3b4b6000ad07b482ad +Ctrl.hexxcghash = hexxcghash:be79b302374817c2fd052704dfba5e98b05a8346db9269e6401265a1c7970d98 +Ctrl.hexsession_id = hexsession_id:def8533bf220d0c632aa4f1b16168e51c0be904c6f299225b30bd7df7bbdc6f2 +Ctrl.type = type:A +Output = 50afb2f3b8a3bc466b3a68f04da0d56c + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000010100f7217049f9cc4f3d59ea109a06ac3cfb79fc05dc349e1c54482072c467e503494d845004c278dabd9338d3bdb3c2f3c58cb264d65575d9946961345dcda5b9ce59cc8fdfc994acb74fe8f3b1fc143abceedc541ae74d69cd543fa7438ac5b5c84168d6e6f7fba2722c279b7cd0c1e07cdd59bb231f17174d33b7c1a6eb199cfa093476cdd31292f3bff20ae224459caaec461c76d741f0e9269ba96676a3ccebe986a3843a36747a0998bb3feaba41671db20368867a13875f76136b2418b6c807335a7133b4e4fbc0e908516ce97458abec2a32355fb061237bada4e07b950a2b1c8d41201f1c0a41c771d990e4741fef6e2eb5cd106c3b4b6000ad07b482ad +Ctrl.hexxcghash = hexxcghash:be79b302374817c2fd052704dfba5e98b05a8346db9269e6401265a1c7970d98 +Ctrl.hexsession_id = hexsession_id:def8533bf220d0c632aa4f1b16168e51c0be904c6f299225b30bd7df7bbdc6f2 +Ctrl.type = type:B +Output = b8672a8cc59ee1316fb9a2c0a82ffd73 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000010100f7217049f9cc4f3d59ea109a06ac3cfb79fc05dc349e1c54482072c467e503494d845004c278dabd9338d3bdb3c2f3c58cb264d65575d9946961345dcda5b9ce59cc8fdfc994acb74fe8f3b1fc143abceedc541ae74d69cd543fa7438ac5b5c84168d6e6f7fba2722c279b7cd0c1e07cdd59bb231f17174d33b7c1a6eb199cfa093476cdd31292f3bff20ae224459caaec461c76d741f0e9269ba96676a3ccebe986a3843a36747a0998bb3feaba41671db20368867a13875f76136b2418b6c807335a7133b4e4fbc0e908516ce97458abec2a32355fb061237bada4e07b950a2b1c8d41201f1c0a41c771d990e4741fef6e2eb5cd106c3b4b6000ad07b482ad +Ctrl.hexxcghash = hexxcghash:be79b302374817c2fd052704dfba5e98b05a8346db9269e6401265a1c7970d98 +Ctrl.hexsession_id = hexsession_id:def8533bf220d0c632aa4f1b16168e51c0be904c6f299225b30bd7df7bbdc6f2 +Ctrl.type = type:C +Output = d854cbdb8f7544b796f982e4973d4de9 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000010100f7217049f9cc4f3d59ea109a06ac3cfb79fc05dc349e1c54482072c467e503494d845004c278dabd9338d3bdb3c2f3c58cb264d65575d9946961345dcda5b9ce59cc8fdfc994acb74fe8f3b1fc143abceedc541ae74d69cd543fa7438ac5b5c84168d6e6f7fba2722c279b7cd0c1e07cdd59bb231f17174d33b7c1a6eb199cfa093476cdd31292f3bff20ae224459caaec461c76d741f0e9269ba96676a3ccebe986a3843a36747a0998bb3feaba41671db20368867a13875f76136b2418b6c807335a7133b4e4fbc0e908516ce97458abec2a32355fb061237bada4e07b950a2b1c8d41201f1c0a41c771d990e4741fef6e2eb5cd106c3b4b6000ad07b482ad +Ctrl.hexxcghash = hexxcghash:be79b302374817c2fd052704dfba5e98b05a8346db9269e6401265a1c7970d98 +Ctrl.hexsession_id = hexsession_id:def8533bf220d0c632aa4f1b16168e51c0be904c6f299225b30bd7df7bbdc6f2 +Ctrl.type = type:D +Output = bd6bde82c451ee39069d0794f7000f38 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000010100f7217049f9cc4f3d59ea109a06ac3cfb79fc05dc349e1c54482072c467e503494d845004c278dabd9338d3bdb3c2f3c58cb264d65575d9946961345dcda5b9ce59cc8fdfc994acb74fe8f3b1fc143abceedc541ae74d69cd543fa7438ac5b5c84168d6e6f7fba2722c279b7cd0c1e07cdd59bb231f17174d33b7c1a6eb199cfa093476cdd31292f3bff20ae224459caaec461c76d741f0e9269ba96676a3ccebe986a3843a36747a0998bb3feaba41671db20368867a13875f76136b2418b6c807335a7133b4e4fbc0e908516ce97458abec2a32355fb061237bada4e07b950a2b1c8d41201f1c0a41c771d990e4741fef6e2eb5cd106c3b4b6000ad07b482ad +Ctrl.hexxcghash = hexxcghash:be79b302374817c2fd052704dfba5e98b05a8346db9269e6401265a1c7970d98 +Ctrl.hexsession_id = hexsession_id:def8533bf220d0c632aa4f1b16168e51c0be904c6f299225b30bd7df7bbdc6f2 +Ctrl.type = type:E +Output = 270794ec70fcd9d742aad66c54001b4c218ae8cca813453560a9aeaacc6909ec + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:0000010100f7217049f9cc4f3d59ea109a06ac3cfb79fc05dc349e1c54482072c467e503494d845004c278dabd9338d3bdb3c2f3c58cb264d65575d9946961345dcda5b9ce59cc8fdfc994acb74fe8f3b1fc143abceedc541ae74d69cd543fa7438ac5b5c84168d6e6f7fba2722c279b7cd0c1e07cdd59bb231f17174d33b7c1a6eb199cfa093476cdd31292f3bff20ae224459caaec461c76d741f0e9269ba96676a3ccebe986a3843a36747a0998bb3feaba41671db20368867a13875f76136b2418b6c807335a7133b4e4fbc0e908516ce97458abec2a32355fb061237bada4e07b950a2b1c8d41201f1c0a41c771d990e4741fef6e2eb5cd106c3b4b6000ad07b482ad +Ctrl.hexxcghash = hexxcghash:be79b302374817c2fd052704dfba5e98b05a8346db9269e6401265a1c7970d98 +Ctrl.hexsession_id = hexsession_id:def8533bf220d0c632aa4f1b16168e51c0be904c6f299225b30bd7df7bbdc6f2 +Ctrl.type = type:F +Output = e967df7571a0eb82f59ddfead22c617beeefa25ce4afd80ac8320bc2635c70d0 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001001b3a1cab1e87a29e229efcae0f569d855a61d6da6ea0ae5bed3491c7bdb5f70f6caf8dc305100160bbf6ecd726b11799da685ce4528ee689fe292043e318ad9f797bd5746399e007cf1f40d7918b85e4607f6e674da84709543dd0d50ad1d5c993770b4d0c045fdef89d5534c3d77edd8dc4536a10cc2b5d0bd14caa7e029ba8a81d5f5fb16524b56ddb9f35d96593955514b80d89b711ff717e11ad3d691424f6cefc5c613b04e5532d89f91383e4a6f45058604bb63876b1308dc7eb8f86cb5c032e6f1f061646e0bbf27b0c7eaa8216ba9381cb7734df24fe6691183c4823d3b645f3139a45b2b8ee3909bb431477f332ea3616b919724782fda8546a3235 +Ctrl.hexxcghash = hexxcghash:fe491f41cdbcaec6b8821eda916eb03bc1a0e934c14850696f79bd30c73a18e2 +Ctrl.hexsession_id = hexsession_id:df1c0910cf8b81ca157916b8ac0411b7363f62ce10ee23cbb69ddfe8c3f16be9 +Ctrl.type = type:A +Output = ebb3d10f461d8697a064461822f34507 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001001b3a1cab1e87a29e229efcae0f569d855a61d6da6ea0ae5bed3491c7bdb5f70f6caf8dc305100160bbf6ecd726b11799da685ce4528ee689fe292043e318ad9f797bd5746399e007cf1f40d7918b85e4607f6e674da84709543dd0d50ad1d5c993770b4d0c045fdef89d5534c3d77edd8dc4536a10cc2b5d0bd14caa7e029ba8a81d5f5fb16524b56ddb9f35d96593955514b80d89b711ff717e11ad3d691424f6cefc5c613b04e5532d89f91383e4a6f45058604bb63876b1308dc7eb8f86cb5c032e6f1f061646e0bbf27b0c7eaa8216ba9381cb7734df24fe6691183c4823d3b645f3139a45b2b8ee3909bb431477f332ea3616b919724782fda8546a3235 +Ctrl.hexxcghash = hexxcghash:fe491f41cdbcaec6b8821eda916eb03bc1a0e934c14850696f79bd30c73a18e2 +Ctrl.hexsession_id = hexsession_id:df1c0910cf8b81ca157916b8ac0411b7363f62ce10ee23cbb69ddfe8c3f16be9 +Ctrl.type = type:B +Output = bb95f9cbed695529fd7977281332100b + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001001b3a1cab1e87a29e229efcae0f569d855a61d6da6ea0ae5bed3491c7bdb5f70f6caf8dc305100160bbf6ecd726b11799da685ce4528ee689fe292043e318ad9f797bd5746399e007cf1f40d7918b85e4607f6e674da84709543dd0d50ad1d5c993770b4d0c045fdef89d5534c3d77edd8dc4536a10cc2b5d0bd14caa7e029ba8a81d5f5fb16524b56ddb9f35d96593955514b80d89b711ff717e11ad3d691424f6cefc5c613b04e5532d89f91383e4a6f45058604bb63876b1308dc7eb8f86cb5c032e6f1f061646e0bbf27b0c7eaa8216ba9381cb7734df24fe6691183c4823d3b645f3139a45b2b8ee3909bb431477f332ea3616b919724782fda8546a3235 +Ctrl.hexxcghash = hexxcghash:fe491f41cdbcaec6b8821eda916eb03bc1a0e934c14850696f79bd30c73a18e2 +Ctrl.hexsession_id = hexsession_id:df1c0910cf8b81ca157916b8ac0411b7363f62ce10ee23cbb69ddfe8c3f16be9 +Ctrl.type = type:C +Output = da1318a6a34224cc86c9afa41991db4b + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001001b3a1cab1e87a29e229efcae0f569d855a61d6da6ea0ae5bed3491c7bdb5f70f6caf8dc305100160bbf6ecd726b11799da685ce4528ee689fe292043e318ad9f797bd5746399e007cf1f40d7918b85e4607f6e674da84709543dd0d50ad1d5c993770b4d0c045fdef89d5534c3d77edd8dc4536a10cc2b5d0bd14caa7e029ba8a81d5f5fb16524b56ddb9f35d96593955514b80d89b711ff717e11ad3d691424f6cefc5c613b04e5532d89f91383e4a6f45058604bb63876b1308dc7eb8f86cb5c032e6f1f061646e0bbf27b0c7eaa8216ba9381cb7734df24fe6691183c4823d3b645f3139a45b2b8ee3909bb431477f332ea3616b919724782fda8546a3235 +Ctrl.hexxcghash = hexxcghash:fe491f41cdbcaec6b8821eda916eb03bc1a0e934c14850696f79bd30c73a18e2 +Ctrl.hexsession_id = hexsession_id:df1c0910cf8b81ca157916b8ac0411b7363f62ce10ee23cbb69ddfe8c3f16be9 +Ctrl.type = type:D +Output = 091f8fa87a01c5768de8d663ba8bf9d7 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001001b3a1cab1e87a29e229efcae0f569d855a61d6da6ea0ae5bed3491c7bdb5f70f6caf8dc305100160bbf6ecd726b11799da685ce4528ee689fe292043e318ad9f797bd5746399e007cf1f40d7918b85e4607f6e674da84709543dd0d50ad1d5c993770b4d0c045fdef89d5534c3d77edd8dc4536a10cc2b5d0bd14caa7e029ba8a81d5f5fb16524b56ddb9f35d96593955514b80d89b711ff717e11ad3d691424f6cefc5c613b04e5532d89f91383e4a6f45058604bb63876b1308dc7eb8f86cb5c032e6f1f061646e0bbf27b0c7eaa8216ba9381cb7734df24fe6691183c4823d3b645f3139a45b2b8ee3909bb431477f332ea3616b919724782fda8546a3235 +Ctrl.hexxcghash = hexxcghash:fe491f41cdbcaec6b8821eda916eb03bc1a0e934c14850696f79bd30c73a18e2 +Ctrl.hexsession_id = hexsession_id:df1c0910cf8b81ca157916b8ac0411b7363f62ce10ee23cbb69ddfe8c3f16be9 +Ctrl.type = type:E +Output = cc09127a759000f3bd9724fbf5285cd680ee323ffc19cf2f495403f896587317 + +KDF = SSHKDF +Ctrl.md = md:SHA256 +Ctrl.hexkey = hexkey:000001001b3a1cab1e87a29e229efcae0f569d855a61d6da6ea0ae5bed3491c7bdb5f70f6caf8dc305100160bbf6ecd726b11799da685ce4528ee689fe292043e318ad9f797bd5746399e007cf1f40d7918b85e4607f6e674da84709543dd0d50ad1d5c993770b4d0c045fdef89d5534c3d77edd8dc4536a10cc2b5d0bd14caa7e029ba8a81d5f5fb16524b56ddb9f35d96593955514b80d89b711ff717e11ad3d691424f6cefc5c613b04e5532d89f91383e4a6f45058604bb63876b1308dc7eb8f86cb5c032e6f1f061646e0bbf27b0c7eaa8216ba9381cb7734df24fe6691183c4823d3b645f3139a45b2b8ee3909bb431477f332ea3616b919724782fda8546a3235 +Ctrl.hexxcghash = hexxcghash:fe491f41cdbcaec6b8821eda916eb03bc1a0e934c14850696f79bd30c73a18e2 +Ctrl.hexsession_id = hexsession_id:df1c0910cf8b81ca157916b8ac0411b7363f62ce10ee23cbb69ddfe8c3f16be9 +Ctrl.type = type:F +Output = a3ceddafc49f7c0131ce2965945c3892be6605b465877bc0637685612ede242b + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100941456bd72267a90690ffc873528f4b76394431aceee1e24a7bed414568d9b97c84ce13d34a2b4a63ef735bac23af0b7fa634a9e56c2d775c741a61d63981332f9027d3f52c4a9a3adb83e96d39f7e6bb72514797da32f2f0edb59accfc58a49fc34b198e0285b31032ac9f06907def196f5748bd32ce22a5383a1bbdbd31f24 +Ctrl.hexxcghash = hexxcghash:e0dee80ccc162884393930ad2073d92120c804254162446b7d048f85a1a4dd7b636a09b69252b80952a0581e9490ee5a +Ctrl.hexsession_id = hexsession_id:e0dee80ccc162884393930ad2073d92120c804254162446b7d048f85a1a4dd7b636a09b69252b80952a0581e9490ee5a +Ctrl.type = type:A +Output = d31c16f67b17bc69 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100941456bd72267a90690ffc873528f4b76394431aceee1e24a7bed414568d9b97c84ce13d34a2b4a63ef735bac23af0b7fa634a9e56c2d775c741a61d63981332f9027d3f52c4a9a3adb83e96d39f7e6bb72514797da32f2f0edb59accfc58a49fc34b198e0285b31032ac9f06907def196f5748bd32ce22a5383a1bbdbd31f24 +Ctrl.hexxcghash = hexxcghash:e0dee80ccc162884393930ad2073d92120c804254162446b7d048f85a1a4dd7b636a09b69252b80952a0581e9490ee5a +Ctrl.hexsession_id = hexsession_id:e0dee80ccc162884393930ad2073d92120c804254162446b7d048f85a1a4dd7b636a09b69252b80952a0581e9490ee5a +Ctrl.type = type:B +Output = 675340f27269e7ae + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100941456bd72267a90690ffc873528f4b76394431aceee1e24a7bed414568d9b97c84ce13d34a2b4a63ef735bac23af0b7fa634a9e56c2d775c741a61d63981332f9027d3f52c4a9a3adb83e96d39f7e6bb72514797da32f2f0edb59accfc58a49fc34b198e0285b31032ac9f06907def196f5748bd32ce22a5383a1bbdbd31f24 +Ctrl.hexxcghash = hexxcghash:e0dee80ccc162884393930ad2073d92120c804254162446b7d048f85a1a4dd7b636a09b69252b80952a0581e9490ee5a +Ctrl.hexsession_id = hexsession_id:e0dee80ccc162884393930ad2073d92120c804254162446b7d048f85a1a4dd7b636a09b69252b80952a0581e9490ee5a +Ctrl.type = type:C +Output = 2ffed577a90d29872ea59f3782c3b406908d7394ff63c9d7 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100941456bd72267a90690ffc873528f4b76394431aceee1e24a7bed414568d9b97c84ce13d34a2b4a63ef735bac23af0b7fa634a9e56c2d775c741a61d63981332f9027d3f52c4a9a3adb83e96d39f7e6bb72514797da32f2f0edb59accfc58a49fc34b198e0285b31032ac9f06907def196f5748bd32ce22a5383a1bbdbd31f24 +Ctrl.hexxcghash = hexxcghash:e0dee80ccc162884393930ad2073d92120c804254162446b7d048f85a1a4dd7b636a09b69252b80952a0581e9490ee5a +Ctrl.hexsession_id = hexsession_id:e0dee80ccc162884393930ad2073d92120c804254162446b7d048f85a1a4dd7b636a09b69252b80952a0581e9490ee5a +Ctrl.type = type:D +Output = fae751987c1fa8665e4387e410297db58ff69b260a8fe85f + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100941456bd72267a90690ffc873528f4b76394431aceee1e24a7bed414568d9b97c84ce13d34a2b4a63ef735bac23af0b7fa634a9e56c2d775c741a61d63981332f9027d3f52c4a9a3adb83e96d39f7e6bb72514797da32f2f0edb59accfc58a49fc34b198e0285b31032ac9f06907def196f5748bd32ce22a5383a1bbdbd31f24 +Ctrl.hexxcghash = hexxcghash:e0dee80ccc162884393930ad2073d92120c804254162446b7d048f85a1a4dd7b636a09b69252b80952a0581e9490ee5a +Ctrl.hexsession_id = hexsession_id:e0dee80ccc162884393930ad2073d92120c804254162446b7d048f85a1a4dd7b636a09b69252b80952a0581e9490ee5a +Ctrl.type = type:E +Output = ff2db5975edf3824325b257455791869434c6af47fb0c8145253c2695abfd2b8c980565ad20e6b9313ba44ee488bafb0 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100941456bd72267a90690ffc873528f4b76394431aceee1e24a7bed414568d9b97c84ce13d34a2b4a63ef735bac23af0b7fa634a9e56c2d775c741a61d63981332f9027d3f52c4a9a3adb83e96d39f7e6bb72514797da32f2f0edb59accfc58a49fc34b198e0285b31032ac9f06907def196f5748bd32ce22a5383a1bbdbd31f24 +Ctrl.hexxcghash = hexxcghash:e0dee80ccc162884393930ad2073d92120c804254162446b7d048f85a1a4dd7b636a09b69252b80952a0581e9490ee5a +Ctrl.hexsession_id = hexsession_id:e0dee80ccc162884393930ad2073d92120c804254162446b7d048f85a1a4dd7b636a09b69252b80952a0581e9490ee5a +Ctrl.type = type:F +Output = 85a9463cd653c7619d4dc85006406d6ed3364220419ca13810301be0f0389d932ddeaebb0e504a0849e2e73a7d087db2 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000080319534aabf1100b1ef3ec089ba6e5b25946bdf67cbc92493c29d0e63765ee38dc27e15720393d6aa5741b2129b24ee6a71c079190588232f4facadd034dd6e456bf45aedf72a059eca591ceb2d7c50f8ae918528872f40eaf62faa511d6bfbed4b8613163c42b99eb30c20ecce1c36a78b93fb0046467a0bcb41dfa1e609b61b +Ctrl.hexxcghash = hexxcghash:0f831ff3e907b3f0922722bd8073b2c263c77c7f552c0b0b12be68f19520b1ae2bbf62a9dba0f582d5f0197c0d534f6e +Ctrl.hexsession_id = hexsession_id:dede417f4b45d58d54cbe59e7d80bab3150ccd99583aa87f7ecde731462d074edf49907278819043341d1fe20e136563 +Ctrl.type = type:A +Output = 93323451441b761f + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000080319534aabf1100b1ef3ec089ba6e5b25946bdf67cbc92493c29d0e63765ee38dc27e15720393d6aa5741b2129b24ee6a71c079190588232f4facadd034dd6e456bf45aedf72a059eca591ceb2d7c50f8ae918528872f40eaf62faa511d6bfbed4b8613163c42b99eb30c20ecce1c36a78b93fb0046467a0bcb41dfa1e609b61b +Ctrl.hexxcghash = hexxcghash:0f831ff3e907b3f0922722bd8073b2c263c77c7f552c0b0b12be68f19520b1ae2bbf62a9dba0f582d5f0197c0d534f6e +Ctrl.hexsession_id = hexsession_id:dede417f4b45d58d54cbe59e7d80bab3150ccd99583aa87f7ecde731462d074edf49907278819043341d1fe20e136563 +Ctrl.type = type:B +Output = 3dbfdc2364807ecc + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000080319534aabf1100b1ef3ec089ba6e5b25946bdf67cbc92493c29d0e63765ee38dc27e15720393d6aa5741b2129b24ee6a71c079190588232f4facadd034dd6e456bf45aedf72a059eca591ceb2d7c50f8ae918528872f40eaf62faa511d6bfbed4b8613163c42b99eb30c20ecce1c36a78b93fb0046467a0bcb41dfa1e609b61b +Ctrl.hexxcghash = hexxcghash:0f831ff3e907b3f0922722bd8073b2c263c77c7f552c0b0b12be68f19520b1ae2bbf62a9dba0f582d5f0197c0d534f6e +Ctrl.hexsession_id = hexsession_id:dede417f4b45d58d54cbe59e7d80bab3150ccd99583aa87f7ecde731462d074edf49907278819043341d1fe20e136563 +Ctrl.type = type:C +Output = c699e3488f825fb24c5e2adc699ec83a5d8fce339fa0e9b0 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000080319534aabf1100b1ef3ec089ba6e5b25946bdf67cbc92493c29d0e63765ee38dc27e15720393d6aa5741b2129b24ee6a71c079190588232f4facadd034dd6e456bf45aedf72a059eca591ceb2d7c50f8ae918528872f40eaf62faa511d6bfbed4b8613163c42b99eb30c20ecce1c36a78b93fb0046467a0bcb41dfa1e609b61b +Ctrl.hexxcghash = hexxcghash:0f831ff3e907b3f0922722bd8073b2c263c77c7f552c0b0b12be68f19520b1ae2bbf62a9dba0f582d5f0197c0d534f6e +Ctrl.hexsession_id = hexsession_id:dede417f4b45d58d54cbe59e7d80bab3150ccd99583aa87f7ecde731462d074edf49907278819043341d1fe20e136563 +Ctrl.type = type:D +Output = a250b13da0716f2d4440cc4cac01a2d591002ebfaada9758 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000080319534aabf1100b1ef3ec089ba6e5b25946bdf67cbc92493c29d0e63765ee38dc27e15720393d6aa5741b2129b24ee6a71c079190588232f4facadd034dd6e456bf45aedf72a059eca591ceb2d7c50f8ae918528872f40eaf62faa511d6bfbed4b8613163c42b99eb30c20ecce1c36a78b93fb0046467a0bcb41dfa1e609b61b +Ctrl.hexxcghash = hexxcghash:0f831ff3e907b3f0922722bd8073b2c263c77c7f552c0b0b12be68f19520b1ae2bbf62a9dba0f582d5f0197c0d534f6e +Ctrl.hexsession_id = hexsession_id:dede417f4b45d58d54cbe59e7d80bab3150ccd99583aa87f7ecde731462d074edf49907278819043341d1fe20e136563 +Ctrl.type = type:E +Output = 76966a1b7d5f250eea3696077a373b9421e8294dd7cb0aedd172cf9c6879ef34c9deb9c208f11c5d4b6fd713b576894d + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000080319534aabf1100b1ef3ec089ba6e5b25946bdf67cbc92493c29d0e63765ee38dc27e15720393d6aa5741b2129b24ee6a71c079190588232f4facadd034dd6e456bf45aedf72a059eca591ceb2d7c50f8ae918528872f40eaf62faa511d6bfbed4b8613163c42b99eb30c20ecce1c36a78b93fb0046467a0bcb41dfa1e609b61b +Ctrl.hexxcghash = hexxcghash:0f831ff3e907b3f0922722bd8073b2c263c77c7f552c0b0b12be68f19520b1ae2bbf62a9dba0f582d5f0197c0d534f6e +Ctrl.hexsession_id = hexsession_id:dede417f4b45d58d54cbe59e7d80bab3150ccd99583aa87f7ecde731462d074edf49907278819043341d1fe20e136563 +Ctrl.type = type:F +Output = 28a66e21fe7f8a070fe40ecf68a64f2a35a46b84ac38810902639906611053832179d5c07a8422993496059af67f585f + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000803b4fd086d25a4bf0b5347a2e323d45525b12a3df508b9129ae7d51637b6fc76aba743d7ee254888ee6d49314ebd8b82e25d187e80770ff6365fbfe96029e23b92ccbb2bfb4cf27e175cd09154b0e68d75a84c490f936ee0366180f781049ddcfefcb4bf25409ba8a8a9a3296cf0619bc51363abfd58cea3d0480673d8ac8370a +Ctrl.hexxcghash = hexxcghash:8fbe46474bf6ccdad0f706492c4b534cf5698b38afc4b21a6af4a00c3ccda689cf5382e5de34a48bd798f083570ad411 +Ctrl.hexsession_id = hexsession_id:a397aa78a58fcf619f1e8368018d6e40934d4befc96671a63aea4558d5e54c9f42bdca50f618ec84b2d19b539a1f10f1 +Ctrl.type = type:A +Output = b0db344b1e2e98d3 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000803b4fd086d25a4bf0b5347a2e323d45525b12a3df508b9129ae7d51637b6fc76aba743d7ee254888ee6d49314ebd8b82e25d187e80770ff6365fbfe96029e23b92ccbb2bfb4cf27e175cd09154b0e68d75a84c490f936ee0366180f781049ddcfefcb4bf25409ba8a8a9a3296cf0619bc51363abfd58cea3d0480673d8ac8370a +Ctrl.hexxcghash = hexxcghash:8fbe46474bf6ccdad0f706492c4b534cf5698b38afc4b21a6af4a00c3ccda689cf5382e5de34a48bd798f083570ad411 +Ctrl.hexsession_id = hexsession_id:a397aa78a58fcf619f1e8368018d6e40934d4befc96671a63aea4558d5e54c9f42bdca50f618ec84b2d19b539a1f10f1 +Ctrl.type = type:B +Output = 29fcd6a7d317f527 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000803b4fd086d25a4bf0b5347a2e323d45525b12a3df508b9129ae7d51637b6fc76aba743d7ee254888ee6d49314ebd8b82e25d187e80770ff6365fbfe96029e23b92ccbb2bfb4cf27e175cd09154b0e68d75a84c490f936ee0366180f781049ddcfefcb4bf25409ba8a8a9a3296cf0619bc51363abfd58cea3d0480673d8ac8370a +Ctrl.hexxcghash = hexxcghash:8fbe46474bf6ccdad0f706492c4b534cf5698b38afc4b21a6af4a00c3ccda689cf5382e5de34a48bd798f083570ad411 +Ctrl.hexsession_id = hexsession_id:a397aa78a58fcf619f1e8368018d6e40934d4befc96671a63aea4558d5e54c9f42bdca50f618ec84b2d19b539a1f10f1 +Ctrl.type = type:C +Output = 156f9d4c58d7783959e785af3fefb133662009b93891bff7 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000803b4fd086d25a4bf0b5347a2e323d45525b12a3df508b9129ae7d51637b6fc76aba743d7ee254888ee6d49314ebd8b82e25d187e80770ff6365fbfe96029e23b92ccbb2bfb4cf27e175cd09154b0e68d75a84c490f936ee0366180f781049ddcfefcb4bf25409ba8a8a9a3296cf0619bc51363abfd58cea3d0480673d8ac8370a +Ctrl.hexxcghash = hexxcghash:8fbe46474bf6ccdad0f706492c4b534cf5698b38afc4b21a6af4a00c3ccda689cf5382e5de34a48bd798f083570ad411 +Ctrl.hexsession_id = hexsession_id:a397aa78a58fcf619f1e8368018d6e40934d4befc96671a63aea4558d5e54c9f42bdca50f618ec84b2d19b539a1f10f1 +Ctrl.type = type:D +Output = c4bc4471e2c7f04dbef9100977e222f4156a7118a122f6cd + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000803b4fd086d25a4bf0b5347a2e323d45525b12a3df508b9129ae7d51637b6fc76aba743d7ee254888ee6d49314ebd8b82e25d187e80770ff6365fbfe96029e23b92ccbb2bfb4cf27e175cd09154b0e68d75a84c490f936ee0366180f781049ddcfefcb4bf25409ba8a8a9a3296cf0619bc51363abfd58cea3d0480673d8ac8370a +Ctrl.hexxcghash = hexxcghash:8fbe46474bf6ccdad0f706492c4b534cf5698b38afc4b21a6af4a00c3ccda689cf5382e5de34a48bd798f083570ad411 +Ctrl.hexsession_id = hexsession_id:a397aa78a58fcf619f1e8368018d6e40934d4befc96671a63aea4558d5e54c9f42bdca50f618ec84b2d19b539a1f10f1 +Ctrl.type = type:E +Output = 5878fdbf693638430e31b287ad8cfab560d952d7a828167bd0454e0c8aa14274c7c0c1921a31575f77fd80144e6d2999 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000803b4fd086d25a4bf0b5347a2e323d45525b12a3df508b9129ae7d51637b6fc76aba743d7ee254888ee6d49314ebd8b82e25d187e80770ff6365fbfe96029e23b92ccbb2bfb4cf27e175cd09154b0e68d75a84c490f936ee0366180f781049ddcfefcb4bf25409ba8a8a9a3296cf0619bc51363abfd58cea3d0480673d8ac8370a +Ctrl.hexxcghash = hexxcghash:8fbe46474bf6ccdad0f706492c4b534cf5698b38afc4b21a6af4a00c3ccda689cf5382e5de34a48bd798f083570ad411 +Ctrl.hexsession_id = hexsession_id:a397aa78a58fcf619f1e8368018d6e40934d4befc96671a63aea4558d5e54c9f42bdca50f618ec84b2d19b539a1f10f1 +Ctrl.type = type:F +Output = 1fdb34ae9d2f12363350dd5aeefe728066500a083668ac2d48af671d7651a67acdf9b7a0581b922e67278d53f0b2fb17 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000801a3eab3e516f776ab0a282861a42fec52223859d5af2da778727bd0363ba5983b5d883cd75132c94351a7b5b23fba10aec35a78ab03ba183682b4d3e72c67bd1e6b83afc5178c97624f718243d9377694f085e15cef33040fca144e856c74ab0e70dbf4a7766aa916e5edf184ae7dbd3f19d2491e45828fe5969d61075695e39 +Ctrl.hexxcghash = hexxcghash:5e9be9089c8b952d8ffdb0cbdbe5bb6c1f336e6620292da1ab5eb92eef379655579e24cd6273bd4f552d46dfa87df917 +Ctrl.hexsession_id = hexsession_id:c54542e32ba1ae8c266781c6d14c8356d6f548cfdb8a303c4f1c947318610eed8ae3d6d4350ab4dddc7f9202a510d32e +Ctrl.type = type:A +Output = c828150149eb433a + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000801a3eab3e516f776ab0a282861a42fec52223859d5af2da778727bd0363ba5983b5d883cd75132c94351a7b5b23fba10aec35a78ab03ba183682b4d3e72c67bd1e6b83afc5178c97624f718243d9377694f085e15cef33040fca144e856c74ab0e70dbf4a7766aa916e5edf184ae7dbd3f19d2491e45828fe5969d61075695e39 +Ctrl.hexxcghash = hexxcghash:5e9be9089c8b952d8ffdb0cbdbe5bb6c1f336e6620292da1ab5eb92eef379655579e24cd6273bd4f552d46dfa87df917 +Ctrl.hexsession_id = hexsession_id:c54542e32ba1ae8c266781c6d14c8356d6f548cfdb8a303c4f1c947318610eed8ae3d6d4350ab4dddc7f9202a510d32e +Ctrl.type = type:B +Output = 45636e088875de58 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000801a3eab3e516f776ab0a282861a42fec52223859d5af2da778727bd0363ba5983b5d883cd75132c94351a7b5b23fba10aec35a78ab03ba183682b4d3e72c67bd1e6b83afc5178c97624f718243d9377694f085e15cef33040fca144e856c74ab0e70dbf4a7766aa916e5edf184ae7dbd3f19d2491e45828fe5969d61075695e39 +Ctrl.hexxcghash = hexxcghash:5e9be9089c8b952d8ffdb0cbdbe5bb6c1f336e6620292da1ab5eb92eef379655579e24cd6273bd4f552d46dfa87df917 +Ctrl.hexsession_id = hexsession_id:c54542e32ba1ae8c266781c6d14c8356d6f548cfdb8a303c4f1c947318610eed8ae3d6d4350ab4dddc7f9202a510d32e +Ctrl.type = type:C +Output = 75da9408e65f61dac9dafa496675214b0d84b0e66feb68fe + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000801a3eab3e516f776ab0a282861a42fec52223859d5af2da778727bd0363ba5983b5d883cd75132c94351a7b5b23fba10aec35a78ab03ba183682b4d3e72c67bd1e6b83afc5178c97624f718243d9377694f085e15cef33040fca144e856c74ab0e70dbf4a7766aa916e5edf184ae7dbd3f19d2491e45828fe5969d61075695e39 +Ctrl.hexxcghash = hexxcghash:5e9be9089c8b952d8ffdb0cbdbe5bb6c1f336e6620292da1ab5eb92eef379655579e24cd6273bd4f552d46dfa87df917 +Ctrl.hexsession_id = hexsession_id:c54542e32ba1ae8c266781c6d14c8356d6f548cfdb8a303c4f1c947318610eed8ae3d6d4350ab4dddc7f9202a510d32e +Ctrl.type = type:D +Output = cb7897fdeb2c235be5812d1959cb55907ff02a9cf6c76c17 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000801a3eab3e516f776ab0a282861a42fec52223859d5af2da778727bd0363ba5983b5d883cd75132c94351a7b5b23fba10aec35a78ab03ba183682b4d3e72c67bd1e6b83afc5178c97624f718243d9377694f085e15cef33040fca144e856c74ab0e70dbf4a7766aa916e5edf184ae7dbd3f19d2491e45828fe5969d61075695e39 +Ctrl.hexxcghash = hexxcghash:5e9be9089c8b952d8ffdb0cbdbe5bb6c1f336e6620292da1ab5eb92eef379655579e24cd6273bd4f552d46dfa87df917 +Ctrl.hexsession_id = hexsession_id:c54542e32ba1ae8c266781c6d14c8356d6f548cfdb8a303c4f1c947318610eed8ae3d6d4350ab4dddc7f9202a510d32e +Ctrl.type = type:E +Output = 13a8062561c28c1bc678a019b22da95aa462f82cfff6268876ffe2fddc86536fa4d19bdc15d90c1cff4d37e69f1fc021 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000801a3eab3e516f776ab0a282861a42fec52223859d5af2da778727bd0363ba5983b5d883cd75132c94351a7b5b23fba10aec35a78ab03ba183682b4d3e72c67bd1e6b83afc5178c97624f718243d9377694f085e15cef33040fca144e856c74ab0e70dbf4a7766aa916e5edf184ae7dbd3f19d2491e45828fe5969d61075695e39 +Ctrl.hexxcghash = hexxcghash:5e9be9089c8b952d8ffdb0cbdbe5bb6c1f336e6620292da1ab5eb92eef379655579e24cd6273bd4f552d46dfa87df917 +Ctrl.hexsession_id = hexsession_id:c54542e32ba1ae8c266781c6d14c8356d6f548cfdb8a303c4f1c947318610eed8ae3d6d4350ab4dddc7f9202a510d32e +Ctrl.type = type:F +Output = 69437ec44d764caeb89faebf7b8577b433677abcb0c58f166a5e5724a4eb293d335004d412c983d4c7aca4df1b8328fd + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000810091473fb24a9fca3fd1639c029c0e6ae6390c83b3278336017068771569d0957bf7ff80a8f188b936f7e238502efc86e518ebafcc4ecdf1b44f01bb070b3cc88c1b23937dcd04c456987a3b75df3874ca54a10e7f4a3123a7fb47365a7552c9e3f7070ec19d1ebb9922dd10aa0280222db770a71ce9541b60b53d9e7783350100 +Ctrl.hexxcghash = hexxcghash:d0bbb1a81edca6ae7ac5c9e60bf447d198bf875b945fcba06b0074e640331b2205c2c055864c011913f6dad3e34ed44b +Ctrl.hexsession_id = hexsession_id:58d7b77f0cc5480254c68e4e9cb06a1ea5389b39a3f9cba5c9ca03a091fb123aeb5934c519b60181d097b8cc9455b96a +Ctrl.type = type:A +Output = b669e05aa9706468 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000810091473fb24a9fca3fd1639c029c0e6ae6390c83b3278336017068771569d0957bf7ff80a8f188b936f7e238502efc86e518ebafcc4ecdf1b44f01bb070b3cc88c1b23937dcd04c456987a3b75df3874ca54a10e7f4a3123a7fb47365a7552c9e3f7070ec19d1ebb9922dd10aa0280222db770a71ce9541b60b53d9e7783350100 +Ctrl.hexxcghash = hexxcghash:d0bbb1a81edca6ae7ac5c9e60bf447d198bf875b945fcba06b0074e640331b2205c2c055864c011913f6dad3e34ed44b +Ctrl.hexsession_id = hexsession_id:58d7b77f0cc5480254c68e4e9cb06a1ea5389b39a3f9cba5c9ca03a091fb123aeb5934c519b60181d097b8cc9455b96a +Ctrl.type = type:B +Output = 57f943111ca01b15 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000810091473fb24a9fca3fd1639c029c0e6ae6390c83b3278336017068771569d0957bf7ff80a8f188b936f7e238502efc86e518ebafcc4ecdf1b44f01bb070b3cc88c1b23937dcd04c456987a3b75df3874ca54a10e7f4a3123a7fb47365a7552c9e3f7070ec19d1ebb9922dd10aa0280222db770a71ce9541b60b53d9e7783350100 +Ctrl.hexxcghash = hexxcghash:d0bbb1a81edca6ae7ac5c9e60bf447d198bf875b945fcba06b0074e640331b2205c2c055864c011913f6dad3e34ed44b +Ctrl.hexsession_id = hexsession_id:58d7b77f0cc5480254c68e4e9cb06a1ea5389b39a3f9cba5c9ca03a091fb123aeb5934c519b60181d097b8cc9455b96a +Ctrl.type = type:C +Output = e9aa354b6b85f357d6f982fcc18a6ca797bd7a125e786f8a + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000810091473fb24a9fca3fd1639c029c0e6ae6390c83b3278336017068771569d0957bf7ff80a8f188b936f7e238502efc86e518ebafcc4ecdf1b44f01bb070b3cc88c1b23937dcd04c456987a3b75df3874ca54a10e7f4a3123a7fb47365a7552c9e3f7070ec19d1ebb9922dd10aa0280222db770a71ce9541b60b53d9e7783350100 +Ctrl.hexxcghash = hexxcghash:d0bbb1a81edca6ae7ac5c9e60bf447d198bf875b945fcba06b0074e640331b2205c2c055864c011913f6dad3e34ed44b +Ctrl.hexsession_id = hexsession_id:58d7b77f0cc5480254c68e4e9cb06a1ea5389b39a3f9cba5c9ca03a091fb123aeb5934c519b60181d097b8cc9455b96a +Ctrl.type = type:D +Output = 199d2b244689bfc4f807f225a7130a069c8a181f5b20d32a + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000810091473fb24a9fca3fd1639c029c0e6ae6390c83b3278336017068771569d0957bf7ff80a8f188b936f7e238502efc86e518ebafcc4ecdf1b44f01bb070b3cc88c1b23937dcd04c456987a3b75df3874ca54a10e7f4a3123a7fb47365a7552c9e3f7070ec19d1ebb9922dd10aa0280222db770a71ce9541b60b53d9e7783350100 +Ctrl.hexxcghash = hexxcghash:d0bbb1a81edca6ae7ac5c9e60bf447d198bf875b945fcba06b0074e640331b2205c2c055864c011913f6dad3e34ed44b +Ctrl.hexsession_id = hexsession_id:58d7b77f0cc5480254c68e4e9cb06a1ea5389b39a3f9cba5c9ca03a091fb123aeb5934c519b60181d097b8cc9455b96a +Ctrl.type = type:E +Output = 69b55cc82d0429979a3832a3be35483596ff1d26a0c1a62944695764f0eb85c3467528be225db2f516e79f23c0c7c23c + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000810091473fb24a9fca3fd1639c029c0e6ae6390c83b3278336017068771569d0957bf7ff80a8f188b936f7e238502efc86e518ebafcc4ecdf1b44f01bb070b3cc88c1b23937dcd04c456987a3b75df3874ca54a10e7f4a3123a7fb47365a7552c9e3f7070ec19d1ebb9922dd10aa0280222db770a71ce9541b60b53d9e7783350100 +Ctrl.hexxcghash = hexxcghash:d0bbb1a81edca6ae7ac5c9e60bf447d198bf875b945fcba06b0074e640331b2205c2c055864c011913f6dad3e34ed44b +Ctrl.hexsession_id = hexsession_id:58d7b77f0cc5480254c68e4e9cb06a1ea5389b39a3f9cba5c9ca03a091fb123aeb5934c519b60181d097b8cc9455b96a +Ctrl.type = type:F +Output = 6e06df643269751dfc9c8decefe466e1ab2ab99466661aa6f0dfab223c3b9bebcaed4c19cbc4109dfacda81cc8f902eb + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000801b8e7d2292f95d97c99e9c93fcc681f2a446437d7595137f761eb9351f50cfb71988aad2d9611a5e3d32c58b1efef596b2b495c12355b6caa5c647237670c7cbeb7b7ef5d39b600b44ab1cecc7ff454981f70366f5dc95f790c9744e55b0b5cee770df10dc3f081b8774b4735c86917384ed7da0b597bd932e676b7ef6fe2cd3 +Ctrl.hexxcghash = hexxcghash:d1ecf201e213b656e7e002d26b263ead5ef6f265a2cfd05eb83985dbc1dd0620f729800a92f676e6c8219aadbea0a037 +Ctrl.hexsession_id = hexsession_id:fc6bb80f9116c6746603327d5338e853f37b06593402e31bf5a43abd5e6de8f26166bb572ce0c88360a7bbbe83d0377b +Ctrl.type = type:A +Output = b2ada53484907db5 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000801b8e7d2292f95d97c99e9c93fcc681f2a446437d7595137f761eb9351f50cfb71988aad2d9611a5e3d32c58b1efef596b2b495c12355b6caa5c647237670c7cbeb7b7ef5d39b600b44ab1cecc7ff454981f70366f5dc95f790c9744e55b0b5cee770df10dc3f081b8774b4735c86917384ed7da0b597bd932e676b7ef6fe2cd3 +Ctrl.hexxcghash = hexxcghash:d1ecf201e213b656e7e002d26b263ead5ef6f265a2cfd05eb83985dbc1dd0620f729800a92f676e6c8219aadbea0a037 +Ctrl.hexsession_id = hexsession_id:fc6bb80f9116c6746603327d5338e853f37b06593402e31bf5a43abd5e6de8f26166bb572ce0c88360a7bbbe83d0377b +Ctrl.type = type:B +Output = 89224486fcb33030 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000801b8e7d2292f95d97c99e9c93fcc681f2a446437d7595137f761eb9351f50cfb71988aad2d9611a5e3d32c58b1efef596b2b495c12355b6caa5c647237670c7cbeb7b7ef5d39b600b44ab1cecc7ff454981f70366f5dc95f790c9744e55b0b5cee770df10dc3f081b8774b4735c86917384ed7da0b597bd932e676b7ef6fe2cd3 +Ctrl.hexxcghash = hexxcghash:d1ecf201e213b656e7e002d26b263ead5ef6f265a2cfd05eb83985dbc1dd0620f729800a92f676e6c8219aadbea0a037 +Ctrl.hexsession_id = hexsession_id:fc6bb80f9116c6746603327d5338e853f37b06593402e31bf5a43abd5e6de8f26166bb572ce0c88360a7bbbe83d0377b +Ctrl.type = type:C +Output = 38ccc00303d5aaf748f3c11d986b99f9bf36049a6f7ea92f + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000801b8e7d2292f95d97c99e9c93fcc681f2a446437d7595137f761eb9351f50cfb71988aad2d9611a5e3d32c58b1efef596b2b495c12355b6caa5c647237670c7cbeb7b7ef5d39b600b44ab1cecc7ff454981f70366f5dc95f790c9744e55b0b5cee770df10dc3f081b8774b4735c86917384ed7da0b597bd932e676b7ef6fe2cd3 +Ctrl.hexxcghash = hexxcghash:d1ecf201e213b656e7e002d26b263ead5ef6f265a2cfd05eb83985dbc1dd0620f729800a92f676e6c8219aadbea0a037 +Ctrl.hexsession_id = hexsession_id:fc6bb80f9116c6746603327d5338e853f37b06593402e31bf5a43abd5e6de8f26166bb572ce0c88360a7bbbe83d0377b +Ctrl.type = type:D +Output = f8a7a4b2e1d28c6a38e120a2cb876ed49f454ea2aabc3a99 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000801b8e7d2292f95d97c99e9c93fcc681f2a446437d7595137f761eb9351f50cfb71988aad2d9611a5e3d32c58b1efef596b2b495c12355b6caa5c647237670c7cbeb7b7ef5d39b600b44ab1cecc7ff454981f70366f5dc95f790c9744e55b0b5cee770df10dc3f081b8774b4735c86917384ed7da0b597bd932e676b7ef6fe2cd3 +Ctrl.hexxcghash = hexxcghash:d1ecf201e213b656e7e002d26b263ead5ef6f265a2cfd05eb83985dbc1dd0620f729800a92f676e6c8219aadbea0a037 +Ctrl.hexsession_id = hexsession_id:fc6bb80f9116c6746603327d5338e853f37b06593402e31bf5a43abd5e6de8f26166bb572ce0c88360a7bbbe83d0377b +Ctrl.type = type:E +Output = 9f42ab15d0b041019960ff6a5a12e209c427dc334434126399fb8850ec8feda957b74f1976b4c8a97906d7d64c5c2a83 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000000801b8e7d2292f95d97c99e9c93fcc681f2a446437d7595137f761eb9351f50cfb71988aad2d9611a5e3d32c58b1efef596b2b495c12355b6caa5c647237670c7cbeb7b7ef5d39b600b44ab1cecc7ff454981f70366f5dc95f790c9744e55b0b5cee770df10dc3f081b8774b4735c86917384ed7da0b597bd932e676b7ef6fe2cd3 +Ctrl.hexxcghash = hexxcghash:d1ecf201e213b656e7e002d26b263ead5ef6f265a2cfd05eb83985dbc1dd0620f729800a92f676e6c8219aadbea0a037 +Ctrl.hexsession_id = hexsession_id:fc6bb80f9116c6746603327d5338e853f37b06593402e31bf5a43abd5e6de8f26166bb572ce0c88360a7bbbe83d0377b +Ctrl.type = type:F +Output = d383bedd3b80ddc470db9b819893e85dfab9e359e40bc77576e23ed8c5e73beecefb511ccdf1eb66416c271be5f90199 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000081008efe3279e8fc51acceea0ad5958364c2a36315d92ce4d68f6f8486b3160293e4eff79998474b954431a6981864a34445b4bd68e5b598dbaba4de5661ef0b09d5dae9b1633da886f1540d1df601c1acaa139de540d3d8d0b01602559a833aab87730de5c6875b78f5ec6d19145db46e2a77cbb9ec39b1bdbd5ca3be193dcfd622 +Ctrl.hexxcghash = hexxcghash:5f6f8bd8d664b1f31c615cf457a5c7eaa8733bba6557f15f300cfb364b0ea927bcfe406ea5fb7e03ac648fd18cd93372 +Ctrl.hexsession_id = hexsession_id:a89ecfd6636423e8d5ba8da3aa8367092b1a662df5693c55cbc5bfabb97320d90692e6c9305af47c25e6617200648752 +Ctrl.type = type:A +Output = bac9e6c9553bba95 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000081008efe3279e8fc51acceea0ad5958364c2a36315d92ce4d68f6f8486b3160293e4eff79998474b954431a6981864a34445b4bd68e5b598dbaba4de5661ef0b09d5dae9b1633da886f1540d1df601c1acaa139de540d3d8d0b01602559a833aab87730de5c6875b78f5ec6d19145db46e2a77cbb9ec39b1bdbd5ca3be193dcfd622 +Ctrl.hexxcghash = hexxcghash:5f6f8bd8d664b1f31c615cf457a5c7eaa8733bba6557f15f300cfb364b0ea927bcfe406ea5fb7e03ac648fd18cd93372 +Ctrl.hexsession_id = hexsession_id:a89ecfd6636423e8d5ba8da3aa8367092b1a662df5693c55cbc5bfabb97320d90692e6c9305af47c25e6617200648752 +Ctrl.type = type:B +Output = f29bdc017028a9ca + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000081008efe3279e8fc51acceea0ad5958364c2a36315d92ce4d68f6f8486b3160293e4eff79998474b954431a6981864a34445b4bd68e5b598dbaba4de5661ef0b09d5dae9b1633da886f1540d1df601c1acaa139de540d3d8d0b01602559a833aab87730de5c6875b78f5ec6d19145db46e2a77cbb9ec39b1bdbd5ca3be193dcfd622 +Ctrl.hexxcghash = hexxcghash:5f6f8bd8d664b1f31c615cf457a5c7eaa8733bba6557f15f300cfb364b0ea927bcfe406ea5fb7e03ac648fd18cd93372 +Ctrl.hexsession_id = hexsession_id:a89ecfd6636423e8d5ba8da3aa8367092b1a662df5693c55cbc5bfabb97320d90692e6c9305af47c25e6617200648752 +Ctrl.type = type:C +Output = 840f7e966d633f57bf6cfb3e6aa6bb1435bbea5822c9db0c + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000081008efe3279e8fc51acceea0ad5958364c2a36315d92ce4d68f6f8486b3160293e4eff79998474b954431a6981864a34445b4bd68e5b598dbaba4de5661ef0b09d5dae9b1633da886f1540d1df601c1acaa139de540d3d8d0b01602559a833aab87730de5c6875b78f5ec6d19145db46e2a77cbb9ec39b1bdbd5ca3be193dcfd622 +Ctrl.hexxcghash = hexxcghash:5f6f8bd8d664b1f31c615cf457a5c7eaa8733bba6557f15f300cfb364b0ea927bcfe406ea5fb7e03ac648fd18cd93372 +Ctrl.hexsession_id = hexsession_id:a89ecfd6636423e8d5ba8da3aa8367092b1a662df5693c55cbc5bfabb97320d90692e6c9305af47c25e6617200648752 +Ctrl.type = type:D +Output = f78b485e49bf72584e45de78fbd75392e3e0b1ce2a57e7a3 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000081008efe3279e8fc51acceea0ad5958364c2a36315d92ce4d68f6f8486b3160293e4eff79998474b954431a6981864a34445b4bd68e5b598dbaba4de5661ef0b09d5dae9b1633da886f1540d1df601c1acaa139de540d3d8d0b01602559a833aab87730de5c6875b78f5ec6d19145db46e2a77cbb9ec39b1bdbd5ca3be193dcfd622 +Ctrl.hexxcghash = hexxcghash:5f6f8bd8d664b1f31c615cf457a5c7eaa8733bba6557f15f300cfb364b0ea927bcfe406ea5fb7e03ac648fd18cd93372 +Ctrl.hexsession_id = hexsession_id:a89ecfd6636423e8d5ba8da3aa8367092b1a662df5693c55cbc5bfabb97320d90692e6c9305af47c25e6617200648752 +Ctrl.type = type:E +Output = 9dcadff513667aee5e2fda86c4a198db4252a9311635d3659db957570e448f3689444dd3e10d6097a07dba923db349ba + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000081008efe3279e8fc51acceea0ad5958364c2a36315d92ce4d68f6f8486b3160293e4eff79998474b954431a6981864a34445b4bd68e5b598dbaba4de5661ef0b09d5dae9b1633da886f1540d1df601c1acaa139de540d3d8d0b01602559a833aab87730de5c6875b78f5ec6d19145db46e2a77cbb9ec39b1bdbd5ca3be193dcfd622 +Ctrl.hexxcghash = hexxcghash:5f6f8bd8d664b1f31c615cf457a5c7eaa8733bba6557f15f300cfb364b0ea927bcfe406ea5fb7e03ac648fd18cd93372 +Ctrl.hexsession_id = hexsession_id:a89ecfd6636423e8d5ba8da3aa8367092b1a662df5693c55cbc5bfabb97320d90692e6c9305af47c25e6617200648752 +Ctrl.type = type:F +Output = 5e7915ea90a0d81e3c2ada00c85890b6defbb64f45ac4f0e75b22cf6187978e630f356207c97362862389a1ef99fb51a + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100a89b3f9628a4f984336377edc37d3bed4aa748fa0b0a6bc80c366e8ffdf0ccbbe07229c5f02394b230759d5255e3a7d7f63a2395e2f07e2d31bf885abaea150e1f97808f26f8fe8c5113c12e4d137844160a433f8451faaf432bd7c0469dbe713304c8bed29c03cb7629cdffebc253d0a01362052f55576fdaf89702fa33cedd +Ctrl.hexxcghash = hexxcghash:8467d0335e6e254eb02253f97cd14c0221f1b21431a4ffe1c20675039d0ac26fa70a0c4bad639834d88d01f6c1ea878e +Ctrl.hexsession_id = hexsession_id:9a100a5b0ad81f1c603e05c5d24415f2aa7031c0d92f16de15cab350bb1a2cf3639c6906f4e220e057deb966813bbb35 +Ctrl.type = type:A +Output = 11811427eaa92d61 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100a89b3f9628a4f984336377edc37d3bed4aa748fa0b0a6bc80c366e8ffdf0ccbbe07229c5f02394b230759d5255e3a7d7f63a2395e2f07e2d31bf885abaea150e1f97808f26f8fe8c5113c12e4d137844160a433f8451faaf432bd7c0469dbe713304c8bed29c03cb7629cdffebc253d0a01362052f55576fdaf89702fa33cedd +Ctrl.hexxcghash = hexxcghash:8467d0335e6e254eb02253f97cd14c0221f1b21431a4ffe1c20675039d0ac26fa70a0c4bad639834d88d01f6c1ea878e +Ctrl.hexsession_id = hexsession_id:9a100a5b0ad81f1c603e05c5d24415f2aa7031c0d92f16de15cab350bb1a2cf3639c6906f4e220e057deb966813bbb35 +Ctrl.type = type:B +Output = c13f22e0bd66a551 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100a89b3f9628a4f984336377edc37d3bed4aa748fa0b0a6bc80c366e8ffdf0ccbbe07229c5f02394b230759d5255e3a7d7f63a2395e2f07e2d31bf885abaea150e1f97808f26f8fe8c5113c12e4d137844160a433f8451faaf432bd7c0469dbe713304c8bed29c03cb7629cdffebc253d0a01362052f55576fdaf89702fa33cedd +Ctrl.hexxcghash = hexxcghash:8467d0335e6e254eb02253f97cd14c0221f1b21431a4ffe1c20675039d0ac26fa70a0c4bad639834d88d01f6c1ea878e +Ctrl.hexsession_id = hexsession_id:9a100a5b0ad81f1c603e05c5d24415f2aa7031c0d92f16de15cab350bb1a2cf3639c6906f4e220e057deb966813bbb35 +Ctrl.type = type:C +Output = 2b9c9c8ecae95d75472495363ca2d46dc79babdb2e0fda40 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100a89b3f9628a4f984336377edc37d3bed4aa748fa0b0a6bc80c366e8ffdf0ccbbe07229c5f02394b230759d5255e3a7d7f63a2395e2f07e2d31bf885abaea150e1f97808f26f8fe8c5113c12e4d137844160a433f8451faaf432bd7c0469dbe713304c8bed29c03cb7629cdffebc253d0a01362052f55576fdaf89702fa33cedd +Ctrl.hexxcghash = hexxcghash:8467d0335e6e254eb02253f97cd14c0221f1b21431a4ffe1c20675039d0ac26fa70a0c4bad639834d88d01f6c1ea878e +Ctrl.hexsession_id = hexsession_id:9a100a5b0ad81f1c603e05c5d24415f2aa7031c0d92f16de15cab350bb1a2cf3639c6906f4e220e057deb966813bbb35 +Ctrl.type = type:D +Output = f466d9b9871c1482c699a5d9f8636a041adb60920c6af855 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100a89b3f9628a4f984336377edc37d3bed4aa748fa0b0a6bc80c366e8ffdf0ccbbe07229c5f02394b230759d5255e3a7d7f63a2395e2f07e2d31bf885abaea150e1f97808f26f8fe8c5113c12e4d137844160a433f8451faaf432bd7c0469dbe713304c8bed29c03cb7629cdffebc253d0a01362052f55576fdaf89702fa33cedd +Ctrl.hexxcghash = hexxcghash:8467d0335e6e254eb02253f97cd14c0221f1b21431a4ffe1c20675039d0ac26fa70a0c4bad639834d88d01f6c1ea878e +Ctrl.hexsession_id = hexsession_id:9a100a5b0ad81f1c603e05c5d24415f2aa7031c0d92f16de15cab350bb1a2cf3639c6906f4e220e057deb966813bbb35 +Ctrl.type = type:E +Output = 1ecda0252461bd08960c54ba7c570e80715780e5e99ca0f754a3d451409ed2df928daab91ed6b4044fcc68bd5f907c96 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100a89b3f9628a4f984336377edc37d3bed4aa748fa0b0a6bc80c366e8ffdf0ccbbe07229c5f02394b230759d5255e3a7d7f63a2395e2f07e2d31bf885abaea150e1f97808f26f8fe8c5113c12e4d137844160a433f8451faaf432bd7c0469dbe713304c8bed29c03cb7629cdffebc253d0a01362052f55576fdaf89702fa33cedd +Ctrl.hexxcghash = hexxcghash:8467d0335e6e254eb02253f97cd14c0221f1b21431a4ffe1c20675039d0ac26fa70a0c4bad639834d88d01f6c1ea878e +Ctrl.hexsession_id = hexsession_id:9a100a5b0ad81f1c603e05c5d24415f2aa7031c0d92f16de15cab350bb1a2cf3639c6906f4e220e057deb966813bbb35 +Ctrl.type = type:F +Output = 202e4e3dda18306c7fa518ea849cf3a4788dbc5305f71267ba69fe8920d3b18d9fc59853a4d03b18480269698e24c190 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100f6e899f2b7542fd95e88e06ff0a68e43df6f3d913f1295922bd01b98f7078b67311e002cafcb41a65262585a78b22ec97c81278f3f329d726f08fff23f4ce5b90abc694c92195fe7bc140579f54c6b89d81b836a8d3998446aab9055904ef1e0bb7553739d2351c8cfae0fbf50d8ced4bbd3975450569d0f9e441a3ed3aac776 +Ctrl.hexxcghash = hexxcghash:1853bb0d312eb00d1c700d25ddaed9680ecf28eeefe9323566dc91ef42a85b2e3049286621f43b928e2b821e5605bf60 +Ctrl.hexsession_id = hexsession_id:da7d22e3c7815b6a6089f381ddd957df3ed78e97902133d62d3ff6119d8c174b69cd26e627d6ccd98f847521aa0e3896 +Ctrl.type = type:A +Output = 86183fd862bf42af + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100f6e899f2b7542fd95e88e06ff0a68e43df6f3d913f1295922bd01b98f7078b67311e002cafcb41a65262585a78b22ec97c81278f3f329d726f08fff23f4ce5b90abc694c92195fe7bc140579f54c6b89d81b836a8d3998446aab9055904ef1e0bb7553739d2351c8cfae0fbf50d8ced4bbd3975450569d0f9e441a3ed3aac776 +Ctrl.hexxcghash = hexxcghash:1853bb0d312eb00d1c700d25ddaed9680ecf28eeefe9323566dc91ef42a85b2e3049286621f43b928e2b821e5605bf60 +Ctrl.hexsession_id = hexsession_id:da7d22e3c7815b6a6089f381ddd957df3ed78e97902133d62d3ff6119d8c174b69cd26e627d6ccd98f847521aa0e3896 +Ctrl.type = type:B +Output = 04e146b085c71253 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100f6e899f2b7542fd95e88e06ff0a68e43df6f3d913f1295922bd01b98f7078b67311e002cafcb41a65262585a78b22ec97c81278f3f329d726f08fff23f4ce5b90abc694c92195fe7bc140579f54c6b89d81b836a8d3998446aab9055904ef1e0bb7553739d2351c8cfae0fbf50d8ced4bbd3975450569d0f9e441a3ed3aac776 +Ctrl.hexxcghash = hexxcghash:1853bb0d312eb00d1c700d25ddaed9680ecf28eeefe9323566dc91ef42a85b2e3049286621f43b928e2b821e5605bf60 +Ctrl.hexsession_id = hexsession_id:da7d22e3c7815b6a6089f381ddd957df3ed78e97902133d62d3ff6119d8c174b69cd26e627d6ccd98f847521aa0e3896 +Ctrl.type = type:C +Output = c4364d4e0e38fe4c5fc2b2a3ad42e49a57106ffa962f4c5e + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100f6e899f2b7542fd95e88e06ff0a68e43df6f3d913f1295922bd01b98f7078b67311e002cafcb41a65262585a78b22ec97c81278f3f329d726f08fff23f4ce5b90abc694c92195fe7bc140579f54c6b89d81b836a8d3998446aab9055904ef1e0bb7553739d2351c8cfae0fbf50d8ced4bbd3975450569d0f9e441a3ed3aac776 +Ctrl.hexxcghash = hexxcghash:1853bb0d312eb00d1c700d25ddaed9680ecf28eeefe9323566dc91ef42a85b2e3049286621f43b928e2b821e5605bf60 +Ctrl.hexsession_id = hexsession_id:da7d22e3c7815b6a6089f381ddd957df3ed78e97902133d62d3ff6119d8c174b69cd26e627d6ccd98f847521aa0e3896 +Ctrl.type = type:D +Output = b9d1549032bf336c8708f13d8f5d281d696b8bddc296e709 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100f6e899f2b7542fd95e88e06ff0a68e43df6f3d913f1295922bd01b98f7078b67311e002cafcb41a65262585a78b22ec97c81278f3f329d726f08fff23f4ce5b90abc694c92195fe7bc140579f54c6b89d81b836a8d3998446aab9055904ef1e0bb7553739d2351c8cfae0fbf50d8ced4bbd3975450569d0f9e441a3ed3aac776 +Ctrl.hexxcghash = hexxcghash:1853bb0d312eb00d1c700d25ddaed9680ecf28eeefe9323566dc91ef42a85b2e3049286621f43b928e2b821e5605bf60 +Ctrl.hexsession_id = hexsession_id:da7d22e3c7815b6a6089f381ddd957df3ed78e97902133d62d3ff6119d8c174b69cd26e627d6ccd98f847521aa0e3896 +Ctrl.type = type:E +Output = c7ee72c40b26fce673ff23edea3265dfeb7b7f6fd66362bbc91548fac1819a08682c65c7d69d5e54e1c48b05e7233adc + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008100f6e899f2b7542fd95e88e06ff0a68e43df6f3d913f1295922bd01b98f7078b67311e002cafcb41a65262585a78b22ec97c81278f3f329d726f08fff23f4ce5b90abc694c92195fe7bc140579f54c6b89d81b836a8d3998446aab9055904ef1e0bb7553739d2351c8cfae0fbf50d8ced4bbd3975450569d0f9e441a3ed3aac776 +Ctrl.hexxcghash = hexxcghash:1853bb0d312eb00d1c700d25ddaed9680ecf28eeefe9323566dc91ef42a85b2e3049286621f43b928e2b821e5605bf60 +Ctrl.hexsession_id = hexsession_id:da7d22e3c7815b6a6089f381ddd957df3ed78e97902133d62d3ff6119d8c174b69cd26e627d6ccd98f847521aa0e3896 +Ctrl.type = type:F +Output = 8b52078a6d45dfaa051193da8f9c8a18bfd0c058e7be145d0c4b5b677eec54a01f9e2a20c997e9c0a1ede9576800cfe5 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008008483322bb2efee6320ba1fe14f296e0b170f9a0c6f76a49d0b23abb74251da468b53fb86ddbbc55a5c4881686d1aaa9b309b65907d92352c83597126cf7e3d367f543c8887105403d9b2ba86cf2bbafd4a984dfe8ebb7b8155c51d6416c89b4efb91ef5953b0e54dbcdbe76443a80e5cd011d7d6c9bc69ec81a19749b95f6c0 +Ctrl.hexxcghash = hexxcghash:ed7b1464334bb8a04d128b791cd860c1546faaf860aff394872373f5ccac0835b47cfeb8c3d049b211cb7b570bcc1f83 +Ctrl.hexsession_id = hexsession_id:cac7b46b66372be67b4ce198311faed9ddc8f8b95f6c61d8c71a1788724ab6b8d159e2ba61f937e6d87bbb9cb24a9fe7 +Ctrl.type = type:A +Output = 54f4be4a33dfa102 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008008483322bb2efee6320ba1fe14f296e0b170f9a0c6f76a49d0b23abb74251da468b53fb86ddbbc55a5c4881686d1aaa9b309b65907d92352c83597126cf7e3d367f543c8887105403d9b2ba86cf2bbafd4a984dfe8ebb7b8155c51d6416c89b4efb91ef5953b0e54dbcdbe76443a80e5cd011d7d6c9bc69ec81a19749b95f6c0 +Ctrl.hexxcghash = hexxcghash:ed7b1464334bb8a04d128b791cd860c1546faaf860aff394872373f5ccac0835b47cfeb8c3d049b211cb7b570bcc1f83 +Ctrl.hexsession_id = hexsession_id:cac7b46b66372be67b4ce198311faed9ddc8f8b95f6c61d8c71a1788724ab6b8d159e2ba61f937e6d87bbb9cb24a9fe7 +Ctrl.type = type:B +Output = bbb084483803aab4 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008008483322bb2efee6320ba1fe14f296e0b170f9a0c6f76a49d0b23abb74251da468b53fb86ddbbc55a5c4881686d1aaa9b309b65907d92352c83597126cf7e3d367f543c8887105403d9b2ba86cf2bbafd4a984dfe8ebb7b8155c51d6416c89b4efb91ef5953b0e54dbcdbe76443a80e5cd011d7d6c9bc69ec81a19749b95f6c0 +Ctrl.hexxcghash = hexxcghash:ed7b1464334bb8a04d128b791cd860c1546faaf860aff394872373f5ccac0835b47cfeb8c3d049b211cb7b570bcc1f83 +Ctrl.hexsession_id = hexsession_id:cac7b46b66372be67b4ce198311faed9ddc8f8b95f6c61d8c71a1788724ab6b8d159e2ba61f937e6d87bbb9cb24a9fe7 +Ctrl.type = type:C +Output = 466a038b3a5c0d72cf19cf33e5a551437933dad54bfed655 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008008483322bb2efee6320ba1fe14f296e0b170f9a0c6f76a49d0b23abb74251da468b53fb86ddbbc55a5c4881686d1aaa9b309b65907d92352c83597126cf7e3d367f543c8887105403d9b2ba86cf2bbafd4a984dfe8ebb7b8155c51d6416c89b4efb91ef5953b0e54dbcdbe76443a80e5cd011d7d6c9bc69ec81a19749b95f6c0 +Ctrl.hexxcghash = hexxcghash:ed7b1464334bb8a04d128b791cd860c1546faaf860aff394872373f5ccac0835b47cfeb8c3d049b211cb7b570bcc1f83 +Ctrl.hexsession_id = hexsession_id:cac7b46b66372be67b4ce198311faed9ddc8f8b95f6c61d8c71a1788724ab6b8d159e2ba61f937e6d87bbb9cb24a9fe7 +Ctrl.type = type:D +Output = 44e09698e473edc642256e99bfbfbeab1db3e254d64a3ab7 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008008483322bb2efee6320ba1fe14f296e0b170f9a0c6f76a49d0b23abb74251da468b53fb86ddbbc55a5c4881686d1aaa9b309b65907d92352c83597126cf7e3d367f543c8887105403d9b2ba86cf2bbafd4a984dfe8ebb7b8155c51d6416c89b4efb91ef5953b0e54dbcdbe76443a80e5cd011d7d6c9bc69ec81a19749b95f6c0 +Ctrl.hexxcghash = hexxcghash:ed7b1464334bb8a04d128b791cd860c1546faaf860aff394872373f5ccac0835b47cfeb8c3d049b211cb7b570bcc1f83 +Ctrl.hexsession_id = hexsession_id:cac7b46b66372be67b4ce198311faed9ddc8f8b95f6c61d8c71a1788724ab6b8d159e2ba61f937e6d87bbb9cb24a9fe7 +Ctrl.type = type:E +Output = 8e35d767e738c4282ec1925ba5d59dad723b7220c10ae8b69c9eb3da124ac1bea8195f5ecc1c3b03953938cd1e0e190b + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000008008483322bb2efee6320ba1fe14f296e0b170f9a0c6f76a49d0b23abb74251da468b53fb86ddbbc55a5c4881686d1aaa9b309b65907d92352c83597126cf7e3d367f543c8887105403d9b2ba86cf2bbafd4a984dfe8ebb7b8155c51d6416c89b4efb91ef5953b0e54dbcdbe76443a80e5cd011d7d6c9bc69ec81a19749b95f6c0 +Ctrl.hexxcghash = hexxcghash:ed7b1464334bb8a04d128b791cd860c1546faaf860aff394872373f5ccac0835b47cfeb8c3d049b211cb7b570bcc1f83 +Ctrl.hexsession_id = hexsession_id:cac7b46b66372be67b4ce198311faed9ddc8f8b95f6c61d8c71a1788724ab6b8d159e2ba61f937e6d87bbb9cb24a9fe7 +Ctrl.type = type:F +Output = 63e5c62c4e6f2700bfa5927ca2e730101c12a684808ddd6cf5f9da2bad3b49ba3d05d4f88a3a91f341ad2b63952e7db0 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000101008174aa2fab9372c253f3b993d723b55a2484430fb338095852b7a5099f9d609ca6afa6bff9d64a55f7ef0963c684f0d17ec6045ce57ce3382870d55fcac0e1341fb47a7f76f0d5d53b67fd5e0658ecb88ae2e2e42aa4b83b8cfcce9faae941450ace059a7f223623d1c8a9924638de7eebad35be9c9f1bf38aea041114351d585a1988ba53cccc6949150f367fd790fc427916afa2cccd1d2f1aa8583b948dfe56cf488b38ec2d2570a0e0441c07ccec8b5b4db5f60250741b1aeb0bf49a85cc779ad7465f0c197735698842be2a39af8591ab91c84b704e67e50cbcdb75c2799aaeba0184341dd520f6db8477f13d5815d37f191ccb20545e4a1eaca316370a +Ctrl.hexxcghash = hexxcghash:09d74bd79b47ceb3ada0d8df640595ba861ccfa3cc0d6c640eaac21d2d5f3f9fe61fb2e585fb6cc90bde11967a563c4e +Ctrl.hexsession_id = hexsession_id:09d74bd79b47ceb3ada0d8df640595ba861ccfa3cc0d6c640eaac21d2d5f3f9fe61fb2e585fb6cc90bde11967a563c4e +Ctrl.type = type:A +Output = e46fdb8c912658c34b7d509f6acc1111 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000101008174aa2fab9372c253f3b993d723b55a2484430fb338095852b7a5099f9d609ca6afa6bff9d64a55f7ef0963c684f0d17ec6045ce57ce3382870d55fcac0e1341fb47a7f76f0d5d53b67fd5e0658ecb88ae2e2e42aa4b83b8cfcce9faae941450ace059a7f223623d1c8a9924638de7eebad35be9c9f1bf38aea041114351d585a1988ba53cccc6949150f367fd790fc427916afa2cccd1d2f1aa8583b948dfe56cf488b38ec2d2570a0e0441c07ccec8b5b4db5f60250741b1aeb0bf49a85cc779ad7465f0c197735698842be2a39af8591ab91c84b704e67e50cbcdb75c2799aaeba0184341dd520f6db8477f13d5815d37f191ccb20545e4a1eaca316370a +Ctrl.hexxcghash = hexxcghash:09d74bd79b47ceb3ada0d8df640595ba861ccfa3cc0d6c640eaac21d2d5f3f9fe61fb2e585fb6cc90bde11967a563c4e +Ctrl.hexsession_id = hexsession_id:09d74bd79b47ceb3ada0d8df640595ba861ccfa3cc0d6c640eaac21d2d5f3f9fe61fb2e585fb6cc90bde11967a563c4e +Ctrl.type = type:B +Output = 959c339aaff2e2ed46da46c5286ddf3b + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000101008174aa2fab9372c253f3b993d723b55a2484430fb338095852b7a5099f9d609ca6afa6bff9d64a55f7ef0963c684f0d17ec6045ce57ce3382870d55fcac0e1341fb47a7f76f0d5d53b67fd5e0658ecb88ae2e2e42aa4b83b8cfcce9faae941450ace059a7f223623d1c8a9924638de7eebad35be9c9f1bf38aea041114351d585a1988ba53cccc6949150f367fd790fc427916afa2cccd1d2f1aa8583b948dfe56cf488b38ec2d2570a0e0441c07ccec8b5b4db5f60250741b1aeb0bf49a85cc779ad7465f0c197735698842be2a39af8591ab91c84b704e67e50cbcdb75c2799aaeba0184341dd520f6db8477f13d5815d37f191ccb20545e4a1eaca316370a +Ctrl.hexxcghash = hexxcghash:09d74bd79b47ceb3ada0d8df640595ba861ccfa3cc0d6c640eaac21d2d5f3f9fe61fb2e585fb6cc90bde11967a563c4e +Ctrl.hexsession_id = hexsession_id:09d74bd79b47ceb3ada0d8df640595ba861ccfa3cc0d6c640eaac21d2d5f3f9fe61fb2e585fb6cc90bde11967a563c4e +Ctrl.type = type:C +Output = a1cb0f9c7349d6443494df14b4bd9aad + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000101008174aa2fab9372c253f3b993d723b55a2484430fb338095852b7a5099f9d609ca6afa6bff9d64a55f7ef0963c684f0d17ec6045ce57ce3382870d55fcac0e1341fb47a7f76f0d5d53b67fd5e0658ecb88ae2e2e42aa4b83b8cfcce9faae941450ace059a7f223623d1c8a9924638de7eebad35be9c9f1bf38aea041114351d585a1988ba53cccc6949150f367fd790fc427916afa2cccd1d2f1aa8583b948dfe56cf488b38ec2d2570a0e0441c07ccec8b5b4db5f60250741b1aeb0bf49a85cc779ad7465f0c197735698842be2a39af8591ab91c84b704e67e50cbcdb75c2799aaeba0184341dd520f6db8477f13d5815d37f191ccb20545e4a1eaca316370a +Ctrl.hexxcghash = hexxcghash:09d74bd79b47ceb3ada0d8df640595ba861ccfa3cc0d6c640eaac21d2d5f3f9fe61fb2e585fb6cc90bde11967a563c4e +Ctrl.hexsession_id = hexsession_id:09d74bd79b47ceb3ada0d8df640595ba861ccfa3cc0d6c640eaac21d2d5f3f9fe61fb2e585fb6cc90bde11967a563c4e +Ctrl.type = type:D +Output = cdcd2c2ccbda238e184058b76757ed5d + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000101008174aa2fab9372c253f3b993d723b55a2484430fb338095852b7a5099f9d609ca6afa6bff9d64a55f7ef0963c684f0d17ec6045ce57ce3382870d55fcac0e1341fb47a7f76f0d5d53b67fd5e0658ecb88ae2e2e42aa4b83b8cfcce9faae941450ace059a7f223623d1c8a9924638de7eebad35be9c9f1bf38aea041114351d585a1988ba53cccc6949150f367fd790fc427916afa2cccd1d2f1aa8583b948dfe56cf488b38ec2d2570a0e0441c07ccec8b5b4db5f60250741b1aeb0bf49a85cc779ad7465f0c197735698842be2a39af8591ab91c84b704e67e50cbcdb75c2799aaeba0184341dd520f6db8477f13d5815d37f191ccb20545e4a1eaca316370a +Ctrl.hexxcghash = hexxcghash:09d74bd79b47ceb3ada0d8df640595ba861ccfa3cc0d6c640eaac21d2d5f3f9fe61fb2e585fb6cc90bde11967a563c4e +Ctrl.hexsession_id = hexsession_id:09d74bd79b47ceb3ada0d8df640595ba861ccfa3cc0d6c640eaac21d2d5f3f9fe61fb2e585fb6cc90bde11967a563c4e +Ctrl.type = type:E +Output = 026ae927b4a5b63a513c02faac55534dae5c219779f08e239f67df78c52be743aab628607e5a103127450ea51833eb84 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:00000101008174aa2fab9372c253f3b993d723b55a2484430fb338095852b7a5099f9d609ca6afa6bff9d64a55f7ef0963c684f0d17ec6045ce57ce3382870d55fcac0e1341fb47a7f76f0d5d53b67fd5e0658ecb88ae2e2e42aa4b83b8cfcce9faae941450ace059a7f223623d1c8a9924638de7eebad35be9c9f1bf38aea041114351d585a1988ba53cccc6949150f367fd790fc427916afa2cccd1d2f1aa8583b948dfe56cf488b38ec2d2570a0e0441c07ccec8b5b4db5f60250741b1aeb0bf49a85cc779ad7465f0c197735698842be2a39af8591ab91c84b704e67e50cbcdb75c2799aaeba0184341dd520f6db8477f13d5815d37f191ccb20545e4a1eaca316370a +Ctrl.hexxcghash = hexxcghash:09d74bd79b47ceb3ada0d8df640595ba861ccfa3cc0d6c640eaac21d2d5f3f9fe61fb2e585fb6cc90bde11967a563c4e +Ctrl.hexsession_id = hexsession_id:09d74bd79b47ceb3ada0d8df640595ba861ccfa3cc0d6c640eaac21d2d5f3f9fe61fb2e585fb6cc90bde11967a563c4e +Ctrl.type = type:F +Output = 759fd6bd386f4825e644521edfce4187a7104ea7380f2c6c5e283f205c7c025be46c5ee73bc54a956f268c2031026bf6 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c10fff0a20858c36e41082abaa65b96c5424ab67563882a42237258e736b5cfbdb2867df55f8c40f81b34e8c4c55d39c4629dc2d833257dc68070a61d10417487ef0840b76169145402327ae81f35cbddae6c2a45d52f52f48a0c94acdb20db076393b5b1e3d1a7acee3f371bdaccfee696262eecd20238cc54322e6ca72e58708aeb19bf761054d9f7426e4ea0059bd252beee03dcad1a7d6d034b4d9d307218bb3d7bee3a57572ded304df1dd8f97ed9550ebb0f5c25ee3f8c6df3dfc2aac92f364ec91040d001c5cb1eee33c1d43112e5a289b46706c7f12a327620cd98fbce2e7fe7b7bd0e05ee0005182c35ded65ee1d86aefe816e5894e07536697a7db +Ctrl.hexxcghash = hexxcghash:62b3155ba0c160f838a6949d0a99b144868a7b247c583a53f431129e39aebd40e2feb4dbac7527f993ccf1646d559134 +Ctrl.hexsession_id = hexsession_id:7e4674330fb6987b64ef7f30335d171676c705a6b9ed958adc6b6fd16949830d3f586eec44812d0518cc3ebd4292b422 +Ctrl.type = type:A +Output = a433ac21ceda36a9d98abec722b2a5e7 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c10fff0a20858c36e41082abaa65b96c5424ab67563882a42237258e736b5cfbdb2867df55f8c40f81b34e8c4c55d39c4629dc2d833257dc68070a61d10417487ef0840b76169145402327ae81f35cbddae6c2a45d52f52f48a0c94acdb20db076393b5b1e3d1a7acee3f371bdaccfee696262eecd20238cc54322e6ca72e58708aeb19bf761054d9f7426e4ea0059bd252beee03dcad1a7d6d034b4d9d307218bb3d7bee3a57572ded304df1dd8f97ed9550ebb0f5c25ee3f8c6df3dfc2aac92f364ec91040d001c5cb1eee33c1d43112e5a289b46706c7f12a327620cd98fbce2e7fe7b7bd0e05ee0005182c35ded65ee1d86aefe816e5894e07536697a7db +Ctrl.hexxcghash = hexxcghash:62b3155ba0c160f838a6949d0a99b144868a7b247c583a53f431129e39aebd40e2feb4dbac7527f993ccf1646d559134 +Ctrl.hexsession_id = hexsession_id:7e4674330fb6987b64ef7f30335d171676c705a6b9ed958adc6b6fd16949830d3f586eec44812d0518cc3ebd4292b422 +Ctrl.type = type:B +Output = ed580c2c7890d5f3da87870d71d96300 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c10fff0a20858c36e41082abaa65b96c5424ab67563882a42237258e736b5cfbdb2867df55f8c40f81b34e8c4c55d39c4629dc2d833257dc68070a61d10417487ef0840b76169145402327ae81f35cbddae6c2a45d52f52f48a0c94acdb20db076393b5b1e3d1a7acee3f371bdaccfee696262eecd20238cc54322e6ca72e58708aeb19bf761054d9f7426e4ea0059bd252beee03dcad1a7d6d034b4d9d307218bb3d7bee3a57572ded304df1dd8f97ed9550ebb0f5c25ee3f8c6df3dfc2aac92f364ec91040d001c5cb1eee33c1d43112e5a289b46706c7f12a327620cd98fbce2e7fe7b7bd0e05ee0005182c35ded65ee1d86aefe816e5894e07536697a7db +Ctrl.hexxcghash = hexxcghash:62b3155ba0c160f838a6949d0a99b144868a7b247c583a53f431129e39aebd40e2feb4dbac7527f993ccf1646d559134 +Ctrl.hexsession_id = hexsession_id:7e4674330fb6987b64ef7f30335d171676c705a6b9ed958adc6b6fd16949830d3f586eec44812d0518cc3ebd4292b422 +Ctrl.type = type:C +Output = b310304108476a31154febce2bfcf44e + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c10fff0a20858c36e41082abaa65b96c5424ab67563882a42237258e736b5cfbdb2867df55f8c40f81b34e8c4c55d39c4629dc2d833257dc68070a61d10417487ef0840b76169145402327ae81f35cbddae6c2a45d52f52f48a0c94acdb20db076393b5b1e3d1a7acee3f371bdaccfee696262eecd20238cc54322e6ca72e58708aeb19bf761054d9f7426e4ea0059bd252beee03dcad1a7d6d034b4d9d307218bb3d7bee3a57572ded304df1dd8f97ed9550ebb0f5c25ee3f8c6df3dfc2aac92f364ec91040d001c5cb1eee33c1d43112e5a289b46706c7f12a327620cd98fbce2e7fe7b7bd0e05ee0005182c35ded65ee1d86aefe816e5894e07536697a7db +Ctrl.hexxcghash = hexxcghash:62b3155ba0c160f838a6949d0a99b144868a7b247c583a53f431129e39aebd40e2feb4dbac7527f993ccf1646d559134 +Ctrl.hexsession_id = hexsession_id:7e4674330fb6987b64ef7f30335d171676c705a6b9ed958adc6b6fd16949830d3f586eec44812d0518cc3ebd4292b422 +Ctrl.type = type:D +Output = 63d729b0e32d9d7efe7efdc6111489b7 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c10fff0a20858c36e41082abaa65b96c5424ab67563882a42237258e736b5cfbdb2867df55f8c40f81b34e8c4c55d39c4629dc2d833257dc68070a61d10417487ef0840b76169145402327ae81f35cbddae6c2a45d52f52f48a0c94acdb20db076393b5b1e3d1a7acee3f371bdaccfee696262eecd20238cc54322e6ca72e58708aeb19bf761054d9f7426e4ea0059bd252beee03dcad1a7d6d034b4d9d307218bb3d7bee3a57572ded304df1dd8f97ed9550ebb0f5c25ee3f8c6df3dfc2aac92f364ec91040d001c5cb1eee33c1d43112e5a289b46706c7f12a327620cd98fbce2e7fe7b7bd0e05ee0005182c35ded65ee1d86aefe816e5894e07536697a7db +Ctrl.hexxcghash = hexxcghash:62b3155ba0c160f838a6949d0a99b144868a7b247c583a53f431129e39aebd40e2feb4dbac7527f993ccf1646d559134 +Ctrl.hexsession_id = hexsession_id:7e4674330fb6987b64ef7f30335d171676c705a6b9ed958adc6b6fd16949830d3f586eec44812d0518cc3ebd4292b422 +Ctrl.type = type:E +Output = 7443a278e0c47e4004ba1c534dfa5c460670d2dd4459a6dc7251664da187f633208f6c06470f6aed6148820187f35a25 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c10fff0a20858c36e41082abaa65b96c5424ab67563882a42237258e736b5cfbdb2867df55f8c40f81b34e8c4c55d39c4629dc2d833257dc68070a61d10417487ef0840b76169145402327ae81f35cbddae6c2a45d52f52f48a0c94acdb20db076393b5b1e3d1a7acee3f371bdaccfee696262eecd20238cc54322e6ca72e58708aeb19bf761054d9f7426e4ea0059bd252beee03dcad1a7d6d034b4d9d307218bb3d7bee3a57572ded304df1dd8f97ed9550ebb0f5c25ee3f8c6df3dfc2aac92f364ec91040d001c5cb1eee33c1d43112e5a289b46706c7f12a327620cd98fbce2e7fe7b7bd0e05ee0005182c35ded65ee1d86aefe816e5894e07536697a7db +Ctrl.hexxcghash = hexxcghash:62b3155ba0c160f838a6949d0a99b144868a7b247c583a53f431129e39aebd40e2feb4dbac7527f993ccf1646d559134 +Ctrl.hexsession_id = hexsession_id:7e4674330fb6987b64ef7f30335d171676c705a6b9ed958adc6b6fd16949830d3f586eec44812d0518cc3ebd4292b422 +Ctrl.type = type:F +Output = 37500b699935ab38b9185018d3676f221dcd6643ba4cf3dccf8ede7ba2f0513c27ad2324158ae98df4e7fb52ffb96526 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c9d019aa8ab57cdbd1600def08b92f4a90b8ddb1c3fd329475e28ad9388525d5a813756472458bed674332a649c56eecb6cbba726b9afcfd9ce1f490bf327de49978b34fb106ae1ab4ece2f241e0b67ddf03bf835aa2dcc5cde5aca913d2a5ed74d1ad0e945169f10772d830fa5c33c7f7d543e2d2ac09fa03ff1509b94977cc0dcb8a464104a3e8d9f99cbefac4361b92517f14eda2558d572ae7410a78962e596c542a20d3aeb49cf41b48b54b387dea7c24c72edfd656bcb64c605b741c7b03892020ca2ff34e0b13534228bd83c9c3ffbfa219602041ac4238904bd782da7e3c653f518891f7ac1e7b05b7e37baab18eb54e8de76dfa8c803a0df843a28e +Ctrl.hexxcghash = hexxcghash:a970acc5597f7965dcc540dac7cefde594c0232180187a32364b42dbb8d0307f8c3f52678e303e2f315b2ba1cf62863a +Ctrl.hexsession_id = hexsession_id:bad9943e089550d17b90f2a34409660c07a39be5d48a77d8e1ad25726c93096081831c24e876060cb96def95df9a7fcd +Ctrl.type = type:A +Output = 8ad38b03467ef0cac638f93b156e1c05 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c9d019aa8ab57cdbd1600def08b92f4a90b8ddb1c3fd329475e28ad9388525d5a813756472458bed674332a649c56eecb6cbba726b9afcfd9ce1f490bf327de49978b34fb106ae1ab4ece2f241e0b67ddf03bf835aa2dcc5cde5aca913d2a5ed74d1ad0e945169f10772d830fa5c33c7f7d543e2d2ac09fa03ff1509b94977cc0dcb8a464104a3e8d9f99cbefac4361b92517f14eda2558d572ae7410a78962e596c542a20d3aeb49cf41b48b54b387dea7c24c72edfd656bcb64c605b741c7b03892020ca2ff34e0b13534228bd83c9c3ffbfa219602041ac4238904bd782da7e3c653f518891f7ac1e7b05b7e37baab18eb54e8de76dfa8c803a0df843a28e +Ctrl.hexxcghash = hexxcghash:a970acc5597f7965dcc540dac7cefde594c0232180187a32364b42dbb8d0307f8c3f52678e303e2f315b2ba1cf62863a +Ctrl.hexsession_id = hexsession_id:bad9943e089550d17b90f2a34409660c07a39be5d48a77d8e1ad25726c93096081831c24e876060cb96def95df9a7fcd +Ctrl.type = type:B +Output = c9a867164cad7619621c2390039db88f + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c9d019aa8ab57cdbd1600def08b92f4a90b8ddb1c3fd329475e28ad9388525d5a813756472458bed674332a649c56eecb6cbba726b9afcfd9ce1f490bf327de49978b34fb106ae1ab4ece2f241e0b67ddf03bf835aa2dcc5cde5aca913d2a5ed74d1ad0e945169f10772d830fa5c33c7f7d543e2d2ac09fa03ff1509b94977cc0dcb8a464104a3e8d9f99cbefac4361b92517f14eda2558d572ae7410a78962e596c542a20d3aeb49cf41b48b54b387dea7c24c72edfd656bcb64c605b741c7b03892020ca2ff34e0b13534228bd83c9c3ffbfa219602041ac4238904bd782da7e3c653f518891f7ac1e7b05b7e37baab18eb54e8de76dfa8c803a0df843a28e +Ctrl.hexxcghash = hexxcghash:a970acc5597f7965dcc540dac7cefde594c0232180187a32364b42dbb8d0307f8c3f52678e303e2f315b2ba1cf62863a +Ctrl.hexsession_id = hexsession_id:bad9943e089550d17b90f2a34409660c07a39be5d48a77d8e1ad25726c93096081831c24e876060cb96def95df9a7fcd +Ctrl.type = type:C +Output = 28d6e6a69e686b3b2ca02c7595b6a565 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c9d019aa8ab57cdbd1600def08b92f4a90b8ddb1c3fd329475e28ad9388525d5a813756472458bed674332a649c56eecb6cbba726b9afcfd9ce1f490bf327de49978b34fb106ae1ab4ece2f241e0b67ddf03bf835aa2dcc5cde5aca913d2a5ed74d1ad0e945169f10772d830fa5c33c7f7d543e2d2ac09fa03ff1509b94977cc0dcb8a464104a3e8d9f99cbefac4361b92517f14eda2558d572ae7410a78962e596c542a20d3aeb49cf41b48b54b387dea7c24c72edfd656bcb64c605b741c7b03892020ca2ff34e0b13534228bd83c9c3ffbfa219602041ac4238904bd782da7e3c653f518891f7ac1e7b05b7e37baab18eb54e8de76dfa8c803a0df843a28e +Ctrl.hexxcghash = hexxcghash:a970acc5597f7965dcc540dac7cefde594c0232180187a32364b42dbb8d0307f8c3f52678e303e2f315b2ba1cf62863a +Ctrl.hexsession_id = hexsession_id:bad9943e089550d17b90f2a34409660c07a39be5d48a77d8e1ad25726c93096081831c24e876060cb96def95df9a7fcd +Ctrl.type = type:D +Output = a3486f9014731b15530dba7498d4b2ff + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c9d019aa8ab57cdbd1600def08b92f4a90b8ddb1c3fd329475e28ad9388525d5a813756472458bed674332a649c56eecb6cbba726b9afcfd9ce1f490bf327de49978b34fb106ae1ab4ece2f241e0b67ddf03bf835aa2dcc5cde5aca913d2a5ed74d1ad0e945169f10772d830fa5c33c7f7d543e2d2ac09fa03ff1509b94977cc0dcb8a464104a3e8d9f99cbefac4361b92517f14eda2558d572ae7410a78962e596c542a20d3aeb49cf41b48b54b387dea7c24c72edfd656bcb64c605b741c7b03892020ca2ff34e0b13534228bd83c9c3ffbfa219602041ac4238904bd782da7e3c653f518891f7ac1e7b05b7e37baab18eb54e8de76dfa8c803a0df843a28e +Ctrl.hexxcghash = hexxcghash:a970acc5597f7965dcc540dac7cefde594c0232180187a32364b42dbb8d0307f8c3f52678e303e2f315b2ba1cf62863a +Ctrl.hexsession_id = hexsession_id:bad9943e089550d17b90f2a34409660c07a39be5d48a77d8e1ad25726c93096081831c24e876060cb96def95df9a7fcd +Ctrl.type = type:E +Output = 9640b7d6c1351a44dcd430f9728083949adbd8f3c47f1c7358b41d99730f0eeef9f8634cc99207b8d998c8aeb0085e4c + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c9d019aa8ab57cdbd1600def08b92f4a90b8ddb1c3fd329475e28ad9388525d5a813756472458bed674332a649c56eecb6cbba726b9afcfd9ce1f490bf327de49978b34fb106ae1ab4ece2f241e0b67ddf03bf835aa2dcc5cde5aca913d2a5ed74d1ad0e945169f10772d830fa5c33c7f7d543e2d2ac09fa03ff1509b94977cc0dcb8a464104a3e8d9f99cbefac4361b92517f14eda2558d572ae7410a78962e596c542a20d3aeb49cf41b48b54b387dea7c24c72edfd656bcb64c605b741c7b03892020ca2ff34e0b13534228bd83c9c3ffbfa219602041ac4238904bd782da7e3c653f518891f7ac1e7b05b7e37baab18eb54e8de76dfa8c803a0df843a28e +Ctrl.hexxcghash = hexxcghash:a970acc5597f7965dcc540dac7cefde594c0232180187a32364b42dbb8d0307f8c3f52678e303e2f315b2ba1cf62863a +Ctrl.hexsession_id = hexsession_id:bad9943e089550d17b90f2a34409660c07a39be5d48a77d8e1ad25726c93096081831c24e876060cb96def95df9a7fcd +Ctrl.type = type:F +Output = cef923f7cbc47534d9a6da613eea02117b19800995f66df9e49291203ad15e5d29cc08df86200bf09ca091b37cc45432 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100ba6b819aa094b3b9a2e93d37eda5df776720cce40858790532b8ab0de613b8e20efcef330eaa9e4ab290fd670b8f8ab1e2fc217d575655a7c39740ce223675a4376bd039f24165d83268a3e3a5b6e05f1b077dc752c90781d0cd6877c91c1fc865586bf661f28cbded4266f1b9364ae7233e6003b47088cb50f81a631d4b1d200f8c38455ad2217eaf03b6e0a0861aeebe28ef0fcbac5526bd06ebcc44f67de9b908f0359076527f6ff7bb959b3adfc9ac82728d7627bf506ffb2f8742ae28ce3ca7402c25b1cd3dac6781776a35549480ff537c33f63796dd5de4c64e1ff5546689d8f398be911707e0b5d347b8456e89eb2262270ee1de85902b7deb60b02b +Ctrl.hexxcghash = hexxcghash:e94db0c0969c8f09c1c0d63fcca9f316ae85a0c034f118958c714fa165ac71a86bbcc7a4c017c11b9558bda897455f99 +Ctrl.hexsession_id = hexsession_id:a01426386ce69a9a9f101394e831dc9d17a6dc901349f3c3f4269788f5c5e20316c233d7632005b1771e5bc2f5ddf4c2 +Ctrl.type = type:A +Output = 1e2fd838058e4569de0699e57eb9bb30 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100ba6b819aa094b3b9a2e93d37eda5df776720cce40858790532b8ab0de613b8e20efcef330eaa9e4ab290fd670b8f8ab1e2fc217d575655a7c39740ce223675a4376bd039f24165d83268a3e3a5b6e05f1b077dc752c90781d0cd6877c91c1fc865586bf661f28cbded4266f1b9364ae7233e6003b47088cb50f81a631d4b1d200f8c38455ad2217eaf03b6e0a0861aeebe28ef0fcbac5526bd06ebcc44f67de9b908f0359076527f6ff7bb959b3adfc9ac82728d7627bf506ffb2f8742ae28ce3ca7402c25b1cd3dac6781776a35549480ff537c33f63796dd5de4c64e1ff5546689d8f398be911707e0b5d347b8456e89eb2262270ee1de85902b7deb60b02b +Ctrl.hexxcghash = hexxcghash:e94db0c0969c8f09c1c0d63fcca9f316ae85a0c034f118958c714fa165ac71a86bbcc7a4c017c11b9558bda897455f99 +Ctrl.hexsession_id = hexsession_id:a01426386ce69a9a9f101394e831dc9d17a6dc901349f3c3f4269788f5c5e20316c233d7632005b1771e5bc2f5ddf4c2 +Ctrl.type = type:B +Output = d338052b2288e99bfdd16b5df26e3d3c + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100ba6b819aa094b3b9a2e93d37eda5df776720cce40858790532b8ab0de613b8e20efcef330eaa9e4ab290fd670b8f8ab1e2fc217d575655a7c39740ce223675a4376bd039f24165d83268a3e3a5b6e05f1b077dc752c90781d0cd6877c91c1fc865586bf661f28cbded4266f1b9364ae7233e6003b47088cb50f81a631d4b1d200f8c38455ad2217eaf03b6e0a0861aeebe28ef0fcbac5526bd06ebcc44f67de9b908f0359076527f6ff7bb959b3adfc9ac82728d7627bf506ffb2f8742ae28ce3ca7402c25b1cd3dac6781776a35549480ff537c33f63796dd5de4c64e1ff5546689d8f398be911707e0b5d347b8456e89eb2262270ee1de85902b7deb60b02b +Ctrl.hexxcghash = hexxcghash:e94db0c0969c8f09c1c0d63fcca9f316ae85a0c034f118958c714fa165ac71a86bbcc7a4c017c11b9558bda897455f99 +Ctrl.hexsession_id = hexsession_id:a01426386ce69a9a9f101394e831dc9d17a6dc901349f3c3f4269788f5c5e20316c233d7632005b1771e5bc2f5ddf4c2 +Ctrl.type = type:C +Output = 020c58037db045fc2a20a9b12e34205d + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100ba6b819aa094b3b9a2e93d37eda5df776720cce40858790532b8ab0de613b8e20efcef330eaa9e4ab290fd670b8f8ab1e2fc217d575655a7c39740ce223675a4376bd039f24165d83268a3e3a5b6e05f1b077dc752c90781d0cd6877c91c1fc865586bf661f28cbded4266f1b9364ae7233e6003b47088cb50f81a631d4b1d200f8c38455ad2217eaf03b6e0a0861aeebe28ef0fcbac5526bd06ebcc44f67de9b908f0359076527f6ff7bb959b3adfc9ac82728d7627bf506ffb2f8742ae28ce3ca7402c25b1cd3dac6781776a35549480ff537c33f63796dd5de4c64e1ff5546689d8f398be911707e0b5d347b8456e89eb2262270ee1de85902b7deb60b02b +Ctrl.hexxcghash = hexxcghash:e94db0c0969c8f09c1c0d63fcca9f316ae85a0c034f118958c714fa165ac71a86bbcc7a4c017c11b9558bda897455f99 +Ctrl.hexsession_id = hexsession_id:a01426386ce69a9a9f101394e831dc9d17a6dc901349f3c3f4269788f5c5e20316c233d7632005b1771e5bc2f5ddf4c2 +Ctrl.type = type:D +Output = b1e7b4361aaea7f9656151723c21b9a2 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100ba6b819aa094b3b9a2e93d37eda5df776720cce40858790532b8ab0de613b8e20efcef330eaa9e4ab290fd670b8f8ab1e2fc217d575655a7c39740ce223675a4376bd039f24165d83268a3e3a5b6e05f1b077dc752c90781d0cd6877c91c1fc865586bf661f28cbded4266f1b9364ae7233e6003b47088cb50f81a631d4b1d200f8c38455ad2217eaf03b6e0a0861aeebe28ef0fcbac5526bd06ebcc44f67de9b908f0359076527f6ff7bb959b3adfc9ac82728d7627bf506ffb2f8742ae28ce3ca7402c25b1cd3dac6781776a35549480ff537c33f63796dd5de4c64e1ff5546689d8f398be911707e0b5d347b8456e89eb2262270ee1de85902b7deb60b02b +Ctrl.hexxcghash = hexxcghash:e94db0c0969c8f09c1c0d63fcca9f316ae85a0c034f118958c714fa165ac71a86bbcc7a4c017c11b9558bda897455f99 +Ctrl.hexsession_id = hexsession_id:a01426386ce69a9a9f101394e831dc9d17a6dc901349f3c3f4269788f5c5e20316c233d7632005b1771e5bc2f5ddf4c2 +Ctrl.type = type:E +Output = 67d80666ba420d07153530859fed5a3a2f4b6decd37575714d4826f41a96a1638b89399cdd752af7f6ffd3db0214f0c1 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100ba6b819aa094b3b9a2e93d37eda5df776720cce40858790532b8ab0de613b8e20efcef330eaa9e4ab290fd670b8f8ab1e2fc217d575655a7c39740ce223675a4376bd039f24165d83268a3e3a5b6e05f1b077dc752c90781d0cd6877c91c1fc865586bf661f28cbded4266f1b9364ae7233e6003b47088cb50f81a631d4b1d200f8c38455ad2217eaf03b6e0a0861aeebe28ef0fcbac5526bd06ebcc44f67de9b908f0359076527f6ff7bb959b3adfc9ac82728d7627bf506ffb2f8742ae28ce3ca7402c25b1cd3dac6781776a35549480ff537c33f63796dd5de4c64e1ff5546689d8f398be911707e0b5d347b8456e89eb2262270ee1de85902b7deb60b02b +Ctrl.hexxcghash = hexxcghash:e94db0c0969c8f09c1c0d63fcca9f316ae85a0c034f118958c714fa165ac71a86bbcc7a4c017c11b9558bda897455f99 +Ctrl.hexsession_id = hexsession_id:a01426386ce69a9a9f101394e831dc9d17a6dc901349f3c3f4269788f5c5e20316c233d7632005b1771e5bc2f5ddf4c2 +Ctrl.type = type:F +Output = c3fb2ab670e39885cbb98a4609d69a90afd37d383512ad222d63c9c6f1009e2a42065a232ab5b39f55247f8bf9e6ab2c + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001001b9f110b05461796db3a0b751638b552e62a062d7b891591ac75e237d47f5f12d97a5d19be0718c8a2fbdd9100249c2d9ca59bf491b10afef75f61c53ae92455e8cb016e230408c869ea1c5f5d62e853ae84727e3d1f1bb0a0faa9ff575eede461f502b90ca38e8effae09478efedd16090202bf03530d03d0a2aa70825fb28c606b7545bdde26d606c059215a9f947e60c4b5de9b35a3704f73a5c8bc8811387431b7e90f1ddc71cf0696497fd640cb9b1b8866bff5d85e879e0a7848722d34cc62844afcc6318fe73ea80e484c3e62feb0cde9269c07edc0679683bc5427a163a4b4ac463802293f7c968e4188e7966b559c2581582c67ecda0c9b3b8eac94 +Ctrl.hexxcghash = hexxcghash:8886115c2324dede13be6895605a439c6ec48ca46f3d82170b863dcf1acc26176769626df893ebb7ce8c9432058633d8 +Ctrl.hexsession_id = hexsession_id:331f7e0103de46d90dbd885dadaf67c589bc6b3caf25e45e329d864c85b7c9ae17b27cb92a81c9b4421f431014cb0e03 +Ctrl.type = type:A +Output = 6e9bb7681d56457fd93aea6d40860dd9 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001001b9f110b05461796db3a0b751638b552e62a062d7b891591ac75e237d47f5f12d97a5d19be0718c8a2fbdd9100249c2d9ca59bf491b10afef75f61c53ae92455e8cb016e230408c869ea1c5f5d62e853ae84727e3d1f1bb0a0faa9ff575eede461f502b90ca38e8effae09478efedd16090202bf03530d03d0a2aa70825fb28c606b7545bdde26d606c059215a9f947e60c4b5de9b35a3704f73a5c8bc8811387431b7e90f1ddc71cf0696497fd640cb9b1b8866bff5d85e879e0a7848722d34cc62844afcc6318fe73ea80e484c3e62feb0cde9269c07edc0679683bc5427a163a4b4ac463802293f7c968e4188e7966b559c2581582c67ecda0c9b3b8eac94 +Ctrl.hexxcghash = hexxcghash:8886115c2324dede13be6895605a439c6ec48ca46f3d82170b863dcf1acc26176769626df893ebb7ce8c9432058633d8 +Ctrl.hexsession_id = hexsession_id:331f7e0103de46d90dbd885dadaf67c589bc6b3caf25e45e329d864c85b7c9ae17b27cb92a81c9b4421f431014cb0e03 +Ctrl.type = type:B +Output = 5d19ce6c6b16c5f2179753a7abdff3e4 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001001b9f110b05461796db3a0b751638b552e62a062d7b891591ac75e237d47f5f12d97a5d19be0718c8a2fbdd9100249c2d9ca59bf491b10afef75f61c53ae92455e8cb016e230408c869ea1c5f5d62e853ae84727e3d1f1bb0a0faa9ff575eede461f502b90ca38e8effae09478efedd16090202bf03530d03d0a2aa70825fb28c606b7545bdde26d606c059215a9f947e60c4b5de9b35a3704f73a5c8bc8811387431b7e90f1ddc71cf0696497fd640cb9b1b8866bff5d85e879e0a7848722d34cc62844afcc6318fe73ea80e484c3e62feb0cde9269c07edc0679683bc5427a163a4b4ac463802293f7c968e4188e7966b559c2581582c67ecda0c9b3b8eac94 +Ctrl.hexxcghash = hexxcghash:8886115c2324dede13be6895605a439c6ec48ca46f3d82170b863dcf1acc26176769626df893ebb7ce8c9432058633d8 +Ctrl.hexsession_id = hexsession_id:331f7e0103de46d90dbd885dadaf67c589bc6b3caf25e45e329d864c85b7c9ae17b27cb92a81c9b4421f431014cb0e03 +Ctrl.type = type:C +Output = c550416e8ea0608a09051cfffe0494e7 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001001b9f110b05461796db3a0b751638b552e62a062d7b891591ac75e237d47f5f12d97a5d19be0718c8a2fbdd9100249c2d9ca59bf491b10afef75f61c53ae92455e8cb016e230408c869ea1c5f5d62e853ae84727e3d1f1bb0a0faa9ff575eede461f502b90ca38e8effae09478efedd16090202bf03530d03d0a2aa70825fb28c606b7545bdde26d606c059215a9f947e60c4b5de9b35a3704f73a5c8bc8811387431b7e90f1ddc71cf0696497fd640cb9b1b8866bff5d85e879e0a7848722d34cc62844afcc6318fe73ea80e484c3e62feb0cde9269c07edc0679683bc5427a163a4b4ac463802293f7c968e4188e7966b559c2581582c67ecda0c9b3b8eac94 +Ctrl.hexxcghash = hexxcghash:8886115c2324dede13be6895605a439c6ec48ca46f3d82170b863dcf1acc26176769626df893ebb7ce8c9432058633d8 +Ctrl.hexsession_id = hexsession_id:331f7e0103de46d90dbd885dadaf67c589bc6b3caf25e45e329d864c85b7c9ae17b27cb92a81c9b4421f431014cb0e03 +Ctrl.type = type:D +Output = 33c9f3f03de395cef067684cb5b95200 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001001b9f110b05461796db3a0b751638b552e62a062d7b891591ac75e237d47f5f12d97a5d19be0718c8a2fbdd9100249c2d9ca59bf491b10afef75f61c53ae92455e8cb016e230408c869ea1c5f5d62e853ae84727e3d1f1bb0a0faa9ff575eede461f502b90ca38e8effae09478efedd16090202bf03530d03d0a2aa70825fb28c606b7545bdde26d606c059215a9f947e60c4b5de9b35a3704f73a5c8bc8811387431b7e90f1ddc71cf0696497fd640cb9b1b8866bff5d85e879e0a7848722d34cc62844afcc6318fe73ea80e484c3e62feb0cde9269c07edc0679683bc5427a163a4b4ac463802293f7c968e4188e7966b559c2581582c67ecda0c9b3b8eac94 +Ctrl.hexxcghash = hexxcghash:8886115c2324dede13be6895605a439c6ec48ca46f3d82170b863dcf1acc26176769626df893ebb7ce8c9432058633d8 +Ctrl.hexsession_id = hexsession_id:331f7e0103de46d90dbd885dadaf67c589bc6b3caf25e45e329d864c85b7c9ae17b27cb92a81c9b4421f431014cb0e03 +Ctrl.type = type:E +Output = 99071b0615bdec08d040e731828028fac9a16d367b86d2d1302b607cd39ac9678ae7f9f87eb619fe2ba75d54da3b07d1 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001001b9f110b05461796db3a0b751638b552e62a062d7b891591ac75e237d47f5f12d97a5d19be0718c8a2fbdd9100249c2d9ca59bf491b10afef75f61c53ae92455e8cb016e230408c869ea1c5f5d62e853ae84727e3d1f1bb0a0faa9ff575eede461f502b90ca38e8effae09478efedd16090202bf03530d03d0a2aa70825fb28c606b7545bdde26d606c059215a9f947e60c4b5de9b35a3704f73a5c8bc8811387431b7e90f1ddc71cf0696497fd640cb9b1b8866bff5d85e879e0a7848722d34cc62844afcc6318fe73ea80e484c3e62feb0cde9269c07edc0679683bc5427a163a4b4ac463802293f7c968e4188e7966b559c2581582c67ecda0c9b3b8eac94 +Ctrl.hexxcghash = hexxcghash:8886115c2324dede13be6895605a439c6ec48ca46f3d82170b863dcf1acc26176769626df893ebb7ce8c9432058633d8 +Ctrl.hexsession_id = hexsession_id:331f7e0103de46d90dbd885dadaf67c589bc6b3caf25e45e329d864c85b7c9ae17b27cb92a81c9b4421f431014cb0e03 +Ctrl.type = type:F +Output = a11fc539c46d9314645e1f7517e19794a6ba4bf7d7d5a6f71bcb4621bfdedeae3bbcaa62fb638d994d1f21d14f5777d7 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001004db530516876fb9937bc2da16117f9675c721da6b80cd49e6b6eb0df6fe4af90ae755378e77e28dbc376e000903b1365a7b3cddfaf19410b31ae44e3e6641c5d47002ac5b261b1c4f7f301c8d16a917135c23bf7f84f15a6143e7e3466c52e1e3c30026f15d5254da11ced1b817739768de9913aca2d808acaa31e933763eb438238b347a6bd07834d4f661690cdb2372b4205aa9ad80df40340c1d0b1db320df1d1b13fa2ff4b9ee4500c9d03f45e75fb15a97b833ab9827708e4bca8fea562d69fea573ca7b5905c71e51dc9f24a74bd0c596051066acdeb66eb39c76fab66b10bdc88e1b72bba8aafa342088cd4a739a18e61c75be6b5df0904dc5094f0df +Ctrl.hexxcghash = hexxcghash:12ce3e6a5407943831d65608c9fd59c972689136289af06071c015f8a41c9d1536d0afdad084322f832415fbf199d044 +Ctrl.hexsession_id = hexsession_id:939c41734aa3db9d9dfac7a7db54c889da38d8bbe00326f559a3b0f92a96b5ac3a454d8355ccd0f31099021d0ee43063 +Ctrl.type = type:A +Output = 876692595fbf1239e03b1eb28890cedf + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001004db530516876fb9937bc2da16117f9675c721da6b80cd49e6b6eb0df6fe4af90ae755378e77e28dbc376e000903b1365a7b3cddfaf19410b31ae44e3e6641c5d47002ac5b261b1c4f7f301c8d16a917135c23bf7f84f15a6143e7e3466c52e1e3c30026f15d5254da11ced1b817739768de9913aca2d808acaa31e933763eb438238b347a6bd07834d4f661690cdb2372b4205aa9ad80df40340c1d0b1db320df1d1b13fa2ff4b9ee4500c9d03f45e75fb15a97b833ab9827708e4bca8fea562d69fea573ca7b5905c71e51dc9f24a74bd0c596051066acdeb66eb39c76fab66b10bdc88e1b72bba8aafa342088cd4a739a18e61c75be6b5df0904dc5094f0df +Ctrl.hexxcghash = hexxcghash:12ce3e6a5407943831d65608c9fd59c972689136289af06071c015f8a41c9d1536d0afdad084322f832415fbf199d044 +Ctrl.hexsession_id = hexsession_id:939c41734aa3db9d9dfac7a7db54c889da38d8bbe00326f559a3b0f92a96b5ac3a454d8355ccd0f31099021d0ee43063 +Ctrl.type = type:B +Output = 438afd7eae8454675ed5964122fcbb9e + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001004db530516876fb9937bc2da16117f9675c721da6b80cd49e6b6eb0df6fe4af90ae755378e77e28dbc376e000903b1365a7b3cddfaf19410b31ae44e3e6641c5d47002ac5b261b1c4f7f301c8d16a917135c23bf7f84f15a6143e7e3466c52e1e3c30026f15d5254da11ced1b817739768de9913aca2d808acaa31e933763eb438238b347a6bd07834d4f661690cdb2372b4205aa9ad80df40340c1d0b1db320df1d1b13fa2ff4b9ee4500c9d03f45e75fb15a97b833ab9827708e4bca8fea562d69fea573ca7b5905c71e51dc9f24a74bd0c596051066acdeb66eb39c76fab66b10bdc88e1b72bba8aafa342088cd4a739a18e61c75be6b5df0904dc5094f0df +Ctrl.hexxcghash = hexxcghash:12ce3e6a5407943831d65608c9fd59c972689136289af06071c015f8a41c9d1536d0afdad084322f832415fbf199d044 +Ctrl.hexsession_id = hexsession_id:939c41734aa3db9d9dfac7a7db54c889da38d8bbe00326f559a3b0f92a96b5ac3a454d8355ccd0f31099021d0ee43063 +Ctrl.type = type:C +Output = b9cc0e2718c5853e0aebb43409fcaaef + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001004db530516876fb9937bc2da16117f9675c721da6b80cd49e6b6eb0df6fe4af90ae755378e77e28dbc376e000903b1365a7b3cddfaf19410b31ae44e3e6641c5d47002ac5b261b1c4f7f301c8d16a917135c23bf7f84f15a6143e7e3466c52e1e3c30026f15d5254da11ced1b817739768de9913aca2d808acaa31e933763eb438238b347a6bd07834d4f661690cdb2372b4205aa9ad80df40340c1d0b1db320df1d1b13fa2ff4b9ee4500c9d03f45e75fb15a97b833ab9827708e4bca8fea562d69fea573ca7b5905c71e51dc9f24a74bd0c596051066acdeb66eb39c76fab66b10bdc88e1b72bba8aafa342088cd4a739a18e61c75be6b5df0904dc5094f0df +Ctrl.hexxcghash = hexxcghash:12ce3e6a5407943831d65608c9fd59c972689136289af06071c015f8a41c9d1536d0afdad084322f832415fbf199d044 +Ctrl.hexsession_id = hexsession_id:939c41734aa3db9d9dfac7a7db54c889da38d8bbe00326f559a3b0f92a96b5ac3a454d8355ccd0f31099021d0ee43063 +Ctrl.type = type:D +Output = 8def9f93e633ac2d28a7c5b76567a4cb + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001004db530516876fb9937bc2da16117f9675c721da6b80cd49e6b6eb0df6fe4af90ae755378e77e28dbc376e000903b1365a7b3cddfaf19410b31ae44e3e6641c5d47002ac5b261b1c4f7f301c8d16a917135c23bf7f84f15a6143e7e3466c52e1e3c30026f15d5254da11ced1b817739768de9913aca2d808acaa31e933763eb438238b347a6bd07834d4f661690cdb2372b4205aa9ad80df40340c1d0b1db320df1d1b13fa2ff4b9ee4500c9d03f45e75fb15a97b833ab9827708e4bca8fea562d69fea573ca7b5905c71e51dc9f24a74bd0c596051066acdeb66eb39c76fab66b10bdc88e1b72bba8aafa342088cd4a739a18e61c75be6b5df0904dc5094f0df +Ctrl.hexxcghash = hexxcghash:12ce3e6a5407943831d65608c9fd59c972689136289af06071c015f8a41c9d1536d0afdad084322f832415fbf199d044 +Ctrl.hexsession_id = hexsession_id:939c41734aa3db9d9dfac7a7db54c889da38d8bbe00326f559a3b0f92a96b5ac3a454d8355ccd0f31099021d0ee43063 +Ctrl.type = type:E +Output = 3d80ed20f0703857154bda8531b12b96cf73aedfc662df6faf277321be6e38c904bfbd5f9206607684ac331dfc92bbbb + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001004db530516876fb9937bc2da16117f9675c721da6b80cd49e6b6eb0df6fe4af90ae755378e77e28dbc376e000903b1365a7b3cddfaf19410b31ae44e3e6641c5d47002ac5b261b1c4f7f301c8d16a917135c23bf7f84f15a6143e7e3466c52e1e3c30026f15d5254da11ced1b817739768de9913aca2d808acaa31e933763eb438238b347a6bd07834d4f661690cdb2372b4205aa9ad80df40340c1d0b1db320df1d1b13fa2ff4b9ee4500c9d03f45e75fb15a97b833ab9827708e4bca8fea562d69fea573ca7b5905c71e51dc9f24a74bd0c596051066acdeb66eb39c76fab66b10bdc88e1b72bba8aafa342088cd4a739a18e61c75be6b5df0904dc5094f0df +Ctrl.hexxcghash = hexxcghash:12ce3e6a5407943831d65608c9fd59c972689136289af06071c015f8a41c9d1536d0afdad084322f832415fbf199d044 +Ctrl.hexsession_id = hexsession_id:939c41734aa3db9d9dfac7a7db54c889da38d8bbe00326f559a3b0f92a96b5ac3a454d8355ccd0f31099021d0ee43063 +Ctrl.type = type:F +Output = 736e77ad5a8fac835795ab08522d834e34a4cbc48439db2845cb1d8636a4dcfd49a7ac5413713a8177c277eead96a0ff + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001004d7ba3e909e1e2886e00db333430d7cebe5107e9701672a2a1bc0bb5461c620c56fc8a8aa95a577cf48ac2e5b35d948e468bbc6232527f6a4e3bf5ea0b2f68b161ee3aadeef596c683e511bec1ff70df312d988eddd557952720f82f69882107f67880e38efcca68429374d85831eea3ac133a6a89b68a9ec27c71a67c87addfddb7040a7416ead43e29612dcdc5b7e6a82ad5cd243e8a6dd2997c44ad76a2a20145f89d7e6b2a26c2c0f2ce7d60b1f45410f9ebb79b52dde560f8c7c99b7a11d645f6ad6f94727cd2ea9d48ceb27467ee60371e6919a3ae044c8941a65182c94e8efd7b5c7eb45935baea722628d89d89de995d82b620059fe1054927864a91 +Ctrl.hexxcghash = hexxcghash:f3cc38427adf01b9483d1f9e4e9acef554a8c7d0d8dc088d3865f05bc06a4ff11efbbdbca7ab0e0c0e2df55a93f0b4b9 +Ctrl.hexsession_id = hexsession_id:aae879d8c0c6762d28c30fdc707b169a2155f8b8a943ced399a56419be89cc9f66ba9282d85ac4e53e0d5ae27adcf393 +Ctrl.type = type:A +Output = c84a4fcd4ade28805b032174428a6f27 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001004d7ba3e909e1e2886e00db333430d7cebe5107e9701672a2a1bc0bb5461c620c56fc8a8aa95a577cf48ac2e5b35d948e468bbc6232527f6a4e3bf5ea0b2f68b161ee3aadeef596c683e511bec1ff70df312d988eddd557952720f82f69882107f67880e38efcca68429374d85831eea3ac133a6a89b68a9ec27c71a67c87addfddb7040a7416ead43e29612dcdc5b7e6a82ad5cd243e8a6dd2997c44ad76a2a20145f89d7e6b2a26c2c0f2ce7d60b1f45410f9ebb79b52dde560f8c7c99b7a11d645f6ad6f94727cd2ea9d48ceb27467ee60371e6919a3ae044c8941a65182c94e8efd7b5c7eb45935baea722628d89d89de995d82b620059fe1054927864a91 +Ctrl.hexxcghash = hexxcghash:f3cc38427adf01b9483d1f9e4e9acef554a8c7d0d8dc088d3865f05bc06a4ff11efbbdbca7ab0e0c0e2df55a93f0b4b9 +Ctrl.hexsession_id = hexsession_id:aae879d8c0c6762d28c30fdc707b169a2155f8b8a943ced399a56419be89cc9f66ba9282d85ac4e53e0d5ae27adcf393 +Ctrl.type = type:B +Output = 27b0de69f3bc7d79d2f6b54101f3e10f + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001004d7ba3e909e1e2886e00db333430d7cebe5107e9701672a2a1bc0bb5461c620c56fc8a8aa95a577cf48ac2e5b35d948e468bbc6232527f6a4e3bf5ea0b2f68b161ee3aadeef596c683e511bec1ff70df312d988eddd557952720f82f69882107f67880e38efcca68429374d85831eea3ac133a6a89b68a9ec27c71a67c87addfddb7040a7416ead43e29612dcdc5b7e6a82ad5cd243e8a6dd2997c44ad76a2a20145f89d7e6b2a26c2c0f2ce7d60b1f45410f9ebb79b52dde560f8c7c99b7a11d645f6ad6f94727cd2ea9d48ceb27467ee60371e6919a3ae044c8941a65182c94e8efd7b5c7eb45935baea722628d89d89de995d82b620059fe1054927864a91 +Ctrl.hexxcghash = hexxcghash:f3cc38427adf01b9483d1f9e4e9acef554a8c7d0d8dc088d3865f05bc06a4ff11efbbdbca7ab0e0c0e2df55a93f0b4b9 +Ctrl.hexsession_id = hexsession_id:aae879d8c0c6762d28c30fdc707b169a2155f8b8a943ced399a56419be89cc9f66ba9282d85ac4e53e0d5ae27adcf393 +Ctrl.type = type:C +Output = 3200c39e6ed260f4f345cbd0c88cac1a + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001004d7ba3e909e1e2886e00db333430d7cebe5107e9701672a2a1bc0bb5461c620c56fc8a8aa95a577cf48ac2e5b35d948e468bbc6232527f6a4e3bf5ea0b2f68b161ee3aadeef596c683e511bec1ff70df312d988eddd557952720f82f69882107f67880e38efcca68429374d85831eea3ac133a6a89b68a9ec27c71a67c87addfddb7040a7416ead43e29612dcdc5b7e6a82ad5cd243e8a6dd2997c44ad76a2a20145f89d7e6b2a26c2c0f2ce7d60b1f45410f9ebb79b52dde560f8c7c99b7a11d645f6ad6f94727cd2ea9d48ceb27467ee60371e6919a3ae044c8941a65182c94e8efd7b5c7eb45935baea722628d89d89de995d82b620059fe1054927864a91 +Ctrl.hexxcghash = hexxcghash:f3cc38427adf01b9483d1f9e4e9acef554a8c7d0d8dc088d3865f05bc06a4ff11efbbdbca7ab0e0c0e2df55a93f0b4b9 +Ctrl.hexsession_id = hexsession_id:aae879d8c0c6762d28c30fdc707b169a2155f8b8a943ced399a56419be89cc9f66ba9282d85ac4e53e0d5ae27adcf393 +Ctrl.type = type:D +Output = 7b9e506a1baede9b80dff09253a9ab88 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001004d7ba3e909e1e2886e00db333430d7cebe5107e9701672a2a1bc0bb5461c620c56fc8a8aa95a577cf48ac2e5b35d948e468bbc6232527f6a4e3bf5ea0b2f68b161ee3aadeef596c683e511bec1ff70df312d988eddd557952720f82f69882107f67880e38efcca68429374d85831eea3ac133a6a89b68a9ec27c71a67c87addfddb7040a7416ead43e29612dcdc5b7e6a82ad5cd243e8a6dd2997c44ad76a2a20145f89d7e6b2a26c2c0f2ce7d60b1f45410f9ebb79b52dde560f8c7c99b7a11d645f6ad6f94727cd2ea9d48ceb27467ee60371e6919a3ae044c8941a65182c94e8efd7b5c7eb45935baea722628d89d89de995d82b620059fe1054927864a91 +Ctrl.hexxcghash = hexxcghash:f3cc38427adf01b9483d1f9e4e9acef554a8c7d0d8dc088d3865f05bc06a4ff11efbbdbca7ab0e0c0e2df55a93f0b4b9 +Ctrl.hexsession_id = hexsession_id:aae879d8c0c6762d28c30fdc707b169a2155f8b8a943ced399a56419be89cc9f66ba9282d85ac4e53e0d5ae27adcf393 +Ctrl.type = type:E +Output = 3c860ae21a5dab865eb560ed9ddf51775d3b6603e4e06285cf5e9273115a77d8d5ddfb977fd21c0a70c35798a5ef596e + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001004d7ba3e909e1e2886e00db333430d7cebe5107e9701672a2a1bc0bb5461c620c56fc8a8aa95a577cf48ac2e5b35d948e468bbc6232527f6a4e3bf5ea0b2f68b161ee3aadeef596c683e511bec1ff70df312d988eddd557952720f82f69882107f67880e38efcca68429374d85831eea3ac133a6a89b68a9ec27c71a67c87addfddb7040a7416ead43e29612dcdc5b7e6a82ad5cd243e8a6dd2997c44ad76a2a20145f89d7e6b2a26c2c0f2ce7d60b1f45410f9ebb79b52dde560f8c7c99b7a11d645f6ad6f94727cd2ea9d48ceb27467ee60371e6919a3ae044c8941a65182c94e8efd7b5c7eb45935baea722628d89d89de995d82b620059fe1054927864a91 +Ctrl.hexxcghash = hexxcghash:f3cc38427adf01b9483d1f9e4e9acef554a8c7d0d8dc088d3865f05bc06a4ff11efbbdbca7ab0e0c0e2df55a93f0b4b9 +Ctrl.hexsession_id = hexsession_id:aae879d8c0c6762d28c30fdc707b169a2155f8b8a943ced399a56419be89cc9f66ba9282d85ac4e53e0d5ae27adcf393 +Ctrl.type = type:F +Output = c53cfa0836ac21bb13c58ed15ddf593e8e01c7437587112ba013058d411d262d87a5e56c098b69146d9019803206ef91 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001001cbe25a738580c94ae733a5d4e9e61860bf1a68dfac365edc5818814166cfaecf269d07293d656c8e99973934b5f14eb4bcd1ac3c388596221f65f66e1193463bd41fcff389e458ef7f1ef858439b600bca422cd29c84d2cbc684c7a85d8b44f6a43a5fc53bbaa4ad1a6b0f2b841278efb1fbdd2513e6603984027efb81c72d8c4cbadc8dec51089dcd43ed3109ddbc6db29534186a237c5d8c3a66dedbb51b09937b1c7d4cf6cac682ba2dd1c9cf901d66f1a995f945d5ad12bd7bfdd3fcc5b0852376b9834f0bee3f7a666f587bd2a3b562ccf129b6132c902738fd0dfea3ff9538961bf5f59ac1779dd4ed68986059881f5e08be5ecd1a59380392e81f0a6 +Ctrl.hexxcghash = hexxcghash:b32d4e6b47772e651b867558a03f488fc00c715c196c7abb1abf3ebc24a638edd058e77aeadd9aade5ce34f43e19f1fc +Ctrl.hexsession_id = hexsession_id:5d2a819b135d8d985643ceab3461ede24ed192c60471676031b4b1f8ae71dec657547fdb3a43f75112855ffce72b60f4 +Ctrl.type = type:A +Output = e34b595f755ff42a33126d8efabe1ec0 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001001cbe25a738580c94ae733a5d4e9e61860bf1a68dfac365edc5818814166cfaecf269d07293d656c8e99973934b5f14eb4bcd1ac3c388596221f65f66e1193463bd41fcff389e458ef7f1ef858439b600bca422cd29c84d2cbc684c7a85d8b44f6a43a5fc53bbaa4ad1a6b0f2b841278efb1fbdd2513e6603984027efb81c72d8c4cbadc8dec51089dcd43ed3109ddbc6db29534186a237c5d8c3a66dedbb51b09937b1c7d4cf6cac682ba2dd1c9cf901d66f1a995f945d5ad12bd7bfdd3fcc5b0852376b9834f0bee3f7a666f587bd2a3b562ccf129b6132c902738fd0dfea3ff9538961bf5f59ac1779dd4ed68986059881f5e08be5ecd1a59380392e81f0a6 +Ctrl.hexxcghash = hexxcghash:b32d4e6b47772e651b867558a03f488fc00c715c196c7abb1abf3ebc24a638edd058e77aeadd9aade5ce34f43e19f1fc +Ctrl.hexsession_id = hexsession_id:5d2a819b135d8d985643ceab3461ede24ed192c60471676031b4b1f8ae71dec657547fdb3a43f75112855ffce72b60f4 +Ctrl.type = type:B +Output = a873f52aa3b91a8dd019be8358c04de6 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001001cbe25a738580c94ae733a5d4e9e61860bf1a68dfac365edc5818814166cfaecf269d07293d656c8e99973934b5f14eb4bcd1ac3c388596221f65f66e1193463bd41fcff389e458ef7f1ef858439b600bca422cd29c84d2cbc684c7a85d8b44f6a43a5fc53bbaa4ad1a6b0f2b841278efb1fbdd2513e6603984027efb81c72d8c4cbadc8dec51089dcd43ed3109ddbc6db29534186a237c5d8c3a66dedbb51b09937b1c7d4cf6cac682ba2dd1c9cf901d66f1a995f945d5ad12bd7bfdd3fcc5b0852376b9834f0bee3f7a666f587bd2a3b562ccf129b6132c902738fd0dfea3ff9538961bf5f59ac1779dd4ed68986059881f5e08be5ecd1a59380392e81f0a6 +Ctrl.hexxcghash = hexxcghash:b32d4e6b47772e651b867558a03f488fc00c715c196c7abb1abf3ebc24a638edd058e77aeadd9aade5ce34f43e19f1fc +Ctrl.hexsession_id = hexsession_id:5d2a819b135d8d985643ceab3461ede24ed192c60471676031b4b1f8ae71dec657547fdb3a43f75112855ffce72b60f4 +Ctrl.type = type:C +Output = fce5c490a769fbd4aa31b0f5c7aad86b + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001001cbe25a738580c94ae733a5d4e9e61860bf1a68dfac365edc5818814166cfaecf269d07293d656c8e99973934b5f14eb4bcd1ac3c388596221f65f66e1193463bd41fcff389e458ef7f1ef858439b600bca422cd29c84d2cbc684c7a85d8b44f6a43a5fc53bbaa4ad1a6b0f2b841278efb1fbdd2513e6603984027efb81c72d8c4cbadc8dec51089dcd43ed3109ddbc6db29534186a237c5d8c3a66dedbb51b09937b1c7d4cf6cac682ba2dd1c9cf901d66f1a995f945d5ad12bd7bfdd3fcc5b0852376b9834f0bee3f7a666f587bd2a3b562ccf129b6132c902738fd0dfea3ff9538961bf5f59ac1779dd4ed68986059881f5e08be5ecd1a59380392e81f0a6 +Ctrl.hexxcghash = hexxcghash:b32d4e6b47772e651b867558a03f488fc00c715c196c7abb1abf3ebc24a638edd058e77aeadd9aade5ce34f43e19f1fc +Ctrl.hexsession_id = hexsession_id:5d2a819b135d8d985643ceab3461ede24ed192c60471676031b4b1f8ae71dec657547fdb3a43f75112855ffce72b60f4 +Ctrl.type = type:D +Output = d36a9b7d2c63675d2b250d5a97b0e628 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001001cbe25a738580c94ae733a5d4e9e61860bf1a68dfac365edc5818814166cfaecf269d07293d656c8e99973934b5f14eb4bcd1ac3c388596221f65f66e1193463bd41fcff389e458ef7f1ef858439b600bca422cd29c84d2cbc684c7a85d8b44f6a43a5fc53bbaa4ad1a6b0f2b841278efb1fbdd2513e6603984027efb81c72d8c4cbadc8dec51089dcd43ed3109ddbc6db29534186a237c5d8c3a66dedbb51b09937b1c7d4cf6cac682ba2dd1c9cf901d66f1a995f945d5ad12bd7bfdd3fcc5b0852376b9834f0bee3f7a666f587bd2a3b562ccf129b6132c902738fd0dfea3ff9538961bf5f59ac1779dd4ed68986059881f5e08be5ecd1a59380392e81f0a6 +Ctrl.hexxcghash = hexxcghash:b32d4e6b47772e651b867558a03f488fc00c715c196c7abb1abf3ebc24a638edd058e77aeadd9aade5ce34f43e19f1fc +Ctrl.hexsession_id = hexsession_id:5d2a819b135d8d985643ceab3461ede24ed192c60471676031b4b1f8ae71dec657547fdb3a43f75112855ffce72b60f4 +Ctrl.type = type:E +Output = 92c8f89f84575cebb9c37be3a488d0b0312a12d9253dbada7db1318f5a193d4f8f75a212a75c1123bca89d5de43cbf08 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:000001001cbe25a738580c94ae733a5d4e9e61860bf1a68dfac365edc5818814166cfaecf269d07293d656c8e99973934b5f14eb4bcd1ac3c388596221f65f66e1193463bd41fcff389e458ef7f1ef858439b600bca422cd29c84d2cbc684c7a85d8b44f6a43a5fc53bbaa4ad1a6b0f2b841278efb1fbdd2513e6603984027efb81c72d8c4cbadc8dec51089dcd43ed3109ddbc6db29534186a237c5d8c3a66dedbb51b09937b1c7d4cf6cac682ba2dd1c9cf901d66f1a995f945d5ad12bd7bfdd3fcc5b0852376b9834f0bee3f7a666f587bd2a3b562ccf129b6132c902738fd0dfea3ff9538961bf5f59ac1779dd4ed68986059881f5e08be5ecd1a59380392e81f0a6 +Ctrl.hexxcghash = hexxcghash:b32d4e6b47772e651b867558a03f488fc00c715c196c7abb1abf3ebc24a638edd058e77aeadd9aade5ce34f43e19f1fc +Ctrl.hexsession_id = hexsession_id:5d2a819b135d8d985643ceab3461ede24ed192c60471676031b4b1f8ae71dec657547fdb3a43f75112855ffce72b60f4 +Ctrl.type = type:F +Output = 16dcf1bd1aa4d5d6edc2d2b23792872f53767d6b2589e4700469a9bbbbb659c1c8716393fe1ed717833f491cd32d874b + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c7f8bcaf17cb17db3d5c2c9e8db37fa77685463d604e6b577ace9ada1b5a7fb54a299684a5405973352262ed66a7e47e4cf9ba7981f76a0aa6bf407be5fc48f70869b6913f7d9b2395f73eda2f08ad5469df982bd82242c19bba0dbcc28fa5869bab99b84015a313cebcc3e86ec3fd15513e329a236487e909a6b37134bc75b03dbda7f9196738ae5f04ac3cae6a3c93150271eeed62f8c019f433df888acec09e947dee6537c4fee5e0dc37d3b4ae4ff77309382148f0127cd01b882f128ee844046c9f3052ff7fff81876c261ad6cdad0a9ebfc769a4308f124d2422f03c1b171ac3404d4d690e9c1d94fc3de479bda663c207120a18f1947a68179d19ecaa +Ctrl.hexxcghash = hexxcghash:ce996d2b1198f069c24193526be1dd0d08a95d0b0a144da5a1303e84de4eb864d49ca71fa5a59f51c10b9d4257787626 +Ctrl.hexsession_id = hexsession_id:ed906230bdcff56bd239a8c52f3cb1e4e16d1249284162ca85b320e543f62a82d7270131231cf49e1b0c0b1e87643719 +Ctrl.type = type:A +Output = bbdc47242c877cc70585a5d9f0b8067d + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c7f8bcaf17cb17db3d5c2c9e8db37fa77685463d604e6b577ace9ada1b5a7fb54a299684a5405973352262ed66a7e47e4cf9ba7981f76a0aa6bf407be5fc48f70869b6913f7d9b2395f73eda2f08ad5469df982bd82242c19bba0dbcc28fa5869bab99b84015a313cebcc3e86ec3fd15513e329a236487e909a6b37134bc75b03dbda7f9196738ae5f04ac3cae6a3c93150271eeed62f8c019f433df888acec09e947dee6537c4fee5e0dc37d3b4ae4ff77309382148f0127cd01b882f128ee844046c9f3052ff7fff81876c261ad6cdad0a9ebfc769a4308f124d2422f03c1b171ac3404d4d690e9c1d94fc3de479bda663c207120a18f1947a68179d19ecaa +Ctrl.hexxcghash = hexxcghash:ce996d2b1198f069c24193526be1dd0d08a95d0b0a144da5a1303e84de4eb864d49ca71fa5a59f51c10b9d4257787626 +Ctrl.hexsession_id = hexsession_id:ed906230bdcff56bd239a8c52f3cb1e4e16d1249284162ca85b320e543f62a82d7270131231cf49e1b0c0b1e87643719 +Ctrl.type = type:B +Output = 6dcc6458af049a81a6d3139c2725f67d + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c7f8bcaf17cb17db3d5c2c9e8db37fa77685463d604e6b577ace9ada1b5a7fb54a299684a5405973352262ed66a7e47e4cf9ba7981f76a0aa6bf407be5fc48f70869b6913f7d9b2395f73eda2f08ad5469df982bd82242c19bba0dbcc28fa5869bab99b84015a313cebcc3e86ec3fd15513e329a236487e909a6b37134bc75b03dbda7f9196738ae5f04ac3cae6a3c93150271eeed62f8c019f433df888acec09e947dee6537c4fee5e0dc37d3b4ae4ff77309382148f0127cd01b882f128ee844046c9f3052ff7fff81876c261ad6cdad0a9ebfc769a4308f124d2422f03c1b171ac3404d4d690e9c1d94fc3de479bda663c207120a18f1947a68179d19ecaa +Ctrl.hexxcghash = hexxcghash:ce996d2b1198f069c24193526be1dd0d08a95d0b0a144da5a1303e84de4eb864d49ca71fa5a59f51c10b9d4257787626 +Ctrl.hexsession_id = hexsession_id:ed906230bdcff56bd239a8c52f3cb1e4e16d1249284162ca85b320e543f62a82d7270131231cf49e1b0c0b1e87643719 +Ctrl.type = type:C +Output = f788d0b9ea5373031d44972fad39d8e6 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c7f8bcaf17cb17db3d5c2c9e8db37fa77685463d604e6b577ace9ada1b5a7fb54a299684a5405973352262ed66a7e47e4cf9ba7981f76a0aa6bf407be5fc48f70869b6913f7d9b2395f73eda2f08ad5469df982bd82242c19bba0dbcc28fa5869bab99b84015a313cebcc3e86ec3fd15513e329a236487e909a6b37134bc75b03dbda7f9196738ae5f04ac3cae6a3c93150271eeed62f8c019f433df888acec09e947dee6537c4fee5e0dc37d3b4ae4ff77309382148f0127cd01b882f128ee844046c9f3052ff7fff81876c261ad6cdad0a9ebfc769a4308f124d2422f03c1b171ac3404d4d690e9c1d94fc3de479bda663c207120a18f1947a68179d19ecaa +Ctrl.hexxcghash = hexxcghash:ce996d2b1198f069c24193526be1dd0d08a95d0b0a144da5a1303e84de4eb864d49ca71fa5a59f51c10b9d4257787626 +Ctrl.hexsession_id = hexsession_id:ed906230bdcff56bd239a8c52f3cb1e4e16d1249284162ca85b320e543f62a82d7270131231cf49e1b0c0b1e87643719 +Ctrl.type = type:D +Output = e939b1367ea35c67ea990988c3c0c474 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c7f8bcaf17cb17db3d5c2c9e8db37fa77685463d604e6b577ace9ada1b5a7fb54a299684a5405973352262ed66a7e47e4cf9ba7981f76a0aa6bf407be5fc48f70869b6913f7d9b2395f73eda2f08ad5469df982bd82242c19bba0dbcc28fa5869bab99b84015a313cebcc3e86ec3fd15513e329a236487e909a6b37134bc75b03dbda7f9196738ae5f04ac3cae6a3c93150271eeed62f8c019f433df888acec09e947dee6537c4fee5e0dc37d3b4ae4ff77309382148f0127cd01b882f128ee844046c9f3052ff7fff81876c261ad6cdad0a9ebfc769a4308f124d2422f03c1b171ac3404d4d690e9c1d94fc3de479bda663c207120a18f1947a68179d19ecaa +Ctrl.hexxcghash = hexxcghash:ce996d2b1198f069c24193526be1dd0d08a95d0b0a144da5a1303e84de4eb864d49ca71fa5a59f51c10b9d4257787626 +Ctrl.hexsession_id = hexsession_id:ed906230bdcff56bd239a8c52f3cb1e4e16d1249284162ca85b320e543f62a82d7270131231cf49e1b0c0b1e87643719 +Ctrl.type = type:E +Output = 069629f693b4d291ea6f16355eb4c57eef7824217d22651af095aadac27a789314fee4e86efa9bc63085a8ebfc606548 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100c7f8bcaf17cb17db3d5c2c9e8db37fa77685463d604e6b577ace9ada1b5a7fb54a299684a5405973352262ed66a7e47e4cf9ba7981f76a0aa6bf407be5fc48f70869b6913f7d9b2395f73eda2f08ad5469df982bd82242c19bba0dbcc28fa5869bab99b84015a313cebcc3e86ec3fd15513e329a236487e909a6b37134bc75b03dbda7f9196738ae5f04ac3cae6a3c93150271eeed62f8c019f433df888acec09e947dee6537c4fee5e0dc37d3b4ae4ff77309382148f0127cd01b882f128ee844046c9f3052ff7fff81876c261ad6cdad0a9ebfc769a4308f124d2422f03c1b171ac3404d4d690e9c1d94fc3de479bda663c207120a18f1947a68179d19ecaa +Ctrl.hexxcghash = hexxcghash:ce996d2b1198f069c24193526be1dd0d08a95d0b0a144da5a1303e84de4eb864d49ca71fa5a59f51c10b9d4257787626 +Ctrl.hexsession_id = hexsession_id:ed906230bdcff56bd239a8c52f3cb1e4e16d1249284162ca85b320e543f62a82d7270131231cf49e1b0c0b1e87643719 +Ctrl.type = type:F +Output = 731107905e3b9b36ba3dca504b35f1a51e75e2a3ee2595ade882c21410d439ec1ec31fbc62e64362a5fddc0f39e76da0 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100b41b41585296e85cce723619b40609b21799fb244d72fd87afa3088073819b232de7d9ab45ceaab3014099475e9314cff74149b5e4558962f31d3d2a84f24500558af928ff785dc32627f5062ea2d5bf6ff085edf6d200daca91037abda71b5c9c1660cbf60cfc3ec1fe590c3d6300aa279e42383f98f4000031bf57a2bb612c7a212bc0ec5057817b0843e01c14a9b353c26699670873db05de7049ac44951094c8b231713dab09ca641d3cea65c5e3b01d41d93351635b08a767afadfd7865388ebbe29e8f47033d1fe530d7d45fa1c266705b26d67282872da9551256d88708e1ec69ce9b94db6c7f3e6b7ae06418b36537b7839454c539b2bdd758af9c19 +Ctrl.hexxcghash = hexxcghash:5b168cac1113de12bac95aac34501866abd610c6ce0d51520f83c865db8d0c688b27af11e08deb4a2673c160edd1da93 +Ctrl.hexsession_id = hexsession_id:32dc32821483ed98f696813e712d229b6ff5a9e0f7f8e582a26f0a5204fa7655040ddbc791e00e7a979dded9354ea2dc +Ctrl.type = type:A +Output = 8e1af4ce3b9aa9f1e7493775f8846ac0 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100b41b41585296e85cce723619b40609b21799fb244d72fd87afa3088073819b232de7d9ab45ceaab3014099475e9314cff74149b5e4558962f31d3d2a84f24500558af928ff785dc32627f5062ea2d5bf6ff085edf6d200daca91037abda71b5c9c1660cbf60cfc3ec1fe590c3d6300aa279e42383f98f4000031bf57a2bb612c7a212bc0ec5057817b0843e01c14a9b353c26699670873db05de7049ac44951094c8b231713dab09ca641d3cea65c5e3b01d41d93351635b08a767afadfd7865388ebbe29e8f47033d1fe530d7d45fa1c266705b26d67282872da9551256d88708e1ec69ce9b94db6c7f3e6b7ae06418b36537b7839454c539b2bdd758af9c19 +Ctrl.hexxcghash = hexxcghash:5b168cac1113de12bac95aac34501866abd610c6ce0d51520f83c865db8d0c688b27af11e08deb4a2673c160edd1da93 +Ctrl.hexsession_id = hexsession_id:32dc32821483ed98f696813e712d229b6ff5a9e0f7f8e582a26f0a5204fa7655040ddbc791e00e7a979dded9354ea2dc +Ctrl.type = type:B +Output = 1796cee0aeb39eb1fbbaeaf15d600832 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100b41b41585296e85cce723619b40609b21799fb244d72fd87afa3088073819b232de7d9ab45ceaab3014099475e9314cff74149b5e4558962f31d3d2a84f24500558af928ff785dc32627f5062ea2d5bf6ff085edf6d200daca91037abda71b5c9c1660cbf60cfc3ec1fe590c3d6300aa279e42383f98f4000031bf57a2bb612c7a212bc0ec5057817b0843e01c14a9b353c26699670873db05de7049ac44951094c8b231713dab09ca641d3cea65c5e3b01d41d93351635b08a767afadfd7865388ebbe29e8f47033d1fe530d7d45fa1c266705b26d67282872da9551256d88708e1ec69ce9b94db6c7f3e6b7ae06418b36537b7839454c539b2bdd758af9c19 +Ctrl.hexxcghash = hexxcghash:5b168cac1113de12bac95aac34501866abd610c6ce0d51520f83c865db8d0c688b27af11e08deb4a2673c160edd1da93 +Ctrl.hexsession_id = hexsession_id:32dc32821483ed98f696813e712d229b6ff5a9e0f7f8e582a26f0a5204fa7655040ddbc791e00e7a979dded9354ea2dc +Ctrl.type = type:C +Output = 7a7485045a2f8cc86f82c8486f8e9f59 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100b41b41585296e85cce723619b40609b21799fb244d72fd87afa3088073819b232de7d9ab45ceaab3014099475e9314cff74149b5e4558962f31d3d2a84f24500558af928ff785dc32627f5062ea2d5bf6ff085edf6d200daca91037abda71b5c9c1660cbf60cfc3ec1fe590c3d6300aa279e42383f98f4000031bf57a2bb612c7a212bc0ec5057817b0843e01c14a9b353c26699670873db05de7049ac44951094c8b231713dab09ca641d3cea65c5e3b01d41d93351635b08a767afadfd7865388ebbe29e8f47033d1fe530d7d45fa1c266705b26d67282872da9551256d88708e1ec69ce9b94db6c7f3e6b7ae06418b36537b7839454c539b2bdd758af9c19 +Ctrl.hexxcghash = hexxcghash:5b168cac1113de12bac95aac34501866abd610c6ce0d51520f83c865db8d0c688b27af11e08deb4a2673c160edd1da93 +Ctrl.hexsession_id = hexsession_id:32dc32821483ed98f696813e712d229b6ff5a9e0f7f8e582a26f0a5204fa7655040ddbc791e00e7a979dded9354ea2dc +Ctrl.type = type:D +Output = 00a9d893e8c14aa3a316163d50d83378 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100b41b41585296e85cce723619b40609b21799fb244d72fd87afa3088073819b232de7d9ab45ceaab3014099475e9314cff74149b5e4558962f31d3d2a84f24500558af928ff785dc32627f5062ea2d5bf6ff085edf6d200daca91037abda71b5c9c1660cbf60cfc3ec1fe590c3d6300aa279e42383f98f4000031bf57a2bb612c7a212bc0ec5057817b0843e01c14a9b353c26699670873db05de7049ac44951094c8b231713dab09ca641d3cea65c5e3b01d41d93351635b08a767afadfd7865388ebbe29e8f47033d1fe530d7d45fa1c266705b26d67282872da9551256d88708e1ec69ce9b94db6c7f3e6b7ae06418b36537b7839454c539b2bdd758af9c19 +Ctrl.hexxcghash = hexxcghash:5b168cac1113de12bac95aac34501866abd610c6ce0d51520f83c865db8d0c688b27af11e08deb4a2673c160edd1da93 +Ctrl.hexsession_id = hexsession_id:32dc32821483ed98f696813e712d229b6ff5a9e0f7f8e582a26f0a5204fa7655040ddbc791e00e7a979dded9354ea2dc +Ctrl.type = type:E +Output = 46133b1cbab3e04043a1b336db99575183d5be76f9d56556493a8d4a8da37a020ae379ff2d470a99ca7e9d2b1cf85cb4 + +KDF = SSHKDF +Ctrl.md = md:SHA384 +Ctrl.hexkey = hexkey:0000010100b41b41585296e85cce723619b40609b21799fb244d72fd87afa3088073819b232de7d9ab45ceaab3014099475e9314cff74149b5e4558962f31d3d2a84f24500558af928ff785dc32627f5062ea2d5bf6ff085edf6d200daca91037abda71b5c9c1660cbf60cfc3ec1fe590c3d6300aa279e42383f98f4000031bf57a2bb612c7a212bc0ec5057817b0843e01c14a9b353c26699670873db05de7049ac44951094c8b231713dab09ca641d3cea65c5e3b01d41d93351635b08a767afadfd7865388ebbe29e8f47033d1fe530d7d45fa1c266705b26d67282872da9551256d88708e1ec69ce9b94db6c7f3e6b7ae06418b36537b7839454c539b2bdd758af9c19 +Ctrl.hexxcghash = hexxcghash:5b168cac1113de12bac95aac34501866abd610c6ce0d51520f83c865db8d0c688b27af11e08deb4a2673c160edd1da93 +Ctrl.hexsession_id = hexsession_id:32dc32821483ed98f696813e712d229b6ff5a9e0f7f8e582a26f0a5204fa7655040ddbc791e00e7a979dded9354ea2dc +Ctrl.type = type:F +Output = 9221abcc3db5a557cca60408e65528e937cc3673b548c350924cd9e6387de526f5cb35a0bbe4020c47318b59d1a0527d + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000080575308ca395798bb21ec5438c46a88ffa3f7f7671c06f924abf7c3cfb46c78c025596e4aba50c3271089184a447a571abb7f4a1b1c41f5d5ca8062940d4369778589fde81a71b2228f018c4c836cf389f854f86de71a68b1693fe8ffa1c59ce7e9f9223debada2566d2b0e5678a48bfb530e7bee42bd2ac7304a0a5ae339a2cd +Ctrl.hexxcghash = hexxcghash:a4125aa9898092ca50c3c1631c03dcbc9df95cebb409881e580108b6cc4704b76cc77b8795fd5940561e3224cc75848518992bd8d9b70fe0fc977a476063c8bf +Ctrl.hexsession_id = hexsession_id:a4125aa9898092ca50c3c1631c03dcbc9df95cebb409881e580108b6cc4704b76cc77b8795fd5940561e3224cc75848518992bd8d9b70fe0fc977a476063c8bf +Ctrl.type = type:A +Output = 0e2693ade0524af8 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000080575308ca395798bb21ec5438c46a88ffa3f7f7671c06f924abf7c3cfb46c78c025596e4aba50c3271089184a447a571abb7f4a1b1c41f5d5ca8062940d4369778589fde81a71b2228f018c4c836cf389f854f86de71a68b1693fe8ffa1c59ce7e9f9223debada2566d2b0e5678a48bfb530e7bee42bd2ac7304a0a5ae339a2cd +Ctrl.hexxcghash = hexxcghash:a4125aa9898092ca50c3c1631c03dcbc9df95cebb409881e580108b6cc4704b76cc77b8795fd5940561e3224cc75848518992bd8d9b70fe0fc977a476063c8bf +Ctrl.hexsession_id = hexsession_id:a4125aa9898092ca50c3c1631c03dcbc9df95cebb409881e580108b6cc4704b76cc77b8795fd5940561e3224cc75848518992bd8d9b70fe0fc977a476063c8bf +Ctrl.type = type:B +Output = b13144de02295bb8 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000080575308ca395798bb21ec5438c46a88ffa3f7f7671c06f924abf7c3cfb46c78c025596e4aba50c3271089184a447a571abb7f4a1b1c41f5d5ca8062940d4369778589fde81a71b2228f018c4c836cf389f854f86de71a68b1693fe8ffa1c59ce7e9f9223debada2566d2b0e5678a48bfb530e7bee42bd2ac7304a0a5ae339a2cd +Ctrl.hexxcghash = hexxcghash:a4125aa9898092ca50c3c1631c03dcbc9df95cebb409881e580108b6cc4704b76cc77b8795fd5940561e3224cc75848518992bd8d9b70fe0fc977a476063c8bf +Ctrl.hexsession_id = hexsession_id:a4125aa9898092ca50c3c1631c03dcbc9df95cebb409881e580108b6cc4704b76cc77b8795fd5940561e3224cc75848518992bd8d9b70fe0fc977a476063c8bf +Ctrl.type = type:C +Output = 7e4a721fb7379ebb423306464d57db46afa3cca10a1d7feb + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000080575308ca395798bb21ec5438c46a88ffa3f7f7671c06f924abf7c3cfb46c78c025596e4aba50c3271089184a447a571abb7f4a1b1c41f5d5ca8062940d4369778589fde81a71b2228f018c4c836cf389f854f86de71a68b1693fe8ffa1c59ce7e9f9223debada2566d2b0e5678a48bfb530e7bee42bd2ac7304a0a5ae339a2cd +Ctrl.hexxcghash = hexxcghash:a4125aa9898092ca50c3c1631c03dcbc9df95cebb409881e580108b6cc4704b76cc77b8795fd5940561e3224cc75848518992bd8d9b70fe0fc977a476063c8bf +Ctrl.hexsession_id = hexsession_id:a4125aa9898092ca50c3c1631c03dcbc9df95cebb409881e580108b6cc4704b76cc77b8795fd5940561e3224cc75848518992bd8d9b70fe0fc977a476063c8bf +Ctrl.type = type:D +Output = bb84123b1fac400e0df4767d78d011427e1edd4d4c934b95 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000080575308ca395798bb21ec5438c46a88ffa3f7f7671c06f924abf7c3cfb46c78c025596e4aba50c3271089184a447a571abb7f4a1b1c41f5d5ca8062940d4369778589fde81a71b2228f018c4c836cf389f854f86de71a68b1693fe8ffa1c59ce7e9f9223debada2566d2b0e5678a48bfb530e7bee42bd2ac7304a0a5ae339a2cd +Ctrl.hexxcghash = hexxcghash:a4125aa9898092ca50c3c1631c03dcbc9df95cebb409881e580108b6cc4704b76cc77b8795fd5940561e3224cc75848518992bd8d9b70fe0fc977a476063c8bf +Ctrl.hexsession_id = hexsession_id:a4125aa9898092ca50c3c1631c03dcbc9df95cebb409881e580108b6cc4704b76cc77b8795fd5940561e3224cc75848518992bd8d9b70fe0fc977a476063c8bf +Ctrl.type = type:E +Output = 00fb0a45c650dd9c95666b0c7fcea8c98f0562f61b862054ee400aec875dbbc2bdef4806c09217709a5050569312efe3af513e7aa733c72457abe1607ac01c13 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000080575308ca395798bb21ec5438c46a88ffa3f7f7671c06f924abf7c3cfb46c78c025596e4aba50c3271089184a447a571abb7f4a1b1c41f5d5ca8062940d4369778589fde81a71b2228f018c4c836cf389f854f86de71a68b1693fe8ffa1c59ce7e9f9223debada2566d2b0e5678a48bfb530e7bee42bd2ac7304a0a5ae339a2cd +Ctrl.hexxcghash = hexxcghash:a4125aa9898092ca50c3c1631c03dcbc9df95cebb409881e580108b6cc4704b76cc77b8795fd5940561e3224cc75848518992bd8d9b70fe0fc977a476063c8bf +Ctrl.hexsession_id = hexsession_id:a4125aa9898092ca50c3c1631c03dcbc9df95cebb409881e580108b6cc4704b76cc77b8795fd5940561e3224cc75848518992bd8d9b70fe0fc977a476063c8bf +Ctrl.type = type:F +Output = 70a8005e711fb96dea5991cb68831b9e86005821b45ceaf958c13d5c87cbd2953d0877c267796edf8c7fb3d768bb26b74e542f40bf9ac9f6a9d217077e85f511 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000802b2e6f7545fa66e1078c67c5457dbf5ee03801edef4421d4f0e797b947b79e293ef724253ec4adb53977f027a2d577d7779e96be4e093b0c36be62778c5bd48dbb0bff1335470e10cdec4df88e8feb00d322426baf3035e9fda1aaf819be48dacc640d52eb8750cc6fd8031d0cba0ef0a11973d43138dd2d11d2eef1fc926327 +Ctrl.hexxcghash = hexxcghash:4dc005dc6ad5075cf6abbedb53a0407104659cd168b58d014fb2465d6f1d1140d5fef634f345c6c38ac2a8db3771e4b0c71c51faf85a297bbdf7ddf8228c3159 +Ctrl.hexsession_id = hexsession_id:a674aaced8345324221bbd8356ab8355fd3d3e410ae974c0da196f4cd58cc0236a85900626da696dab8be23aaa529458ac6ccf64058fd2fd140ca1a1a0c57988 +Ctrl.type = type:A +Output = c75c77791f7b67c2 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000802b2e6f7545fa66e1078c67c5457dbf5ee03801edef4421d4f0e797b947b79e293ef724253ec4adb53977f027a2d577d7779e96be4e093b0c36be62778c5bd48dbb0bff1335470e10cdec4df88e8feb00d322426baf3035e9fda1aaf819be48dacc640d52eb8750cc6fd8031d0cba0ef0a11973d43138dd2d11d2eef1fc926327 +Ctrl.hexxcghash = hexxcghash:4dc005dc6ad5075cf6abbedb53a0407104659cd168b58d014fb2465d6f1d1140d5fef634f345c6c38ac2a8db3771e4b0c71c51faf85a297bbdf7ddf8228c3159 +Ctrl.hexsession_id = hexsession_id:a674aaced8345324221bbd8356ab8355fd3d3e410ae974c0da196f4cd58cc0236a85900626da696dab8be23aaa529458ac6ccf64058fd2fd140ca1a1a0c57988 +Ctrl.type = type:B +Output = dae1e8bfab1b4b7e + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000802b2e6f7545fa66e1078c67c5457dbf5ee03801edef4421d4f0e797b947b79e293ef724253ec4adb53977f027a2d577d7779e96be4e093b0c36be62778c5bd48dbb0bff1335470e10cdec4df88e8feb00d322426baf3035e9fda1aaf819be48dacc640d52eb8750cc6fd8031d0cba0ef0a11973d43138dd2d11d2eef1fc926327 +Ctrl.hexxcghash = hexxcghash:4dc005dc6ad5075cf6abbedb53a0407104659cd168b58d014fb2465d6f1d1140d5fef634f345c6c38ac2a8db3771e4b0c71c51faf85a297bbdf7ddf8228c3159 +Ctrl.hexsession_id = hexsession_id:a674aaced8345324221bbd8356ab8355fd3d3e410ae974c0da196f4cd58cc0236a85900626da696dab8be23aaa529458ac6ccf64058fd2fd140ca1a1a0c57988 +Ctrl.type = type:C +Output = 0e79f5b685ebe77ae6d62c344a5dd0f53502523a28e2b408 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000802b2e6f7545fa66e1078c67c5457dbf5ee03801edef4421d4f0e797b947b79e293ef724253ec4adb53977f027a2d577d7779e96be4e093b0c36be62778c5bd48dbb0bff1335470e10cdec4df88e8feb00d322426baf3035e9fda1aaf819be48dacc640d52eb8750cc6fd8031d0cba0ef0a11973d43138dd2d11d2eef1fc926327 +Ctrl.hexxcghash = hexxcghash:4dc005dc6ad5075cf6abbedb53a0407104659cd168b58d014fb2465d6f1d1140d5fef634f345c6c38ac2a8db3771e4b0c71c51faf85a297bbdf7ddf8228c3159 +Ctrl.hexsession_id = hexsession_id:a674aaced8345324221bbd8356ab8355fd3d3e410ae974c0da196f4cd58cc0236a85900626da696dab8be23aaa529458ac6ccf64058fd2fd140ca1a1a0c57988 +Ctrl.type = type:D +Output = c5ec1aae5d26c2c5fe769576eb1b75c53d3dc67d452dca1c + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000802b2e6f7545fa66e1078c67c5457dbf5ee03801edef4421d4f0e797b947b79e293ef724253ec4adb53977f027a2d577d7779e96be4e093b0c36be62778c5bd48dbb0bff1335470e10cdec4df88e8feb00d322426baf3035e9fda1aaf819be48dacc640d52eb8750cc6fd8031d0cba0ef0a11973d43138dd2d11d2eef1fc926327 +Ctrl.hexxcghash = hexxcghash:4dc005dc6ad5075cf6abbedb53a0407104659cd168b58d014fb2465d6f1d1140d5fef634f345c6c38ac2a8db3771e4b0c71c51faf85a297bbdf7ddf8228c3159 +Ctrl.hexsession_id = hexsession_id:a674aaced8345324221bbd8356ab8355fd3d3e410ae974c0da196f4cd58cc0236a85900626da696dab8be23aaa529458ac6ccf64058fd2fd140ca1a1a0c57988 +Ctrl.type = type:E +Output = 6bc4e5d6049c69a8ffbf93c7617b6a168bd0f14d71471d199b81729250117272ad102772761a8c0b5d5240e589e48a4f85ab8c3e1bd030327e7c87428ee44d13 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000802b2e6f7545fa66e1078c67c5457dbf5ee03801edef4421d4f0e797b947b79e293ef724253ec4adb53977f027a2d577d7779e96be4e093b0c36be62778c5bd48dbb0bff1335470e10cdec4df88e8feb00d322426baf3035e9fda1aaf819be48dacc640d52eb8750cc6fd8031d0cba0ef0a11973d43138dd2d11d2eef1fc926327 +Ctrl.hexxcghash = hexxcghash:4dc005dc6ad5075cf6abbedb53a0407104659cd168b58d014fb2465d6f1d1140d5fef634f345c6c38ac2a8db3771e4b0c71c51faf85a297bbdf7ddf8228c3159 +Ctrl.hexsession_id = hexsession_id:a674aaced8345324221bbd8356ab8355fd3d3e410ae974c0da196f4cd58cc0236a85900626da696dab8be23aaa529458ac6ccf64058fd2fd140ca1a1a0c57988 +Ctrl.type = type:F +Output = ce109babe86778542856e3934be12decd239120a4dcb948a0154c4cb7b8ac0a4a3cbd682698086123e6c0481ee351bd9fedfba58d37f7814ba9c2b584f6cfedf + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000810085874b95394d5ca3096b0a7e6444e129544e4acd8dd7078c46dc74633df1737986e7dc6f58ac09c7d734fd68378f1ee6df60c48bde343e55ab2a5796ca3ec295f15a75500f476a8a6f1725fdade3339cd7da0a2528449652d7ea21a834e42961ede8477f63bac84ccdba933c276512d3670477d2696402175208526276712541 +Ctrl.hexxcghash = hexxcghash:8540955867f6580e9c1e7e3dfaef9c4f810dbf3364e54f66c471b51d11686598fabff6c3f78a7ac1c90710ab991aa00980f9d5948d462662f6c439fa7b80483f +Ctrl.hexsession_id = hexsession_id:f2ebb7479c714402275075725c4712994f04485c048fad37d1505f1ce2cd6e32051782848afbea4399231fea5b8d39ec596e118dcc95ea35ffddd8c5611f5298 +Ctrl.type = type:A +Output = 6a71fc98f044591d + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000810085874b95394d5ca3096b0a7e6444e129544e4acd8dd7078c46dc74633df1737986e7dc6f58ac09c7d734fd68378f1ee6df60c48bde343e55ab2a5796ca3ec295f15a75500f476a8a6f1725fdade3339cd7da0a2528449652d7ea21a834e42961ede8477f63bac84ccdba933c276512d3670477d2696402175208526276712541 +Ctrl.hexxcghash = hexxcghash:8540955867f6580e9c1e7e3dfaef9c4f810dbf3364e54f66c471b51d11686598fabff6c3f78a7ac1c90710ab991aa00980f9d5948d462662f6c439fa7b80483f +Ctrl.hexsession_id = hexsession_id:f2ebb7479c714402275075725c4712994f04485c048fad37d1505f1ce2cd6e32051782848afbea4399231fea5b8d39ec596e118dcc95ea35ffddd8c5611f5298 +Ctrl.type = type:B +Output = 9f1a35a5c79014c0 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000810085874b95394d5ca3096b0a7e6444e129544e4acd8dd7078c46dc74633df1737986e7dc6f58ac09c7d734fd68378f1ee6df60c48bde343e55ab2a5796ca3ec295f15a75500f476a8a6f1725fdade3339cd7da0a2528449652d7ea21a834e42961ede8477f63bac84ccdba933c276512d3670477d2696402175208526276712541 +Ctrl.hexxcghash = hexxcghash:8540955867f6580e9c1e7e3dfaef9c4f810dbf3364e54f66c471b51d11686598fabff6c3f78a7ac1c90710ab991aa00980f9d5948d462662f6c439fa7b80483f +Ctrl.hexsession_id = hexsession_id:f2ebb7479c714402275075725c4712994f04485c048fad37d1505f1ce2cd6e32051782848afbea4399231fea5b8d39ec596e118dcc95ea35ffddd8c5611f5298 +Ctrl.type = type:C +Output = 377901cc72e4c06e30e27b03902f65c4a58b9d3f5cf43431 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000810085874b95394d5ca3096b0a7e6444e129544e4acd8dd7078c46dc74633df1737986e7dc6f58ac09c7d734fd68378f1ee6df60c48bde343e55ab2a5796ca3ec295f15a75500f476a8a6f1725fdade3339cd7da0a2528449652d7ea21a834e42961ede8477f63bac84ccdba933c276512d3670477d2696402175208526276712541 +Ctrl.hexxcghash = hexxcghash:8540955867f6580e9c1e7e3dfaef9c4f810dbf3364e54f66c471b51d11686598fabff6c3f78a7ac1c90710ab991aa00980f9d5948d462662f6c439fa7b80483f +Ctrl.hexsession_id = hexsession_id:f2ebb7479c714402275075725c4712994f04485c048fad37d1505f1ce2cd6e32051782848afbea4399231fea5b8d39ec596e118dcc95ea35ffddd8c5611f5298 +Ctrl.type = type:D +Output = 82a9db94ea5c15dff736c3074a34951e828c8dfa3fef8596 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000810085874b95394d5ca3096b0a7e6444e129544e4acd8dd7078c46dc74633df1737986e7dc6f58ac09c7d734fd68378f1ee6df60c48bde343e55ab2a5796ca3ec295f15a75500f476a8a6f1725fdade3339cd7da0a2528449652d7ea21a834e42961ede8477f63bac84ccdba933c276512d3670477d2696402175208526276712541 +Ctrl.hexxcghash = hexxcghash:8540955867f6580e9c1e7e3dfaef9c4f810dbf3364e54f66c471b51d11686598fabff6c3f78a7ac1c90710ab991aa00980f9d5948d462662f6c439fa7b80483f +Ctrl.hexsession_id = hexsession_id:f2ebb7479c714402275075725c4712994f04485c048fad37d1505f1ce2cd6e32051782848afbea4399231fea5b8d39ec596e118dcc95ea35ffddd8c5611f5298 +Ctrl.type = type:E +Output = b3ce0202c966df307a0729a4bb3fcd0ee55d4c521a144ecd285a470830f60685b2d751883d85ccd29fcc2481f3f442fdedd58d17528e8c4fb28473ee5e539706 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000810085874b95394d5ca3096b0a7e6444e129544e4acd8dd7078c46dc74633df1737986e7dc6f58ac09c7d734fd68378f1ee6df60c48bde343e55ab2a5796ca3ec295f15a75500f476a8a6f1725fdade3339cd7da0a2528449652d7ea21a834e42961ede8477f63bac84ccdba933c276512d3670477d2696402175208526276712541 +Ctrl.hexxcghash = hexxcghash:8540955867f6580e9c1e7e3dfaef9c4f810dbf3364e54f66c471b51d11686598fabff6c3f78a7ac1c90710ab991aa00980f9d5948d462662f6c439fa7b80483f +Ctrl.hexsession_id = hexsession_id:f2ebb7479c714402275075725c4712994f04485c048fad37d1505f1ce2cd6e32051782848afbea4399231fea5b8d39ec596e118dcc95ea35ffddd8c5611f5298 +Ctrl.type = type:F +Output = c1ab7227f919cbda46cd6ac2bd4bb2ee5bd586cc55c7c1cb067df4c9a23209f716ff5e97ed76ebbc0354d683c5369937ca8db4cecf9e6c40886a186d9c4e2366 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100e1436b5ef714092a6a0c8cc1593682a7ca4c05de423fb5f57c1d225943d8e4a5b526288a46a9a0fdb10b59c0beb8c1dc5b4d2bdf34eec2525df84bca2f8b769897183a45c7e61171ecea6e2be80d3becec8355ac3853bd8d077697af6e774133143265bdd538b4fb64786aaaa33e45138fd8697ff1c77b50f63dd8e9476a74c0 +Ctrl.hexxcghash = hexxcghash:367c80484d7e01e0915959e9fcb5124fa674489cf0ec4b0fee6a62dd77f677db901d9fb417cecf2a98f0b24bc24edbb1f34ab19f8d4d2976958f7d99ae2c78b3 +Ctrl.hexsession_id = hexsession_id:0a1bbfb890087ef260a88fafb92f16765444adc4dcb00efd4750d59f1d8f4b6662edd379d812ddc822cea79675731a5e5791f29ebd17f3f83e675e9e9f6af3e3 +Ctrl.type = type:A +Output = 3832bf21b907daa3 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100e1436b5ef714092a6a0c8cc1593682a7ca4c05de423fb5f57c1d225943d8e4a5b526288a46a9a0fdb10b59c0beb8c1dc5b4d2bdf34eec2525df84bca2f8b769897183a45c7e61171ecea6e2be80d3becec8355ac3853bd8d077697af6e774133143265bdd538b4fb64786aaaa33e45138fd8697ff1c77b50f63dd8e9476a74c0 +Ctrl.hexxcghash = hexxcghash:367c80484d7e01e0915959e9fcb5124fa674489cf0ec4b0fee6a62dd77f677db901d9fb417cecf2a98f0b24bc24edbb1f34ab19f8d4d2976958f7d99ae2c78b3 +Ctrl.hexsession_id = hexsession_id:0a1bbfb890087ef260a88fafb92f16765444adc4dcb00efd4750d59f1d8f4b6662edd379d812ddc822cea79675731a5e5791f29ebd17f3f83e675e9e9f6af3e3 +Ctrl.type = type:B +Output = 4e04d7787ba7fa68 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100e1436b5ef714092a6a0c8cc1593682a7ca4c05de423fb5f57c1d225943d8e4a5b526288a46a9a0fdb10b59c0beb8c1dc5b4d2bdf34eec2525df84bca2f8b769897183a45c7e61171ecea6e2be80d3becec8355ac3853bd8d077697af6e774133143265bdd538b4fb64786aaaa33e45138fd8697ff1c77b50f63dd8e9476a74c0 +Ctrl.hexxcghash = hexxcghash:367c80484d7e01e0915959e9fcb5124fa674489cf0ec4b0fee6a62dd77f677db901d9fb417cecf2a98f0b24bc24edbb1f34ab19f8d4d2976958f7d99ae2c78b3 +Ctrl.hexsession_id = hexsession_id:0a1bbfb890087ef260a88fafb92f16765444adc4dcb00efd4750d59f1d8f4b6662edd379d812ddc822cea79675731a5e5791f29ebd17f3f83e675e9e9f6af3e3 +Ctrl.type = type:C +Output = d7be949edcfe4e4b877de1cc6a861fa721e137bf3dd1bb27 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100e1436b5ef714092a6a0c8cc1593682a7ca4c05de423fb5f57c1d225943d8e4a5b526288a46a9a0fdb10b59c0beb8c1dc5b4d2bdf34eec2525df84bca2f8b769897183a45c7e61171ecea6e2be80d3becec8355ac3853bd8d077697af6e774133143265bdd538b4fb64786aaaa33e45138fd8697ff1c77b50f63dd8e9476a74c0 +Ctrl.hexxcghash = hexxcghash:367c80484d7e01e0915959e9fcb5124fa674489cf0ec4b0fee6a62dd77f677db901d9fb417cecf2a98f0b24bc24edbb1f34ab19f8d4d2976958f7d99ae2c78b3 +Ctrl.hexsession_id = hexsession_id:0a1bbfb890087ef260a88fafb92f16765444adc4dcb00efd4750d59f1d8f4b6662edd379d812ddc822cea79675731a5e5791f29ebd17f3f83e675e9e9f6af3e3 +Ctrl.type = type:D +Output = 5361fc87e24ec3031d97f0099766ac9ff7b8f91ea87666de + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100e1436b5ef714092a6a0c8cc1593682a7ca4c05de423fb5f57c1d225943d8e4a5b526288a46a9a0fdb10b59c0beb8c1dc5b4d2bdf34eec2525df84bca2f8b769897183a45c7e61171ecea6e2be80d3becec8355ac3853bd8d077697af6e774133143265bdd538b4fb64786aaaa33e45138fd8697ff1c77b50f63dd8e9476a74c0 +Ctrl.hexxcghash = hexxcghash:367c80484d7e01e0915959e9fcb5124fa674489cf0ec4b0fee6a62dd77f677db901d9fb417cecf2a98f0b24bc24edbb1f34ab19f8d4d2976958f7d99ae2c78b3 +Ctrl.hexsession_id = hexsession_id:0a1bbfb890087ef260a88fafb92f16765444adc4dcb00efd4750d59f1d8f4b6662edd379d812ddc822cea79675731a5e5791f29ebd17f3f83e675e9e9f6af3e3 +Ctrl.type = type:E +Output = 40a6897606035ebb04907fa15e1545a8973b9b09423f3786be4bcb8db9e4561e0385bcf1e3c0cece5a788e9852ed1da56963f36bad78fede21405ce3ea92a3b8 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100e1436b5ef714092a6a0c8cc1593682a7ca4c05de423fb5f57c1d225943d8e4a5b526288a46a9a0fdb10b59c0beb8c1dc5b4d2bdf34eec2525df84bca2f8b769897183a45c7e61171ecea6e2be80d3becec8355ac3853bd8d077697af6e774133143265bdd538b4fb64786aaaa33e45138fd8697ff1c77b50f63dd8e9476a74c0 +Ctrl.hexxcghash = hexxcghash:367c80484d7e01e0915959e9fcb5124fa674489cf0ec4b0fee6a62dd77f677db901d9fb417cecf2a98f0b24bc24edbb1f34ab19f8d4d2976958f7d99ae2c78b3 +Ctrl.hexsession_id = hexsession_id:0a1bbfb890087ef260a88fafb92f16765444adc4dcb00efd4750d59f1d8f4b6662edd379d812ddc822cea79675731a5e5791f29ebd17f3f83e675e9e9f6af3e3 +Ctrl.type = type:F +Output = 727f9bade9334f97486f479c88614ce96b8cbc803a544fbfaf5fcaf0499a1b8edeb59daa1a824ca9b165879c63d9f0b6464bcd3121fb1ad29b38864fbaac7741 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100f8cf4795508e2aba0d9c007ee0afb38a7d570e26d4ebe97d3b9cb46dfc05b9b18396054fa91f856758b036195a9b360ee48b65dcec1f2fcb901d5faa308125b30b804e53ac15b2f43c2a12fdbc987707af58c36ecdcd89376117f9655e14da7f1808baeaab020a47ac35166a4868dab970ce79de592c69164045fce4eb55872f +Ctrl.hexxcghash = hexxcghash:40d59c8836500e523e6404ac03d9895b105c7feceaac52dc3c5e4113e256c0057fbc770b805f7a2f18bf0be13357eb99db906efc5fb772f96e5fe76088e2e6f2 +Ctrl.hexsession_id = hexsession_id:a619290ad553a2b0924f3ea6152883685e3f2cf6063487616f083fadae950451df5f6e8a144cd951b2d853c7ec2d1aece9c438a89850788edc6bd5e2a7a98a47 +Ctrl.type = type:A +Output = 3f077a02dc957eb1 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100f8cf4795508e2aba0d9c007ee0afb38a7d570e26d4ebe97d3b9cb46dfc05b9b18396054fa91f856758b036195a9b360ee48b65dcec1f2fcb901d5faa308125b30b804e53ac15b2f43c2a12fdbc987707af58c36ecdcd89376117f9655e14da7f1808baeaab020a47ac35166a4868dab970ce79de592c69164045fce4eb55872f +Ctrl.hexxcghash = hexxcghash:40d59c8836500e523e6404ac03d9895b105c7feceaac52dc3c5e4113e256c0057fbc770b805f7a2f18bf0be13357eb99db906efc5fb772f96e5fe76088e2e6f2 +Ctrl.hexsession_id = hexsession_id:a619290ad553a2b0924f3ea6152883685e3f2cf6063487616f083fadae950451df5f6e8a144cd951b2d853c7ec2d1aece9c438a89850788edc6bd5e2a7a98a47 +Ctrl.type = type:B +Output = 3cc158e348e64a0a + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100f8cf4795508e2aba0d9c007ee0afb38a7d570e26d4ebe97d3b9cb46dfc05b9b18396054fa91f856758b036195a9b360ee48b65dcec1f2fcb901d5faa308125b30b804e53ac15b2f43c2a12fdbc987707af58c36ecdcd89376117f9655e14da7f1808baeaab020a47ac35166a4868dab970ce79de592c69164045fce4eb55872f +Ctrl.hexxcghash = hexxcghash:40d59c8836500e523e6404ac03d9895b105c7feceaac52dc3c5e4113e256c0057fbc770b805f7a2f18bf0be13357eb99db906efc5fb772f96e5fe76088e2e6f2 +Ctrl.hexsession_id = hexsession_id:a619290ad553a2b0924f3ea6152883685e3f2cf6063487616f083fadae950451df5f6e8a144cd951b2d853c7ec2d1aece9c438a89850788edc6bd5e2a7a98a47 +Ctrl.type = type:C +Output = 8770fb6792c2fc16a60c9f45c8d40db684fe52de7c60b482 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100f8cf4795508e2aba0d9c007ee0afb38a7d570e26d4ebe97d3b9cb46dfc05b9b18396054fa91f856758b036195a9b360ee48b65dcec1f2fcb901d5faa308125b30b804e53ac15b2f43c2a12fdbc987707af58c36ecdcd89376117f9655e14da7f1808baeaab020a47ac35166a4868dab970ce79de592c69164045fce4eb55872f +Ctrl.hexxcghash = hexxcghash:40d59c8836500e523e6404ac03d9895b105c7feceaac52dc3c5e4113e256c0057fbc770b805f7a2f18bf0be13357eb99db906efc5fb772f96e5fe76088e2e6f2 +Ctrl.hexsession_id = hexsession_id:a619290ad553a2b0924f3ea6152883685e3f2cf6063487616f083fadae950451df5f6e8a144cd951b2d853c7ec2d1aece9c438a89850788edc6bd5e2a7a98a47 +Ctrl.type = type:D +Output = d417a07f1070a2e628424fa990ef436f137725a7cde43f1b + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100f8cf4795508e2aba0d9c007ee0afb38a7d570e26d4ebe97d3b9cb46dfc05b9b18396054fa91f856758b036195a9b360ee48b65dcec1f2fcb901d5faa308125b30b804e53ac15b2f43c2a12fdbc987707af58c36ecdcd89376117f9655e14da7f1808baeaab020a47ac35166a4868dab970ce79de592c69164045fce4eb55872f +Ctrl.hexxcghash = hexxcghash:40d59c8836500e523e6404ac03d9895b105c7feceaac52dc3c5e4113e256c0057fbc770b805f7a2f18bf0be13357eb99db906efc5fb772f96e5fe76088e2e6f2 +Ctrl.hexsession_id = hexsession_id:a619290ad553a2b0924f3ea6152883685e3f2cf6063487616f083fadae950451df5f6e8a144cd951b2d853c7ec2d1aece9c438a89850788edc6bd5e2a7a98a47 +Ctrl.type = type:E +Output = 20b810e4f6a540724f269194e37969a10e340d45c557eabe72c41f08a9fad85ab44a9c362e7fc5eea9ed5dd9b84cc837d2aaa46ee71b355cb1dfefa8dc544d1e + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100f8cf4795508e2aba0d9c007ee0afb38a7d570e26d4ebe97d3b9cb46dfc05b9b18396054fa91f856758b036195a9b360ee48b65dcec1f2fcb901d5faa308125b30b804e53ac15b2f43c2a12fdbc987707af58c36ecdcd89376117f9655e14da7f1808baeaab020a47ac35166a4868dab970ce79de592c69164045fce4eb55872f +Ctrl.hexxcghash = hexxcghash:40d59c8836500e523e6404ac03d9895b105c7feceaac52dc3c5e4113e256c0057fbc770b805f7a2f18bf0be13357eb99db906efc5fb772f96e5fe76088e2e6f2 +Ctrl.hexsession_id = hexsession_id:a619290ad553a2b0924f3ea6152883685e3f2cf6063487616f083fadae950451df5f6e8a144cd951b2d853c7ec2d1aece9c438a89850788edc6bd5e2a7a98a47 +Ctrl.type = type:F +Output = acd292ab652b49c7c2a5a35b93c31a71eeef8a629cbc6b1c782994ebc7566f7b0ae536cc0ccfe881bfd8cbfaff391fe23568fa5692198f188deff0c6d0808160 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000803105020875f56db2960579efb7509964f256c2b81009e5be554bcc8ebe84c492f0cd0990e78ef4e8582a45457712be71d6f6c0b33315668984f0a41cf45fb9a459193c710919b752be3b80b2c8c7de3be570f76df6fe1cbb9dc81085fff2ad1bbfb307c6fb21f434cf7c0b96ee9eb6bc0f9677136a6db91f5d953f8b104b3497 +Ctrl.hexxcghash = hexxcghash:5f45d483ef27aeb00ec7baef96f4b4d1b254260bf60671dbd00e35a32fdcb7ae06215d59e742158782e0626bd5e2e8bada1fd7ec5056679f4a1412eaa2ef10e5 +Ctrl.hexsession_id = hexsession_id:8ddcd28d02f2cb50661cf2111953c697c0e578e43a77dfeb593b2bf05189bb429f306bcb0bcb41219d5428c1795c84665bb1f0db33e55f52edbff2b781c7eb79 +Ctrl.type = type:A +Output = 7cf213cec41701ff + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000803105020875f56db2960579efb7509964f256c2b81009e5be554bcc8ebe84c492f0cd0990e78ef4e8582a45457712be71d6f6c0b33315668984f0a41cf45fb9a459193c710919b752be3b80b2c8c7de3be570f76df6fe1cbb9dc81085fff2ad1bbfb307c6fb21f434cf7c0b96ee9eb6bc0f9677136a6db91f5d953f8b104b3497 +Ctrl.hexxcghash = hexxcghash:5f45d483ef27aeb00ec7baef96f4b4d1b254260bf60671dbd00e35a32fdcb7ae06215d59e742158782e0626bd5e2e8bada1fd7ec5056679f4a1412eaa2ef10e5 +Ctrl.hexsession_id = hexsession_id:8ddcd28d02f2cb50661cf2111953c697c0e578e43a77dfeb593b2bf05189bb429f306bcb0bcb41219d5428c1795c84665bb1f0db33e55f52edbff2b781c7eb79 +Ctrl.type = type:B +Output = 81a44f6f95fff954 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000803105020875f56db2960579efb7509964f256c2b81009e5be554bcc8ebe84c492f0cd0990e78ef4e8582a45457712be71d6f6c0b33315668984f0a41cf45fb9a459193c710919b752be3b80b2c8c7de3be570f76df6fe1cbb9dc81085fff2ad1bbfb307c6fb21f434cf7c0b96ee9eb6bc0f9677136a6db91f5d953f8b104b3497 +Ctrl.hexxcghash = hexxcghash:5f45d483ef27aeb00ec7baef96f4b4d1b254260bf60671dbd00e35a32fdcb7ae06215d59e742158782e0626bd5e2e8bada1fd7ec5056679f4a1412eaa2ef10e5 +Ctrl.hexsession_id = hexsession_id:8ddcd28d02f2cb50661cf2111953c697c0e578e43a77dfeb593b2bf05189bb429f306bcb0bcb41219d5428c1795c84665bb1f0db33e55f52edbff2b781c7eb79 +Ctrl.type = type:C +Output = e1610d85ea2c24b4af18076c2d7dc0c3f3b3bf1c8df232a4 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000803105020875f56db2960579efb7509964f256c2b81009e5be554bcc8ebe84c492f0cd0990e78ef4e8582a45457712be71d6f6c0b33315668984f0a41cf45fb9a459193c710919b752be3b80b2c8c7de3be570f76df6fe1cbb9dc81085fff2ad1bbfb307c6fb21f434cf7c0b96ee9eb6bc0f9677136a6db91f5d953f8b104b3497 +Ctrl.hexxcghash = hexxcghash:5f45d483ef27aeb00ec7baef96f4b4d1b254260bf60671dbd00e35a32fdcb7ae06215d59e742158782e0626bd5e2e8bada1fd7ec5056679f4a1412eaa2ef10e5 +Ctrl.hexsession_id = hexsession_id:8ddcd28d02f2cb50661cf2111953c697c0e578e43a77dfeb593b2bf05189bb429f306bcb0bcb41219d5428c1795c84665bb1f0db33e55f52edbff2b781c7eb79 +Ctrl.type = type:D +Output = db146cbf4923693449b857fa927d112f3c8bd1bac73f618a + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000803105020875f56db2960579efb7509964f256c2b81009e5be554bcc8ebe84c492f0cd0990e78ef4e8582a45457712be71d6f6c0b33315668984f0a41cf45fb9a459193c710919b752be3b80b2c8c7de3be570f76df6fe1cbb9dc81085fff2ad1bbfb307c6fb21f434cf7c0b96ee9eb6bc0f9677136a6db91f5d953f8b104b3497 +Ctrl.hexxcghash = hexxcghash:5f45d483ef27aeb00ec7baef96f4b4d1b254260bf60671dbd00e35a32fdcb7ae06215d59e742158782e0626bd5e2e8bada1fd7ec5056679f4a1412eaa2ef10e5 +Ctrl.hexsession_id = hexsession_id:8ddcd28d02f2cb50661cf2111953c697c0e578e43a77dfeb593b2bf05189bb429f306bcb0bcb41219d5428c1795c84665bb1f0db33e55f52edbff2b781c7eb79 +Ctrl.type = type:E +Output = fac257f4544a0aa77659642c33a421cf27b2216a57399ff8ff48baab37519ce9c27f93bf447a02b3c10d9f9c6201745ed6ae28a13ff85e949e0e8048bf31e0c8 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000803105020875f56db2960579efb7509964f256c2b81009e5be554bcc8ebe84c492f0cd0990e78ef4e8582a45457712be71d6f6c0b33315668984f0a41cf45fb9a459193c710919b752be3b80b2c8c7de3be570f76df6fe1cbb9dc81085fff2ad1bbfb307c6fb21f434cf7c0b96ee9eb6bc0f9677136a6db91f5d953f8b104b3497 +Ctrl.hexxcghash = hexxcghash:5f45d483ef27aeb00ec7baef96f4b4d1b254260bf60671dbd00e35a32fdcb7ae06215d59e742158782e0626bd5e2e8bada1fd7ec5056679f4a1412eaa2ef10e5 +Ctrl.hexsession_id = hexsession_id:8ddcd28d02f2cb50661cf2111953c697c0e578e43a77dfeb593b2bf05189bb429f306bcb0bcb41219d5428c1795c84665bb1f0db33e55f52edbff2b781c7eb79 +Ctrl.type = type:F +Output = 8532a1014a5a2feba5730823b0fb1781a7782a73f95a97697aedf60997e6cdf5107387be820b74c0e43e8caf42e83bbc703c6cd9d37b0e720aeacc115ce4633e + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008045cafef6acb29ea351ad025a32cb0fb88fe52f138ac3cd7718140c883cffbc10778c2e6c573bdbfaf32eceaa2fc1e106170dadcdf1cb0e1653f2361c76f5153262295b16371daf9ae2015dfb407f4920240eb10293c48971d2086723507d2eb7e1481f2b737df223628ee602a49bb7f1ac52068f5c1a24b445786e35042fc6c0 +Ctrl.hexxcghash = hexxcghash:b1ce6e766a7340f40cec52585087c60e456cc390d0ee294bbc460d50b93c2170344cca3dd2e3067ebefe3efbd002ec4ed7f0fc1a8771eaffbc1fd4d5800aec21 +Ctrl.hexsession_id = hexsession_id:85ae5c53a8286dfddf295dd0b31237bc8c54e9858647e222db29a4f60ffb74a175e5de22c132a1a06826c6e0122e63aa657fc670ca44943159560ce1c48b6906 +Ctrl.type = type:A +Output = c5dffc4eb99a1c36 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008045cafef6acb29ea351ad025a32cb0fb88fe52f138ac3cd7718140c883cffbc10778c2e6c573bdbfaf32eceaa2fc1e106170dadcdf1cb0e1653f2361c76f5153262295b16371daf9ae2015dfb407f4920240eb10293c48971d2086723507d2eb7e1481f2b737df223628ee602a49bb7f1ac52068f5c1a24b445786e35042fc6c0 +Ctrl.hexxcghash = hexxcghash:b1ce6e766a7340f40cec52585087c60e456cc390d0ee294bbc460d50b93c2170344cca3dd2e3067ebefe3efbd002ec4ed7f0fc1a8771eaffbc1fd4d5800aec21 +Ctrl.hexsession_id = hexsession_id:85ae5c53a8286dfddf295dd0b31237bc8c54e9858647e222db29a4f60ffb74a175e5de22c132a1a06826c6e0122e63aa657fc670ca44943159560ce1c48b6906 +Ctrl.type = type:B +Output = 13cb7467ddf8ea7d + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008045cafef6acb29ea351ad025a32cb0fb88fe52f138ac3cd7718140c883cffbc10778c2e6c573bdbfaf32eceaa2fc1e106170dadcdf1cb0e1653f2361c76f5153262295b16371daf9ae2015dfb407f4920240eb10293c48971d2086723507d2eb7e1481f2b737df223628ee602a49bb7f1ac52068f5c1a24b445786e35042fc6c0 +Ctrl.hexxcghash = hexxcghash:b1ce6e766a7340f40cec52585087c60e456cc390d0ee294bbc460d50b93c2170344cca3dd2e3067ebefe3efbd002ec4ed7f0fc1a8771eaffbc1fd4d5800aec21 +Ctrl.hexsession_id = hexsession_id:85ae5c53a8286dfddf295dd0b31237bc8c54e9858647e222db29a4f60ffb74a175e5de22c132a1a06826c6e0122e63aa657fc670ca44943159560ce1c48b6906 +Ctrl.type = type:C +Output = 4d77a9a1a36500d9ea0389e3813a201fb9b30751d1fcf0b3 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008045cafef6acb29ea351ad025a32cb0fb88fe52f138ac3cd7718140c883cffbc10778c2e6c573bdbfaf32eceaa2fc1e106170dadcdf1cb0e1653f2361c76f5153262295b16371daf9ae2015dfb407f4920240eb10293c48971d2086723507d2eb7e1481f2b737df223628ee602a49bb7f1ac52068f5c1a24b445786e35042fc6c0 +Ctrl.hexxcghash = hexxcghash:b1ce6e766a7340f40cec52585087c60e456cc390d0ee294bbc460d50b93c2170344cca3dd2e3067ebefe3efbd002ec4ed7f0fc1a8771eaffbc1fd4d5800aec21 +Ctrl.hexsession_id = hexsession_id:85ae5c53a8286dfddf295dd0b31237bc8c54e9858647e222db29a4f60ffb74a175e5de22c132a1a06826c6e0122e63aa657fc670ca44943159560ce1c48b6906 +Ctrl.type = type:D +Output = a0e4ec099492c752b98013d2176af6e601eeef3cdc2029a9 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008045cafef6acb29ea351ad025a32cb0fb88fe52f138ac3cd7718140c883cffbc10778c2e6c573bdbfaf32eceaa2fc1e106170dadcdf1cb0e1653f2361c76f5153262295b16371daf9ae2015dfb407f4920240eb10293c48971d2086723507d2eb7e1481f2b737df223628ee602a49bb7f1ac52068f5c1a24b445786e35042fc6c0 +Ctrl.hexxcghash = hexxcghash:b1ce6e766a7340f40cec52585087c60e456cc390d0ee294bbc460d50b93c2170344cca3dd2e3067ebefe3efbd002ec4ed7f0fc1a8771eaffbc1fd4d5800aec21 +Ctrl.hexsession_id = hexsession_id:85ae5c53a8286dfddf295dd0b31237bc8c54e9858647e222db29a4f60ffb74a175e5de22c132a1a06826c6e0122e63aa657fc670ca44943159560ce1c48b6906 +Ctrl.type = type:E +Output = b4035effa78e6da307f4c096226150e5cab92794192bba492ff8576da3fdbbfdc87fbf79721de0e8f38647261dcad096fd536c4f724f09782a4b684902a4b979 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008045cafef6acb29ea351ad025a32cb0fb88fe52f138ac3cd7718140c883cffbc10778c2e6c573bdbfaf32eceaa2fc1e106170dadcdf1cb0e1653f2361c76f5153262295b16371daf9ae2015dfb407f4920240eb10293c48971d2086723507d2eb7e1481f2b737df223628ee602a49bb7f1ac52068f5c1a24b445786e35042fc6c0 +Ctrl.hexxcghash = hexxcghash:b1ce6e766a7340f40cec52585087c60e456cc390d0ee294bbc460d50b93c2170344cca3dd2e3067ebefe3efbd002ec4ed7f0fc1a8771eaffbc1fd4d5800aec21 +Ctrl.hexsession_id = hexsession_id:85ae5c53a8286dfddf295dd0b31237bc8c54e9858647e222db29a4f60ffb74a175e5de22c132a1a06826c6e0122e63aa657fc670ca44943159560ce1c48b6906 +Ctrl.type = type:F +Output = eae8776eddb75cd4d14d2db129172bab92f0c8d2c8a439d4b63824c23e7481af502a45d2ebee77f3a801d658b59f6cbbdb797f479787ae4d5839b7ddf49ff908 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000081008b735b1cc9a88529c0d0faea307f79142abc920248b3495e56b7987605b5a7a93354c638752ae7ce47b2869600dc2ab8f240c0ce4e35147e00f8e69fbe940d6236daf01b38f3e74d7bff07d01111569e213cd8475e77de026c81dac6e40242cfc2df5af9d37e520c2d7aee165de9cc314750e856d7514b0b80c568e2292c733f +Ctrl.hexxcghash = hexxcghash:c226bd264f49cba006b4806afa4edaf42c2c48992ec66c78ce3a982cb5b1d923344107eb77884b0d996af71997611fdffba499da38d5206db0d0a17c438d4d8a +Ctrl.hexsession_id = hexsession_id:ae0f9a407aae7a964a900b1f5b7060a2e7d4c9de4e422fec063829a9ea1fcb74a6ae83b9eb08f8663e171bdf036bf0c263b23f8eff3053d617484cc3efd99990 +Ctrl.type = type:A +Output = 31ef8e737ec154c0 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000081008b735b1cc9a88529c0d0faea307f79142abc920248b3495e56b7987605b5a7a93354c638752ae7ce47b2869600dc2ab8f240c0ce4e35147e00f8e69fbe940d6236daf01b38f3e74d7bff07d01111569e213cd8475e77de026c81dac6e40242cfc2df5af9d37e520c2d7aee165de9cc314750e856d7514b0b80c568e2292c733f +Ctrl.hexxcghash = hexxcghash:c226bd264f49cba006b4806afa4edaf42c2c48992ec66c78ce3a982cb5b1d923344107eb77884b0d996af71997611fdffba499da38d5206db0d0a17c438d4d8a +Ctrl.hexsession_id = hexsession_id:ae0f9a407aae7a964a900b1f5b7060a2e7d4c9de4e422fec063829a9ea1fcb74a6ae83b9eb08f8663e171bdf036bf0c263b23f8eff3053d617484cc3efd99990 +Ctrl.type = type:B +Output = c0bb41f2c51a0503 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000081008b735b1cc9a88529c0d0faea307f79142abc920248b3495e56b7987605b5a7a93354c638752ae7ce47b2869600dc2ab8f240c0ce4e35147e00f8e69fbe940d6236daf01b38f3e74d7bff07d01111569e213cd8475e77de026c81dac6e40242cfc2df5af9d37e520c2d7aee165de9cc314750e856d7514b0b80c568e2292c733f +Ctrl.hexxcghash = hexxcghash:c226bd264f49cba006b4806afa4edaf42c2c48992ec66c78ce3a982cb5b1d923344107eb77884b0d996af71997611fdffba499da38d5206db0d0a17c438d4d8a +Ctrl.hexsession_id = hexsession_id:ae0f9a407aae7a964a900b1f5b7060a2e7d4c9de4e422fec063829a9ea1fcb74a6ae83b9eb08f8663e171bdf036bf0c263b23f8eff3053d617484cc3efd99990 +Ctrl.type = type:C +Output = 3f9058812f36f302dc5ada7de8f4271c435dfe4589f22a00 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000081008b735b1cc9a88529c0d0faea307f79142abc920248b3495e56b7987605b5a7a93354c638752ae7ce47b2869600dc2ab8f240c0ce4e35147e00f8e69fbe940d6236daf01b38f3e74d7bff07d01111569e213cd8475e77de026c81dac6e40242cfc2df5af9d37e520c2d7aee165de9cc314750e856d7514b0b80c568e2292c733f +Ctrl.hexxcghash = hexxcghash:c226bd264f49cba006b4806afa4edaf42c2c48992ec66c78ce3a982cb5b1d923344107eb77884b0d996af71997611fdffba499da38d5206db0d0a17c438d4d8a +Ctrl.hexsession_id = hexsession_id:ae0f9a407aae7a964a900b1f5b7060a2e7d4c9de4e422fec063829a9ea1fcb74a6ae83b9eb08f8663e171bdf036bf0c263b23f8eff3053d617484cc3efd99990 +Ctrl.type = type:D +Output = b342a447abcb67f6819a19b8b300946c89739fabd049a6e0 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000081008b735b1cc9a88529c0d0faea307f79142abc920248b3495e56b7987605b5a7a93354c638752ae7ce47b2869600dc2ab8f240c0ce4e35147e00f8e69fbe940d6236daf01b38f3e74d7bff07d01111569e213cd8475e77de026c81dac6e40242cfc2df5af9d37e520c2d7aee165de9cc314750e856d7514b0b80c568e2292c733f +Ctrl.hexxcghash = hexxcghash:c226bd264f49cba006b4806afa4edaf42c2c48992ec66c78ce3a982cb5b1d923344107eb77884b0d996af71997611fdffba499da38d5206db0d0a17c438d4d8a +Ctrl.hexsession_id = hexsession_id:ae0f9a407aae7a964a900b1f5b7060a2e7d4c9de4e422fec063829a9ea1fcb74a6ae83b9eb08f8663e171bdf036bf0c263b23f8eff3053d617484cc3efd99990 +Ctrl.type = type:E +Output = a5d70cb0a3e351be09b9600c9b97f2781236bf549209a1fbf3304af145af0941c6cd9923f1f30cec946e8dea96332d284e01a4d8bcc90721fe2e515504073cb8 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000081008b735b1cc9a88529c0d0faea307f79142abc920248b3495e56b7987605b5a7a93354c638752ae7ce47b2869600dc2ab8f240c0ce4e35147e00f8e69fbe940d6236daf01b38f3e74d7bff07d01111569e213cd8475e77de026c81dac6e40242cfc2df5af9d37e520c2d7aee165de9cc314750e856d7514b0b80c568e2292c733f +Ctrl.hexxcghash = hexxcghash:c226bd264f49cba006b4806afa4edaf42c2c48992ec66c78ce3a982cb5b1d923344107eb77884b0d996af71997611fdffba499da38d5206db0d0a17c438d4d8a +Ctrl.hexsession_id = hexsession_id:ae0f9a407aae7a964a900b1f5b7060a2e7d4c9de4e422fec063829a9ea1fcb74a6ae83b9eb08f8663e171bdf036bf0c263b23f8eff3053d617484cc3efd99990 +Ctrl.type = type:F +Output = dbc3ea086a49e220306cbe57b942d9409cbd205dec20c7b79fd6998906d173bcb2bc2eb5b7eea4c1d84f3926836bd15e0565a17af735596050d6161d9682f2e7 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100c41430e9dfce9301082a4d034e0e1ffe73133e4c97afbd325d6bbe1f3a4f5a9103f57a05f66b1ac63a5f1724b3315daf7171f334e77eff356366daf4e23e55751422734d4d22e6dcac783bba0edc1be8fcc4c7c0d5a69d047291e33167057c774e46362dfb6f8432b427cf21c01304b23e2b49b664fd50dc463c17efffa146a0 +Ctrl.hexxcghash = hexxcghash:04aeff766f08c065092fdd7be43531f83d73682601069477ee10407821a0f0e8bf614e775dfab6f889a8d5120c2e39d96e38de4cda6f673fb7cb343de1e17b9c +Ctrl.hexsession_id = hexsession_id:15f5653a107aee694bd1680d423c8da2dab8c1ec8e23c5208100ce3d8d4821b52bbb1d14791476253db4b07ebb715ae095b8b49e1545be3c92a3adcf39970be5 +Ctrl.type = type:A +Output = 19d6bc79713a4622 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100c41430e9dfce9301082a4d034e0e1ffe73133e4c97afbd325d6bbe1f3a4f5a9103f57a05f66b1ac63a5f1724b3315daf7171f334e77eff356366daf4e23e55751422734d4d22e6dcac783bba0edc1be8fcc4c7c0d5a69d047291e33167057c774e46362dfb6f8432b427cf21c01304b23e2b49b664fd50dc463c17efffa146a0 +Ctrl.hexxcghash = hexxcghash:04aeff766f08c065092fdd7be43531f83d73682601069477ee10407821a0f0e8bf614e775dfab6f889a8d5120c2e39d96e38de4cda6f673fb7cb343de1e17b9c +Ctrl.hexsession_id = hexsession_id:15f5653a107aee694bd1680d423c8da2dab8c1ec8e23c5208100ce3d8d4821b52bbb1d14791476253db4b07ebb715ae095b8b49e1545be3c92a3adcf39970be5 +Ctrl.type = type:B +Output = 7de9caf89d325dcd + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100c41430e9dfce9301082a4d034e0e1ffe73133e4c97afbd325d6bbe1f3a4f5a9103f57a05f66b1ac63a5f1724b3315daf7171f334e77eff356366daf4e23e55751422734d4d22e6dcac783bba0edc1be8fcc4c7c0d5a69d047291e33167057c774e46362dfb6f8432b427cf21c01304b23e2b49b664fd50dc463c17efffa146a0 +Ctrl.hexxcghash = hexxcghash:04aeff766f08c065092fdd7be43531f83d73682601069477ee10407821a0f0e8bf614e775dfab6f889a8d5120c2e39d96e38de4cda6f673fb7cb343de1e17b9c +Ctrl.hexsession_id = hexsession_id:15f5653a107aee694bd1680d423c8da2dab8c1ec8e23c5208100ce3d8d4821b52bbb1d14791476253db4b07ebb715ae095b8b49e1545be3c92a3adcf39970be5 +Ctrl.type = type:C +Output = 1d5391d658abb9ec1b8df32cbf1db9a302a1301984ab06d4 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100c41430e9dfce9301082a4d034e0e1ffe73133e4c97afbd325d6bbe1f3a4f5a9103f57a05f66b1ac63a5f1724b3315daf7171f334e77eff356366daf4e23e55751422734d4d22e6dcac783bba0edc1be8fcc4c7c0d5a69d047291e33167057c774e46362dfb6f8432b427cf21c01304b23e2b49b664fd50dc463c17efffa146a0 +Ctrl.hexxcghash = hexxcghash:04aeff766f08c065092fdd7be43531f83d73682601069477ee10407821a0f0e8bf614e775dfab6f889a8d5120c2e39d96e38de4cda6f673fb7cb343de1e17b9c +Ctrl.hexsession_id = hexsession_id:15f5653a107aee694bd1680d423c8da2dab8c1ec8e23c5208100ce3d8d4821b52bbb1d14791476253db4b07ebb715ae095b8b49e1545be3c92a3adcf39970be5 +Ctrl.type = type:D +Output = 5d37dab50814543d8d8674f4f491d73d21973f20844c96a7 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100c41430e9dfce9301082a4d034e0e1ffe73133e4c97afbd325d6bbe1f3a4f5a9103f57a05f66b1ac63a5f1724b3315daf7171f334e77eff356366daf4e23e55751422734d4d22e6dcac783bba0edc1be8fcc4c7c0d5a69d047291e33167057c774e46362dfb6f8432b427cf21c01304b23e2b49b664fd50dc463c17efffa146a0 +Ctrl.hexxcghash = hexxcghash:04aeff766f08c065092fdd7be43531f83d73682601069477ee10407821a0f0e8bf614e775dfab6f889a8d5120c2e39d96e38de4cda6f673fb7cb343de1e17b9c +Ctrl.hexsession_id = hexsession_id:15f5653a107aee694bd1680d423c8da2dab8c1ec8e23c5208100ce3d8d4821b52bbb1d14791476253db4b07ebb715ae095b8b49e1545be3c92a3adcf39970be5 +Ctrl.type = type:E +Output = 3e882ae390a64c34f509bc9845df581987ae2524b2ff92d9243580168f32fa68750f3f732c8c5544c98fc585582fe743efbf55dd6c487fb5f9ffac1a156fa31c + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000008100c41430e9dfce9301082a4d034e0e1ffe73133e4c97afbd325d6bbe1f3a4f5a9103f57a05f66b1ac63a5f1724b3315daf7171f334e77eff356366daf4e23e55751422734d4d22e6dcac783bba0edc1be8fcc4c7c0d5a69d047291e33167057c774e46362dfb6f8432b427cf21c01304b23e2b49b664fd50dc463c17efffa146a0 +Ctrl.hexxcghash = hexxcghash:04aeff766f08c065092fdd7be43531f83d73682601069477ee10407821a0f0e8bf614e775dfab6f889a8d5120c2e39d96e38de4cda6f673fb7cb343de1e17b9c +Ctrl.hexsession_id = hexsession_id:15f5653a107aee694bd1680d423c8da2dab8c1ec8e23c5208100ce3d8d4821b52bbb1d14791476253db4b07ebb715ae095b8b49e1545be3c92a3adcf39970be5 +Ctrl.type = type:F +Output = ce4bcf9cabe7ee7c0e216e64e5427ebd38cb41ba9e9a6d9ae441ca47d9278347a59afdf758ae7f7fd667ed3830bf9a33d7badfd40e2112580af514da9464a6d1 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000810088181aaaa6b17924ced0033b1e4a3d007a464d4d53871f4da4689d477437b42f873d4b7d5f5c52909b6cca8be7a01d1a7a806f745500bb00b4fd6e6f8d0e1c9ad08d934c7d680a57ac5a4ed77f73182065f9295d745e1d50b8da0626f3e9ccb6651aad3b0c5c2cecd90c521318778f570333c011f02d5e2a406eb8b3d6036537 +Ctrl.hexxcghash = hexxcghash:3c4ecb173c39cedecbcd19ba0fc38454176b81b6451911b4422907b1b670dcedaabebaaa261fbac23b3b5738264c5eee3dccfd9e050a1cef17ac997527dd7095 +Ctrl.hexsession_id = hexsession_id:3b05253d9e5ab2f7f4ba2998bea5ed7d05afdf02b7499ac2dd554833b886b73d92e929316a366147e9af50201dbb4e54c123418d1a623bc2dc52766211dbe614 +Ctrl.type = type:A +Output = 93fbb01815b63533 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000810088181aaaa6b17924ced0033b1e4a3d007a464d4d53871f4da4689d477437b42f873d4b7d5f5c52909b6cca8be7a01d1a7a806f745500bb00b4fd6e6f8d0e1c9ad08d934c7d680a57ac5a4ed77f73182065f9295d745e1d50b8da0626f3e9ccb6651aad3b0c5c2cecd90c521318778f570333c011f02d5e2a406eb8b3d6036537 +Ctrl.hexxcghash = hexxcghash:3c4ecb173c39cedecbcd19ba0fc38454176b81b6451911b4422907b1b670dcedaabebaaa261fbac23b3b5738264c5eee3dccfd9e050a1cef17ac997527dd7095 +Ctrl.hexsession_id = hexsession_id:3b05253d9e5ab2f7f4ba2998bea5ed7d05afdf02b7499ac2dd554833b886b73d92e929316a366147e9af50201dbb4e54c123418d1a623bc2dc52766211dbe614 +Ctrl.type = type:B +Output = aea76dfe77a87471 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000810088181aaaa6b17924ced0033b1e4a3d007a464d4d53871f4da4689d477437b42f873d4b7d5f5c52909b6cca8be7a01d1a7a806f745500bb00b4fd6e6f8d0e1c9ad08d934c7d680a57ac5a4ed77f73182065f9295d745e1d50b8da0626f3e9ccb6651aad3b0c5c2cecd90c521318778f570333c011f02d5e2a406eb8b3d6036537 +Ctrl.hexxcghash = hexxcghash:3c4ecb173c39cedecbcd19ba0fc38454176b81b6451911b4422907b1b670dcedaabebaaa261fbac23b3b5738264c5eee3dccfd9e050a1cef17ac997527dd7095 +Ctrl.hexsession_id = hexsession_id:3b05253d9e5ab2f7f4ba2998bea5ed7d05afdf02b7499ac2dd554833b886b73d92e929316a366147e9af50201dbb4e54c123418d1a623bc2dc52766211dbe614 +Ctrl.type = type:C +Output = 73a55e25a0a8ec0899c1074bf0845fefd84e42f741897a3f + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000810088181aaaa6b17924ced0033b1e4a3d007a464d4d53871f4da4689d477437b42f873d4b7d5f5c52909b6cca8be7a01d1a7a806f745500bb00b4fd6e6f8d0e1c9ad08d934c7d680a57ac5a4ed77f73182065f9295d745e1d50b8da0626f3e9ccb6651aad3b0c5c2cecd90c521318778f570333c011f02d5e2a406eb8b3d6036537 +Ctrl.hexxcghash = hexxcghash:3c4ecb173c39cedecbcd19ba0fc38454176b81b6451911b4422907b1b670dcedaabebaaa261fbac23b3b5738264c5eee3dccfd9e050a1cef17ac997527dd7095 +Ctrl.hexsession_id = hexsession_id:3b05253d9e5ab2f7f4ba2998bea5ed7d05afdf02b7499ac2dd554833b886b73d92e929316a366147e9af50201dbb4e54c123418d1a623bc2dc52766211dbe614 +Ctrl.type = type:D +Output = fead3a851502aa3c58734065eeaf3e63ed4c59c8f450bb1a + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000810088181aaaa6b17924ced0033b1e4a3d007a464d4d53871f4da4689d477437b42f873d4b7d5f5c52909b6cca8be7a01d1a7a806f745500bb00b4fd6e6f8d0e1c9ad08d934c7d680a57ac5a4ed77f73182065f9295d745e1d50b8da0626f3e9ccb6651aad3b0c5c2cecd90c521318778f570333c011f02d5e2a406eb8b3d6036537 +Ctrl.hexxcghash = hexxcghash:3c4ecb173c39cedecbcd19ba0fc38454176b81b6451911b4422907b1b670dcedaabebaaa261fbac23b3b5738264c5eee3dccfd9e050a1cef17ac997527dd7095 +Ctrl.hexsession_id = hexsession_id:3b05253d9e5ab2f7f4ba2998bea5ed7d05afdf02b7499ac2dd554833b886b73d92e929316a366147e9af50201dbb4e54c123418d1a623bc2dc52766211dbe614 +Ctrl.type = type:E +Output = 55bde99a692820ad809eb0a62311f8f3e9469ba2ee4d782d5432628ca52d829b9c5bffc41b58232363f97c5dab603268b1997fbe9b9b34ab2aca3da27467b0c8 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000000810088181aaaa6b17924ced0033b1e4a3d007a464d4d53871f4da4689d477437b42f873d4b7d5f5c52909b6cca8be7a01d1a7a806f745500bb00b4fd6e6f8d0e1c9ad08d934c7d680a57ac5a4ed77f73182065f9295d745e1d50b8da0626f3e9ccb6651aad3b0c5c2cecd90c521318778f570333c011f02d5e2a406eb8b3d6036537 +Ctrl.hexxcghash = hexxcghash:3c4ecb173c39cedecbcd19ba0fc38454176b81b6451911b4422907b1b670dcedaabebaaa261fbac23b3b5738264c5eee3dccfd9e050a1cef17ac997527dd7095 +Ctrl.hexsession_id = hexsession_id:3b05253d9e5ab2f7f4ba2998bea5ed7d05afdf02b7499ac2dd554833b886b73d92e929316a366147e9af50201dbb4e54c123418d1a623bc2dc52766211dbe614 +Ctrl.type = type:F +Output = 756f65746c861f0985f3dd7d2f08004897ccb22be2f1d3b4791ca0c51d5ee0da776dd03d7dfb7f4db6c6cd37899871e63d75f7f60dff8348c313e99409ad2db5 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100e8d52da494d198252b87189223bffb0bc1b68335ae987df15bf7cf95bd74a951b5eaa87b1739f91efc97f28f5a7f0a206fdbcf33e39003e154b334009563abd62a4169462865ba931ca3f8f4d70611e8bcb46228ee74983d2ec79c690d86329c2daac8dbdafe4573f114313f29c7507bd4aa50d87bb83b1cebb628e37b2501ffc9b1200d8d360e1b46bf6fdecd486fae790352eb79aa3f37e4964963a84dbd80fb3b80491210565d9449599bc9306ee76a932a764070702cd09c87e1f26095b1b78042bcc37d5f097e3f7b2db6cb6f7b3e2a332021f756fe1784edd2a82802c1274b9944dff99fb1c181f41d6d2f4eac5aa33c619c48167dce1eb47ddafbe5eb +Ctrl.hexxcghash = hexxcghash:3e81bd3b4b609955df0deaab293876592122e2d7fdc719ecd503b572c5e98cfaaac1f7e085d4097c76515f5b70413944a464ce346ada6d85d7c39a8009d4b121 +Ctrl.hexsession_id = hexsession_id:3e81bd3b4b609955df0deaab293876592122e2d7fdc719ecd503b572c5e98cfaaac1f7e085d4097c76515f5b70413944a464ce346ada6d85d7c39a8009d4b121 +Ctrl.type = type:A +Output = a626c34c0a74b56262110185a34cd810 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100e8d52da494d198252b87189223bffb0bc1b68335ae987df15bf7cf95bd74a951b5eaa87b1739f91efc97f28f5a7f0a206fdbcf33e39003e154b334009563abd62a4169462865ba931ca3f8f4d70611e8bcb46228ee74983d2ec79c690d86329c2daac8dbdafe4573f114313f29c7507bd4aa50d87bb83b1cebb628e37b2501ffc9b1200d8d360e1b46bf6fdecd486fae790352eb79aa3f37e4964963a84dbd80fb3b80491210565d9449599bc9306ee76a932a764070702cd09c87e1f26095b1b78042bcc37d5f097e3f7b2db6cb6f7b3e2a332021f756fe1784edd2a82802c1274b9944dff99fb1c181f41d6d2f4eac5aa33c619c48167dce1eb47ddafbe5eb +Ctrl.hexxcghash = hexxcghash:3e81bd3b4b609955df0deaab293876592122e2d7fdc719ecd503b572c5e98cfaaac1f7e085d4097c76515f5b70413944a464ce346ada6d85d7c39a8009d4b121 +Ctrl.hexsession_id = hexsession_id:3e81bd3b4b609955df0deaab293876592122e2d7fdc719ecd503b572c5e98cfaaac1f7e085d4097c76515f5b70413944a464ce346ada6d85d7c39a8009d4b121 +Ctrl.type = type:B +Output = 223d6fc57263da9ad61dad9759454e0f + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100e8d52da494d198252b87189223bffb0bc1b68335ae987df15bf7cf95bd74a951b5eaa87b1739f91efc97f28f5a7f0a206fdbcf33e39003e154b334009563abd62a4169462865ba931ca3f8f4d70611e8bcb46228ee74983d2ec79c690d86329c2daac8dbdafe4573f114313f29c7507bd4aa50d87bb83b1cebb628e37b2501ffc9b1200d8d360e1b46bf6fdecd486fae790352eb79aa3f37e4964963a84dbd80fb3b80491210565d9449599bc9306ee76a932a764070702cd09c87e1f26095b1b78042bcc37d5f097e3f7b2db6cb6f7b3e2a332021f756fe1784edd2a82802c1274b9944dff99fb1c181f41d6d2f4eac5aa33c619c48167dce1eb47ddafbe5eb +Ctrl.hexxcghash = hexxcghash:3e81bd3b4b609955df0deaab293876592122e2d7fdc719ecd503b572c5e98cfaaac1f7e085d4097c76515f5b70413944a464ce346ada6d85d7c39a8009d4b121 +Ctrl.hexsession_id = hexsession_id:3e81bd3b4b609955df0deaab293876592122e2d7fdc719ecd503b572c5e98cfaaac1f7e085d4097c76515f5b70413944a464ce346ada6d85d7c39a8009d4b121 +Ctrl.type = type:C +Output = 7c803e07506969666f446400b2372eee + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100e8d52da494d198252b87189223bffb0bc1b68335ae987df15bf7cf95bd74a951b5eaa87b1739f91efc97f28f5a7f0a206fdbcf33e39003e154b334009563abd62a4169462865ba931ca3f8f4d70611e8bcb46228ee74983d2ec79c690d86329c2daac8dbdafe4573f114313f29c7507bd4aa50d87bb83b1cebb628e37b2501ffc9b1200d8d360e1b46bf6fdecd486fae790352eb79aa3f37e4964963a84dbd80fb3b80491210565d9449599bc9306ee76a932a764070702cd09c87e1f26095b1b78042bcc37d5f097e3f7b2db6cb6f7b3e2a332021f756fe1784edd2a82802c1274b9944dff99fb1c181f41d6d2f4eac5aa33c619c48167dce1eb47ddafbe5eb +Ctrl.hexxcghash = hexxcghash:3e81bd3b4b609955df0deaab293876592122e2d7fdc719ecd503b572c5e98cfaaac1f7e085d4097c76515f5b70413944a464ce346ada6d85d7c39a8009d4b121 +Ctrl.hexsession_id = hexsession_id:3e81bd3b4b609955df0deaab293876592122e2d7fdc719ecd503b572c5e98cfaaac1f7e085d4097c76515f5b70413944a464ce346ada6d85d7c39a8009d4b121 +Ctrl.type = type:D +Output = 4ad705fbc9e89c03c15f9dbbf34981df + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100e8d52da494d198252b87189223bffb0bc1b68335ae987df15bf7cf95bd74a951b5eaa87b1739f91efc97f28f5a7f0a206fdbcf33e39003e154b334009563abd62a4169462865ba931ca3f8f4d70611e8bcb46228ee74983d2ec79c690d86329c2daac8dbdafe4573f114313f29c7507bd4aa50d87bb83b1cebb628e37b2501ffc9b1200d8d360e1b46bf6fdecd486fae790352eb79aa3f37e4964963a84dbd80fb3b80491210565d9449599bc9306ee76a932a764070702cd09c87e1f26095b1b78042bcc37d5f097e3f7b2db6cb6f7b3e2a332021f756fe1784edd2a82802c1274b9944dff99fb1c181f41d6d2f4eac5aa33c619c48167dce1eb47ddafbe5eb +Ctrl.hexxcghash = hexxcghash:3e81bd3b4b609955df0deaab293876592122e2d7fdc719ecd503b572c5e98cfaaac1f7e085d4097c76515f5b70413944a464ce346ada6d85d7c39a8009d4b121 +Ctrl.hexsession_id = hexsession_id:3e81bd3b4b609955df0deaab293876592122e2d7fdc719ecd503b572c5e98cfaaac1f7e085d4097c76515f5b70413944a464ce346ada6d85d7c39a8009d4b121 +Ctrl.type = type:E +Output = 36cac32cab8b943cd9d2142559c467593bfaf30d0be71560245c8b38a5671901a858ccc637b0ef6966a2bbfb1a7f51f2cf6d52c4165ca000d52bd908405c305f + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100e8d52da494d198252b87189223bffb0bc1b68335ae987df15bf7cf95bd74a951b5eaa87b1739f91efc97f28f5a7f0a206fdbcf33e39003e154b334009563abd62a4169462865ba931ca3f8f4d70611e8bcb46228ee74983d2ec79c690d86329c2daac8dbdafe4573f114313f29c7507bd4aa50d87bb83b1cebb628e37b2501ffc9b1200d8d360e1b46bf6fdecd486fae790352eb79aa3f37e4964963a84dbd80fb3b80491210565d9449599bc9306ee76a932a764070702cd09c87e1f26095b1b78042bcc37d5f097e3f7b2db6cb6f7b3e2a332021f756fe1784edd2a82802c1274b9944dff99fb1c181f41d6d2f4eac5aa33c619c48167dce1eb47ddafbe5eb +Ctrl.hexxcghash = hexxcghash:3e81bd3b4b609955df0deaab293876592122e2d7fdc719ecd503b572c5e98cfaaac1f7e085d4097c76515f5b70413944a464ce346ada6d85d7c39a8009d4b121 +Ctrl.hexsession_id = hexsession_id:3e81bd3b4b609955df0deaab293876592122e2d7fdc719ecd503b572c5e98cfaaac1f7e085d4097c76515f5b70413944a464ce346ada6d85d7c39a8009d4b121 +Ctrl.type = type:F +Output = 67d42301ce629c0f2a34b9dfb24ec60c138b4edc71f7123bb0db9447b3c915ebd8c54d3b20af04e30b484be3a2d4136f5d5c46f9c56de189b91fec78ecd53e1c + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010034a5d2784c99976fb3b615c5b1bfacc9a749330d22bcf5a7c404c10f886e2a3115660a399d7c721d5dd141f458b0d27e0e6709a8290f9ef6f61681a11d876eb7bd52b930f79fb9516f5d2137c5bfa95a893890d26d7712fc9ecc4dc82a5171341b41a9f2c4a8f0c14efe82ef2a4db60a8a0b8e43d3f92992f8dcc2d6bae3759aea86a4f14f809fe648021fc4aa79936bd687450e801916d7d267dfab66bd86f9424b3460fa75b16af37151918cb2f8ba8ac33df5b0ccf7fb21c3ea9fb0ed2917a4eb9d6ed345c42a5a67a66fca7b7e69c1ad5c45c51866692f058ad537c0f59c83a2788ef9b9610cc06aa155aa1115f23fa36d7734152a0da209244c32d37e3a +Ctrl.hexxcghash = hexxcghash:ab6f9c04514ae3f6591039c9cc6a9919279282d7c95971b4c27957e31cced5ef5b1c59a4418402203ab50a46df7dc03bd67d42a62592708b0581617a42ea6d71 +Ctrl.hexsession_id = hexsession_id:4e226639facaccf9894367cb1008663e989eb31757b912bd1cb3bd51058c7adf56e9a54eef87b63299a5cc092c047991dc9a380e749c7c5657bb99424bcce6d6 +Ctrl.type = type:A +Output = 8ebbf0e9afd9f108498f1543104ba8e2 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010034a5d2784c99976fb3b615c5b1bfacc9a749330d22bcf5a7c404c10f886e2a3115660a399d7c721d5dd141f458b0d27e0e6709a8290f9ef6f61681a11d876eb7bd52b930f79fb9516f5d2137c5bfa95a893890d26d7712fc9ecc4dc82a5171341b41a9f2c4a8f0c14efe82ef2a4db60a8a0b8e43d3f92992f8dcc2d6bae3759aea86a4f14f809fe648021fc4aa79936bd687450e801916d7d267dfab66bd86f9424b3460fa75b16af37151918cb2f8ba8ac33df5b0ccf7fb21c3ea9fb0ed2917a4eb9d6ed345c42a5a67a66fca7b7e69c1ad5c45c51866692f058ad537c0f59c83a2788ef9b9610cc06aa155aa1115f23fa36d7734152a0da209244c32d37e3a +Ctrl.hexxcghash = hexxcghash:ab6f9c04514ae3f6591039c9cc6a9919279282d7c95971b4c27957e31cced5ef5b1c59a4418402203ab50a46df7dc03bd67d42a62592708b0581617a42ea6d71 +Ctrl.hexsession_id = hexsession_id:4e226639facaccf9894367cb1008663e989eb31757b912bd1cb3bd51058c7adf56e9a54eef87b63299a5cc092c047991dc9a380e749c7c5657bb99424bcce6d6 +Ctrl.type = type:B +Output = 38bfe6bed75f77675fa36d76b63816a4 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010034a5d2784c99976fb3b615c5b1bfacc9a749330d22bcf5a7c404c10f886e2a3115660a399d7c721d5dd141f458b0d27e0e6709a8290f9ef6f61681a11d876eb7bd52b930f79fb9516f5d2137c5bfa95a893890d26d7712fc9ecc4dc82a5171341b41a9f2c4a8f0c14efe82ef2a4db60a8a0b8e43d3f92992f8dcc2d6bae3759aea86a4f14f809fe648021fc4aa79936bd687450e801916d7d267dfab66bd86f9424b3460fa75b16af37151918cb2f8ba8ac33df5b0ccf7fb21c3ea9fb0ed2917a4eb9d6ed345c42a5a67a66fca7b7e69c1ad5c45c51866692f058ad537c0f59c83a2788ef9b9610cc06aa155aa1115f23fa36d7734152a0da209244c32d37e3a +Ctrl.hexxcghash = hexxcghash:ab6f9c04514ae3f6591039c9cc6a9919279282d7c95971b4c27957e31cced5ef5b1c59a4418402203ab50a46df7dc03bd67d42a62592708b0581617a42ea6d71 +Ctrl.hexsession_id = hexsession_id:4e226639facaccf9894367cb1008663e989eb31757b912bd1cb3bd51058c7adf56e9a54eef87b63299a5cc092c047991dc9a380e749c7c5657bb99424bcce6d6 +Ctrl.type = type:C +Output = f759f0ad2d72980f6b12f0fb317222f3 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010034a5d2784c99976fb3b615c5b1bfacc9a749330d22bcf5a7c404c10f886e2a3115660a399d7c721d5dd141f458b0d27e0e6709a8290f9ef6f61681a11d876eb7bd52b930f79fb9516f5d2137c5bfa95a893890d26d7712fc9ecc4dc82a5171341b41a9f2c4a8f0c14efe82ef2a4db60a8a0b8e43d3f92992f8dcc2d6bae3759aea86a4f14f809fe648021fc4aa79936bd687450e801916d7d267dfab66bd86f9424b3460fa75b16af37151918cb2f8ba8ac33df5b0ccf7fb21c3ea9fb0ed2917a4eb9d6ed345c42a5a67a66fca7b7e69c1ad5c45c51866692f058ad537c0f59c83a2788ef9b9610cc06aa155aa1115f23fa36d7734152a0da209244c32d37e3a +Ctrl.hexxcghash = hexxcghash:ab6f9c04514ae3f6591039c9cc6a9919279282d7c95971b4c27957e31cced5ef5b1c59a4418402203ab50a46df7dc03bd67d42a62592708b0581617a42ea6d71 +Ctrl.hexsession_id = hexsession_id:4e226639facaccf9894367cb1008663e989eb31757b912bd1cb3bd51058c7adf56e9a54eef87b63299a5cc092c047991dc9a380e749c7c5657bb99424bcce6d6 +Ctrl.type = type:D +Output = 39f294ec25afb520f5d7f1064b7078c9 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010034a5d2784c99976fb3b615c5b1bfacc9a749330d22bcf5a7c404c10f886e2a3115660a399d7c721d5dd141f458b0d27e0e6709a8290f9ef6f61681a11d876eb7bd52b930f79fb9516f5d2137c5bfa95a893890d26d7712fc9ecc4dc82a5171341b41a9f2c4a8f0c14efe82ef2a4db60a8a0b8e43d3f92992f8dcc2d6bae3759aea86a4f14f809fe648021fc4aa79936bd687450e801916d7d267dfab66bd86f9424b3460fa75b16af37151918cb2f8ba8ac33df5b0ccf7fb21c3ea9fb0ed2917a4eb9d6ed345c42a5a67a66fca7b7e69c1ad5c45c51866692f058ad537c0f59c83a2788ef9b9610cc06aa155aa1115f23fa36d7734152a0da209244c32d37e3a +Ctrl.hexxcghash = hexxcghash:ab6f9c04514ae3f6591039c9cc6a9919279282d7c95971b4c27957e31cced5ef5b1c59a4418402203ab50a46df7dc03bd67d42a62592708b0581617a42ea6d71 +Ctrl.hexsession_id = hexsession_id:4e226639facaccf9894367cb1008663e989eb31757b912bd1cb3bd51058c7adf56e9a54eef87b63299a5cc092c047991dc9a380e749c7c5657bb99424bcce6d6 +Ctrl.type = type:E +Output = ff2ad139997ff26e7f4393e49d57d5fc973ddb6225d8f4b5fe990e46b9943772f0d33aa98d01089ff0aeb5740bd388ada35dc44240180c99e522c817dedfc2cd + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010034a5d2784c99976fb3b615c5b1bfacc9a749330d22bcf5a7c404c10f886e2a3115660a399d7c721d5dd141f458b0d27e0e6709a8290f9ef6f61681a11d876eb7bd52b930f79fb9516f5d2137c5bfa95a893890d26d7712fc9ecc4dc82a5171341b41a9f2c4a8f0c14efe82ef2a4db60a8a0b8e43d3f92992f8dcc2d6bae3759aea86a4f14f809fe648021fc4aa79936bd687450e801916d7d267dfab66bd86f9424b3460fa75b16af37151918cb2f8ba8ac33df5b0ccf7fb21c3ea9fb0ed2917a4eb9d6ed345c42a5a67a66fca7b7e69c1ad5c45c51866692f058ad537c0f59c83a2788ef9b9610cc06aa155aa1115f23fa36d7734152a0da209244c32d37e3a +Ctrl.hexxcghash = hexxcghash:ab6f9c04514ae3f6591039c9cc6a9919279282d7c95971b4c27957e31cced5ef5b1c59a4418402203ab50a46df7dc03bd67d42a62592708b0581617a42ea6d71 +Ctrl.hexsession_id = hexsession_id:4e226639facaccf9894367cb1008663e989eb31757b912bd1cb3bd51058c7adf56e9a54eef87b63299a5cc092c047991dc9a380e749c7c5657bb99424bcce6d6 +Ctrl.type = type:F +Output = a670c9583c71f403207a192700d5e4fd7a007b60a4617b7f93708399a0cb771af08b9e5f4237e6975f055d6f0a4d91523fa0805013df6ae4a19f077646f1cd4b + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000100192471d29d9fbc8b61570e4efa053a5f17b2efc0aa5415b3309f7dc3971c64d9f1093f6114941d4912f7bfb771db41d1f166d4bdaec8dde214aeb058e2227277393e3c0b12adc1b6a445870bc26e753e05e27b90b97d781e3e8493eb5e717c243213de4dcdd5a11d467b8d26759118692b10357c28b0efb0228cbe257b9ee0cb77bb7bc8b072edf418768c977e485635b4ab61078587128e9a8b3c6deca2a4e64cf9fd6eca880aebd1043deaf94447ea50b0c11b574259cdcafd208d9657c7177cf394de26dd8364b615786198c38e63c568e22b5263be41d6dd8843ad5254f61cf01b7162948652568c2b42833a95619fa5072adb0bfbf38e3eace7e1596066 +Ctrl.hexxcghash = hexxcghash:a0a53cb8bcc48ffe44fd9e50e0f7532d3e326f93d7ecb10135d4385dab550cd7be03a7374dfc2a92794be13e40c794811a9916c3d1c4e7ea31ed5269537c1c22 +Ctrl.hexsession_id = hexsession_id:9bcf3f3397ff464126cb2a99c04908721871354b842ffd3d873d49407db0382f98cc54d66665d950ec8277c374f19e9f0dd2e727f8759017c49b5b80baa87c63 +Ctrl.type = type:A +Output = f68353f802d39a43c728641e44087cc5 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000100192471d29d9fbc8b61570e4efa053a5f17b2efc0aa5415b3309f7dc3971c64d9f1093f6114941d4912f7bfb771db41d1f166d4bdaec8dde214aeb058e2227277393e3c0b12adc1b6a445870bc26e753e05e27b90b97d781e3e8493eb5e717c243213de4dcdd5a11d467b8d26759118692b10357c28b0efb0228cbe257b9ee0cb77bb7bc8b072edf418768c977e485635b4ab61078587128e9a8b3c6deca2a4e64cf9fd6eca880aebd1043deaf94447ea50b0c11b574259cdcafd208d9657c7177cf394de26dd8364b615786198c38e63c568e22b5263be41d6dd8843ad5254f61cf01b7162948652568c2b42833a95619fa5072adb0bfbf38e3eace7e1596066 +Ctrl.hexxcghash = hexxcghash:a0a53cb8bcc48ffe44fd9e50e0f7532d3e326f93d7ecb10135d4385dab550cd7be03a7374dfc2a92794be13e40c794811a9916c3d1c4e7ea31ed5269537c1c22 +Ctrl.hexsession_id = hexsession_id:9bcf3f3397ff464126cb2a99c04908721871354b842ffd3d873d49407db0382f98cc54d66665d950ec8277c374f19e9f0dd2e727f8759017c49b5b80baa87c63 +Ctrl.type = type:B +Output = 23c2377f826f77519871941b62cb9fdd + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000100192471d29d9fbc8b61570e4efa053a5f17b2efc0aa5415b3309f7dc3971c64d9f1093f6114941d4912f7bfb771db41d1f166d4bdaec8dde214aeb058e2227277393e3c0b12adc1b6a445870bc26e753e05e27b90b97d781e3e8493eb5e717c243213de4dcdd5a11d467b8d26759118692b10357c28b0efb0228cbe257b9ee0cb77bb7bc8b072edf418768c977e485635b4ab61078587128e9a8b3c6deca2a4e64cf9fd6eca880aebd1043deaf94447ea50b0c11b574259cdcafd208d9657c7177cf394de26dd8364b615786198c38e63c568e22b5263be41d6dd8843ad5254f61cf01b7162948652568c2b42833a95619fa5072adb0bfbf38e3eace7e1596066 +Ctrl.hexxcghash = hexxcghash:a0a53cb8bcc48ffe44fd9e50e0f7532d3e326f93d7ecb10135d4385dab550cd7be03a7374dfc2a92794be13e40c794811a9916c3d1c4e7ea31ed5269537c1c22 +Ctrl.hexsession_id = hexsession_id:9bcf3f3397ff464126cb2a99c04908721871354b842ffd3d873d49407db0382f98cc54d66665d950ec8277c374f19e9f0dd2e727f8759017c49b5b80baa87c63 +Ctrl.type = type:C +Output = c92b86a099e2605037d531746a6af7cb + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000100192471d29d9fbc8b61570e4efa053a5f17b2efc0aa5415b3309f7dc3971c64d9f1093f6114941d4912f7bfb771db41d1f166d4bdaec8dde214aeb058e2227277393e3c0b12adc1b6a445870bc26e753e05e27b90b97d781e3e8493eb5e717c243213de4dcdd5a11d467b8d26759118692b10357c28b0efb0228cbe257b9ee0cb77bb7bc8b072edf418768c977e485635b4ab61078587128e9a8b3c6deca2a4e64cf9fd6eca880aebd1043deaf94447ea50b0c11b574259cdcafd208d9657c7177cf394de26dd8364b615786198c38e63c568e22b5263be41d6dd8843ad5254f61cf01b7162948652568c2b42833a95619fa5072adb0bfbf38e3eace7e1596066 +Ctrl.hexxcghash = hexxcghash:a0a53cb8bcc48ffe44fd9e50e0f7532d3e326f93d7ecb10135d4385dab550cd7be03a7374dfc2a92794be13e40c794811a9916c3d1c4e7ea31ed5269537c1c22 +Ctrl.hexsession_id = hexsession_id:9bcf3f3397ff464126cb2a99c04908721871354b842ffd3d873d49407db0382f98cc54d66665d950ec8277c374f19e9f0dd2e727f8759017c49b5b80baa87c63 +Ctrl.type = type:D +Output = 1517de253a5b9f7d9c4c3f234b27392e + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000100192471d29d9fbc8b61570e4efa053a5f17b2efc0aa5415b3309f7dc3971c64d9f1093f6114941d4912f7bfb771db41d1f166d4bdaec8dde214aeb058e2227277393e3c0b12adc1b6a445870bc26e753e05e27b90b97d781e3e8493eb5e717c243213de4dcdd5a11d467b8d26759118692b10357c28b0efb0228cbe257b9ee0cb77bb7bc8b072edf418768c977e485635b4ab61078587128e9a8b3c6deca2a4e64cf9fd6eca880aebd1043deaf94447ea50b0c11b574259cdcafd208d9657c7177cf394de26dd8364b615786198c38e63c568e22b5263be41d6dd8843ad5254f61cf01b7162948652568c2b42833a95619fa5072adb0bfbf38e3eace7e1596066 +Ctrl.hexxcghash = hexxcghash:a0a53cb8bcc48ffe44fd9e50e0f7532d3e326f93d7ecb10135d4385dab550cd7be03a7374dfc2a92794be13e40c794811a9916c3d1c4e7ea31ed5269537c1c22 +Ctrl.hexsession_id = hexsession_id:9bcf3f3397ff464126cb2a99c04908721871354b842ffd3d873d49407db0382f98cc54d66665d950ec8277c374f19e9f0dd2e727f8759017c49b5b80baa87c63 +Ctrl.type = type:E +Output = be48a82cd246cf4d6ddb397a39f1ed62d98b5265e75190624a523033796d05046d63e0810b4b7a6efe9b834cb043871203638557063968910ad1cfa0abe62bb1 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:00000100192471d29d9fbc8b61570e4efa053a5f17b2efc0aa5415b3309f7dc3971c64d9f1093f6114941d4912f7bfb771db41d1f166d4bdaec8dde214aeb058e2227277393e3c0b12adc1b6a445870bc26e753e05e27b90b97d781e3e8493eb5e717c243213de4dcdd5a11d467b8d26759118692b10357c28b0efb0228cbe257b9ee0cb77bb7bc8b072edf418768c977e485635b4ab61078587128e9a8b3c6deca2a4e64cf9fd6eca880aebd1043deaf94447ea50b0c11b574259cdcafd208d9657c7177cf394de26dd8364b615786198c38e63c568e22b5263be41d6dd8843ad5254f61cf01b7162948652568c2b42833a95619fa5072adb0bfbf38e3eace7e1596066 +Ctrl.hexxcghash = hexxcghash:a0a53cb8bcc48ffe44fd9e50e0f7532d3e326f93d7ecb10135d4385dab550cd7be03a7374dfc2a92794be13e40c794811a9916c3d1c4e7ea31ed5269537c1c22 +Ctrl.hexsession_id = hexsession_id:9bcf3f3397ff464126cb2a99c04908721871354b842ffd3d873d49407db0382f98cc54d66665d950ec8277c374f19e9f0dd2e727f8759017c49b5b80baa87c63 +Ctrl.type = type:F +Output = 0c9af3775d5dc49a1b9b85fa18420ce1ca10d5159f83f9e078c217289688639dbce5f85665f866d8f93b2c6823bc7b2655830d8bb51fba945ce6eac2b0e6ce8a + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010015b3157b538e31a14797d981a6ef62814cd55fbea25ea88a16a5839484c7624d7befccc82d91e2ff2b6f402daba861b77c1016bab9e3d58bab985563f32d663407f9f3582856ee0aa3a56680c221ecddc48af6de71fd34626b716d9efe530df470c0b7b1e4131861bc4f12e44de7f1d1910047465c0eb95f7232d6e71d639d75ac58e6848e560210a5dc2e6996c1d96f9f688fb86558ba96422d1a69cf795ea67e66d534bef2160f4e9d4351c9c2faaad7c2ad2476ace5556c9b3c4c2d3bdac82bfb54d2e54eb6ed398b813c5928aa560b442c585a038571c4db98a44d8c8cdb02fa731b400adb859b591c1846900791d791927363d745042a38597ef883cbda +Ctrl.hexxcghash = hexxcghash:651bdee255eef5fb47c7733df03d4346bc335cf1de2bfbd453f4ff18c775de475719a6ec4c5c55badadda4822e3fbf5ae3c0e6e9608a893fea68bfcc0af86d73 +Ctrl.hexsession_id = hexsession_id:ee603130d0bdec24952cd3392272dbd7a536c2e76c794cc2f678ca9dd789670453e6bcd330dbf4e93930ec0b3e506e4c629b3d156ab1171d247d0ba44217d292 +Ctrl.type = type:A +Output = 7b802a74d216a41f7708c597b9053223 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010015b3157b538e31a14797d981a6ef62814cd55fbea25ea88a16a5839484c7624d7befccc82d91e2ff2b6f402daba861b77c1016bab9e3d58bab985563f32d663407f9f3582856ee0aa3a56680c221ecddc48af6de71fd34626b716d9efe530df470c0b7b1e4131861bc4f12e44de7f1d1910047465c0eb95f7232d6e71d639d75ac58e6848e560210a5dc2e6996c1d96f9f688fb86558ba96422d1a69cf795ea67e66d534bef2160f4e9d4351c9c2faaad7c2ad2476ace5556c9b3c4c2d3bdac82bfb54d2e54eb6ed398b813c5928aa560b442c585a038571c4db98a44d8c8cdb02fa731b400adb859b591c1846900791d791927363d745042a38597ef883cbda +Ctrl.hexxcghash = hexxcghash:651bdee255eef5fb47c7733df03d4346bc335cf1de2bfbd453f4ff18c775de475719a6ec4c5c55badadda4822e3fbf5ae3c0e6e9608a893fea68bfcc0af86d73 +Ctrl.hexsession_id = hexsession_id:ee603130d0bdec24952cd3392272dbd7a536c2e76c794cc2f678ca9dd789670453e6bcd330dbf4e93930ec0b3e506e4c629b3d156ab1171d247d0ba44217d292 +Ctrl.type = type:B +Output = 355223971bed70b804d191b64cde39e6 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010015b3157b538e31a14797d981a6ef62814cd55fbea25ea88a16a5839484c7624d7befccc82d91e2ff2b6f402daba861b77c1016bab9e3d58bab985563f32d663407f9f3582856ee0aa3a56680c221ecddc48af6de71fd34626b716d9efe530df470c0b7b1e4131861bc4f12e44de7f1d1910047465c0eb95f7232d6e71d639d75ac58e6848e560210a5dc2e6996c1d96f9f688fb86558ba96422d1a69cf795ea67e66d534bef2160f4e9d4351c9c2faaad7c2ad2476ace5556c9b3c4c2d3bdac82bfb54d2e54eb6ed398b813c5928aa560b442c585a038571c4db98a44d8c8cdb02fa731b400adb859b591c1846900791d791927363d745042a38597ef883cbda +Ctrl.hexxcghash = hexxcghash:651bdee255eef5fb47c7733df03d4346bc335cf1de2bfbd453f4ff18c775de475719a6ec4c5c55badadda4822e3fbf5ae3c0e6e9608a893fea68bfcc0af86d73 +Ctrl.hexsession_id = hexsession_id:ee603130d0bdec24952cd3392272dbd7a536c2e76c794cc2f678ca9dd789670453e6bcd330dbf4e93930ec0b3e506e4c629b3d156ab1171d247d0ba44217d292 +Ctrl.type = type:C +Output = 925f2b036ac2682e20f022377499c3e1 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010015b3157b538e31a14797d981a6ef62814cd55fbea25ea88a16a5839484c7624d7befccc82d91e2ff2b6f402daba861b77c1016bab9e3d58bab985563f32d663407f9f3582856ee0aa3a56680c221ecddc48af6de71fd34626b716d9efe530df470c0b7b1e4131861bc4f12e44de7f1d1910047465c0eb95f7232d6e71d639d75ac58e6848e560210a5dc2e6996c1d96f9f688fb86558ba96422d1a69cf795ea67e66d534bef2160f4e9d4351c9c2faaad7c2ad2476ace5556c9b3c4c2d3bdac82bfb54d2e54eb6ed398b813c5928aa560b442c585a038571c4db98a44d8c8cdb02fa731b400adb859b591c1846900791d791927363d745042a38597ef883cbda +Ctrl.hexxcghash = hexxcghash:651bdee255eef5fb47c7733df03d4346bc335cf1de2bfbd453f4ff18c775de475719a6ec4c5c55badadda4822e3fbf5ae3c0e6e9608a893fea68bfcc0af86d73 +Ctrl.hexsession_id = hexsession_id:ee603130d0bdec24952cd3392272dbd7a536c2e76c794cc2f678ca9dd789670453e6bcd330dbf4e93930ec0b3e506e4c629b3d156ab1171d247d0ba44217d292 +Ctrl.type = type:D +Output = 37ae2bbbb1603c07d5274fc8f57126dc + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010015b3157b538e31a14797d981a6ef62814cd55fbea25ea88a16a5839484c7624d7befccc82d91e2ff2b6f402daba861b77c1016bab9e3d58bab985563f32d663407f9f3582856ee0aa3a56680c221ecddc48af6de71fd34626b716d9efe530df470c0b7b1e4131861bc4f12e44de7f1d1910047465c0eb95f7232d6e71d639d75ac58e6848e560210a5dc2e6996c1d96f9f688fb86558ba96422d1a69cf795ea67e66d534bef2160f4e9d4351c9c2faaad7c2ad2476ace5556c9b3c4c2d3bdac82bfb54d2e54eb6ed398b813c5928aa560b442c585a038571c4db98a44d8c8cdb02fa731b400adb859b591c1846900791d791927363d745042a38597ef883cbda +Ctrl.hexxcghash = hexxcghash:651bdee255eef5fb47c7733df03d4346bc335cf1de2bfbd453f4ff18c775de475719a6ec4c5c55badadda4822e3fbf5ae3c0e6e9608a893fea68bfcc0af86d73 +Ctrl.hexsession_id = hexsession_id:ee603130d0bdec24952cd3392272dbd7a536c2e76c794cc2f678ca9dd789670453e6bcd330dbf4e93930ec0b3e506e4c629b3d156ab1171d247d0ba44217d292 +Ctrl.type = type:E +Output = 8b36c7e175797bf7bbb079ac5d06e6f7f62fc5a957e0fefab7df565eb72ae0586dbebad978975aaa35846de667b44b7174315b2b932f0be538fba76b92531019 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010015b3157b538e31a14797d981a6ef62814cd55fbea25ea88a16a5839484c7624d7befccc82d91e2ff2b6f402daba861b77c1016bab9e3d58bab985563f32d663407f9f3582856ee0aa3a56680c221ecddc48af6de71fd34626b716d9efe530df470c0b7b1e4131861bc4f12e44de7f1d1910047465c0eb95f7232d6e71d639d75ac58e6848e560210a5dc2e6996c1d96f9f688fb86558ba96422d1a69cf795ea67e66d534bef2160f4e9d4351c9c2faaad7c2ad2476ace5556c9b3c4c2d3bdac82bfb54d2e54eb6ed398b813c5928aa560b442c585a038571c4db98a44d8c8cdb02fa731b400adb859b591c1846900791d791927363d745042a38597ef883cbda +Ctrl.hexxcghash = hexxcghash:651bdee255eef5fb47c7733df03d4346bc335cf1de2bfbd453f4ff18c775de475719a6ec4c5c55badadda4822e3fbf5ae3c0e6e9608a893fea68bfcc0af86d73 +Ctrl.hexsession_id = hexsession_id:ee603130d0bdec24952cd3392272dbd7a536c2e76c794cc2f678ca9dd789670453e6bcd330dbf4e93930ec0b3e506e4c629b3d156ab1171d247d0ba44217d292 +Ctrl.type = type:F +Output = 388ef310bce13188df3fd6285576041754a281548fcc6a212e0de564db661640320130e4df4a6ff31162edaa7ced5b7f05f3456f674ee8be0b03424142058795 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100b41c0bdf180d02ff459079925b32e54299128298da864be28b4c02532244b057219e3fa5fea09841351604ab713021622e6a6d0748f354fc3f29a9ac8bb64fdd984b725f00f56df3cf16d3bac786524a29105096f96f387422361bcc24774fd4d5b71bd6f757a8193fd691411b8e0aa14307e6ed1e97907925d93cee9ed266f387af66cd3da3e99d543e4baaf8a7fdb36c10869267767d80509717b5666e3fcdf8cca6486a1c18e3d3c15ba0c6773dcbe374d83de1c108a400998b25afa4d3b60917594a1120e449a57db1f3b2e048c3c64a408ed41bb32145364932f105788cd0b198522f0c59b1d774b1ac80cd76d18e06b53c3d599f625c72f38b15745478 +Ctrl.hexxcghash = hexxcghash:94ce7876dd7d98475ff8dd634b9b48e0e3416d1afd633637b49a49c525ee905ad8a17c12194746e210207c54628c453287a77515575a79ad40b270b5115030b8 +Ctrl.hexsession_id = hexsession_id:d2e7ea215f35381164a1382533f752eb21e6fa9f25d399b7914c0317998f2b7820f893557459f0773eca3dbafd8375021b955a8dfe7ad659dfe480e3107724f8 +Ctrl.type = type:A +Output = efeb5305eda69b0bd6999b4a27479667 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100b41c0bdf180d02ff459079925b32e54299128298da864be28b4c02532244b057219e3fa5fea09841351604ab713021622e6a6d0748f354fc3f29a9ac8bb64fdd984b725f00f56df3cf16d3bac786524a29105096f96f387422361bcc24774fd4d5b71bd6f757a8193fd691411b8e0aa14307e6ed1e97907925d93cee9ed266f387af66cd3da3e99d543e4baaf8a7fdb36c10869267767d80509717b5666e3fcdf8cca6486a1c18e3d3c15ba0c6773dcbe374d83de1c108a400998b25afa4d3b60917594a1120e449a57db1f3b2e048c3c64a408ed41bb32145364932f105788cd0b198522f0c59b1d774b1ac80cd76d18e06b53c3d599f625c72f38b15745478 +Ctrl.hexxcghash = hexxcghash:94ce7876dd7d98475ff8dd634b9b48e0e3416d1afd633637b49a49c525ee905ad8a17c12194746e210207c54628c453287a77515575a79ad40b270b5115030b8 +Ctrl.hexsession_id = hexsession_id:d2e7ea215f35381164a1382533f752eb21e6fa9f25d399b7914c0317998f2b7820f893557459f0773eca3dbafd8375021b955a8dfe7ad659dfe480e3107724f8 +Ctrl.type = type:B +Output = 806fca9189c02e7ec2a6459387b03506 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100b41c0bdf180d02ff459079925b32e54299128298da864be28b4c02532244b057219e3fa5fea09841351604ab713021622e6a6d0748f354fc3f29a9ac8bb64fdd984b725f00f56df3cf16d3bac786524a29105096f96f387422361bcc24774fd4d5b71bd6f757a8193fd691411b8e0aa14307e6ed1e97907925d93cee9ed266f387af66cd3da3e99d543e4baaf8a7fdb36c10869267767d80509717b5666e3fcdf8cca6486a1c18e3d3c15ba0c6773dcbe374d83de1c108a400998b25afa4d3b60917594a1120e449a57db1f3b2e048c3c64a408ed41bb32145364932f105788cd0b198522f0c59b1d774b1ac80cd76d18e06b53c3d599f625c72f38b15745478 +Ctrl.hexxcghash = hexxcghash:94ce7876dd7d98475ff8dd634b9b48e0e3416d1afd633637b49a49c525ee905ad8a17c12194746e210207c54628c453287a77515575a79ad40b270b5115030b8 +Ctrl.hexsession_id = hexsession_id:d2e7ea215f35381164a1382533f752eb21e6fa9f25d399b7914c0317998f2b7820f893557459f0773eca3dbafd8375021b955a8dfe7ad659dfe480e3107724f8 +Ctrl.type = type:C +Output = 9e542282d0db345a6ba20eba7c5de531 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100b41c0bdf180d02ff459079925b32e54299128298da864be28b4c02532244b057219e3fa5fea09841351604ab713021622e6a6d0748f354fc3f29a9ac8bb64fdd984b725f00f56df3cf16d3bac786524a29105096f96f387422361bcc24774fd4d5b71bd6f757a8193fd691411b8e0aa14307e6ed1e97907925d93cee9ed266f387af66cd3da3e99d543e4baaf8a7fdb36c10869267767d80509717b5666e3fcdf8cca6486a1c18e3d3c15ba0c6773dcbe374d83de1c108a400998b25afa4d3b60917594a1120e449a57db1f3b2e048c3c64a408ed41bb32145364932f105788cd0b198522f0c59b1d774b1ac80cd76d18e06b53c3d599f625c72f38b15745478 +Ctrl.hexxcghash = hexxcghash:94ce7876dd7d98475ff8dd634b9b48e0e3416d1afd633637b49a49c525ee905ad8a17c12194746e210207c54628c453287a77515575a79ad40b270b5115030b8 +Ctrl.hexsession_id = hexsession_id:d2e7ea215f35381164a1382533f752eb21e6fa9f25d399b7914c0317998f2b7820f893557459f0773eca3dbafd8375021b955a8dfe7ad659dfe480e3107724f8 +Ctrl.type = type:D +Output = 41e7962b57a67f75072f15a5ba405d15 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100b41c0bdf180d02ff459079925b32e54299128298da864be28b4c02532244b057219e3fa5fea09841351604ab713021622e6a6d0748f354fc3f29a9ac8bb64fdd984b725f00f56df3cf16d3bac786524a29105096f96f387422361bcc24774fd4d5b71bd6f757a8193fd691411b8e0aa14307e6ed1e97907925d93cee9ed266f387af66cd3da3e99d543e4baaf8a7fdb36c10869267767d80509717b5666e3fcdf8cca6486a1c18e3d3c15ba0c6773dcbe374d83de1c108a400998b25afa4d3b60917594a1120e449a57db1f3b2e048c3c64a408ed41bb32145364932f105788cd0b198522f0c59b1d774b1ac80cd76d18e06b53c3d599f625c72f38b15745478 +Ctrl.hexxcghash = hexxcghash:94ce7876dd7d98475ff8dd634b9b48e0e3416d1afd633637b49a49c525ee905ad8a17c12194746e210207c54628c453287a77515575a79ad40b270b5115030b8 +Ctrl.hexsession_id = hexsession_id:d2e7ea215f35381164a1382533f752eb21e6fa9f25d399b7914c0317998f2b7820f893557459f0773eca3dbafd8375021b955a8dfe7ad659dfe480e3107724f8 +Ctrl.type = type:E +Output = 7bf8f25fd155e41d1dc85cc814704dd8732275b3a53dc1b8c6b330c08f307b5c0da31606cb7eaa1b37b2721f4a1bf70a6885c30d17d7acd32fcc894768fe4106 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100b41c0bdf180d02ff459079925b32e54299128298da864be28b4c02532244b057219e3fa5fea09841351604ab713021622e6a6d0748f354fc3f29a9ac8bb64fdd984b725f00f56df3cf16d3bac786524a29105096f96f387422361bcc24774fd4d5b71bd6f757a8193fd691411b8e0aa14307e6ed1e97907925d93cee9ed266f387af66cd3da3e99d543e4baaf8a7fdb36c10869267767d80509717b5666e3fcdf8cca6486a1c18e3d3c15ba0c6773dcbe374d83de1c108a400998b25afa4d3b60917594a1120e449a57db1f3b2e048c3c64a408ed41bb32145364932f105788cd0b198522f0c59b1d774b1ac80cd76d18e06b53c3d599f625c72f38b15745478 +Ctrl.hexxcghash = hexxcghash:94ce7876dd7d98475ff8dd634b9b48e0e3416d1afd633637b49a49c525ee905ad8a17c12194746e210207c54628c453287a77515575a79ad40b270b5115030b8 +Ctrl.hexsession_id = hexsession_id:d2e7ea215f35381164a1382533f752eb21e6fa9f25d399b7914c0317998f2b7820f893557459f0773eca3dbafd8375021b955a8dfe7ad659dfe480e3107724f8 +Ctrl.type = type:F +Output = 66b8f8c1a38120c73cc55950455a69c426fda44b9c66c3becaf259dd57a620e5ed3a749a486d05eab52c289f489581cb655865d4388a81e79b06bd105e3ae858 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000001003ba71746e4622911dbcd76359dbd01a3958175cac500fac87146f4a2616782ac0328ea32046762f62080df8fe76ff112acbf4e4c7a36fa648ec60c50d4a0f7b27b67cdcd725ed2d51c3b5c438c45c8f46d953845a899e89378e981aa270bd6cc190a5ab53e9516f5c194f9b61ef782573b417702337b32776765e75d6efb371a3af98c1b0eaa90ee43a99e58d803bc645a65100371cda8316d51618e4ada4d9a46cd049673cbfcf6ce3ec66c964902eb9bd28514d1fce32ebf8ee2ae3c8e46f4bf18f153a6f1031cefc7e736d82105dbeb60db422b79f4c4f3f4838fee891341cc982e79917aefb82529d134648847de15cf3ba1d7b5000e74b78198d6a3efce +Ctrl.hexxcghash = hexxcghash:327a1cfc89837c90fb7141ad3a7df293af5c9e2fd482fb77f6769db8e91417377fe0a0a30c072f8276e824975afdc0f73e1a1cbeda86d5c70c2799912602ee78 +Ctrl.hexsession_id = hexsession_id:46282b8a6dea1654de89199972c414ee512f33ab832e7284547cfc345af6eea9fbafb75f4646789755078a174c98c5aa1d740af1cf40844ae680cdd80466086b +Ctrl.type = type:A +Output = 8f6ac18ff5300849be34602630bb4102 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000001003ba71746e4622911dbcd76359dbd01a3958175cac500fac87146f4a2616782ac0328ea32046762f62080df8fe76ff112acbf4e4c7a36fa648ec60c50d4a0f7b27b67cdcd725ed2d51c3b5c438c45c8f46d953845a899e89378e981aa270bd6cc190a5ab53e9516f5c194f9b61ef782573b417702337b32776765e75d6efb371a3af98c1b0eaa90ee43a99e58d803bc645a65100371cda8316d51618e4ada4d9a46cd049673cbfcf6ce3ec66c964902eb9bd28514d1fce32ebf8ee2ae3c8e46f4bf18f153a6f1031cefc7e736d82105dbeb60db422b79f4c4f3f4838fee891341cc982e79917aefb82529d134648847de15cf3ba1d7b5000e74b78198d6a3efce +Ctrl.hexxcghash = hexxcghash:327a1cfc89837c90fb7141ad3a7df293af5c9e2fd482fb77f6769db8e91417377fe0a0a30c072f8276e824975afdc0f73e1a1cbeda86d5c70c2799912602ee78 +Ctrl.hexsession_id = hexsession_id:46282b8a6dea1654de89199972c414ee512f33ab832e7284547cfc345af6eea9fbafb75f4646789755078a174c98c5aa1d740af1cf40844ae680cdd80466086b +Ctrl.type = type:B +Output = f2b45df2508656758529a1f4679839fd + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000001003ba71746e4622911dbcd76359dbd01a3958175cac500fac87146f4a2616782ac0328ea32046762f62080df8fe76ff112acbf4e4c7a36fa648ec60c50d4a0f7b27b67cdcd725ed2d51c3b5c438c45c8f46d953845a899e89378e981aa270bd6cc190a5ab53e9516f5c194f9b61ef782573b417702337b32776765e75d6efb371a3af98c1b0eaa90ee43a99e58d803bc645a65100371cda8316d51618e4ada4d9a46cd049673cbfcf6ce3ec66c964902eb9bd28514d1fce32ebf8ee2ae3c8e46f4bf18f153a6f1031cefc7e736d82105dbeb60db422b79f4c4f3f4838fee891341cc982e79917aefb82529d134648847de15cf3ba1d7b5000e74b78198d6a3efce +Ctrl.hexxcghash = hexxcghash:327a1cfc89837c90fb7141ad3a7df293af5c9e2fd482fb77f6769db8e91417377fe0a0a30c072f8276e824975afdc0f73e1a1cbeda86d5c70c2799912602ee78 +Ctrl.hexsession_id = hexsession_id:46282b8a6dea1654de89199972c414ee512f33ab832e7284547cfc345af6eea9fbafb75f4646789755078a174c98c5aa1d740af1cf40844ae680cdd80466086b +Ctrl.type = type:C +Output = 3356d58f61bcca506058e0990c9821f5 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000001003ba71746e4622911dbcd76359dbd01a3958175cac500fac87146f4a2616782ac0328ea32046762f62080df8fe76ff112acbf4e4c7a36fa648ec60c50d4a0f7b27b67cdcd725ed2d51c3b5c438c45c8f46d953845a899e89378e981aa270bd6cc190a5ab53e9516f5c194f9b61ef782573b417702337b32776765e75d6efb371a3af98c1b0eaa90ee43a99e58d803bc645a65100371cda8316d51618e4ada4d9a46cd049673cbfcf6ce3ec66c964902eb9bd28514d1fce32ebf8ee2ae3c8e46f4bf18f153a6f1031cefc7e736d82105dbeb60db422b79f4c4f3f4838fee891341cc982e79917aefb82529d134648847de15cf3ba1d7b5000e74b78198d6a3efce +Ctrl.hexxcghash = hexxcghash:327a1cfc89837c90fb7141ad3a7df293af5c9e2fd482fb77f6769db8e91417377fe0a0a30c072f8276e824975afdc0f73e1a1cbeda86d5c70c2799912602ee78 +Ctrl.hexsession_id = hexsession_id:46282b8a6dea1654de89199972c414ee512f33ab832e7284547cfc345af6eea9fbafb75f4646789755078a174c98c5aa1d740af1cf40844ae680cdd80466086b +Ctrl.type = type:D +Output = 78495438a5326cca5351a239545941c1 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000001003ba71746e4622911dbcd76359dbd01a3958175cac500fac87146f4a2616782ac0328ea32046762f62080df8fe76ff112acbf4e4c7a36fa648ec60c50d4a0f7b27b67cdcd725ed2d51c3b5c438c45c8f46d953845a899e89378e981aa270bd6cc190a5ab53e9516f5c194f9b61ef782573b417702337b32776765e75d6efb371a3af98c1b0eaa90ee43a99e58d803bc645a65100371cda8316d51618e4ada4d9a46cd049673cbfcf6ce3ec66c964902eb9bd28514d1fce32ebf8ee2ae3c8e46f4bf18f153a6f1031cefc7e736d82105dbeb60db422b79f4c4f3f4838fee891341cc982e79917aefb82529d134648847de15cf3ba1d7b5000e74b78198d6a3efce +Ctrl.hexxcghash = hexxcghash:327a1cfc89837c90fb7141ad3a7df293af5c9e2fd482fb77f6769db8e91417377fe0a0a30c072f8276e824975afdc0f73e1a1cbeda86d5c70c2799912602ee78 +Ctrl.hexsession_id = hexsession_id:46282b8a6dea1654de89199972c414ee512f33ab832e7284547cfc345af6eea9fbafb75f4646789755078a174c98c5aa1d740af1cf40844ae680cdd80466086b +Ctrl.type = type:E +Output = dcfc5d099f5040513f76b012ab62ee45d5d8271aec9cbbdd1e1f7e0806f363d21c2eca730f9489ee70fbc7490a1901587b1d418c0e4f429c8098cd793c6d285c + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:000001003ba71746e4622911dbcd76359dbd01a3958175cac500fac87146f4a2616782ac0328ea32046762f62080df8fe76ff112acbf4e4c7a36fa648ec60c50d4a0f7b27b67cdcd725ed2d51c3b5c438c45c8f46d953845a899e89378e981aa270bd6cc190a5ab53e9516f5c194f9b61ef782573b417702337b32776765e75d6efb371a3af98c1b0eaa90ee43a99e58d803bc645a65100371cda8316d51618e4ada4d9a46cd049673cbfcf6ce3ec66c964902eb9bd28514d1fce32ebf8ee2ae3c8e46f4bf18f153a6f1031cefc7e736d82105dbeb60db422b79f4c4f3f4838fee891341cc982e79917aefb82529d134648847de15cf3ba1d7b5000e74b78198d6a3efce +Ctrl.hexxcghash = hexxcghash:327a1cfc89837c90fb7141ad3a7df293af5c9e2fd482fb77f6769db8e91417377fe0a0a30c072f8276e824975afdc0f73e1a1cbeda86d5c70c2799912602ee78 +Ctrl.hexsession_id = hexsession_id:46282b8a6dea1654de89199972c414ee512f33ab832e7284547cfc345af6eea9fbafb75f4646789755078a174c98c5aa1d740af1cf40844ae680cdd80466086b +Ctrl.type = type:F +Output = a75817465c73517bd7884dcd230464583ae491ae5e39330873cd7a967188022cad63e712c7ec261abdb34c01bddd8989dfce8f5d8a8cdbdcc305429b3fd93c76 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100f3a28f9574691777f2a9e05a882295e5ae272a6af486e53a8574e0ce7633a5c6871a39e6ba3176a41ce3fe6c80aa8469df71401583987e34374586ec56268b37d42bc047cc898750379aa7ddc5549cc069fa10d29fca303e6063a2cb800322a84a63480d91606db0244d2dd456005bb4a4b33f91ddf33335ec4d4d519e430542e087d5b1e952b183a32b3f7b118c410c46dc44b7ad669e7d98b934e48830e61ddd2e6094e0d1fa39b9041b9ca9dc768af4da702f912b2e82738cf506479c68fa9a5f2a9153189cf83bd11a05a92428d7c7124094f684f7c848114dc272d8a308d7b65e47b1d3c2c70d5a63efbc191ff5f0359356f706ac703445778b2b43a8d6 +Ctrl.hexxcghash = hexxcghash:4f3aaea9ade34a07f46c11a4480461e2c523a740492b23b0bfa2a9e2e2c2ce542a09644154a4b3ab0e8b71ea950444a9954a156c0530a1436aa98951af7e1972 +Ctrl.hexsession_id = hexsession_id:c778cdc03ecc941ff7d37c41fe67dc84df375117abd62d099129f38d37375f3cde4e75a0160fb05edf392d1eac509d5a6796f635623794d81df9b4cf81021738 +Ctrl.type = type:A +Output = 4fa1b8c53d25f7c1adb4810c46b48ae7 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100f3a28f9574691777f2a9e05a882295e5ae272a6af486e53a8574e0ce7633a5c6871a39e6ba3176a41ce3fe6c80aa8469df71401583987e34374586ec56268b37d42bc047cc898750379aa7ddc5549cc069fa10d29fca303e6063a2cb800322a84a63480d91606db0244d2dd456005bb4a4b33f91ddf33335ec4d4d519e430542e087d5b1e952b183a32b3f7b118c410c46dc44b7ad669e7d98b934e48830e61ddd2e6094e0d1fa39b9041b9ca9dc768af4da702f912b2e82738cf506479c68fa9a5f2a9153189cf83bd11a05a92428d7c7124094f684f7c848114dc272d8a308d7b65e47b1d3c2c70d5a63efbc191ff5f0359356f706ac703445778b2b43a8d6 +Ctrl.hexxcghash = hexxcghash:4f3aaea9ade34a07f46c11a4480461e2c523a740492b23b0bfa2a9e2e2c2ce542a09644154a4b3ab0e8b71ea950444a9954a156c0530a1436aa98951af7e1972 +Ctrl.hexsession_id = hexsession_id:c778cdc03ecc941ff7d37c41fe67dc84df375117abd62d099129f38d37375f3cde4e75a0160fb05edf392d1eac509d5a6796f635623794d81df9b4cf81021738 +Ctrl.type = type:B +Output = 3c453d0f50b7f41826e74e5cce5b5996 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100f3a28f9574691777f2a9e05a882295e5ae272a6af486e53a8574e0ce7633a5c6871a39e6ba3176a41ce3fe6c80aa8469df71401583987e34374586ec56268b37d42bc047cc898750379aa7ddc5549cc069fa10d29fca303e6063a2cb800322a84a63480d91606db0244d2dd456005bb4a4b33f91ddf33335ec4d4d519e430542e087d5b1e952b183a32b3f7b118c410c46dc44b7ad669e7d98b934e48830e61ddd2e6094e0d1fa39b9041b9ca9dc768af4da702f912b2e82738cf506479c68fa9a5f2a9153189cf83bd11a05a92428d7c7124094f684f7c848114dc272d8a308d7b65e47b1d3c2c70d5a63efbc191ff5f0359356f706ac703445778b2b43a8d6 +Ctrl.hexxcghash = hexxcghash:4f3aaea9ade34a07f46c11a4480461e2c523a740492b23b0bfa2a9e2e2c2ce542a09644154a4b3ab0e8b71ea950444a9954a156c0530a1436aa98951af7e1972 +Ctrl.hexsession_id = hexsession_id:c778cdc03ecc941ff7d37c41fe67dc84df375117abd62d099129f38d37375f3cde4e75a0160fb05edf392d1eac509d5a6796f635623794d81df9b4cf81021738 +Ctrl.type = type:C +Output = 22f47a00a5de0f56b3e586357eeebe57 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100f3a28f9574691777f2a9e05a882295e5ae272a6af486e53a8574e0ce7633a5c6871a39e6ba3176a41ce3fe6c80aa8469df71401583987e34374586ec56268b37d42bc047cc898750379aa7ddc5549cc069fa10d29fca303e6063a2cb800322a84a63480d91606db0244d2dd456005bb4a4b33f91ddf33335ec4d4d519e430542e087d5b1e952b183a32b3f7b118c410c46dc44b7ad669e7d98b934e48830e61ddd2e6094e0d1fa39b9041b9ca9dc768af4da702f912b2e82738cf506479c68fa9a5f2a9153189cf83bd11a05a92428d7c7124094f684f7c848114dc272d8a308d7b65e47b1d3c2c70d5a63efbc191ff5f0359356f706ac703445778b2b43a8d6 +Ctrl.hexxcghash = hexxcghash:4f3aaea9ade34a07f46c11a4480461e2c523a740492b23b0bfa2a9e2e2c2ce542a09644154a4b3ab0e8b71ea950444a9954a156c0530a1436aa98951af7e1972 +Ctrl.hexsession_id = hexsession_id:c778cdc03ecc941ff7d37c41fe67dc84df375117abd62d099129f38d37375f3cde4e75a0160fb05edf392d1eac509d5a6796f635623794d81df9b4cf81021738 +Ctrl.type = type:D +Output = 8d32d1945e93c4982bd106567f8e481f + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100f3a28f9574691777f2a9e05a882295e5ae272a6af486e53a8574e0ce7633a5c6871a39e6ba3176a41ce3fe6c80aa8469df71401583987e34374586ec56268b37d42bc047cc898750379aa7ddc5549cc069fa10d29fca303e6063a2cb800322a84a63480d91606db0244d2dd456005bb4a4b33f91ddf33335ec4d4d519e430542e087d5b1e952b183a32b3f7b118c410c46dc44b7ad669e7d98b934e48830e61ddd2e6094e0d1fa39b9041b9ca9dc768af4da702f912b2e82738cf506479c68fa9a5f2a9153189cf83bd11a05a92428d7c7124094f684f7c848114dc272d8a308d7b65e47b1d3c2c70d5a63efbc191ff5f0359356f706ac703445778b2b43a8d6 +Ctrl.hexxcghash = hexxcghash:4f3aaea9ade34a07f46c11a4480461e2c523a740492b23b0bfa2a9e2e2c2ce542a09644154a4b3ab0e8b71ea950444a9954a156c0530a1436aa98951af7e1972 +Ctrl.hexsession_id = hexsession_id:c778cdc03ecc941ff7d37c41fe67dc84df375117abd62d099129f38d37375f3cde4e75a0160fb05edf392d1eac509d5a6796f635623794d81df9b4cf81021738 +Ctrl.type = type:E +Output = 9eefe581b1514160f81c94193d374d8f85879136e9ae494c487119b1974aac3e143948f656c1c1e837ff1368ef0d997cd3ca9f46c71056269eb8a1da8daf5678 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100f3a28f9574691777f2a9e05a882295e5ae272a6af486e53a8574e0ce7633a5c6871a39e6ba3176a41ce3fe6c80aa8469df71401583987e34374586ec56268b37d42bc047cc898750379aa7ddc5549cc069fa10d29fca303e6063a2cb800322a84a63480d91606db0244d2dd456005bb4a4b33f91ddf33335ec4d4d519e430542e087d5b1e952b183a32b3f7b118c410c46dc44b7ad669e7d98b934e48830e61ddd2e6094e0d1fa39b9041b9ca9dc768af4da702f912b2e82738cf506479c68fa9a5f2a9153189cf83bd11a05a92428d7c7124094f684f7c848114dc272d8a308d7b65e47b1d3c2c70d5a63efbc191ff5f0359356f706ac703445778b2b43a8d6 +Ctrl.hexxcghash = hexxcghash:4f3aaea9ade34a07f46c11a4480461e2c523a740492b23b0bfa2a9e2e2c2ce542a09644154a4b3ab0e8b71ea950444a9954a156c0530a1436aa98951af7e1972 +Ctrl.hexsession_id = hexsession_id:c778cdc03ecc941ff7d37c41fe67dc84df375117abd62d099129f38d37375f3cde4e75a0160fb05edf392d1eac509d5a6796f635623794d81df9b4cf81021738 +Ctrl.type = type:F +Output = 8dd76f59e6692ff642894ee1bb147f3e1490cac944af29de6b2b5abcc4ab9eb41d236e9cd2f40cf83935097f307a246d7b35005dd302bacfe7e4fed37d2f46e9 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010012c99d1e0542b3b71e287b1ea15e54a3197f95cfbf7f6a209ada41fce3a6faad9bc4d569b690223e5d668019c11204716bb96a858c36c853bd41b28c1505ddce9df22b31dbdaa014b07ec53a79cfeb5b540902669c7a283f3647c1a9f685b5027bfb18e827818a76c23fa6ad20760f228a4239a4d558240130b5cc389d2be41b806cafd24d1d425c26a61508c974d62aae6f6830459c79e7a9ff5610291661bf03528fbafe47cf4c2e51f4856749ef543eb7cd8f72e84a4075fa7df9ad12565e5b3810c6d6292ff878ee8499611688989f0a04f4dc7275e01c0444a0321f0a0327fbe8a55689307b1bfd66d5d27ade78df5c1dfcef8868ebbe339d7efdae1973 +Ctrl.hexxcghash = hexxcghash:7317f576ce95d5bed93d08c65eb814d037ecd42f09b2d514fad58335e8e8bec807b9cf74b9044f449581c792ebb08843f2b80da87d91625e20f25de91b4d5d23 +Ctrl.hexsession_id = hexsession_id:7d153fda85bd3488962bdf03b8d0f26cf61f737173587ac6ee3d6f601a00f6474f5401370ef04720c620ea2b9668ab72cb6c40dc96057fc4537e7a6b0e79e9c5 +Ctrl.type = type:A +Output = f335b3ab270d7e686c5e023b3a2da75b + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010012c99d1e0542b3b71e287b1ea15e54a3197f95cfbf7f6a209ada41fce3a6faad9bc4d569b690223e5d668019c11204716bb96a858c36c853bd41b28c1505ddce9df22b31dbdaa014b07ec53a79cfeb5b540902669c7a283f3647c1a9f685b5027bfb18e827818a76c23fa6ad20760f228a4239a4d558240130b5cc389d2be41b806cafd24d1d425c26a61508c974d62aae6f6830459c79e7a9ff5610291661bf03528fbafe47cf4c2e51f4856749ef543eb7cd8f72e84a4075fa7df9ad12565e5b3810c6d6292ff878ee8499611688989f0a04f4dc7275e01c0444a0321f0a0327fbe8a55689307b1bfd66d5d27ade78df5c1dfcef8868ebbe339d7efdae1973 +Ctrl.hexxcghash = hexxcghash:7317f576ce95d5bed93d08c65eb814d037ecd42f09b2d514fad58335e8e8bec807b9cf74b9044f449581c792ebb08843f2b80da87d91625e20f25de91b4d5d23 +Ctrl.hexsession_id = hexsession_id:7d153fda85bd3488962bdf03b8d0f26cf61f737173587ac6ee3d6f601a00f6474f5401370ef04720c620ea2b9668ab72cb6c40dc96057fc4537e7a6b0e79e9c5 +Ctrl.type = type:B +Output = 857c9245c67bad84b7377c424c5e7e7a + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010012c99d1e0542b3b71e287b1ea15e54a3197f95cfbf7f6a209ada41fce3a6faad9bc4d569b690223e5d668019c11204716bb96a858c36c853bd41b28c1505ddce9df22b31dbdaa014b07ec53a79cfeb5b540902669c7a283f3647c1a9f685b5027bfb18e827818a76c23fa6ad20760f228a4239a4d558240130b5cc389d2be41b806cafd24d1d425c26a61508c974d62aae6f6830459c79e7a9ff5610291661bf03528fbafe47cf4c2e51f4856749ef543eb7cd8f72e84a4075fa7df9ad12565e5b3810c6d6292ff878ee8499611688989f0a04f4dc7275e01c0444a0321f0a0327fbe8a55689307b1bfd66d5d27ade78df5c1dfcef8868ebbe339d7efdae1973 +Ctrl.hexxcghash = hexxcghash:7317f576ce95d5bed93d08c65eb814d037ecd42f09b2d514fad58335e8e8bec807b9cf74b9044f449581c792ebb08843f2b80da87d91625e20f25de91b4d5d23 +Ctrl.hexsession_id = hexsession_id:7d153fda85bd3488962bdf03b8d0f26cf61f737173587ac6ee3d6f601a00f6474f5401370ef04720c620ea2b9668ab72cb6c40dc96057fc4537e7a6b0e79e9c5 +Ctrl.type = type:C +Output = 1c44ef56440f5856bdfd951305fd81e4 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010012c99d1e0542b3b71e287b1ea15e54a3197f95cfbf7f6a209ada41fce3a6faad9bc4d569b690223e5d668019c11204716bb96a858c36c853bd41b28c1505ddce9df22b31dbdaa014b07ec53a79cfeb5b540902669c7a283f3647c1a9f685b5027bfb18e827818a76c23fa6ad20760f228a4239a4d558240130b5cc389d2be41b806cafd24d1d425c26a61508c974d62aae6f6830459c79e7a9ff5610291661bf03528fbafe47cf4c2e51f4856749ef543eb7cd8f72e84a4075fa7df9ad12565e5b3810c6d6292ff878ee8499611688989f0a04f4dc7275e01c0444a0321f0a0327fbe8a55689307b1bfd66d5d27ade78df5c1dfcef8868ebbe339d7efdae1973 +Ctrl.hexxcghash = hexxcghash:7317f576ce95d5bed93d08c65eb814d037ecd42f09b2d514fad58335e8e8bec807b9cf74b9044f449581c792ebb08843f2b80da87d91625e20f25de91b4d5d23 +Ctrl.hexsession_id = hexsession_id:7d153fda85bd3488962bdf03b8d0f26cf61f737173587ac6ee3d6f601a00f6474f5401370ef04720c620ea2b9668ab72cb6c40dc96057fc4537e7a6b0e79e9c5 +Ctrl.type = type:D +Output = 8d3496ac631bb3588abbb13d4ae2dc2d + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010012c99d1e0542b3b71e287b1ea15e54a3197f95cfbf7f6a209ada41fce3a6faad9bc4d569b690223e5d668019c11204716bb96a858c36c853bd41b28c1505ddce9df22b31dbdaa014b07ec53a79cfeb5b540902669c7a283f3647c1a9f685b5027bfb18e827818a76c23fa6ad20760f228a4239a4d558240130b5cc389d2be41b806cafd24d1d425c26a61508c974d62aae6f6830459c79e7a9ff5610291661bf03528fbafe47cf4c2e51f4856749ef543eb7cd8f72e84a4075fa7df9ad12565e5b3810c6d6292ff878ee8499611688989f0a04f4dc7275e01c0444a0321f0a0327fbe8a55689307b1bfd66d5d27ade78df5c1dfcef8868ebbe339d7efdae1973 +Ctrl.hexxcghash = hexxcghash:7317f576ce95d5bed93d08c65eb814d037ecd42f09b2d514fad58335e8e8bec807b9cf74b9044f449581c792ebb08843f2b80da87d91625e20f25de91b4d5d23 +Ctrl.hexsession_id = hexsession_id:7d153fda85bd3488962bdf03b8d0f26cf61f737173587ac6ee3d6f601a00f6474f5401370ef04720c620ea2b9668ab72cb6c40dc96057fc4537e7a6b0e79e9c5 +Ctrl.type = type:E +Output = ac7899494cfcebbdaa8ee7c343a0a458228a0a5e59730c928e9c8775487e57c3a5f34fdb72c1b3b57cc35e0356e4b7c6a56368e74c68a017538a5b484886ec81 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010012c99d1e0542b3b71e287b1ea15e54a3197f95cfbf7f6a209ada41fce3a6faad9bc4d569b690223e5d668019c11204716bb96a858c36c853bd41b28c1505ddce9df22b31dbdaa014b07ec53a79cfeb5b540902669c7a283f3647c1a9f685b5027bfb18e827818a76c23fa6ad20760f228a4239a4d558240130b5cc389d2be41b806cafd24d1d425c26a61508c974d62aae6f6830459c79e7a9ff5610291661bf03528fbafe47cf4c2e51f4856749ef543eb7cd8f72e84a4075fa7df9ad12565e5b3810c6d6292ff878ee8499611688989f0a04f4dc7275e01c0444a0321f0a0327fbe8a55689307b1bfd66d5d27ade78df5c1dfcef8868ebbe339d7efdae1973 +Ctrl.hexxcghash = hexxcghash:7317f576ce95d5bed93d08c65eb814d037ecd42f09b2d514fad58335e8e8bec807b9cf74b9044f449581c792ebb08843f2b80da87d91625e20f25de91b4d5d23 +Ctrl.hexsession_id = hexsession_id:7d153fda85bd3488962bdf03b8d0f26cf61f737173587ac6ee3d6f601a00f6474f5401370ef04720c620ea2b9668ab72cb6c40dc96057fc4537e7a6b0e79e9c5 +Ctrl.type = type:F +Output = d32d849b488594d0b8efce91604296393b2240121f2ed51fb7c0bb5b371c33775d184ffaf3028306bc8040b21887f6885e5916ae158ef74a3ba09a1f30654f1a + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100c6c401e7a417025fce8ca5d5e654de6cac8eb1bf24fffa1eefaba828f425b5df93323ad62565d9e74c0b45619c3e97a8e006a9b28a42e96e13ea2f3807319ac587850731f64c86a3a9acd4aaa04e8a586833faeb902f95177d27e89ce25307365b22b7bf444c8e72ef2bb0fce86fe326a90b787948085fd101f04a7311ed6cf65d5073a6a29c7d99fe9fa0b915fac1d9bb6b95143ca8936e10e6e319201112ba52823dbaad935972842361394999e5a67356076e9f0b528d62325181f80d66e9b3288ba7482458c737806f474867036a234201253a91a6246c8c2876d210d2579951dd12cbc153dcec403156739be9c7d291e4904f079a5a71c01b9a84481800 +Ctrl.hexxcghash = hexxcghash:b060195095692352bde81e90c1b648ec46d57476892e79489d42cb8e0da2027ec41fd2e62da8e8e2a9e1ebcb8eecfaadef75e6714008ed6a2cbdef6c321bbaaa +Ctrl.hexsession_id = hexsession_id:5c910a53cafca6f8c0d97c4748f67aecd9a54c8ba96bf33327565f6f68ae0a2e7a62733a9051364ff9f68bdb416176522a0e5a2f28fe27a3f5ec402b3d99da13 +Ctrl.type = type:A +Output = 5aa8ed531557a1dc934ed667029e062f + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100c6c401e7a417025fce8ca5d5e654de6cac8eb1bf24fffa1eefaba828f425b5df93323ad62565d9e74c0b45619c3e97a8e006a9b28a42e96e13ea2f3807319ac587850731f64c86a3a9acd4aaa04e8a586833faeb902f95177d27e89ce25307365b22b7bf444c8e72ef2bb0fce86fe326a90b787948085fd101f04a7311ed6cf65d5073a6a29c7d99fe9fa0b915fac1d9bb6b95143ca8936e10e6e319201112ba52823dbaad935972842361394999e5a67356076e9f0b528d62325181f80d66e9b3288ba7482458c737806f474867036a234201253a91a6246c8c2876d210d2579951dd12cbc153dcec403156739be9c7d291e4904f079a5a71c01b9a84481800 +Ctrl.hexxcghash = hexxcghash:b060195095692352bde81e90c1b648ec46d57476892e79489d42cb8e0da2027ec41fd2e62da8e8e2a9e1ebcb8eecfaadef75e6714008ed6a2cbdef6c321bbaaa +Ctrl.hexsession_id = hexsession_id:5c910a53cafca6f8c0d97c4748f67aecd9a54c8ba96bf33327565f6f68ae0a2e7a62733a9051364ff9f68bdb416176522a0e5a2f28fe27a3f5ec402b3d99da13 +Ctrl.type = type:B +Output = 11a810c69785949d5a0ef6eeff960fb4 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100c6c401e7a417025fce8ca5d5e654de6cac8eb1bf24fffa1eefaba828f425b5df93323ad62565d9e74c0b45619c3e97a8e006a9b28a42e96e13ea2f3807319ac587850731f64c86a3a9acd4aaa04e8a586833faeb902f95177d27e89ce25307365b22b7bf444c8e72ef2bb0fce86fe326a90b787948085fd101f04a7311ed6cf65d5073a6a29c7d99fe9fa0b915fac1d9bb6b95143ca8936e10e6e319201112ba52823dbaad935972842361394999e5a67356076e9f0b528d62325181f80d66e9b3288ba7482458c737806f474867036a234201253a91a6246c8c2876d210d2579951dd12cbc153dcec403156739be9c7d291e4904f079a5a71c01b9a84481800 +Ctrl.hexxcghash = hexxcghash:b060195095692352bde81e90c1b648ec46d57476892e79489d42cb8e0da2027ec41fd2e62da8e8e2a9e1ebcb8eecfaadef75e6714008ed6a2cbdef6c321bbaaa +Ctrl.hexsession_id = hexsession_id:5c910a53cafca6f8c0d97c4748f67aecd9a54c8ba96bf33327565f6f68ae0a2e7a62733a9051364ff9f68bdb416176522a0e5a2f28fe27a3f5ec402b3d99da13 +Ctrl.type = type:C +Output = 54e9402e4f85b08c271b2a9f15d56c75 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100c6c401e7a417025fce8ca5d5e654de6cac8eb1bf24fffa1eefaba828f425b5df93323ad62565d9e74c0b45619c3e97a8e006a9b28a42e96e13ea2f3807319ac587850731f64c86a3a9acd4aaa04e8a586833faeb902f95177d27e89ce25307365b22b7bf444c8e72ef2bb0fce86fe326a90b787948085fd101f04a7311ed6cf65d5073a6a29c7d99fe9fa0b915fac1d9bb6b95143ca8936e10e6e319201112ba52823dbaad935972842361394999e5a67356076e9f0b528d62325181f80d66e9b3288ba7482458c737806f474867036a234201253a91a6246c8c2876d210d2579951dd12cbc153dcec403156739be9c7d291e4904f079a5a71c01b9a84481800 +Ctrl.hexxcghash = hexxcghash:b060195095692352bde81e90c1b648ec46d57476892e79489d42cb8e0da2027ec41fd2e62da8e8e2a9e1ebcb8eecfaadef75e6714008ed6a2cbdef6c321bbaaa +Ctrl.hexsession_id = hexsession_id:5c910a53cafca6f8c0d97c4748f67aecd9a54c8ba96bf33327565f6f68ae0a2e7a62733a9051364ff9f68bdb416176522a0e5a2f28fe27a3f5ec402b3d99da13 +Ctrl.type = type:D +Output = 838209e0ebe7626cf6482f25c7774bfd + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100c6c401e7a417025fce8ca5d5e654de6cac8eb1bf24fffa1eefaba828f425b5df93323ad62565d9e74c0b45619c3e97a8e006a9b28a42e96e13ea2f3807319ac587850731f64c86a3a9acd4aaa04e8a586833faeb902f95177d27e89ce25307365b22b7bf444c8e72ef2bb0fce86fe326a90b787948085fd101f04a7311ed6cf65d5073a6a29c7d99fe9fa0b915fac1d9bb6b95143ca8936e10e6e319201112ba52823dbaad935972842361394999e5a67356076e9f0b528d62325181f80d66e9b3288ba7482458c737806f474867036a234201253a91a6246c8c2876d210d2579951dd12cbc153dcec403156739be9c7d291e4904f079a5a71c01b9a84481800 +Ctrl.hexxcghash = hexxcghash:b060195095692352bde81e90c1b648ec46d57476892e79489d42cb8e0da2027ec41fd2e62da8e8e2a9e1ebcb8eecfaadef75e6714008ed6a2cbdef6c321bbaaa +Ctrl.hexsession_id = hexsession_id:5c910a53cafca6f8c0d97c4748f67aecd9a54c8ba96bf33327565f6f68ae0a2e7a62733a9051364ff9f68bdb416176522a0e5a2f28fe27a3f5ec402b3d99da13 +Ctrl.type = type:E +Output = bc62048ddb762ac50336ae0e91a402cc78e73472fe180756a4686299967d2904318b8ad1b8dc622edd75e9ff0e74f7fcb8a1f8acb86e2567a5167084c648c7ef + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100c6c401e7a417025fce8ca5d5e654de6cac8eb1bf24fffa1eefaba828f425b5df93323ad62565d9e74c0b45619c3e97a8e006a9b28a42e96e13ea2f3807319ac587850731f64c86a3a9acd4aaa04e8a586833faeb902f95177d27e89ce25307365b22b7bf444c8e72ef2bb0fce86fe326a90b787948085fd101f04a7311ed6cf65d5073a6a29c7d99fe9fa0b915fac1d9bb6b95143ca8936e10e6e319201112ba52823dbaad935972842361394999e5a67356076e9f0b528d62325181f80d66e9b3288ba7482458c737806f474867036a234201253a91a6246c8c2876d210d2579951dd12cbc153dcec403156739be9c7d291e4904f079a5a71c01b9a84481800 +Ctrl.hexxcghash = hexxcghash:b060195095692352bde81e90c1b648ec46d57476892e79489d42cb8e0da2027ec41fd2e62da8e8e2a9e1ebcb8eecfaadef75e6714008ed6a2cbdef6c321bbaaa +Ctrl.hexsession_id = hexsession_id:5c910a53cafca6f8c0d97c4748f67aecd9a54c8ba96bf33327565f6f68ae0a2e7a62733a9051364ff9f68bdb416176522a0e5a2f28fe27a3f5ec402b3d99da13 +Ctrl.type = type:F +Output = 4e9644a01a3fe6c3f4f5aceddb00e2584e277354aee6392a1a5aef05024d37fcf25ff46fdd8fe52e7d1dd9a96e77328aadf44b8fc92ac22a14f63d64ad0db621 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100a82ae4062baef678d20dd9cf1704cdc69e9e78eea5faa435e4dffec06976ff73bd1e2ebd206658a26fb85a0911e2034eede31e7df2d7b87aa9700cf301b6b38502ba4db2b9723505455a7da0c6e0cf374b063921179d1bc69508f660bbb26d05ab16a2325716dbd0a733809cac36660d9a73ff0f61e09f55d1ff0652474130be7fcd2d37ebd1203960d788a1307fae48ec4e1042ab85f037a01bfd17f15725ee929d6e6246bbda00fe7105461ee873b0190c2f44692845e464949f909df46309a8eb72037278f792c87249897a0564d290bec1e09b2c9d3ad3011710fc4dcfabfa435611794dc7d1507b657229a2aab65ce2e789305d5d24ed955e89d8eb4f7e +Ctrl.hexxcghash = hexxcghash:a6ef8e3102b16ce51b2a2fe17e8dc711a964c195ca4d597aabecce595187344ccb2ea37dc4cac0a77a47e7ea1b9055b1c9948e6e09793a9121f120b3bd07c5f2 +Ctrl.hexsession_id = hexsession_id:cc85cf95e29a5991306b21c1738de9a6612b8cb09f12b1738a4873c29f971e8d204aeb98bb7a7502cdab952eaaa6ec1e3a9655db3e5217afbff63ad588fbbf85 +Ctrl.type = type:A +Output = 77cb432c67bf0ae658aa4e34376d01b5 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100a82ae4062baef678d20dd9cf1704cdc69e9e78eea5faa435e4dffec06976ff73bd1e2ebd206658a26fb85a0911e2034eede31e7df2d7b87aa9700cf301b6b38502ba4db2b9723505455a7da0c6e0cf374b063921179d1bc69508f660bbb26d05ab16a2325716dbd0a733809cac36660d9a73ff0f61e09f55d1ff0652474130be7fcd2d37ebd1203960d788a1307fae48ec4e1042ab85f037a01bfd17f15725ee929d6e6246bbda00fe7105461ee873b0190c2f44692845e464949f909df46309a8eb72037278f792c87249897a0564d290bec1e09b2c9d3ad3011710fc4dcfabfa435611794dc7d1507b657229a2aab65ce2e789305d5d24ed955e89d8eb4f7e +Ctrl.hexxcghash = hexxcghash:a6ef8e3102b16ce51b2a2fe17e8dc711a964c195ca4d597aabecce595187344ccb2ea37dc4cac0a77a47e7ea1b9055b1c9948e6e09793a9121f120b3bd07c5f2 +Ctrl.hexsession_id = hexsession_id:cc85cf95e29a5991306b21c1738de9a6612b8cb09f12b1738a4873c29f971e8d204aeb98bb7a7502cdab952eaaa6ec1e3a9655db3e5217afbff63ad588fbbf85 +Ctrl.type = type:B +Output = f55c74d112746001d8908edd347d7e69 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100a82ae4062baef678d20dd9cf1704cdc69e9e78eea5faa435e4dffec06976ff73bd1e2ebd206658a26fb85a0911e2034eede31e7df2d7b87aa9700cf301b6b38502ba4db2b9723505455a7da0c6e0cf374b063921179d1bc69508f660bbb26d05ab16a2325716dbd0a733809cac36660d9a73ff0f61e09f55d1ff0652474130be7fcd2d37ebd1203960d788a1307fae48ec4e1042ab85f037a01bfd17f15725ee929d6e6246bbda00fe7105461ee873b0190c2f44692845e464949f909df46309a8eb72037278f792c87249897a0564d290bec1e09b2c9d3ad3011710fc4dcfabfa435611794dc7d1507b657229a2aab65ce2e789305d5d24ed955e89d8eb4f7e +Ctrl.hexxcghash = hexxcghash:a6ef8e3102b16ce51b2a2fe17e8dc711a964c195ca4d597aabecce595187344ccb2ea37dc4cac0a77a47e7ea1b9055b1c9948e6e09793a9121f120b3bd07c5f2 +Ctrl.hexsession_id = hexsession_id:cc85cf95e29a5991306b21c1738de9a6612b8cb09f12b1738a4873c29f971e8d204aeb98bb7a7502cdab952eaaa6ec1e3a9655db3e5217afbff63ad588fbbf85 +Ctrl.type = type:C +Output = 34a48ab90890b385198ea6bf8c50c3f6 + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100a82ae4062baef678d20dd9cf1704cdc69e9e78eea5faa435e4dffec06976ff73bd1e2ebd206658a26fb85a0911e2034eede31e7df2d7b87aa9700cf301b6b38502ba4db2b9723505455a7da0c6e0cf374b063921179d1bc69508f660bbb26d05ab16a2325716dbd0a733809cac36660d9a73ff0f61e09f55d1ff0652474130be7fcd2d37ebd1203960d788a1307fae48ec4e1042ab85f037a01bfd17f15725ee929d6e6246bbda00fe7105461ee873b0190c2f44692845e464949f909df46309a8eb72037278f792c87249897a0564d290bec1e09b2c9d3ad3011710fc4dcfabfa435611794dc7d1507b657229a2aab65ce2e789305d5d24ed955e89d8eb4f7e +Ctrl.hexxcghash = hexxcghash:a6ef8e3102b16ce51b2a2fe17e8dc711a964c195ca4d597aabecce595187344ccb2ea37dc4cac0a77a47e7ea1b9055b1c9948e6e09793a9121f120b3bd07c5f2 +Ctrl.hexsession_id = hexsession_id:cc85cf95e29a5991306b21c1738de9a6612b8cb09f12b1738a4873c29f971e8d204aeb98bb7a7502cdab952eaaa6ec1e3a9655db3e5217afbff63ad588fbbf85 +Ctrl.type = type:D +Output = f2b6046d3439c50a9000a63909146abc + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100a82ae4062baef678d20dd9cf1704cdc69e9e78eea5faa435e4dffec06976ff73bd1e2ebd206658a26fb85a0911e2034eede31e7df2d7b87aa9700cf301b6b38502ba4db2b9723505455a7da0c6e0cf374b063921179d1bc69508f660bbb26d05ab16a2325716dbd0a733809cac36660d9a73ff0f61e09f55d1ff0652474130be7fcd2d37ebd1203960d788a1307fae48ec4e1042ab85f037a01bfd17f15725ee929d6e6246bbda00fe7105461ee873b0190c2f44692845e464949f909df46309a8eb72037278f792c87249897a0564d290bec1e09b2c9d3ad3011710fc4dcfabfa435611794dc7d1507b657229a2aab65ce2e789305d5d24ed955e89d8eb4f7e +Ctrl.hexxcghash = hexxcghash:a6ef8e3102b16ce51b2a2fe17e8dc711a964c195ca4d597aabecce595187344ccb2ea37dc4cac0a77a47e7ea1b9055b1c9948e6e09793a9121f120b3bd07c5f2 +Ctrl.hexsession_id = hexsession_id:cc85cf95e29a5991306b21c1738de9a6612b8cb09f12b1738a4873c29f971e8d204aeb98bb7a7502cdab952eaaa6ec1e3a9655db3e5217afbff63ad588fbbf85 +Ctrl.type = type:E +Output = 70357486ca57c93418c6705b731b054bc41be03289c25a5ed29a937732807ae10a3604486c53d1f2431411808d87bfbaa6b25971fa2e4ec3719b5d2622aed2ff + +KDF = SSHKDF +Ctrl.md = md:SHA512 +Ctrl.hexkey = hexkey:0000010100a82ae4062baef678d20dd9cf1704cdc69e9e78eea5faa435e4dffec06976ff73bd1e2ebd206658a26fb85a0911e2034eede31e7df2d7b87aa9700cf301b6b38502ba4db2b9723505455a7da0c6e0cf374b063921179d1bc69508f660bbb26d05ab16a2325716dbd0a733809cac36660d9a73ff0f61e09f55d1ff0652474130be7fcd2d37ebd1203960d788a1307fae48ec4e1042ab85f037a01bfd17f15725ee929d6e6246bbda00fe7105461ee873b0190c2f44692845e464949f909df46309a8eb72037278f792c87249897a0564d290bec1e09b2c9d3ad3011710fc4dcfabfa435611794dc7d1507b657229a2aab65ce2e789305d5d24ed955e89d8eb4f7e +Ctrl.hexxcghash = hexxcghash:a6ef8e3102b16ce51b2a2fe17e8dc711a964c195ca4d597aabecce595187344ccb2ea37dc4cac0a77a47e7ea1b9055b1c9948e6e09793a9121f120b3bd07c5f2 +Ctrl.hexsession_id = hexsession_id:cc85cf95e29a5991306b21c1738de9a6612b8cb09f12b1738a4873c29f971e8d204aeb98bb7a7502cdab952eaaa6ec1e3a9655db3e5217afbff63ad588fbbf85 +Ctrl.type = type:F +Output = 4e6428f7a87455bdef6026cdf68a2f6d93d6cda5145d6bca60ee4eb2d6248b399f6568c65ec92cee8d9b0c7fd83053c91c5be72bf96b5904080624a348243899 + +Title = SSHKDF test error conditions + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexxcghash = hexxcghash:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.hexsession_id = hexsession_id:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.type = type:A +Output = FF +Result = KDF_DERIVE_ERROR + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008055bae931c07fd824bf10add1902b6fbc7c665347383498a686929ff5a25f8e40cb6645ea814fb1a5e0a11f852f86255641e5ed986e83a78bc8269480eac0b0dfd770cab92e7a28dd87ff452466d6ae867cead63b366b1c286e6c4811a9f14c27aea14c5171d49b78c06e3735d36e6a3be321dd5fc82308f34ee1cb17fba94a59 +Ctrl.hexsession_id = hexsession_id:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.type = type:A +Output = FF +Result = KDF_DERIVE_ERROR + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008055bae931c07fd824bf10add1902b6fbc7c665347383498a686929ff5a25f8e40cb6645ea814fb1a5e0a11f852f86255641e5ed986e83a78bc8269480eac0b0dfd770cab92e7a28dd87ff452466d6ae867cead63b366b1c286e6c4811a9f14c27aea14c5171d49b78c06e3735d36e6a3be321dd5fc82308f34ee1cb17fba94a59 +Ctrl.hexxcghash = hexxcghash:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.type = type:A +Output = FF +Result = KDF_DERIVE_ERROR + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008055bae931c07fd824bf10add1902b6fbc7c665347383498a686929ff5a25f8e40cb6645ea814fb1a5e0a11f852f86255641e5ed986e83a78bc8269480eac0b0dfd770cab92e7a28dd87ff452466d6ae867cead63b366b1c286e6c4811a9f14c27aea14c5171d49b78c06e3735d36e6a3be321dd5fc82308f34ee1cb17fba94a59 +Ctrl.hexxcghash = hexxcghash:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.hexsession_id = hexsession_id:a4ebd45934f56792b5112dcd75a1075fdc889245 +Output = FF +Result = KDF_DERIVE_ERROR + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008055bae931c07fd824bf10add1902b6fbc7c665347383498a686929ff5a25f8e40cb6645ea814fb1a5e0a11f852f86255641e5ed986e83a78bc8269480eac0b0dfd770cab92e7a28dd87ff452466d6ae867cead63b366b1c286e6c4811a9f14c27aea14c5171d49b78c06e3735d36e6a3be321dd5fc82308f34ee1cb17fba94a59 +Ctrl.hexxcghash = hexxcghash:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.hexsession_id = hexsession_id:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.type = type:X +Output = FF +Result = KDF_CTRL_ERROR + +KDF = SSHKDF +Ctrl.md = md:SHA1 +Ctrl.hexkey = hexkey:0000008055bae931c07fd824bf10add1902b6fbc7c665347383498a686929ff5a25f8e40cb6645ea814fb1a5e0a11f852f86255641e5ed986e83a78bc8269480eac0b0dfd770cab92e7a28dd87ff452466d6ae867cead63b366b1c286e6c4811a9f14c27aea14c5171d49b78c06e3735d36e6a3be321dd5fc82308f34ee1cb17fba94a59 +Ctrl.hexxcghash = hexxcghash:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.hexsession_id = hexsession_id:a4ebd45934f56792b5112dcd75a1075fdc889245 +Ctrl.type = type:A +Output = FF +Result = KDF_MISMATCH diff --git a/test/sparse_array_test.c b/test/sparse_array_test.c index 02ce0d1e..3457a777 100644 --- a/test/sparse_array_test.c +++ b/test/sparse_array_test.c @@ -30,11 +30,11 @@ DEFINE_SPARSE_ARRAY_OF(char); static int test_sparse_array(void) { static const struct { - size_t n; + ossl_uintmax_t n; char *v; } cases[] = { { 22, "a" }, { 0, "z" }, { 1, "b" }, { 290, "c" }, - { INT_MAX, "m" }, { 6666666, "d" }, { (size_t)-1, "H" }, + { INT_MAX, "m" }, { 6666666, "d" }, { (ossl_uintmax_t)-1, "H" }, { 99, "e" } }; SPARSE_ARRAY_OF(char) *sa; @@ -69,7 +69,7 @@ static int test_sparse_array_num(void) { static const struct { size_t num; - size_t n; + ossl_uintmax_t n; char *v; } cases[] = { { 1, 22, "a" }, { 2, 1021, "b" }, { 3, 3, "c" }, { 2, 22, NULL }, @@ -96,7 +96,7 @@ err: } struct index_cases_st { - size_t n; + ossl_uintmax_t n; char *v; int del; }; @@ -109,7 +109,7 @@ struct doall_st { int all; }; -static void leaf_check_all(size_t n, char *value, void *arg) +static void leaf_check_all(ossl_uintmax_t n, char *value, void *arg) { struct doall_st *doall_data = (struct doall_st *)arg; const struct index_cases_st *cases = doall_data->cases; @@ -125,7 +125,7 @@ static void leaf_check_all(size_t n, char *value, void *arg) TEST_error("Index %zu with value %s not found", n, value); } -static void leaf_delete(size_t n, char *value, void *arg) +static void leaf_delete(ossl_uintmax_t n, char *value, void *arg) { struct doall_st *doall_data = (struct doall_st *)arg; const struct index_cases_st *cases = doall_data->cases; @@ -145,8 +145,8 @@ static int test_sparse_array_doall(void) { static const struct index_cases_st cases[] = { { 22, "A", 1 }, { 1021, "b", 0 }, { 3, "c", 0 }, { INT_MAX, "d", 1 }, - { (size_t)-1, "H", 0 }, { (size_t)-2, "i", 1 }, { 666666666, "s", 1 }, - { 1234567890, "t", 0 }, + { (ossl_uintmax_t)-1, "H", 0 }, { (ossl_uintmax_t)-2, "i", 1 }, + { 666666666, "s", 1 }, { 1234567890, "t", 0 }, }; struct doall_st doall_data; size_t i; diff --git a/test/sslapitest.c b/test/sslapitest.c index 788ac460..2a4596dc 100644 --- a/test/sslapitest.c +++ b/test/sslapitest.c @@ -4480,6 +4480,58 @@ static int test_export_key_mat_early(int idx) return testresult; } + +#define NUM_KEY_UPDATE_MESSAGES 40 +/* + * Test KeyUpdate. + */ +static int test_key_update(void) +{ + SSL_CTX *cctx = NULL, *sctx = NULL; + SSL *clientssl = NULL, *serverssl = NULL; + int testresult = 0, i, j; + char buf[20]; + static char *mess = "A test message"; + + if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + TLS_client_method(), + TLS1_3_VERSION, + 0, + &sctx, &cctx, cert, privkey)) + || !TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, + NULL, NULL)) + || !TEST_true(create_ssl_connection(serverssl, clientssl, + SSL_ERROR_NONE))) + goto end; + + for (j = 0; j < 2; j++) { + /* Send lots of KeyUpdate messages */ + for (i = 0; i < NUM_KEY_UPDATE_MESSAGES; i++) { + if (!TEST_true(SSL_key_update(clientssl, + (j == 0) + ? SSL_KEY_UPDATE_NOT_REQUESTED + : SSL_KEY_UPDATE_REQUESTED)) + || !TEST_true(SSL_do_handshake(clientssl))) + goto end; + } + + /* Check that sending and receiving app data is ok */ + if (!TEST_int_eq(SSL_write(clientssl, mess, strlen(mess)), strlen(mess)) + || !TEST_int_eq(SSL_read(serverssl, buf, sizeof(buf)), + strlen(mess))) + goto end; + } + + testresult = 1; + + end: + SSL_free(serverssl); + SSL_free(clientssl); + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + + return testresult; +} #endif /* OPENSSL_NO_TLS1_3 */ static int test_ssl_clear(int idx) @@ -6170,6 +6222,7 @@ int setup_tests(void) ADD_ALL_TESTS(test_export_key_mat, 6); #ifndef OPENSSL_NO_TLS1_3 ADD_ALL_TESTS(test_export_key_mat_early, 3); + ADD_TEST(test_key_update); #endif ADD_ALL_TESTS(test_ssl_clear, 2); ADD_ALL_TESTS(test_max_fragment_len_ext, OSSL_NELEM(max_fragment_len_test)); diff --git a/test/testutil/apps_mem.c b/test/testutil/apps_mem.c new file mode 100644 index 00000000..fa60bc68 --- /dev/null +++ b/test/testutil/apps_mem.c @@ -0,0 +1,19 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (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 "apps.h" + +/* shim that avoids sucking in too much from apps/apps.c */ + +void* app_malloc(int sz, const char *what) +{ + void *vp = OPENSSL_malloc(sz); + + return vp; +} diff --git a/test/testutil/driver.c b/test/testutil/driver.c index df62625f..10d74e2e 100644 --- a/test/testutil/driver.c +++ b/test/testutil/driver.c @@ -17,6 +17,8 @@ #include "internal/nelem.h" #include +#include "platform.h" /* From libapps */ + #ifdef _WIN32 # define strdup _strdup #endif @@ -132,6 +134,16 @@ int setup_test_framework(int argc, char *argv[]) CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); } #endif + +#if defined(OPENSSL_SYS_VMS) && defined(__DECC) + argv = copy_argv(&argc, argv); +#elif defined(_WIN32) + /* + * Replace argv[] with UTF-8 encoded strings. + */ + win32_utf8argv(&argc, &argv); +#endif + if (!opt_init(argc, argv, test_get_options())) return 0; return 1; diff --git a/test/x509aux.c b/test/x509aux.c index ec2618d7..1489428d 100644 --- a/test/x509aux.c +++ b/test/x509aux.c @@ -27,7 +27,7 @@ static int test_certs(int num) unsigned char *data = 0; long len; typedef X509 *(*d2i_X509_t)(X509 **, const unsigned char **, long); - typedef int (*i2d_X509_t)(X509 *, unsigned char **); + typedef int (*i2d_X509_t)(const X509 *, unsigned char **); int err = 0; BIO *fp = BIO_new_file(test_get_argument(num), "r"); X509 *reuse = NULL; diff --git a/util/find-doc-nits b/util/find-doc-nits index a8cea9c5..5d5c2d05 100755 --- a/util/find-doc-nits +++ b/util/find-doc-nits @@ -142,6 +142,18 @@ sub name_synopsis() } } +# Check if EXAMPLES is located after RETURN VALUES section. +sub check_example_location() +{ + my $filename = shift; + my $contents = shift; + + return unless $contents =~ /=head1 RETURN VALUES/ + and $contents =~ /=head1 EXAMPLES/; + print "$filename: RETURN VAULES should be placed before EXAMPLES section\n" + if $contents =~ /=head1 EXAMPLES.*=head1 RETURN VALUES/ms; +} + sub check() { my $filename = shift; @@ -155,6 +167,8 @@ sub check() close POD; } + &check_example_location($filename, $contents) if $filename =~ m|man3/|; + my $id = "${filename}:1:"; &name_synopsis($id, $filename, $contents) diff --git a/util/libcrypto.num b/util/libcrypto.num index b9bc3703..a5829966 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4644,4 +4644,15 @@ CRYPTO_alloc_ex_data 4599 3_0_0 EXIST::FUNCTION: OPENSSL_CTX_new 4600 3_0_0 EXIST::FUNCTION: OPENSSL_CTX_free 4601 3_0_0 EXIST::FUNCTION: OPENSSL_LH_flush 4602 3_0_0 EXIST::FUNCTION: -EVP_chacha20_poly1305_draft 4603 3_0_0 EXIST::FUNCTION:CHACHA,POLY1305 +BN_native2bn 4603 3_0_0 EXIST::FUNCTION: +BN_bn2nativepad 4604 3_0_0 EXIST::FUNCTION: +OSSL_trace_get_category_num 4605 3_0_0 EXIST::FUNCTION: +OSSL_trace_get_category_name 4606 3_0_0 EXIST::FUNCTION: +OSSL_trace_set_channel 4607 3_0_0 EXIST::FUNCTION: +OSSL_trace_set_prefix 4608 3_0_0 EXIST::FUNCTION: +OSSL_trace_set_suffix 4609 3_0_0 EXIST::FUNCTION: +OSSL_trace_set_callback 4610 3_0_0 EXIST::FUNCTION: +OSSL_trace_enabled 4611 3_0_0 EXIST::FUNCTION: +OSSL_trace_begin 4612 3_0_0 EXIST::FUNCTION: +OSSL_trace_end 4613 3_0_0 EXIST::FUNCTION: +EVP_chacha20_poly1305_draft 4614 3_0_0 EXIST::FUNCTION:CHACHA,POLY1305 diff --git a/util/local_shlib.com.in b/util/local_shlib.com.in index b3484e19..2e2eaa6d 100644 --- a/util/local_shlib.com.in +++ b/util/local_shlib.com.in @@ -1,7 +1,11 @@ ${- + use File::Spec::Functions qw(rel2abs); + + my $bldtop = rel2abs($config{builddir}); our %names = ( map { platform->sharedname($_) => $bldtop.platform->sharedlib($_) } - @{$unified_info{install}->{libraries}} ); + grep { !$unified_info{attributes}->{$_}->{noinst} } + @{$unified_info{libraries}} ); "" -} $ ! Create a local environment with the shared library logical names $ ! properly set. Undo this with unlocal_shlib.com diff --git a/util/perl/OpenSSL/ParseC.pm b/util/perl/OpenSSL/ParseC.pm index 4c505f25..7a13930d 100644 --- a/util/perl/OpenSSL/ParseC.pm +++ b/util/perl/OpenSSL/ParseC.pm @@ -257,7 +257,7 @@ my @opensslchandlers = ( ##### # Global variable stuff - { regexp => qr/OPENSSL_DECLARE_GLOBAL<<<\((.*),(.*)\)>>>;/, + { regexp => qr/OPENSSL_DECLARE_GLOBAL<<<\((.*),\s*(.*)\)>>>;/, massager => sub { return (<<"EOF"); #ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION OPENSSL_EXPORT $1 _shadow_$2; @@ -331,7 +331,7 @@ EOF # return ("$before$stack_of$after"); # } # }, - { regexp => qr/SKM_DEFINE_STACK_OF<<<\((.*),(.*),(.*)\)>>>/, + { regexp => qr/SKM_DEFINE_STACK_OF<<<\((.*),\s*(.*),\s*(.*)\)>>>/, massager => sub { return (<<"EOF"); STACK_OF($1); @@ -370,13 +370,13 @@ static ossl_inline sk_$1_compfunc sk_$1_set_cmp_func(STACK_OF($1) *sk, EOF } }, - { regexp => qr/DEFINE_SPECIAL_STACK_OF<<<\((.*),(.*)\)>>>/, + { regexp => qr/DEFINE_SPECIAL_STACK_OF<<<\((.*),\s*(.*)\)>>>/, massager => sub { return ("SKM_DEFINE_STACK_OF($1,$2,$2)"); }, }, { regexp => qr/DEFINE_STACK_OF<<<\((.*)\)>>>/, massager => sub { return ("SKM_DEFINE_STACK_OF($1,$1,$1)"); }, }, - { regexp => qr/DEFINE_SPECIAL_STACK_OF_CONST<<<\((.*),(.*)\)>>>/, + { regexp => qr/DEFINE_SPECIAL_STACK_OF_CONST<<<\((.*),\s*(.*)\)>>>/, massager => sub { return ("SKM_DEFINE_STACK_OF($1,const $2,$2)"); }, }, { regexp => qr/DEFINE_STACK_OF_CONST<<<\((.*)\)>>>/, @@ -388,7 +388,7 @@ EOF { regexp => qr/DECLARE_STACK_OF<<<\((.*)\)>>>/, massager => sub { return ("STACK_OF($1);"); } }, - { regexp => qr/DECLARE_SPECIAL_STACK_OF<<<\((.*?),(.*?)\)>>>/, + { regexp => qr/DECLARE_SPECIAL_STACK_OF<<<\((.*?),\s*(.*?)\)>>>/, massager => sub { return ("STACK_OF($1);"); } }, @@ -421,7 +421,15 @@ const ASN1_ITEM *$1_it(void); EOF }, }, - { regexp => qr/DECLARE_ASN1_ENCODE_FUNCTIONS<<<\((.*),(.*),(.*)\)>>>/, + { regexp => qr/DECLARE_ASN1_ENCODE_FUNCTIONS_only<<<\((.*),\s*(.*)\)>>>/, + massager => sub { + return (<<"EOF"); +int d2i_$2(void); +int i2d_$2(void); +EOF + }, + }, + { regexp => qr/DECLARE_ASN1_ENCODE_FUNCTIONS<<<\((.*),\s*(.*),\s*(.*)\)>>>/, massager => sub { return (<<"EOF"); int d2i_$3(void); @@ -430,12 +438,20 @@ DECLARE_ASN1_ITEM($2) EOF }, }, - { regexp => qr/DECLARE_ASN1_ENCODE_FUNCTIONS_const<<<\((.*),(.*)\)>>>/, + { regexp => qr/DECLARE_ASN1_ENCODE_FUNCTIONS_name<<<\((.*),\s*(.*)\)>>>/, massager => sub { return (<<"EOF"); int d2i_$2(void); int i2d_$2(void); DECLARE_ASN1_ITEM($2) +EOF + }, + }, + { regexp => qr/DECLARE_ASN1_ALLOC_FUNCTIONS_name<<<\((.*),\s*(.*)\)>>>/, + massager => sub { + return (<<"EOF"); +int $2_free(void); +int $2_new(void); EOF }, }, @@ -447,7 +463,7 @@ int $1_new(void); EOF }, }, - { regexp => qr/DECLARE_ASN1_FUNCTIONS_name<<<\((.*),(.*)\)>>>/, + { regexp => qr/DECLARE_ASN1_FUNCTIONS_name<<<\((.*),\s*(.*)\)>>>/, massager => sub { return (<<"EOF"); int d2i_$2(void); @@ -458,17 +474,7 @@ DECLARE_ASN1_ITEM($2) EOF }, }, - { regexp => qr/DECLARE_ASN1_FUNCTIONS_fname<<<\((.*),(.*),(.*)\)>>>/, - massager => sub { return (<<"EOF"); -int d2i_$3(void); -int i2d_$3(void); -int $3_free(void); -int $3_new(void); -DECLARE_ASN1_ITEM($2) -EOF - } - }, - { regexp => qr/DECLARE_ASN1_FUNCTIONS(?:_const)?<<<\((.*)\)>>>/, + { regexp => qr/DECLARE_ASN1_FUNCTIONS<<<\((.*)\)>>>/, massager => sub { return (<<"EOF"); int d2i_$1(void); int i2d_$1(void); @@ -492,7 +498,7 @@ int $1_print_ctx(void); EOF } }, - { regexp => qr/DECLARE_ASN1_PRINT_FUNCTION_name<<<\((.*),(.*)\)>>>/, + { regexp => qr/DECLARE_ASN1_PRINT_FUNCTION_name<<<\((.*),\s*(.*)\)>>>/, massager => sub { return (<<"EOF"); int $2_print_ctx(void); @@ -502,6 +508,20 @@ EOF { regexp => qr/DECLARE_ASN1_SET_OF<<<\((.*)\)>>>/, massager => sub { return (); } }, + { regexp => qr/DECLARE_ASN1_DUP_FUNCTION<<<\((.*)\)>>>/, + massager => sub { + return (<<"EOF"); +int $1_dup(void); +EOF + } + }, + { regexp => qr/DECLARE_ASN1_DUP_FUNCTION_name<<<\((.*),\s*(.*)\)>>>/, + massager => sub { + return (<<"EOF"); +int $2_dup(void); +EOF + } + }, { regexp => qr/DECLARE_PKCS12_SET_OF<<<\((.*)\)>>>/, massager => sub { return (); } }, diff --git a/util/perl/OpenSSL/Util/Pod.pm b/util/perl/OpenSSL/Util/Pod.pm index 02ad0a8f..16622c93 100644 --- a/util/perl/OpenSSL/Util/Pod.pm +++ b/util/perl/OpenSSL/Util/Pod.pm @@ -140,7 +140,7 @@ sub extract_pod_info { $podinfo{lastsecttext} =~ s| - .*$||; my @names = - map { s|\s+||g; $_ } + map { s|\s+||g; s|/|-|g; $_ } split(m|,|, $podinfo{lastsecttext}); return ( section => $podinfo{section}, names => [ @names ] ); diff --git a/util/private.num b/util/private.num index c4a27934..ad1865f0 100644 --- a/util/private.num +++ b/util/private.num @@ -32,6 +32,7 @@ GEN_SESSION_CB datatype OPENSSL_Applink external OPENSSL_CTX datatype NAMING_AUTHORITY datatype +OSSL_PARAM datatype OSSL_STORE_CTX datatype OSSL_STORE_INFO datatype OSSL_STORE_LOADER datatype @@ -46,6 +47,7 @@ OSSL_STORE_error_fn datatype OSSL_STORE_load_fn datatype OSSL_STORE_open_fn datatype OSSL_STORE_post_process_info_fn datatype +OSSL_trace_cb datatype PROFESSION_INFO datatype PROFESSION_INFOS datatype RAND_DRBG_cleanup_entropy_fn datatype diff --git a/util/unlocal_shlib.com.in b/util/unlocal_shlib.com.in index f9ae76b4..feade87e 100644 --- a/util/unlocal_shlib.com.in +++ b/util/unlocal_shlib.com.in @@ -1,7 +1,11 @@ ${- + use File::Spec::Functions qw(rel2abs); + + my $bldtop = rel2abs($config{builddir}); our %names = ( map { platform->sharedname($_) => $bldtop.platform->sharedlib($_) } - @{$unified_info{install}->{libraries}} ); + grep { !$unified_info{attributes}->{$_}->{noinst} } + @{$unified_info{libraries}} ); "" -} $ ! Remove the local environment created by local_shlib.com $