[Pkg-openssl-changes] r811 - in openssl/branches/1.1.0/debian: . patches
Kurt Roeckx
kroeckx at moszumanska.debian.org
Sat Jul 2 12:55:30 UTC 2016
Author: kroeckx
Date: 2016-07-02 12:55:29 +0000 (Sat, 02 Jul 2016)
New Revision: 811
Modified:
openssl/branches/1.1.0/debian/changelog
openssl/branches/1.1.0/debian/patches/openssl_snapshot.patch
Log:
update snapshot
Modified: openssl/branches/1.1.0/debian/changelog
===================================================================
--- openssl/branches/1.1.0/debian/changelog 2016-06-26 13:15:26 UTC (rev 810)
+++ openssl/branches/1.1.0/debian/changelog 2016-07-02 12:55:29 UTC (rev 811)
@@ -1,3 +1,9 @@
+openssl (1.1.0~pre5-5) experimental; urgency=medium
+
+ * Update snapshot to commit fe964f0c88f6780fd30b26e306484b981b0a8480
+
+ -- Kurt Roeckx <kurt at roeckx.be> Sat, 02 Jul 2016 14:54:51 +0200
+
openssl (1.1.0~pre5-4) experimental; urgency=medium
* Update snapshot to commit c32bdbf171ce6650ef045ec47b5abe0de7c264db
Modified: openssl/branches/1.1.0/debian/patches/openssl_snapshot.patch
===================================================================
--- openssl/branches/1.1.0/debian/patches/openssl_snapshot.patch 2016-06-26 13:15:26 UTC (rev 810)
+++ openssl/branches/1.1.0/debian/patches/openssl_snapshot.patch 2016-07-02 12:55:29 UTC (rev 811)
@@ -7,7 +7,7 @@
+*.der binary
+/fuzz/corpora/** binary
diff --git a/.gitignore b/.gitignore
-index a6f5bf7..b47a348 100644
+index a6f5bf7..a7ca425 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,6 +31,7 @@ Makefile
@@ -26,23 +26,30 @@
/apps/md4.c
-@@ -57,6 +59,15 @@ Makefile
+@@ -57,6 +59,22 @@ Makefile
# Executables
/apps/openssl
+/fuzz/asn1
++/fuzz/asn1-test
+/fuzz/asn1parse
++/fuzz/asn1parse-test
+/fuzz/bignum
++/fuzz/bignum-test
+/fuzz/bndiv
++/fuzz/bndiv-test
+/fuzz/conf
++/fuzz/conf-test
+/fuzz/cms
++/fuzz/cms-test
+/fuzz/ct
++/fuzz/ct-test
+/fuzz/server
-+/fuzz/x509
++/fuzz/server-test
/test/sha256t
/test/sha512t
/test/gost2814789t
-@@ -71,10 +82,21 @@ Makefile
+@@ -71,10 +89,21 @@ Makefile
/test/fips_ecdsavs
/test/fips_rngvs
/test/fips_test_suite
@@ -64,7 +71,7 @@
# Exceptions
!/test/bctest
!/crypto/des/times/486-50.sol
-@@ -82,6 +104,7 @@ Makefile
+@@ -82,6 +111,7 @@ Makefile
# Misc auto generated files
/include/openssl/opensslconf.h
/tools/c_rehash
@@ -72,7 +79,7 @@
/crypto/**/lib
/engines/**/lib
/ssl/**/lib
-@@ -94,7 +117,7 @@ cscope.*
+@@ -94,7 +124,7 @@ cscope.*
/crypto.map
/ssl.map
@@ -82,26 +89,10 @@
/tmp32.dbg
/tmp32dll
diff --git a/.travis.yml b/.travis.yml
-index f180a44..38a298a 100644
+index f180a44..2232649 100644
--- a/.travis.yml
+++ b/.travis.yml
-@@ -5,13 +5,13 @@ addons:
- apt:
- packages:
- - ccache
-- - clang-3.6
-+# - clang-3.6
- - gcc-5
- - binutils-mingw-w64
- - gcc-mingw-w64
- - wine
- sources:
-- - llvm-toolchain-precise-3.6
-+# - llvm-toolchain-precise-3.6
- - ubuntu-toolchain-r-test
-
- os:
-@@ -23,28 +23,30 @@ compiler:
+@@ -23,11 +23,9 @@ compiler:
- gcc
env:
@@ -114,35 +105,29 @@
- CONFIG_OPTS="no-pic --strict-warnings" BUILDONLY="yes"
- CONFIG_OPTS="no-engine no-shared --strict-warnings" BUILDONLY="yes"
- matrix:
+@@ -35,16 +33,16 @@ matrix:
include:
- os: linux
-- compiler: clang-3.6
+ compiler: clang-3.6
- env: CONFIG_OPTS="-fsanitize=address no-shared"
-- - os: linux
-- compiler: clang-3.6
-- env: CONFIG_OPTS="no-shared no-asm -fno-sanitize-recover -fsanitize=address -fsanitize=undefined enable-rc5 enable-md2 -fno-sanitize=alignment"
-+ compiler: clang
+ env: CONFIG_OPTS="no-shared enable-asan"
-+# - os: linux
-+# compiler: clang-3.6
-+# compiler: clang
-+# env: CONFIG_OPTS="no-shared enable-asan"
-+# - os: linux
-+# compiler: clang-3.6
-+# env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 -fno-sanitize=alignment"
- os: linux
- compiler: gcc-5
+ compiler: clang-3.6
+- env: CONFIG_OPTS="no-shared no-asm -fno-sanitize-recover -fsanitize=address -fsanitize=undefined enable-rc5 enable-md2 -fno-sanitize=alignment"
++ env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 -fno-sanitize=alignment"
+ - os: linux
+- compiler: gcc-5
- env: CONFIG_OPTS="no-shared -fsanitize=address"
-+ env: CONFIG_OPTS="no-shared no-asm enable-rc5 enable-md2"
++ compiler: clang-3.6
++ env: CONFIG_OPTS="no-shared no-asm enable-asan enable-rc5 enable-md2"
- os: linux
compiler: gcc-5
- env: CONFIG_OPTS="no-shared no-asm -fno-sanitize-recover -DPEDANTIC -fsanitize=address -fsanitize=undefined enable-rc5 enable-md2"
-+ env: CONFIG_OPTS="no-asm enable-rc5 enable-md2 -DPEDANTIC"
++ env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 -DPEDANTIC"
- os: linux
compiler: i686-w64-mingw32-gcc
env: CONFIG_OPTS="no-pic"
-@@ -60,34 +62,24 @@ matrix:
+@@ -60,34 +58,24 @@ matrix:
before_script:
- sh .travis-create-release.sh $TRAVIS_OS_NAME
- tar -xvzf _srcdist.tar.gz
@@ -183,7 +168,7 @@
- make
- if [ -z "$BUILDONLY" ]; then
if [ -n "$CROSS_COMPILE" ]; then
-@@ -97,6 +89,10 @@ script:
+@@ -97,6 +85,10 @@ script:
else
make build_tests;
fi
@@ -611,7 +596,7 @@
bn_asm_src => "bn_asm.c armv8-mont.S",
aes_asm_src => "aes_core.c aes_cbc.c aesv8-armx.S vpaes-armv8.S",
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
-index de591c9..86dd411 100644
+index de591c9..e28fb12 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -9,15 +9,39 @@ sub vc_win64a_info {
@@ -711,6 +696,19 @@
bn_ops => "RC4_CHAR SIXTY_FOUR_BIT_LONG",
thread_scheme => "pthreads",
perlasm_scheme => "64",
+@@ -402,9 +399,9 @@ sub vms_info {
+ # crypto/sha/sha_lcl.h.
+ # - originally there were 32-bit hpux-parisc2-* targets. They were
+ # scrapped, because a) they were not interchangeable with other 32-bit
+-# targets; a) when critical 32-bit assembly modules detect if they
+-# are executed on PA-RISC 2.0 and thus adequate performance is
+-# provided.
++# targets; b) performance-critical 32-bit assembly modules implement
++# even PA-RISC 2.0-specific code paths, which are chosen at run-time,
++# thus adequate performance is provided even with PA-RISC 1.1 build.
+ # <appro at fy.chalmers.se>
+ "hpux-parisc-gcc" => {
+ inherit_from => [ "BASE_unix" ],
@@ -571,23 +568,18 @@ sub vms_info {
bn_ops => "BN_LLONG",
},
@@ -2131,7 +2129,7 @@
SET FILE/PROT=(S:RWED,O:RWED,G:RE,W:RE) $script
PURGE $script
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
-index ed64e65..34971a9 100644
+index ed64e65..6dbed43 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -84,13 +84,17 @@ DEPS={- join(" ", map { (my $x = $_) =~ s|\.o$|$depext|; $x; }
@@ -2317,15 +2315,17 @@
NAME=`echo $$fn | tr [a-z] [A-Z]`; \
suf=`eval "echo $$OUTSUFFIX"`; \
top=`eval "echo $$OUTTOP"`; \
-@@ -605,7 +627,7 @@ install_html_docs:
+@@ -605,8 +627,8 @@ install_html_docs:
OUTSUFFIX='.$(HTMLSUFFIX)'; \
OUTTOP="$(DESTDIR)$(HTMLDIR)"; \
GENERATE="pod2html --podroot=$(SRCDIR)/doc --htmldir=.. \
- --podpath=apps:crypto:ssl \
+- | sed -e 's|href=\"http://man.he.net/man|href=\"../man|g'"; \
+ --podpath=apps:crypto:ssl --title=\$$Name \
- | sed -e 's|href=\"http://man.he.net/man|href=\"../man|g'"; \
++ | perl -pe 's|href=\"http://man.he.net/man|href=\"../man|g; s|href=\"(.*/man.*)(?<!\.html)\">|href=\"\$$1.html\">|g;'"; \
$(PROCESS_PODS)
+ uninstall_html_docs:
@@ -621,16 +643,13 @@ uninstall_html_docs:
update: generate errors ordinals
@@ -2447,7 +2447,7 @@
( trap "rm -f \$@.*" INT 0; \\
$generator \$@.S; \\
- \$(CC) \$(CFLAGS) $incs -E -P \$@.S > \$@.i && mv -f \$@.i \$@ )
-+ \$(CC) \$(CFLAGS) $incs -E \$@.S | \\
++ \$(CC) $incs \$(CFLAGS) -E \$@.S | \\
+ \$(PERL) -ne '/^#(line)?\\s*[0-9]+/ or print' > \$@.i && \\
+ mv -f \$@.i \$@ )
EOF
@@ -2458,11 +2458,36 @@
return <<"EOF";
$args{src}: $args{generator}->[0] $deps
- \$(CC) \$(CFLAGS) $incs -E -P \$< > \$@
-+ \$(CC) \$(CFLAGS) $incs -E \$< | \\
++ \$(CC) $incs \$(CFLAGS) -E \$< | \\
+ \$(PERL) -ne '/^#(line)?\\s*[0-9]+/ or print' > \$@
EOF
}
}
+@@ -879,7 +918,7 @@ EOF
+ if (!$disabled{makedepend} && $makedepprog =~ /\/makedepend/) {
+ $recipe .= <<"EOF";
+ $obj$depext: $deps
+- -\$(MAKEDEPEND) -f- -o"|$obj$objext" -- \$(CFLAGS) $ecflags$incs -- $srcs \\
++ -\$(MAKEDEPEND) -f- -o"|$obj$objext" -- $incs \$(CFLAGS) $ecflags -- $srcs \\
+ >\$\@.tmp 2>/dev/null
+ -\$(PERL) -i -pe 's/^.*\\|//; s/ \\/(\\\\.|[^ ])*//; \$\$_ = undef if (/: *\$\$/ || /^(#.*| *)\$\$/); \$\$_.="\\n" unless !defined(\$\$_) or /\\R\$\$/g;' \$\@.tmp
+ \@if cmp \$\@.tmp \$\@ > /dev/null 2> /dev/null; then \\
+@@ -893,13 +932,13 @@ EOF
+ if ($disabled{makedepend} || $makedepprog =~ /\/makedepend/) {
+ $recipe .= <<"EOF";
+ $obj$objext: $deps
+- \$(CC) \$(CFLAGS) $ecflags$incs -c -o \$\@ $srcs
++ \$(CC) $incs \$(CFLAGS) $ecflags -c -o \$\@ $srcs
+ EOF
+ }
+ if (!$disabled{makedepend} && $makedepprog !~ /\/makedepend/) {
+ $recipe .= <<"EOF";
+ $obj$objext: $deps
+- \$(CC) \$(CFLAGS) $ecflags$incs -MMD -MF $obj$depext.tmp -MT \$\@ -c -o \$\@ $srcs
++ \$(CC) $incs \$(CFLAGS) $ecflags -MMD -MF $obj$depext.tmp -MT \$\@ -c -o \$\@ $srcs
+ \@touch $obj$depext.tmp
+ \@if cmp $obj$depext.tmp $obj$depext > /dev/null 2> /dev/null; then \\
+ rm -f $obj$depext.tmp; \\
@@ -939,15 +978,15 @@ EOF
$target: $lib$libext $deps $ordinalsfile
\$(MAKE) -f \$(SRCDIR)/Makefile.shared -e \\
@@ -2500,7 +2525,7 @@
APPNAME=$bin$exeext OBJECTS="$objs" \\
LIBDEPS='\$(PLIB_LDFLAGS) '"$linklibs"' \$(EX_LIBS)' \\
CC='\$(CC)' CFLAGS='\$(CFLAGS) \$(BIN_CFLAGS)' \\
-@@ -1034,5 +1073,40 @@ $script: $sources
+@@ -1034,5 +1073,37 @@ $script: $sources
chmod a+x $script
EOF
}
@@ -2515,14 +2540,11 @@
+
+ foreach my $type (("dso", "lib", "bin", "script")) {
+ next unless defined($unified_info{dirinfo}->{$dir}->{products}->{$type});
-+ if ($type eq "lib") {
-+ foreach my $lib (@{$unified_info{dirinfo}->{$dir}->{products}->{$type}}) {
-+ push @actions, <<"EOF";
-+ \$(AR) $lib$libext \$\?
-+ \$(RANLIB) $lib$libext || echo Never mind.
-+EOF
-+ }
-+ } else {
++ # For lib object files, we could update the library. However, it
++ # was decided that it's enough to build the directory local object
++ # files, so we don't need to add any actions, and the dependencies
++ # are already taken care of.
++ if ($type ne "lib") {
+ foreach my $prod (@{$unified_info{dirinfo}->{$dir}->{products}->{$type}}) {
+ if (dirname($prod) eq $dir) {
+ push @deps, $prod.$extinfo{$type};
@@ -2542,7 +2564,7 @@
"" # Important! This becomes part of the template result.
-}
diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl
-index 0c043a0..0d21c50 100644
+index 0c043a0..fa430b6 100644
--- a/Configurations/windows-makefile.tmpl
+++ b/Configurations/windows-makefile.tmpl
@@ -19,10 +19,14 @@
@@ -2562,7 +2584,7 @@
sub shlib {
return () if $disabled{shared};
-@@ -56,16 +60,30 @@ SHLIB_VERSION_NUMBER={- $config{shlib_version_number} -}
+@@ -56,45 +60,78 @@ SHLIB_VERSION_NUMBER={- $config{shlib_version_number} -}
LIBS={- join(" ", map { $_.$libext } @{$unified_info{libraries}}) -}
SHLIBS={- join(" ", map { shlib($_) } @{$unified_info{libraries}}) -}
@@ -2593,8 +2615,80 @@
# Do not edit these manually. Use Configure with --prefix or --openssldir
# to change this! Short explanation in the top comment in Configure
-@@ -127,50 +145,68 @@ PROCESSOR= {- $config{processor} -}
+-INSTALLTOP={- # $prefix is used in the OPENSSLDIR perl snippet
+- #
+- our $prefix = $config{prefix} || "$win_installroot\\OpenSSL";
+- $prefix -}
+-OPENSSLDIR={- #
+- # The logic here is that if no --openssldir was given,
+- # OPENSSLDIR will get the value from $prefix plus "/ssl".
+- # If --openssldir was given and the value is an absolute
+- # path, OPENSSLDIR will get its value without change.
+- # If the value from --openssldir is a relative path,
+- # OPENSSLDIR will get $prefix with the --openssldir
+- # value appended as a subdirectory.
+- #
+- use File::Spec::Functions;
+- our $openssldir =
+- $config{openssldir} ?
+- (file_name_is_absolute($config{openssldir}) ?
+- $config{openssldir}
+- : catdir($prefix, $config{openssldir}))
+- : "$win_commonroot\\SSL";
+- $openssldir -}
++INSTALLTOP_dev={- # $prefix is used in the OPENSSLDIR perl snippet
++ #
++ use File::Spec::Functions qw(:DEFAULT splitpath);
++ our $prefix = $config{prefix} || "$win_installroot\\OpenSSL";
++ our ($prefix_dev, $prefix_dir, $prefix_file) =
++ splitpath($prefix, 1);
++ $prefix_dev -}
++INSTALLTOP_dir={- $prefix_dir -}
++OPENSSLDIR_dev={- #
++ # The logic here is that if no --openssldir was given,
++ # OPENSSLDIR will get the value from $prefix plus "/ssl".
++ # If --openssldir was given and the value is an absolute
++ # path, OPENSSLDIR will get its value without change.
++ # If the value from --openssldir is a relative path,
++ # OPENSSLDIR will get $prefix with the --openssldir
++ # value appended as a subdirectory.
++ #
++ use File::Spec::Functions qw(:DEFAULT splitpath);
++ my $openssldir =
++ $config{openssldir} ?
++ (file_name_is_absolute($config{openssldir}) ?
++ $config{openssldir}
++ : catdir($prefix, $config{openssldir}))
++ : "$win_commonroot\\SSL";
++ our ($openssldir_dev, $openssldir_dir, $openssldir_file) =
++ splitpath($openssldir, 1);
++ $openssldir_dev -}
++OPENSSLDIR_dir={- $openssldir_dir -}
+ LIBDIR={- our $libdir = $config{libdir} || "lib";
+ $libdir -}
+-ENGINESDIR={- use File::Spec::Functions;
+- our $enginesdir = catdir($prefix,$libdir,"engines");
+- $enginesdir -}
++ENGINESDIR_dev={- use File::Spec::Functions qw(:DEFAULT splitpath);
++ my $enginesdir = catdir($prefix,$libdir,"engines");
++ our ($enginesdir_dev, $enginesdir_dir, $enginesdir_file) =
++ splitpath($enginesdir, 1);
++ $enginesdir_dev -}
++ENGINESDIR_dir={- $enginesdir_dir -}
++!IF "$(DESTDIR)" != ""
++INSTALLTOP=$(DESTDIR)$(INSTALLTOP_dir)
++OPENSSLDIR=$(DESTDIR)$(OPENSSLDIR_dir)
++ENGINESDIR=$(DESTDIR)$(ENGINESDIR_dir)
++!ELSE
++INSTALLTOP=$(INSTALLTOP_dev)$(INSTALLTOP_dir)
++OPENSSLDIR=$(OPENSSLDIR_dev)$(OPENSSLDIR_dir)
++ENGINESDIR=$(ENGINESDIR_dev)$(ENGINESDIR_dir)
++!ENDIF
+ CC={- $target{cc} -}
+ CFLAGS={- join(" ",(map { "-D".$_} @{$target{defines}}, @{$config{defines}})) -} {- join(" ", quotify_l("-DENGINESDIR=\"$enginesdir\"", "-DOPENSSLDIR=\"$openssldir\"")) -} {- $target{cflags} -} {- $config{cflags} -}
+@@ -127,50 +164,68 @@ PROCESSOR= {- $config{processor} -}
+
# The main targets ###################################################
-all: configdata.pm build_libs_nodep build_engines_nodep build_apps_nodep depend
@@ -2683,7 +2777,7 @@
depend:
-@@ -180,53 +216,77 @@ install_sw: all install_dev install_engines install_runtime
+@@ -180,53 +235,77 @@ install_sw: all install_dev install_engines install_runtime
uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev
@@ -2696,33 +2790,36 @@
install_ssldirs:
- @$(PERL) $(SRCDIR)\util\mkdir-p.pl "$(DESTDIR)$(OPENSSLDIR)\certs"
- @$(PERL) $(SRCDIR)\util\mkdir-p.pl "$(DESTDIR)$(OPENSSLDIR)\private"
-+ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(OPENSSLDIR)\certs"
-+ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(OPENSSLDIR)\private"
-+ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(OPENSSLDIR)\misc"
++ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(OPENSSLDIR)\certs"
++ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(OPENSSLDIR)\private"
++ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(OPENSSLDIR)\misc"
+ @"$(PERL)" "$(SRCDIR)\util\copy.pl" "$(SRCDIR)\apps\openssl.cnf" \
-+ "$(DESTDIR)$(OPENSSLDIR)"
++ "$(OPENSSLDIR)"
+ @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(MISC_SCRIPTS) \
-+ "$(DESTDIR)$(OPENSSLDIR)\misc"
++ "$(OPENSSLDIR)\misc"
install_dev:
@if "$(INSTALLTOP)"=="" ( echo INSTALLTOP should not be empty & exit 1 )
@echo *** Installing development files
- @$(PERL) $(SRCDIR)\util\mkdir-p.pl "$(DESTDIR)$(INSTALLTOP)\include\openssl"
- @$(PERL) $(SRCDIR)\util\copy.pl $(SRCDIR)\include\openssl\*.h \
-+ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(INSTALLTOP)\include\openssl"
-+ @"$(PERL)" "$(SRCDIR)\util\copy.pl" "$(SRCDIR)\include\openssl\*.h" \
- "$(DESTDIR)$(INSTALLTOP)\include\openssl"
+- "$(DESTDIR)$(INSTALLTOP)\include\openssl"
- @$(PERL) $(SRCDIR)\util\copy.pl $(BLDDIR)\include\openssl\*.h \
-+ @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(BLDDIR)\include\openssl\*.h \
- "$(DESTDIR)$(INSTALLTOP)\include\openssl"
+- "$(DESTDIR)$(INSTALLTOP)\include\openssl"
- @$(PERL) $(SRCDIR)\util\mkdir-p.pl "$(DESTDIR)$(INSTALLTOP)\$(LIBDIR)"
- @$(PERL) $(SRCDIR)\util\copy.pl $(LIBS) \
-+ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(INSTALLTOP)\$(LIBDIR)"
+- "$(DESTDIR)$(INSTALLTOP)\$(LIBDIR)"
++ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\include\openssl"
++ @"$(PERL)" "$(SRCDIR)\util\copy.pl" "$(SRCDIR)\include\openssl\*.h" \
++ "$(INSTALLTOP)\include\openssl"
++ @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(BLDDIR)\include\openssl\*.h \
++ "$(INSTALLTOP)\include\openssl"
++ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\$(LIBDIR)"
+ @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(LIBS) \
- "$(DESTDIR)$(INSTALLTOP)\$(LIBDIR)"
++ "$(INSTALLTOP)\$(LIBDIR)"
+ @if "$(SHLIBS)"=="" \
+ "$(PERL)" "$(SRCDIR)\util\copy.pl" ossl_static.pdb \
-+ "$(DESTDIR)$(INSTALLTOP)\$(LIBDIR)"
++ "$(INSTALLTOP)\$(LIBDIR)"
uninstall_dev:
@@ -2730,12 +2827,12 @@
@if "$(INSTALLTOP)"=="" ( echo INSTALLTOP should not be empty & exit 1 )
@echo *** Installing engines
- @$(PERL) $(SRCDIR)\util\mkdir-p.pl "$(DESTDIR)$(ENGINESDIR)"
-+ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(ENGINESDIR)"
-+ @if not "$(ENGINES)"=="" \
-+ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(ENGINES) "$(DESTDIR)$(ENGINESDIR)"
++ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(ENGINESDIR)"
@if not "$(ENGINES)"=="" \
- $(PERL) $(SRCDIR)\util\copy.pl $(ENGINES) "$(DESTDIR)$(ENGINESDIR)"
-+ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(ENGINEPDBS) "$(DESTDIR)$(ENGINESDIR)"
++ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(ENGINES) "$(ENGINESDIR)"
++ @if not "$(ENGINES)"=="" \
++ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(ENGINEPDBS) "$(ENGINESDIR)"
uninstall_engines:
@@ -2743,26 +2840,26 @@
@if "$(INSTALLTOP)"=="" ( echo INSTALLTOP should not be empty & exit 1 )
@echo *** Installing runtime files
- @$(PERL) $(SRCDIR)\util\mkdir-p.pl "$(DESTDIR)$(INSTALLTOP)\bin"
-+ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(INSTALLTOP)\bin"
++ @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\bin"
++ @if not "$(SHLIBS)"=="" \
++ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(SHLIBS) "$(INSTALLTOP)\bin"
@if not "$(SHLIBS)"=="" \
- $(PERL) $(SRCDIR)\util\copy.pl $(SHLIBS) "$(DESTDIR)$(INSTALLTOP)\bin"
- @$(PERL) $(SRCDIR)\util\copy.pl $(PROGRAMS) "$(DESTDIR)$(INSTALLTOP)\bin"
-+ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(SHLIBS) "$(DESTDIR)$(INSTALLTOP)\bin"
-+ @if not "$(SHLIBS)"=="" \
+ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(SHLIBPDBS) \
-+ "$(DESTDIR)$(INSTALLTOP)\bin"
++ "$(INSTALLTOP)\bin"
+ @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(PROGRAMS) \
-+ "$(DESTDIR)$(INSTALLTOP)\bin"
++ "$(INSTALLTOP)\bin"
+ @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(PROGRAMPDBS) \
-+ "$(DESTDIR)$(INSTALLTOP)\bin"
++ "$(INSTALLTOP)\bin"
+ @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(BIN_SCRIPTS) \
-+ "$(DESTDIR)$(INSTALLTOP)\bin"
++ "$(INSTALLTOP)\bin"
uninstall_runtime:
+install_html_docs:
+ "$(PERL)" "$(SRCDIR)\util\process_docs.pl" \
-+ "--destdir=$(DESTDIR)$(INSTALLTOP)\html" --type=html
++ "--destdir=$(INSTALLTOP)\html" --type=html
+
+uninstall_html_docs:
+
@@ -2777,7 +2874,7 @@
@echo "**************************************************"
@echo "*** ***"
@echo "*** Please run the same make command again ***"
-@@ -250,18 +310,31 @@ configdata.pm: {- $config{build_file_template} -} $(SRCDIR)\Configure
+@@ -250,18 +329,31 @@ configdata.pm: {- $config{build_file_template} -} $(SRCDIR)\Configure
sub generatesrc {
my %args = @_;
(my $target = $args{src}) =~ s/\.[sS]$/.asm/;
@@ -2816,7 +2913,7 @@
} elsif ($args{generator}->[0] =~ /\.S$/) {
$generator = undef;
} else {
-@@ -273,9 +346,8 @@ EOF
+@@ -273,25 +365,23 @@ EOF
# end up generating foo.s in two steps.
if ($args{src} =~ /\.S$/) {
return <<"EOF";
@@ -2825,9 +2922,10 @@
set ASM=\$(AS)
- set CC=\$(CC)
$generator \$@.S
- \$(CC) \$(CFLAGS) $incs /EP /C \$@.S > \$@.i && move /Y \$@.i \$@
+- \$(CC) \$(CFLAGS) $incs /EP /C \$@.S > \$@.i && move /Y \$@.i \$@
++ \$(CC) $incs \$(CFLAGS) /EP /C \$@.S > \$@.i && move /Y \$@.i \$@
del /Q \$@.S
-@@ -283,15 +355,14 @@ EOF
+ EOF
}
# Otherwise....
return <<"EOF";
@@ -2842,11 +2940,11 @@
-$target: $args{generator}->[0] $deps
- \$(CC) \$(CFLAGS) $incs /EP /C $args{generator}->[0] > \$@.i && move /Y \$@.i \$@
+$target: "$args{generator}->[0]" $deps
-+ \$(CC) \$(CFLAGS) $incs /EP /C "$args{generator}->[0]" > \$@.i && move /Y \$@.i \$@
++ \$(CC) $incs \$(CFLAGS) /EP /C "$args{generator}->[0]" > \$@.i && move /Y \$@.i \$@
EOF
}
}
-@@ -301,12 +372,12 @@ EOF
+@@ -301,12 +391,12 @@ EOF
my $obj = $args{obj};
my @srcs = map { (my $x = $_) =~ s/\.s$/.asm/; $x
} ( @{$args{srcs}} );
@@ -2863,7 +2961,7 @@
}
}
my $ecflags = { lib => '$(LIB_CFLAGS)',
-@@ -322,7 +393,7 @@ EOF
+@@ -322,20 +412,20 @@ EOF
return <<"EOF" if (!$disabled{makedepend});
$obj$depext: $deps
\$(CC) \$(CFLAGS) $ecflags$inc /Zs /showIncludes $srcs 2>&1 | \\
@@ -2872,7 +2970,22 @@
chomp;
s/^Note: including file: *//;
\$\$collect{\$\$_} = 1;
-@@ -362,18 +433,18 @@ EOF
+ END { print '$obj$objext: ',join(" ", sort keys \%collect),"\\n" }
+ <<
+ $obj$objext: $obj$depext
+- \$(CC) \$(CFLAGS) $ecflags$incs -c \$(COUTFLAG)\$\@ @<<
++ \$(CC) $incs \$(CFLAGS) $ecflags -c \$(COUTFLAG)\$\@ @<<
+ $srcs
+ <<
+ EOF
+ return <<"EOF" if ($disabled{makedepend});
+ $obj$objext: $deps
+- \$(CC) \$(CFLAGS) $ecflags$incs -c \$(COUTFLAG)\$\@ $srcs
++ \$(CC) $incs \$(CFLAGS) $ecflags -c \$(COUTFLAG)\$\@ $srcs
+ EOF
+ }
+
+@@ -362,18 +452,18 @@ EOF
rel2abs($config{builddir}));
my $target = shlib_import($lib);
return <<"EOF"
@@ -2897,7 +3010,16 @@
COPY $shlib$shlibext apps
COPY $shlib$shlibext test
EOF
-@@ -436,15 +507,51 @@ EOF
+@@ -413,7 +503,7 @@ EOF
+ return <<"EOF";
+ $lib$libext: $deps
+ \$(AR) \$(ARFLAGS) \$(AROUTFLAG)$lib$libext @<<
+-\$\?
++\$**
+ <<
+ EOF
+ }
+@@ -436,15 +526,46 @@ EOF
sub in2script {
my %args = @_;
my $script = $args{script};
@@ -2924,20 +3046,15 @@
+
+ foreach my $type (("dso", "lib", "bin", "script")) {
+ next unless defined($unified_info{dirinfo}->{$dir}->{products}->{$type});
-+ if ($type eq "lib") {
-+ foreach my $lib (@{$unified_info{dirinfo}->{$dir}->{products}->{$type}}) {
-+ push @actions, <<"EOF";
-+ \$(AR) \$(ARFLAGS) \$(AROUTFLAG)$lib$libext @<<
-+\$\?
-+<<
-+EOF
-+ }
-+ } else {
++ # For lib object files, we could update the library. However,
++ # LIB on Windows doesn't work that way, so we won't create any
++ # actions for it, and the dependencies are already taken care of.
++ if ($type ne "lib") {
+ foreach my $prod (@{$unified_info{dirinfo}->{$dir}->{products}->{$type}}) {
+ if (dirname($prod) eq $dir) {
+ push @deps, $prod.$extinfo{$type};
+ } else {
-+ push @actions, "\t@ : No support to produce $type ".join(", ", @{$unified_info{dirinfo}->{$dir}->{products}->{$type}});
++ push @actions, "\t at rem No support to produce $type ".join(", ", @{$unified_info{dirinfo}->{$dir}->{products}->{$type}});
+ }
+ }
+ }
@@ -2952,7 +3069,7 @@
"" # Important! This becomes part of the template result.
-}
diff --git a/Configure b/Configure
-index a7b9ed5..ee0b4a7 100755
+index a7b9ed5..f8a6ec2 100755
--- a/Configure
+++ b/Configure
@@ -1,5 +1,11 @@
@@ -3054,6 +3171,15 @@
print "Configuring OpenSSL version $config{version} (0x$config{version_num})\n";
+@@ -222,7 +245,7 @@ my $default_ranlib;
+ $config{fips}=0;
+
+ # Top level directories to build
+-$config{dirs} = [ "crypto", "ssl", "engines", "apps", "test", "tools" ];
++$config{dirs} = [ "crypto", "ssl", "engines", "apps", "test", "tools", "fuzz" ];
+ # crypto/ subdirectories to build
+ $config{sdirs} = [
+ "objects",
@@ -238,12 +261,13 @@ $config{sdirs} = [
my @tls = qw(ssl3 tls1 tls1_1 tls1_2);
my @dtls = qw(dtls1 dtls1_2);
@@ -3301,19 +3427,14 @@
# if there's a chance that's possible
if ($target{thread_scheme} eq "(unknown)") {
# If the user asked for "threads" and we don't have internal
-@@ -1030,6 +1045,29 @@ if ($disabled{"dynamic-engine"}) {
+@@ -1030,6 +1045,24 @@ if ($disabled{"dynamic-engine"}) {
$config{dynamic_engines} = 1;
}
+unless ($disabled{"fuzz-libfuzzer"}) {
-+ push @{$config{dirs}}, "fuzz";
+ $config{cflags} .= "-fsanitize-coverage=edge,indirect-calls ";
+}
+
-+unless ($disabled{"fuzz-afl"}) {
-+ push @{$config{dirs}}, "fuzz";
-+}
-+
+unless ($disabled{asan}) {
+ $config{cflags} .= "-fsanitize=address ";
+}
@@ -3331,7 +3452,7 @@
#
# Platform fix-ups
#
-@@ -1239,12 +1277,27 @@ my $buildinfo_debug = defined($ENV{CONFIGURE_DEBUG_BUILDINFO});
+@@ -1239,12 +1272,27 @@ my $buildinfo_debug = defined($ENV{CONFIGURE_DEBUG_BUILDINFO});
if ($builder eq "unified") {
# Store the name of the template file we will build the build file from
# in %config. This may be useful for the build file itself.
@@ -3365,7 +3486,17 @@
$config{build_file_template} = $build_file_template;
use lib catdir(dirname(__FILE__),"util");
-@@ -1334,6 +1387,7 @@ if ($builder eq "unified") {
+@@ -1284,6 +1332,9 @@ if ($builder eq "unified") {
+ }
+
+ my @build_infos = ( [ ".", "build.info" ] );
++ push @build_infos, [ "fuzz", "build.info.fuzz" ]
++ unless $disabled{"fuzz-afl"} && $disabled{"fuzz-libfuzzer"};
++
+ foreach (@{$config{dirs}}) {
+ push @build_infos, [ $_, "build.info" ]
+ if (-f catfile($srcdir, $_, "build.info"));
+@@ -1334,6 +1385,7 @@ if ($builder eq "unified") {
$template->fill_in(HASH => { config => \%config,
target => \%target,
disabled => \%disabled,
@@ -3373,7 +3504,7 @@
builddir => abs2rel($buildd, $blddir),
sourcedir => abs2rel($sourced, $blddir),
buildtop => abs2rel($blddir, $blddir),
-@@ -1374,47 +1428,47 @@ if ($builder eq "unified") {
+@@ -1374,47 +1426,47 @@ if ($builder eq "unified") {
=> sub { die "ENDIF out of scope" if ! @skip;
pop @skip; },
qr/^\s*PROGRAMS\s*=\s*(.*)\s*$/
@@ -3435,7 +3566,7 @@
if !@skip || $skip[$#skip] > 0 },
qr/^\s*BEGINRAW\[((?:\\.|[^\\\]])+)\]\s*$/
=> sub {
-@@ -1628,9 +1682,15 @@ EOF
+@@ -1628,9 +1680,15 @@ EOF
foreach (keys %depends) {
my $dest = $_;
@@ -3454,7 +3585,7 @@
}
foreach (@{$depends{$dest}}) {
my $d = cleanfile($sourced, $_, $blddir);
-@@ -1643,7 +1703,7 @@ EOF
+@@ -1643,7 +1701,7 @@ EOF
if (! -f $d
|| (grep { $d eq $_ }
map { cleanfile($srcdir, $_, $blddir) }
@@ -3463,7 +3594,7 @@
$d = cleanfile($buildd, $_, $blddir);
}
# Take note if the file to depend on is being renamed
-@@ -1651,9 +1711,9 @@ EOF
+@@ -1651,26 +1709,35 @@ EOF
$d = $unified_info{rename}->{$d};
}
$unified_info{depends}->{$ddest}->{$d} = 1;
@@ -3474,9 +3605,13 @@
+ # sure it can get included
+ if ($dest ne "" && $d =~ /\.(h|pm)$/) {
my $i = dirname($d);
- push @{$unified_info{includes}->{$ddest}}, $i
- unless grep { $_ eq $i } @{$unified_info{includes}->{$ddest}};
-@@ -1663,9 +1723,15 @@ EOF
+- push @{$unified_info{includes}->{$ddest}}, $i
+- unless grep { $_ eq $i } @{$unified_info{includes}->{$ddest}};
++ push @{$unified_info{includes}->{$ddest}->{source}}, $i
++ unless grep { $_ eq $i } @{$unified_info{includes}->{$ddest}->{source}};
+ }
+ }
+ }
foreach (keys %includes) {
my $dest = $_;
@@ -3494,8 +3629,42 @@
+ }
}
foreach (@{$includes{$dest}}) {
- my $i = cleandir($sourced, $_, $blddir);
-@@ -1823,7 +1889,7 @@ print OUT "1;\n";
+- my $i = cleandir($sourced, $_, $blddir);
+- push @{$unified_info{includes}->{$ddest}}, $i
+- unless grep { $_ eq $i } @{$unified_info{includes}->{$ddest}};
++ my $is = cleandir($sourced, $_, $blddir);
++ my $ib = cleandir($buildd, $_, $blddir);
++ push @{$unified_info{includes}->{$ddest}->{source}}, $is
++ unless grep { $_ eq $is } @{$unified_info{includes}->{$ddest}->{source}};
++ push @{$unified_info{includes}->{$ddest}->{build}}, $ib
++ unless grep { $_ eq $ib } @{$unified_info{includes}->{$ddest}->{build}};
+ }
+ }
+ }
+@@ -1687,6 +1754,22 @@ EOF
+ [ sort keys %{$unified_info{$l1}->{$l2}} ];
+ }
+ }
++ # Includes
++ foreach my $dest (sort keys %{$unified_info{includes}}) {
++ if (defined($unified_info{includes}->{$dest}->{build})) {
++ my @source_includes =
++ ( @{$unified_info{includes}->{$dest}->{source}} );
++ $unified_info{includes}->{$dest} =
++ [ @{$unified_info{includes}->{$dest}->{build}} ];
++ foreach my $inc (@source_includes) {
++ push @{$unified_info{includes}->{$dest}}, $inc
++ unless grep { $_ eq $inc } @{$unified_info{includes}->{$dest}};
++ }
++ } else {
++ $unified_info{includes}->{$dest} =
++ [ @{$unified_info{includes}->{$dest}->{source}} ];
++ }
++ }
+ }
+
+ # For the schemes that need it, we provide the old *_obj configs
+@@ -1823,7 +1906,7 @@ print OUT "1;\n";
close(OUT);
@@ -3504,7 +3673,7 @@
print "CFLAG =$target{cflags} $config{cflags}\n";
print "SHARED_CFLAG =$target{shared_cflag}\n";
print "DEFINES =",join(" ", @{$target{defines}}, @{$config{defines}}),"\n";
-@@ -1851,7 +1917,9 @@ print "CHACHA_ENC =$target{chacha_obj}\n";
+@@ -1851,7 +1934,9 @@ print "CHACHA_ENC =$target{chacha_obj}\n";
print "POLY1305_OBJ =$target{poly1305_obj}\n";
print "BLAKE2_OBJ =$target{blake2_obj}\n";
print "PROCESSOR =$config{processor}\n";
@@ -3515,7 +3684,7 @@
print "ARFLAGS =$target{arflags}\n";
print "PERL =$config{perl}\n";
print "\n";
-@@ -1861,59 +1929,12 @@ print "THIRTY_TWO_BIT mode\n" if $config{b32};
+@@ -1861,59 +1946,12 @@ print "THIRTY_TWO_BIT mode\n" if $config{b32};
print "BN_LLONG mode\n" if $config{bn_ll};
print "RC4 uses $config{rc4_int}\n" if $config{rc4_int} ne $def_int;
@@ -3575,7 +3744,7 @@
);
$builders{$builder}->($builder_platform, @builder_opts);
-@@ -1939,6 +1960,14 @@ or position independent code, please let us know (but please first make sure
+@@ -1939,6 +1977,14 @@ or position independent code, please let us know (but please first make sure
you have tried with a current version of OpenSSL).
EOF
@@ -3590,7 +3759,7 @@
exit(0);
######################################################################
-@@ -2104,8 +2133,8 @@ sub read_config {
+@@ -2104,8 +2150,8 @@ sub read_config {
}
@@ -3601,7 +3770,7 @@
# recursively
sub resolve_config {
my $target = shift;
-@@ -2158,7 +2187,7 @@ sub resolve_config {
+@@ -2158,7 +2204,7 @@ sub resolve_config {
# - If a value is a coderef, it will be executed with the list of
# inherited values as arguments.
# - If the corresponding key doesn't have a value at all or is the
@@ -3610,7 +3779,7 @@
# default combiner (below), and the result becomes this target's
# value.
# - Otherwise, this target's value is assumed to be a string that
-@@ -2266,13 +2295,34 @@ sub run_dofile
+@@ -2266,13 +2312,34 @@ sub run_dofile
foreach (@templates) {
die "Can't open $_, $!" unless -f $_;
}
@@ -3646,7 +3815,7 @@
# Configuration printer ##############################################
sub print_table_entry
-@@ -2400,22 +2450,6 @@ sub absolutedir {
+@@ -2400,22 +2467,6 @@ sub absolutedir {
return realpath($dir);
}
@@ -3669,7 +3838,7 @@
sub quotify {
my %processors = (
perl => sub { my $x = shift;
-@@ -2519,3 +2553,41 @@ sub collect_information {
+@@ -2519,3 +2570,41 @@ sub collect_information {
}
}
}
@@ -6119,7 +6288,7 @@
file = RAND_file_name(buffer, sizeof buffer);
#ifndef OPENSSL_NO_EGD
diff --git a/apps/apps.c b/apps/apps.c
-index 6d8c489..ec1cfe9 100644
+index 6d8c489..3230425 100644
--- a/apps/apps.c
+++ b/apps/apps.c
@@ -1,111 +1,10 @@
@@ -6304,6 +6473,24 @@
if (CONF_modules_load(config, NULL, 0) <= 0) {
BIO_printf(bio_err, "Error configuring OpenSSL modules\n");
+@@ -1025,7 +926,7 @@ void* app_malloc(int sz, const char *what)
+ }
+
+ /*
+- * Initialize or extend, if *certs != NULL, a certificate stack.
++ * Initialize or extend, if *certs != NULL, a certificate stack.
+ */
+ int load_certs(const char *file, STACK_OF(X509) **certs, int format,
+ const char *pass, const char *desc)
+@@ -1034,7 +935,7 @@ int load_certs(const char *file, STACK_OF(X509) **certs, int format,
+ }
+
+ /*
+- * Initialize or extend, if *crls != NULL, a certificate stack.
++ * Initialize or extend, if *crls != NULL, a certificate stack.
+ */
+ int load_crls(const char *file, STACK_OF(X509_CRL) **crls, int format,
+ const char *pass, const char *desc)
@@ -1085,6 +986,7 @@ int set_name_ex(unsigned long *flags, const char *arg)
{
static const NAME_EX_TBL ex_tbl[] = {
@@ -6774,23 +6961,22 @@
ERR_print_errors(bio_err);
goto end;
diff --git a/apps/build.info b/apps/build.info
-index 3baba66..c7dc19f 100644
+index 3baba66..ae64861 100644
--- a/apps/build.info
+++ b/apps/build.info
-@@ -1,4 +1,6 @@
+@@ -1,4 +1,5 @@
-{- use File::Spec::Functions qw/catdir rel2abs/; -}
-+{- use File::Spec::Functions qw/catdir rel2abs/;
-+ our $tsget_name = $config{target} =~ /^(VC|vms)-/ ? "tsget.pl" : "tsget";
++{- our $tsget_name = $config{target} =~ /^(VC|vms)-/ ? "tsget.pl" : "tsget";
+ "" -}
IF[{- !$disabled{apps} -}]
PROGRAMS=openssl
SOURCE[openssl]=\
-@@ -12,10 +14,10 @@ IF[{- !$disabled{apps} -}]
+@@ -12,10 +13,10 @@ IF[{- !$disabled{apps} -}]
apps.c opt.c s_cb.c s_socket.c \
app_rand.c \
{- $target{apps_aux_src} -}
- INCLUDE[openssl]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-+ INCLUDE[openssl]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[openssl]=.. ../include
DEPEND[openssl]=../libssl
- SCRIPTS=CA.pl tsget
@@ -10843,7 +11029,7 @@
for (i = 0; i < OSSL_NELEM(hash_table); i++) {
for (bp = hash_table[i]; bp; bp = nextbp) {
diff --git a/apps/req.c b/apps/req.c
-index 7f4a946..3e6cb07 100644
+index 7f4a946..f1ee951 100644
--- a/apps/req.c
+++ b/apps/req.c
@@ -1,58 +1,10 @@
@@ -10911,6 +11097,15 @@
*/
#include <stdio.h>
+@@ -375,7 +327,7 @@ int req_main(int argc, char **argv)
+ if (!nmflag_set)
+ nmflag = XN_FLAG_ONELINE;
+
+- /* TODO: simplify this as pkey is still always NULL here */
++ /* TODO: simplify this as pkey is still always NULL here */
+ private = newreq && (pkey == NULL) ? 1 : 0;
+
+ if (!app_passwd(passargin, passargout, &passin, &passout)) {
@@ -386,7 +338,7 @@ int req_main(int argc, char **argv)
if (verbose)
BIO_printf(bio_err, "Using configuration from %s\n", template);
@@ -13637,7 +13832,7 @@
#ifndef INCLUDED_TIMEOUTS_H
diff --git a/apps/ts.c b/apps/ts.c
-index 70a9013..80f14bd 100644
+index 70a9013..1ae57d2 100644
--- a/apps/ts.c
+++ b/apps/ts.c
@@ -1,59 +1,10 @@
@@ -13746,6 +13941,24 @@
goto end;
/* Check parameter consistency and execute the appropriate function. */
+@@ -374,7 +323,7 @@ int ts_main(int argc, char **argv)
+ if ((in == NULL) || !EXACTLY_ONE(queryfile, data, digest))
+ goto opthelp;
+ ret = !verify_command(data, digest, queryfile, in, token_in,
+- CApath, CAfile, untrusted,
++ CApath, CAfile, untrusted,
+ vpmtouched ? vpm : NULL);
+ }
+
+@@ -1015,7 +964,7 @@ static X509_STORE *create_cert_store(char *CApath, char *CAfile, X509_VERIFY_PAR
+ }
+ }
+
+- if (vpm != NULL)
++ if (vpm != NULL)
+ X509_STORE_set1_param(cert_ctx, vpm);
+
+ return cert_ctx;
@@ -1029,4 +978,4 @@ static int verify_cb(int ok, X509_STORE_CTX *ctx)
{
return ok;
@@ -14425,17 +14638,18 @@
notifications:
- provider: Email
diff --git a/build.info b/build.info
-index ab941f8..6f057cd 100644
+index ab941f8..cfaa712 100644
--- a/build.info
+++ b/build.info
-@@ -2,10 +2,22 @@
+@@ -1,11 +1,22 @@
+-{- use File::Spec::Functions qw/catdir rel2abs/; -}
LIBS=libcrypto libssl
ORDINALS[libcrypto]=crypto
ORDINALS[libssl]=ssl
-INCLUDE[libcrypto]={- rel2abs(catdir($builddir,"include")) -} . crypto/include include
-INCLUDE[libssl]={- rel2abs(catdir($builddir,"include")) -} . include
-+INCLUDE[libcrypto]="{- rel2abs(catdir($builddir,"include")) -}" . crypto/include include
-+INCLUDE[libssl]="{- rel2abs(catdir($builddir,"include")) -}" . include
++INCLUDE[libcrypto]=. crypto/include include
++INCLUDE[libssl]=. include
DEPEND[libssl]=libcrypto
+# Empty DEPEND "indices" means the dependencies are expected to be built
@@ -15126,7 +15340,7 @@
#include <openssl/aes.h>
diff --git a/crypto/aes/aes_core.c b/crypto/aes/aes_core.c
-index 837d4fe..ef0fc51 100644
+index 837d4fe..69be3d8 100644
--- a/crypto/aes/aes_core.c
+++ b/crypto/aes/aes_core.c
@@ -1,3 +1,12 @@
@@ -15142,6 +15356,15 @@
/**
* rijndael-alg-fst.c
*
+@@ -1346,7 +1355,7 @@ int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
+ rk[j] = tpe ^ ROTATE(tpd,16) ^
+ ROTATE(tp9,24) ^ ROTATE(tpb,8);
+ #else
+- rk[j] = tpe ^ (tpd >> 16) ^ (tpd << 16) ^
++ rk[j] = tpe ^ (tpd >> 16) ^ (tpd << 16) ^
+ (tp9 >> 8) ^ (tp9 << 24) ^
+ (tpb >> 24) ^ (tpb << 8);
+ #endif
diff --git a/crypto/aes/aes_ecb.c b/crypto/aes/aes_ecb.c
index 6639c78..29bfc1a 100644
--- a/crypto/aes/aes_ecb.c
@@ -15517,7 +15740,7 @@
#include "internal/cryptlib.h"
diff --git a/crypto/aes/aes_x86core.c b/crypto/aes/aes_x86core.c
-index 1b64f5b..dd7e905 100644
+index 1b64f5b..95b49bb 100644
--- a/crypto/aes/aes_x86core.c
+++ b/crypto/aes/aes_x86core.c
@@ -1,3 +1,12 @@
@@ -15533,6 +15756,51 @@
/**
* rijndael-alg-fst.c
*
+@@ -612,7 +621,7 @@ int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
+ rk[j] = tpe ^ ROTATE(tpd,16) ^
+ ROTATE(tp9,8) ^ ROTATE(tpb,24);
+ #else
+- rk[j] = tpe ^ (tpd >> 16) ^ (tpd << 16) ^
++ rk[j] = tpe ^ (tpd >> 16) ^ (tpd << 16) ^
+ (tp9 >> 24) ^ (tp9 << 8) ^
+ (tpb >> 8) ^ (tpb << 24);
+ #endif
+@@ -901,7 +910,7 @@ void AES_decrypt(const unsigned char *in, unsigned char *out,
+ (u32)Td4[(s1 >> 16) & 0xff] << 16 ^
+ (u32)Td4[(s0 >> 24) ] << 24;
+
+- /* now do the linear transform using words */
++ /* now do the linear transform using words */
+ {
+ int i;
+ u32 tp1, tp2, tp4, tp8, tp9, tpb, tpd, tpe, m;
+@@ -925,7 +934,7 @@ void AES_decrypt(const unsigned char *in, unsigned char *out,
+ t[i] = tpe ^ ROTATE(tpd,16) ^
+ ROTATE(tp9,8) ^ ROTATE(tpb,24);
+ #else
+- t[i] = tpe ^ (tpd >> 16) ^ (tpd << 16) ^
++ t[i] = tpe ^ (tpd >> 16) ^ (tpd << 16) ^
+ (tp9 >> 24) ^ (tp9 << 8) ^
+ (tpb >> 8) ^ (tpb << 24);
+ #endif
+@@ -978,7 +987,7 @@ void AES_decrypt(const unsigned char *in, unsigned char *out,
+ (u32)Td4[(s1 >> 16) & 0xff] << 16 ^
+ (u32)Td4[(s0 >> 24) ] << 24;
+
+- /* now do the linear transform using words */
++ /* now do the linear transform using words */
+ {
+ int i;
+ u32 tp1, tp2, tp4, tp8, tp9, tpb, tpd, tpe, m;
+@@ -1002,7 +1011,7 @@ void AES_decrypt(const unsigned char *in, unsigned char *out,
+ t[i] = tpe ^ ROTATE(tpd,16) ^
+ ROTATE(tp9,8) ^ ROTATE(tpb,24);
+ #else
+- t[i] = tpe ^ (tpd >> 16) ^ (tpd << 16) ^
++ t[i] = tpe ^ (tpd >> 16) ^ (tpd << 16) ^
+ (tp9 >> 24) ^ (tp9 << 8) ^
+ (tpb >> 8) ^ (tpb << 24);
+ #endif
diff --git a/crypto/aes/asm/aes-586.pl b/crypto/aes/asm/aes-586.pl
index 5a7f1b4..1ba3565 100755
--- a/crypto/aes/asm/aes-586.pl
@@ -21235,7 +21503,7 @@
/* Internal ASN1 structures and functions: not for application use */
diff --git a/crypto/asn1/asn1_par.c b/crypto/asn1/asn1_par.c
-index e412820..1e17895 100644
+index e412820..4db3df9 100644
--- a/crypto/asn1/asn1_par.c
+++ b/crypto/asn1/asn1_par.c
@@ -1,58 +1,10 @@
@@ -21313,6 +21581,15 @@
op = p;
j = ASN1_get_object(&p, &len, &tag, &xclass, length);
if (j & 0x80) {
+@@ -165,7 +116,7 @@ static int asn1_parse2(BIO *bp, const unsigned char **pp, long length,
+ goto end;
+ if (j & V_ASN1_CONSTRUCTED) {
+ const unsigned char *sp = p;
+-
++
+ ep = p + len;
+ if (BIO_write(bp, "\n", 1) <= 0)
+ goto end;
diff --git a/crypto/asn1/asn_mime.c b/crypto/asn1/asn_mime.c
index 851fb91..a6b3893 100644
--- a/crypto/asn1/asn_mime.c
@@ -26271,7 +26548,7 @@
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/crypto/bio/b_addr.c b/crypto/bio/b_addr.c
-index eed40bf..e5352db 100644
+index eed40bf..b77fd4b 100644
--- a/crypto/bio/b_addr.c
+++ b/crypto/bio/b_addr.c
@@ -1,61 +1,16 @@
@@ -26404,7 +26681,17 @@
*/
static int addrinfo_wrap(int family, int socktype,
const void *where, size_t wherelen,
-@@ -734,12 +708,12 @@ int BIO_lookup(const char *host, const char *service,
+@@ -692,9 +666,6 @@ int BIO_lookup(const char *host, const char *service,
+ struct addrinfo hints;
+ memset(&hints, 0, sizeof hints);
+
+-# ifdef AI_ADDRCONFIG
+- hints.ai_flags = AI_ADDRCONFIG;
+-# endif
+ hints.ai_family = family;
+ hints.ai_socktype = socktype;
+
+@@ -734,12 +705,12 @@ int BIO_lookup(const char *host, const char *service,
/* Windows doesn't seem to have in_addr_t */
#ifdef OPENSSL_SYS_WINDOWS
static uint32_t he_fallback_address;
@@ -26421,7 +26708,7 @@
#endif
static const struct hostent he_fallback =
{ NULL, NULL, AF_INET, sizeof(he_fallback_address),
-@@ -749,7 +723,7 @@ int BIO_lookup(const char *host, const char *service,
+@@ -749,7 +720,7 @@ int BIO_lookup(const char *host, const char *service,
#endif
struct servent *se;
@@ -37217,7 +37504,7 @@
#include "bn_lcl.h"
diff --git a/crypto/bn/bn_div.c b/crypto/bn/bn_div.c
-index 486a31d..eef1b87 100644
+index 486a31d..0bec12b 100644
--- a/crypto/bn/bn_div.c
+++ b/crypto/bn/bn_div.c
@@ -1,58 +1,10 @@
@@ -37285,6 +37572,15 @@
*/
#include <openssl/bn.h>
+@@ -178,7 +130,7 @@ int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d,
+ # endif /* OPENSSL_NO_ASM */
+
+ /*-
+- * BN_div computes dv := num / divisor, rounding towards
++ * BN_div computes dv := num / divisor, rounding towards
+ * zero, and sets up rm such that dv*divisor + rm = num holds.
+ * Thus:
+ * dv->neg == num->neg ^ divisor->neg (unless the result is zero)
@@ -326,6 +278,9 @@ int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
res->top--;
}
@@ -37405,7 +37701,7 @@
{ERR_FUNC(BN_F_BN_MPI2BN), "BN_mpi2bn"},
{ERR_FUNC(BN_F_BN_NEW), "BN_new"},
diff --git a/crypto/bn/bn_exp.c b/crypto/bn/bn_exp.c
-index c5e579c..d334cf7 100644
+index c5e579c..e2f0d5e 100644
--- a/crypto/bn/bn_exp.c
+++ b/crypto/bn/bn_exp.c
@@ -1,111 +1,10 @@
@@ -37526,6 +37822,15 @@
*/
#include "internal/cryptlib.h"
+@@ -198,7 +97,7 @@ int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,
+ bn_check_top(m);
+
+ /*-
+- * For even modulus m = 2^k*m_odd, it might make sense to compute
++ * For even modulus m = 2^k*m_odd, it might make sense to compute
+ * a^p mod m_odd and a^p mod 2^k separately (with Montgomery
+ * exponentiation for the odd part), using appropriate exponent
+ * reductions, and combine the results using the CRT.
@@ -628,6 +527,14 @@ static int MOD_EXP_CTIME_COPY_FROM_PREBUF(BIGNUM *b, int top,
{
int i, j;
@@ -37664,7 +37969,7 @@
#include <stdio.h>
diff --git a/crypto/bn/bn_gcd.c b/crypto/bn/bn_gcd.c
-index a6e909d..1039e76 100644
+index a6e909d..e1aac13 100644
--- a/crypto/bn/bn_gcd.c
+++ b/crypto/bn/bn_gcd.c
@@ -1,111 +1,10 @@
@@ -37785,6 +38090,24 @@
*/
#include "internal/cryptlib.h"
+@@ -471,7 +370,7 @@ BIGNUM *int_bn_mod_inverse(BIGNUM *in,
+ * i.e.
+ * sign*(Y + D*X)*a == B (mod |n|).
+ *
+- * So if we set (X, Y, sign) := (Y + D*X, X, -sign), we arrive back at
++ * So if we set (X, Y, sign) := (Y + D*X, X, -sign), we arrive back at
+ * -sign*X*a == B (mod |n|),
+ * sign*Y*a == A (mod |n|).
+ * Note that X and Y stay non-negative all the time.
+@@ -666,7 +565,7 @@ static BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in,
+ * i.e.
+ * sign*(Y + D*X)*a == B (mod |n|).
+ *
+- * So if we set (X, Y, sign) := (Y + D*X, X, -sign), we arrive back at
++ * So if we set (X, Y, sign) := (Y + D*X, X, -sign), we arrive back at
+ * -sign*X*a == B (mod |n|),
+ * sign*Y*a == A (mod |n|).
+ * Note that X and Y stay non-negative all the time.
diff --git a/crypto/bn/bn_gf2m.c b/crypto/bn/bn_gf2m.c
index 84837a0..003c15b 100644
--- a/crypto/bn/bn_gf2m.c
@@ -38143,7 +38466,7 @@
#ifndef HEADER_BN_LCL_H
diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c
-index 4b37906..90df3ee 100644
+index 4b37906..b606cc9 100644
--- a/crypto/bn/bn_lib.c
+++ b/crypto/bn/bn_lib.c
@@ -1,58 +1,10 @@
@@ -38211,6 +38534,15 @@
*/
#include <assert.h>
+@@ -493,7 +445,7 @@ void BN_clear(BIGNUM *a)
+ {
+ bn_check_top(a);
+ if (a->d != NULL)
+- memset(a->d, 0, sizeof(*a->d) * a->dmax);
++ OPENSSL_cleanse(a->d, sizeof(*a->d) * a->dmax);
+ a->top = 0;
+ a->neg = 0;
+ }
@@ -613,9 +565,9 @@ BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret)
if (ret == NULL)
return (NULL);
@@ -38785,7 +39117,7 @@
#include "bn_lcl.h"
diff --git a/crypto/bn/bn_prime.c b/crypto/bn/bn_prime.c
-index a5887d9..1c41938 100644
+index a5887d9..8e7f4f5 100644
--- a/crypto/bn/bn_prime.c
+++ b/crypto/bn/bn_prime.c
@@ -1,118 +1,18 @@
@@ -39008,7 +39340,7 @@
}
ret = 1;
-@@ -506,8 +418,12 @@ static int probable_prime(BIGNUM *rnd, int bits, prime_t *mods)
+@@ -506,15 +418,19 @@ static int probable_prime(BIGNUM *rnd, int bits, prime_t *mods)
if (!BN_rand(rnd, bits, 1, 1))
return (0);
/* we now have a random number 'rnd' to test. */
@@ -39023,6 +39355,14 @@
/*
* If bits is so small that it fits into a single word then we
* additionally don't want to exceed that many bits.
+ */
+ if (is_single_word) {
+ BN_ULONG size_limit;
+-
++
+ if (bits == BN_BITS2) {
+ /*
+ * Shifting by this much has undefined behaviour so we do it a
@@ -605,7 +521,10 @@ int bn_probable_prime_dh(BIGNUM *rnd, int bits,
loop:
for (i = 1; i < NUMPRIMES; i++) {
@@ -39964,19 +40304,24 @@
goto err;
}
diff --git a/crypto/bn/build.info b/crypto/bn/build.info
-index 83a5b81..edceb73 100644
+index 83a5b81..c608ecc 100644
--- a/crypto/bn/build.info
+++ b/crypto/bn/build.info
-@@ -7,7 +7,7 @@ SOURCE[../../libcrypto]=\
+@@ -1,4 +1,3 @@
+-{- use File::Spec::Functions qw/catdir rel2abs/; -}
+ LIBS=../../libcrypto
+ SOURCE[../../libcrypto]=\
+ bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c bn_mod.c \
+@@ -7,7 +6,7 @@ SOURCE[../../libcrypto]=\
{- $target{bn_asm_src} -} \
bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c \
bn_depr.c bn_const.c bn_x931p.c bn_intern.c bn_dh.c bn_srp.c
-INCLUDE[../../libcrypto]={- rel2abs(catdir($builddir,"..","..","crypto","include")) -}
-+INCLUDE[../../libcrypto]="{- rel2abs(catdir($builddir,"..","..","crypto","include")) -}"
++INCLUDE[../../libcrypto]=../../crypto/include
INCLUDE[bn_exp.o]=..
-@@ -57,7 +57,7 @@ GENERATE[bn-ppc.s]=asm/ppc.pl $(PERLASM_SCHEME)
+@@ -57,7 +56,7 @@ GENERATE[bn-ppc.s]=asm/ppc.pl $(PERLASM_SCHEME)
GENERATE[ppc-mont.s]=asm/ppc-mont.pl $(PERLASM_SCHEME)
GENERATE[ppc64-mont.s]=asm/ppc64-mont.pl $(PERLASM_SCHEME)
@@ -40224,7 +40569,7 @@
#include <stdio.h>
diff --git a/crypto/buffer/buffer.c b/crypto/buffer/buffer.c
-index a16f3bd..7caa215 100644
+index a16f3bd..6b0bd4a 100644
--- a/crypto/buffer/buffer.c
+++ b/crypto/buffer/buffer.c
@@ -1,58 +1,10 @@
@@ -40292,7 +40637,15 @@
*/
#include <stdio.h>
-@@ -128,7 +80,8 @@ size_t BUF_MEM_grow(BUF_MEM *str, size_t len)
+@@ -94,7 +46,6 @@ void BUF_MEM_free(BUF_MEM *a)
+ return;
+
+ if (a->data != NULL) {
+- memset(a->data, 0, (unsigned int)a->max);
+ if (a->flags & BUF_MEM_FLAG_SECURE)
+ OPENSSL_secure_free(a->data);
+ else
+@@ -128,7 +79,8 @@ size_t BUF_MEM_grow(BUF_MEM *str, size_t len)
return (len);
}
if (str->max >= len) {
@@ -40302,7 +40655,7 @@
str->length = len;
return (len);
}
-@@ -160,7 +113,8 @@ size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len)
+@@ -160,7 +112,8 @@ size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len)
size_t n;
if (str->length >= len) {
@@ -44401,7 +44754,7 @@
#include <stdio.h>
diff --git a/crypto/conf/conf_mod.c b/crypto/conf/conf_mod.c
-index cef805d..d01d20e 100644
+index cef805d..31f838e 100644
--- a/crypto/conf/conf_mod.c
+++ b/crypto/conf/conf_mod.c
@@ -1,59 +1,10 @@
@@ -44485,7 +44838,7 @@
+static int module_init(CONF_MODULE *pmod, const char *name, const char *value,
const CONF *cnf);
-static CONF_MODULE *module_load_dso(const CONF *cnf, char *name, char *value);
-+static CONF_MODULE *module_load_dso(const CONF *cnf, const char *name,
++static CONF_MODULE *module_load_dso(const CONF *cnf, const char *name,
+ const char *value);
/* Main function: load modules from a CONF structure */
@@ -44504,7 +44857,7 @@
/* Load a module from a DSO */
-static CONF_MODULE *module_load_dso(const CONF *cnf, char *name, char *value)
-+static CONF_MODULE *module_load_dso(const CONF *cnf,
++static CONF_MODULE *module_load_dso(const CONF *cnf,
+ const char *name, const char *value)
{
DSO *dso = NULL;
@@ -46222,7 +46575,7 @@
$L="edi";
$R="esi";
diff --git a/crypto/des/asm/dest4-sparcv9.pl b/crypto/des/asm/dest4-sparcv9.pl
-index 858df0b..1d4f0d1 100644
+index 858df0b..4a6e29f 100644
--- a/crypto/des/asm/dest4-sparcv9.pl
+++ b/crypto/des/asm/dest4-sparcv9.pl
@@ -1,4 +1,11 @@
@@ -46238,6 +46591,42 @@
# ====================================================================
# Written by David S. Miller <davem at devemloft.net> and Andy Polyakov
+@@ -99,7 +106,7 @@ $code.=<<___;
+ des_t4_cbc_encrypt:
+ cmp $len, 0
+ be,pn $::size_t_cc, .Lcbc_abort
+- nop
++ srln $len, 0, $len ! needed on v8+, "nop" on v9
+ ld [$ivec + 0], %f0 ! load ivec
+ ld [$ivec + 4], %f1
+
+@@ -200,7 +207,7 @@ des_t4_cbc_encrypt:
+ des_t4_cbc_decrypt:
+ cmp $len, 0
+ be,pn $::size_t_cc, .Lcbc_abort
+- nop
++ srln $len, 0, $len ! needed on v8+, "nop" on v9
+ ld [$ivec + 0], %f2 ! load ivec
+ ld [$ivec + 4], %f3
+
+@@ -308,7 +315,7 @@ $code.=<<___;
+ des_t4_ede3_cbc_encrypt:
+ cmp $len, 0
+ be,pn $::size_t_cc, .Lcbc_abort
+- nop
++ srln $len, 0, $len ! needed on v8+, "nop" on v9
+ ld [$ivec + 0], %f0 ! load ivec
+ ld [$ivec + 4], %f1
+
+@@ -460,7 +467,7 @@ des_t4_ede3_cbc_encrypt:
+ des_t4_ede3_cbc_decrypt:
+ cmp $len, 0
+ be,pn $::size_t_cc, .Lcbc_abort
+- nop
++ srln $len, 0, $len ! needed on v8+, "nop" on v9
+ ld [$ivec + 0], %f2 ! load ivec
+ ld [$ivec + 4], %f3
+
diff --git a/crypto/des/asm/readme b/crypto/des/asm/readme
deleted file mode 100644
index 1beafe2..0000000
@@ -53726,7 +54115,7 @@
if (key == NULL)
return 0;
diff --git a/crypto/ec/ec_ameth.c b/crypto/ec/ec_ameth.c
-index ca354c0..6567a2f 100644
+index ca354c0..3212984 100644
--- a/crypto/ec/ec_ameth.c
+++ b/crypto/ec/ec_ameth.c
@@ -1,59 +1,10 @@
@@ -53803,6 +54192,26 @@
return 1;
return 0;
}
+@@ -592,6 +543,19 @@ const EVP_PKEY_ASN1_METHOD eckey_asn1_meth = {
+ old_ec_priv_encode
+ };
+
++int EC_KEY_print(BIO *bp, const EC_KEY *x, int off)
++{
++ int private = EC_KEY_get0_private_key(x) != NULL;
++
++ return do_EC_KEY_print(bp, x, off,
++ private ? EC_KEY_PRINT_PRIVATE : EC_KEY_PRINT_PUBLIC);
++}
++
++int ECParameters_print(BIO *bp, const EC_KEY *x)
++{
++ return do_EC_KEY_print(bp, x, 4, EC_KEY_PRINT_PARAM);
++}
++
+ #ifndef OPENSSL_NO_CMS
+
+ static int ecdh_cms_set_peerkey(EVP_PKEY_CTX *pctx,
diff --git a/crypto/ec/ec_asn1.c b/crypto/ec/ec_asn1.c
index bc43878..be7a96b 100644
--- a/crypto/ec/ec_asn1.c
@@ -54672,7 +55081,7 @@
* Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
*
diff --git a/crypto/ec/ec_lib.c b/crypto/ec/ec_lib.c
-index 67e322f..fa74ee7 100644
+index 67e322f..c592c06 100644
--- a/crypto/ec/ec_lib.c
+++ b/crypto/ec/ec_lib.c
@@ -1,59 +1,12 @@
@@ -54741,7 +55150,15 @@
/* ====================================================================
* Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
* Binary polynomial ECC support in OpenSSL originally developed by
-@@ -747,7 +700,15 @@ int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group,
+@@ -331,7 +284,6 @@ int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator,
+ } else
+ BN_zero(group->cofactor);
+
+-
+ /*
+ * Some groups have an order with
+ * factors of two, which makes the Montgomery setup fail.
+@@ -747,7 +699,15 @@ int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group,
EC_R_INCOMPATIBLE_OBJECTS);
return 0;
}
@@ -54758,7 +55175,7 @@
}
#ifndef OPENSSL_NO_EC2M
-@@ -765,7 +726,15 @@ int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group,
+@@ -765,7 +725,15 @@ int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group,
EC_R_INCOMPATIBLE_OBJECTS);
return 0;
}
@@ -55430,7 +55847,7 @@
/*-
diff --git a/crypto/ec/eck_prn.c b/crypto/ec/eck_prn.c
-index eacdb9e..c23d36f 100644
+index eacdb9e..dd3f857 100644
--- a/crypto/ec/eck_prn.c
+++ b/crypto/ec/eck_prn.c
@@ -1,59 +1,12 @@
@@ -55499,6 +55916,37 @@
/* ====================================================================
* Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
* Portions originally developed by SUN MICROSYSTEMS, INC., and
+@@ -113,30 +66,6 @@ int ECParameters_print_fp(FILE *fp, const EC_KEY *x)
+ }
+ #endif
+
+-int EC_KEY_print(BIO *bp, const EC_KEY *x, int off)
+-{
+- EVP_PKEY *pk;
+- int ret;
+- pk = EVP_PKEY_new();
+- if (pk == NULL || !EVP_PKEY_set1_EC_KEY(pk, (EC_KEY *)x))
+- return 0;
+- ret = EVP_PKEY_print_private(bp, pk, off, NULL);
+- EVP_PKEY_free(pk);
+- return ret;
+-}
+-
+-int ECParameters_print(BIO *bp, const EC_KEY *x)
+-{
+- EVP_PKEY *pk;
+- int ret;
+- pk = EVP_PKEY_new();
+- if (pk == NULL || !EVP_PKEY_set1_EC_KEY(pk, (EC_KEY *)x))
+- return 0;
+- ret = EVP_PKEY_print_params(bp, pk, 4, NULL);
+- EVP_PKEY_free(pk);
+- return ret;
+-}
+-
+ static int print_bin(BIO *fp, const char *str, const unsigned char *num,
+ size_t len, int off);
+
diff --git a/crypto/ec/ecp_mont.c b/crypto/ec/ecp_mont.c
index aa1f451..a9c6040 100644
--- a/crypto/ec/ecp_mont.c
@@ -58058,7 +58506,7 @@
+header file must load any additional header files containing any
+definitions it uses.
diff --git a/crypto/err/err.c b/crypto/err/err.c
-index b0fd19e..9b679d9 100644
+index b0fd19e..836fac4 100644
--- a/crypto/err/err.c
+++ b/crypto/err/err.c
@@ -1,118 +1,16 @@
@@ -58236,16 +58684,17 @@
{
ERR_STATE *state = ERR_get_state();
if (state == NULL)
-@@ -751,9 +633,14 @@ void ERR_remove_thread_state(void)
+@@ -750,10 +632,15 @@ void ERR_remove_thread_state(void)
+ ERR_STATE_free(state);
}
- #if OPENSSL_API_COMPAT < 0x10000000L
++#if OPENSSL_API_COMPAT < 0x10100000L
+void ERR_remove_thread_state(void *dummy)
+{
+}
+#endif
+
-+#if OPENSSL_API_COMPAT < 0x10000000L
+ #if OPENSSL_API_COMPAT < 0x10000000L
void ERR_remove_state(unsigned long pid)
{
- ERR_remove_thread_state();
@@ -58727,7 +59176,7 @@
#include <stdio.h>
diff --git a/crypto/evp/bio_ok.c b/crypto/evp/bio_ok.c
-index 0ac1a31..33066e8 100644
+index 0ac1a31..7974b96 100644
--- a/crypto/evp/bio_ok.c
+++ b/crypto/evp/bio_ok.c
@@ -1,58 +1,10 @@
@@ -58806,6 +59255,15 @@
BIO_set_init(bi, 0);
BIO_set_data(bi, ctx);
+@@ -446,7 +402,7 @@ static long ok_callback_ctrl(BIO *b, int cmd, bio_info_cb *fp)
+ {
+ long ret = 1;
+ BIO *next;
+-
++
+ next = BIO_next(b);
+
+ if (next == NULL)
diff --git a/crypto/evp/c_allc.c b/crypto/evp/c_allc.c
index ac172e8..6ed31ed 100644
--- a/crypto/evp/c_allc.c
@@ -59026,7 +59484,7 @@
#include <string.h>
diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c
-index aee8127..c594a0a 100644
+index aee8127..65eff7c 100644
--- a/crypto/evp/digest.c
+++ b/crypto/evp/digest.c
@@ -1,111 +1,10 @@
@@ -59147,6 +59605,15 @@
*/
#include <stdio.h>
+@@ -137,7 +36,7 @@ int EVP_MD_CTX_reset(EVP_MD_CTX *ctx)
+ #ifndef OPENSSL_NO_ENGINE
+ ENGINE_finish(ctx->engine);
+ #endif
+- memset(ctx, 0, sizeof(*ctx));
++ OPENSSL_cleanse(ctx, sizeof(*ctx));
+
+ return 1;
+ }
@@ -169,10 +68,8 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl)
* previous handle, re-querying for an ENGINE, and having a
* reinitialisation, when it may all be unnecessary.
@@ -59169,6 +59636,15 @@
ctx->md_data = NULL;
}
ctx->digest = type;
+@@ -273,7 +170,7 @@ int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *size)
+ ctx->digest->cleanup(ctx);
+ EVP_MD_CTX_set_flags(ctx, EVP_MD_CTX_FLAG_CLEANED);
+ }
+- memset(ctx->md_data, 0, ctx->digest->ctx_size);
++ OPENSSL_cleanse(ctx->md_data, ctx->digest->ctx_size);
+ return ret;
+ }
+
diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c
index f0e410f..7b66c9e 100644
--- a/crypto/evp/e_aes.c
@@ -59323,7 +59799,7 @@
HWAES_set_encrypt_key(key + EVP_CIPHER_CTX_key_length(ctx) / 2,
diff --git a/crypto/evp/e_aes_cbc_hmac_sha1.c b/crypto/evp/e_aes_cbc_hmac_sha1.c
-index 4d8c973..be1deaa 100644
+index 4d8c973..0e1ad74 100644
--- a/crypto/evp/e_aes_cbc_hmac_sha1.c
+++ b/crypto/evp/e_aes_cbc_hmac_sha1.c
@@ -1,50 +1,10 @@
@@ -59410,6 +59886,15 @@
inp_len = len - (SHA_DIGEST_LENGTH + pad + 1);
mask = (0 - ((inp_len - len) >> (sizeof(inp_len) * 8 - 1)));
inp_len &= mask;
+@@ -856,7 +818,7 @@ static int aesni_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg,
+
+ if (arg != EVP_AEAD_TLS1_AAD_LEN)
+ return -1;
+-
++
+ len = p[arg - 2] << 8 | p[arg - 1];
+
+ if (EVP_CIPHER_CTX_encrypting(ctx)) {
diff --git a/crypto/evp/e_aes_cbc_hmac_sha256.c b/crypto/evp/e_aes_cbc_hmac_sha256.c
index 075a8e8..3b9cdf4 100644
--- a/crypto/evp/e_aes_cbc_hmac_sha256.c
@@ -60643,7 +61128,7 @@
#include <stdio.h>
diff --git a/crypto/evp/encode.c b/crypto/evp/encode.c
-index ed85f89..e026a8f 100644
+index ed85f89..d140da6 100644
--- a/crypto/evp/encode.c
+++ b/crypto/evp/encode.c
@@ -1,61 +1,14 @@
@@ -60715,6 +61200,15 @@
#include "internal/cryptlib.h"
#include <openssl/evp.h>
#include "evp_locl.h"
+@@ -102,7 +55,7 @@ abcdefghijklmnopqrstuvwxyz0123456789+/";
+ #define B64_WS 0xE0
+ #define B64_ERROR 0xFF
+ #define B64_NOT_BASE64(a) (((a)|0x13) == 0xF3)
+-#define B64_BASE64(a) !B64_NOT_BASE64(a)
++#define B64_BASE64(a) (!B64_NOT_BASE64(a))
+
+ static const unsigned char data_ascii2bin[128] = {
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
@@ -161,20 +114,20 @@ void EVP_EncodeInit(EVP_ENCODE_CTX *ctx)
ctx->line_num = 0;
}
@@ -60838,10 +61332,10 @@
#include <stdio.h>
diff --git a/crypto/evp/evp_enc.c b/crypto/evp/evp_enc.c
-index d7cc1f4..acb6b8b 100644
+index d7cc1f4..e43a5d2 100644
--- a/crypto/evp/evp_enc.c
+++ b/crypto/evp/evp_enc.c
-@@ -1,58 +1,10 @@
+@@ -1,61 +1,14 @@
-/* Copyright (C) 1995-1998 Eric Young (eay at cryptsoft.com)
- * All rights reserved.
+/*
@@ -60906,7 +61400,11 @@
*/
#include <stdio.h>
-@@ -120,7 +72,7 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
++#include <assert.h>
+ #include "internal/cryptlib.h"
+ #include <openssl/evp.h>
+ #include <openssl/err.h>
+@@ -120,7 +73,7 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
* reinitialisation, when it may all be unnecessary.
*/
if (ctx->engine && ctx->cipher
@@ -60915,7 +61413,70 @@
goto skip_to_init;
#endif
if (cipher) {
-@@ -332,7 +284,7 @@ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
+@@ -300,12 +253,53 @@ int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
+ return EVP_CipherInit_ex(ctx, cipher, impl, key, iv, 0);
+ }
+
++/*
++ * According to the letter of standard difference between pointers
++ * is specified to be valid only within same object. This makes
++ * it formally challenging to determine if input and output buffers
++ * are not partially overlapping with standard pointer arithmetic.
++ */
++#ifdef PTRDIFF_T
++# undef PTRDIFF_T
++#endif
++#if defined(OPENSSL_SYS_VMS) && __INITIAL_POINTER_SIZE==64
++/*
++ * Then we have VMS that distinguishes itself by adhering to
++ * sizeof(size_t)==4 even in 64-bit builds, which means that
++ * difference between two pointers might be truncated to 32 bits.
++ * In the context one can even wonder how comparison for
++ * equality is implemented. To be on the safe side we adhere to
++ * PTRDIFF_T even for comparison for equality.
++ */
++# define PTRDIFF_T uint64_t
++#else
++# define PTRDIFF_T size_t
++#endif
++
++static int is_partially_overlapping(const void *ptr1, const void *ptr2,
++ int len)
++{
++ PTRDIFF_T diff = (PTRDIFF_T)ptr1-(PTRDIFF_T)ptr2;
++ /*
++ * Check for partially overlapping buffers. [Binary logical
++ * operations are used instead of boolean to minimize number
++ * of conditional branches.]
++ */
++ int condition = (len > 0) & (diff != 0) & ((diff < (PTRDIFF_T)len) |
++ (diff > (0 - (PTRDIFF_T)len)));
++ assert(!condition);
++ return condition;
++}
++
+ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
+ const unsigned char *in, int inl)
+ {
+ int i, j, bl;
+
+ if (ctx->cipher->flags & EVP_CIPH_FLAG_CUSTOM_CIPHER) {
++ if (is_partially_overlapping(out, in, inl))
++ return 0;
++
+ i = ctx->cipher->do_cipher(ctx, out, in, inl);
+ if (i < 0)
+ return 0;
+@@ -318,6 +312,8 @@ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
+ *outl = 0;
+ return inl == 0;
+ }
++ if (is_partially_overlapping(out, in, inl))
++ return 0;
+
+ if (ctx->buf_len == 0 && (inl & (ctx->block_mask)) == 0) {
+ if (ctx->cipher->do_cipher(ctx, out, in, inl)) {
+@@ -332,7 +328,7 @@ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
bl = ctx->cipher->block_size;
OPENSSL_assert(bl <= (int)sizeof(ctx->buf));
if (i != 0) {
@@ -60924,6 +61485,42 @@
memcpy(&(ctx->buf[i]), in, inl);
ctx->buf_len += inl;
*outl = 0;
+@@ -340,10 +336,12 @@ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
+ } else {
+ j = bl - i;
+ memcpy(&(ctx->buf[i]), in, j);
+- if (!ctx->cipher->do_cipher(ctx, out, ctx->buf, bl))
+- return 0;
+ inl -= j;
+ in += j;
++ if (is_partially_overlapping(out, in, bl))
++ return 0;
++ if (!ctx->cipher->do_cipher(ctx, out, ctx->buf, bl))
++ return 0;
+ out += bl;
+ *outl = bl;
+ }
+@@ -419,6 +417,9 @@ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
+ unsigned int b;
+
+ if (ctx->cipher->flags & EVP_CIPH_FLAG_CUSTOM_CIPHER) {
++ if (is_partially_overlapping(out, in, inl))
++ return 0;
++
+ fix_len = ctx->cipher->do_cipher(ctx, out, in, inl);
+ if (fix_len < 0) {
+ *outl = 0;
+@@ -440,6 +441,10 @@ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
+ OPENSSL_assert(b <= sizeof ctx->final);
+
+ if (ctx->final_used) {
++ /* see comment about PTRDIFF_T comparison above */
++ if (((PTRDIFF_T)out == (PTRDIFF_T)in)
++ || is_partially_overlapping(out, in, b))
++ return 0;
+ memcpy(out, ctx->final, b);
+ out += b;
+ fix_len = 1;
diff --git a/crypto/evp/evp_err.c b/crypto/evp/evp_err.c
index 3b77e3b..50277ff 100644
--- a/crypto/evp/evp_err.c
@@ -65322,7 +65919,7 @@
struct evp_pkey_ctx_st {
diff --git a/crypto/include/internal/md32_common.h b/crypto/include/internal/md32_common.h
-index 156fa3a..21133a3 100644
+index 156fa3a..6e4ce14 100644
--- a/crypto/include/internal/md32_common.h
+++ b/crypto/include/internal/md32_common.h
@@ -1,51 +1,10 @@
@@ -65383,7 +65980,38 @@
*/
/*-
-@@ -387,7 +346,7 @@ int HASH_FINAL(unsigned char *md, HASH_CTX *c)
+@@ -106,6 +65,8 @@
+ * <appro at fy.chalmers.se>
+ */
+
++#include <openssl/crypto.h>
++
+ #if !defined(DATA_ORDER_IS_BIG_ENDIAN) && !defined(DATA_ORDER_IS_LITTLE_ENDIAN)
+ # error "DATA_ORDER must be defined!"
+ #endif
+@@ -317,6 +278,12 @@ int HASH_UPDATE(HASH_CTX *c, const void *data_, size_t len)
+ data += n;
+ len -= n;
+ c->num = 0;
++ /*
++ * We use memset rather than OPENSSL_cleanse() here deliberately.
++ * Using OPENSSL_cleanse() here could be a performance issue. It
++ * will get properly cleansed on finalisation so this isn't a
++ * security problem.
++ */
+ memset(p, 0, HASH_CBLOCK); /* keep it zeroed */
+ } else {
+ memcpy(p + n, data, len);
+@@ -372,7 +339,7 @@ int HASH_FINAL(unsigned char *md, HASH_CTX *c)
+ p -= HASH_CBLOCK;
+ HASH_BLOCK_DATA_ORDER(c, p, 1);
+ c->num = 0;
+- memset(p, 0, HASH_CBLOCK);
++ OPENSSL_cleanse(p, HASH_CBLOCK);
+
+ #ifndef HASH_MAKE_STRING
+ # error "HASH_MAKE_STRING must be defined!"
+@@ -387,7 +354,7 @@ int HASH_FINAL(unsigned char *md, HASH_CTX *c)
# if defined(__alpha) || defined(__sparcv9) || defined(__mips)
# define MD32_REG_T long
/*
@@ -66169,7 +66797,7 @@
unsigned int i;
unsigned long total = 0, n_used = 0;
diff --git a/crypto/lhash/lhash.c b/crypto/lhash/lhash.c
-index 60e9223..3e58eea 100644
+index 60e9223..19c6d2c 100644
--- a/crypto/lhash/lhash.c
+++ b/crypto/lhash/lhash.c
@@ -1,124 +1,39 @@
@@ -66291,7 +66919,7 @@
-static void expand(_LHASH *lh);
-static void contract(_LHASH *lh);
-static LHASH_NODE **getrn(_LHASH *lh, const void *data, unsigned long *rhash);
-+static void expand(OPENSSL_LHASH *lh);
++static int expand(OPENSSL_LHASH *lh);
+static void contract(OPENSSL_LHASH *lh);
+static OPENSSL_LH_NODE **getrn(OPENSSL_LHASH *lh, const void *data, unsigned long *rhash);
@@ -66325,7 +66953,7 @@
if (lh == NULL)
return;
-@@ -152,10 +67,10 @@ void lh_free(_LHASH *lh)
+@@ -152,15 +67,15 @@ void lh_free(_LHASH *lh)
OPENSSL_free(lh);
}
@@ -66338,6 +66966,13 @@
void *ret;
lh->error = 0;
+- if (lh->up_load <= (lh->num_items * LH_LOAD_MULT / lh->num_nodes))
+- expand(lh);
++ if ((lh->up_load <= (lh->num_items * LH_LOAD_MULT / lh->num_nodes)) && !expand(lh))
++ return NULL; /* 'lh->error++' already done in 'expand' */
+
+ rn = getrn(lh, data, &hash);
+
@@ -185,10 +100,10 @@ void *lh_insert(_LHASH *lh, void *data)
return (ret);
}
@@ -66413,7 +67048,7 @@
}
-static void expand(_LHASH *lh)
-+static void expand(OPENSSL_LHASH *lh)
++static int expand(OPENSSL_LHASH *lh)
{
- LHASH_NODE **n, **n1, **n2, *np;
+ OPENSSL_LH_NODE **n, **n1, **n2, *np;
@@ -66429,7 +67064,7 @@
nni = lh->num_alloc_nodes;
for (np = *n1; np != NULL;) {
-@@ -302,7 +211,7 @@ static void expand(_LHASH *lh)
+@@ -302,12 +211,12 @@ static void expand(_LHASH *lh)
if ((lh->p) >= lh->pmax) {
j = (int)lh->num_alloc_nodes * 2;
@@ -66438,8 +67073,17 @@
if (n == NULL) {
/* fputs("realloc error in lhash",stderr); */
lh->error++;
-@@ -319,15 +228,15 @@ static void expand(_LHASH *lh)
+ lh->p = 0;
+- return;
++ return 0;
+ }
+ for (i = (int)lh->num_alloc_nodes; i < j; i++) /* 26/02/92 eay */
+ n[i] = NULL; /* 02/03/92 eay */
+@@ -317,17 +226,18 @@ static void expand(_LHASH *lh)
+ lh->p = 0;
+ lh->b = n;
}
++ return 1;
}
-static void contract(_LHASH *lh)
@@ -66457,7 +67101,7 @@
if (n == NULL) {
/* fputs("realloc error in lhash",stderr); */
lh->error++;
-@@ -354,11 +263,12 @@ static void contract(_LHASH *lh)
+@@ -354,11 +264,12 @@ static void contract(_LHASH *lh)
}
}
@@ -66473,7 +67117,7 @@
hash = (*(lh->hash)) (data);
lh->num_hash_calls++;
-@@ -389,7 +299,7 @@ static LHASH_NODE **getrn(_LHASH *lh, const void *data, unsigned long *rhash)
+@@ -389,7 +300,7 @@ static LHASH_NODE **getrn(_LHASH *lh, const void *data, unsigned long *rhash)
* collisions on /usr/dict/words and it distributes on %2^n quite well, not
* as good as MD5, but still good.
*/
@@ -66482,7 +67126,7 @@
{
unsigned long ret = 0;
long n;
-@@ -417,22 +327,22 @@ unsigned long lh_strhash(const char *c)
+@@ -417,22 +328,22 @@ unsigned long lh_strhash(const char *c)
return ((ret >> 16) ^ ret);
}
@@ -66623,7 +67267,7 @@
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/crypto/md2/md2_dgst.c b/crypto/md2/md2_dgst.c
-index 80dec23..b43cd4f 100644
+index 80dec23..ff062fd 100644
--- a/crypto/md2/md2_dgst.c
+++ b/crypto/md2/md2_dgst.c
@@ -1,58 +1,10 @@
@@ -66691,6 +67335,14 @@
*/
#include <stdio.h>
+@@ -216,6 +168,6 @@ int MD2_Final(unsigned char *md, MD2_CTX *c)
+
+ for (i = 0; i < 16; i++)
+ md[i] = (UCHAR) (p1[i] & 0xff);
+- memset(&c, 0, sizeof(c));
++ OPENSSL_cleanse(c, sizeof(*c));
+ return 1;
+ }
diff --git a/crypto/md2/md2_one.c b/crypto/md2/md2_one.c
index ad643ee..460f96e 100644
--- a/crypto/md2/md2_one.c
@@ -67741,7 +68393,7 @@
#include <stdio.h>
diff --git a/crypto/mem.c b/crypto/mem.c
-index 16ef64c..6be14ab 100644
+index 16ef64c..02aa43a 100644
--- a/crypto/mem.c
+++ b/crypto/mem.c
@@ -1,58 +1,10 @@
@@ -67809,7 +68461,13 @@
*/
#include <stdio.h>
-@@ -201,9 +153,10 @@ void *CRYPTO_clear_realloc(void *str, size_t old_len, size_t num,
+@@ -196,14 +148,15 @@ void *CRYPTO_clear_realloc(void *str, size_t old_len, size_t num,
+
+ /* Can't shrink the buffer since memcpy below copies |old_len| bytes. */
+ if (num < old_len) {
+- memset((char*)str + num, 0, old_len - num);
++ OPENSSL_cleanse((char*)str + num, old_len - num);
+ return str;
}
ret = CRYPTO_malloc(num, file, line);
@@ -68333,7 +68991,7 @@
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/crypto/modes/asm/aesni-gcm-x86_64.pl b/crypto/modes/asm/aesni-gcm-x86_64.pl
-index 8f5026b..810876c 100644
+index 8f5026b..5ad62b3 100644
--- a/crypto/modes/asm/aesni-gcm-x86_64.pl
+++ b/crypto/modes/asm/aesni-gcm-x86_64.pl
@@ -1,4 +1,11 @@
@@ -68358,6 +69016,84 @@
*STDOUT=*OUT;
if ($avx>1) {{{
+@@ -109,6 +116,23 @@ _aesni_ctr32_ghash_6x:
+ vpxor $rndkey,$inout3,$inout3
+ vmovups 0x10-0x80($key),$T2 # borrow $T2 for $rndkey
+ vpclmulqdq \$0x01,$Hkey,$Z3,$Z2
++
++ # At this point, the current block of 96 (0x60) bytes has already been
++ # loaded into registers. Concurrently with processing it, we want to
++ # load the next 96 bytes of input for the next round. Obviously, we can
++ # only do this if there are at least 96 more bytes of input beyond the
++ # input we're currently processing, or else we'd read past the end of
++ # the input buffer. Here, we set |%r12| to 96 if there are at least 96
++ # bytes of input beyond the 96 bytes we're already processing, and we
++ # set |%r12| to 0 otherwise. In the case where we set |%r12| to 96,
++ # we'll read in the next block so that it is in registers for the next
++ # loop iteration. In the case where we set |%r12| to 0, we'll re-read
++ # the current block and then ignore what we re-read.
++ #
++ # At this point, |$in0| points to the current (already read into
++ # registers) block, and |$end0| points to 2*96 bytes before the end of
++ # the input. Thus, |$in0| > |$end0| means that we do not have the next
++ # 96-byte block to read in, and |$in0| <= |$end0| means we do.
+ xor %r12,%r12
+ cmp $in0,$end0
+
+@@ -401,6 +425,9 @@ $code.=<<___;
+ .align 32
+ aesni_gcm_decrypt:
+ xor $ret,$ret
++
++ # We call |_aesni_ctr32_ghash_6x|, which requires at least 96 (0x60)
++ # bytes of input.
+ cmp \$0x60,$len # minimal accepted length
+ jb .Lgcm_dec_abort
+
+@@ -455,7 +482,15 @@ $code.=<<___;
+ vmovdqu 0x50($inp),$Z3 # I[5]
+ lea ($inp),$in0
+ vmovdqu 0x40($inp),$Z0
++
++ # |_aesni_ctr32_ghash_6x| requires |$end0| to point to 2*96 (0xc0)
++ # bytes before the end of the input. Note, in particular, that this is
++ # correct even if |$len| is not an even multiple of 96 or 16. XXX: This
++ # seems to require that |$inp| + |$len| >= 2*96 (0xc0); i.e. |$inp| must
++ # not be near the very beginning of the address space when |$len| < 2*96
++ # (0xc0).
+ lea -0xc0($inp,$len),$end0
++
+ vmovdqu 0x30($inp),$Z1
+ shr \$4,$len
+ xor $ret,$ret
+@@ -611,6 +646,10 @@ _aesni_ctr32_6x:
+ .align 32
+ aesni_gcm_encrypt:
+ xor $ret,$ret
++
++ # We call |_aesni_ctr32_6x| twice, each call consuming 96 bytes of
++ # input. Then we call |_aesni_ctr32_ghash_6x|, which requires at
++ # least 96 more bytes of input.
+ cmp \$0x60*3,$len # minimal accepted length
+ jb .Lgcm_enc_abort
+
+@@ -660,7 +699,16 @@ $code.=<<___;
+ .Lenc_no_key_aliasing:
+
+ lea ($out),$in0
++
++ # |_aesni_ctr32_ghash_6x| requires |$end0| to point to 2*96 (0xc0)
++ # bytes before the end of the input. Note, in particular, that this is
++ # correct even if |$len| is not an even multiple of 96 or 16. Unlike in
++ # the decryption case, there's no caveat that |$out| must not be near
++ # the very beginning of the address space, because we know that
++ # |$len| >= 3*96 from the check above, and so we know
++ # |$out| + |$len| >= 2*96 (0xc0).
+ lea -0xc0($out,$len),$end0
++
+ shr \$4,$len
+
+ call _aesni_ctr32_6x
diff --git a/crypto/modes/asm/ghash-alpha.pl b/crypto/modes/asm/ghash-alpha.pl
index df6b3a3..ccf6b2b 100644
--- a/crypto/modes/asm/ghash-alpha.pl
@@ -68472,7 +69208,7 @@
jz .Lsoft_gmult
stg %r0,16($sp) # arrange 16 bytes of zero input
diff --git a/crypto/modes/asm/ghash-sparcv9.pl b/crypto/modes/asm/ghash-sparcv9.pl
-index badfcf7..6ca3a9b 100644
+index badfcf7..c4eb3b1 100644
--- a/crypto/modes/asm/ghash-sparcv9.pl
+++ b/crypto/modes/asm/ghash-sparcv9.pl
@@ -1,4 +1,11 @@
@@ -68488,6 +69224,15 @@
# ====================================================================
# Written by Andy Polyakov <appro at openssl.org> for the OpenSSL
+@@ -446,6 +453,8 @@ gcm_gmult_vis3:
+ .align 32
+ gcm_ghash_vis3:
+ save %sp,-$frame,%sp
++ nop
++ srln $len,0,$len ! needed on v8+, "nop" on v9
+
+ ldx [$Xip+8],$C2 ! load Xi
+ ldx [$Xip+0],$C3
diff --git a/crypto/modes/asm/ghash-x86.pl b/crypto/modes/asm/ghash-x86.pl
index db6eeae..4eb0b2c 100644
--- a/crypto/modes/asm/ghash-x86.pl
@@ -69528,7 +70273,7 @@
#include <openssl/modes.h>
diff --git a/crypto/modes/ocb128.c b/crypto/modes/ocb128.c
-index c3daf7c..54a96b8 100644
+index c3daf7c..c3bd13b 100644
--- a/crypto/modes/ocb128.c
+++ b/crypto/modes/ocb128.c
@@ -1,50 +1,10 @@
@@ -69610,6 +70355,15 @@
}
while (l_index < idx) {
ocb_double(ctx->l + l_index, ctx->l + l_index + 1);
+@@ -268,7 +230,7 @@ int CRYPTO_ocb128_setiv(OCB128_CONTEXT *ctx, const unsigned char *iv,
+
+ /*
+ * Spec says IV is 120 bits or fewer - it allows non byte aligned lengths.
+- * We don't support this at this stage
++ * We don't support this at this stage
+ */
+ if ((len > 15) || (len < 1) || (taglen > 16) || (taglen < 1)) {
+ return -1;
@@ -415,7 +377,7 @@ int CRYPTO_ocb128_encrypt(OCB128_CONTEXT *ctx,
/* C_i = Offset_i xor ENCIPHER(K, P_i xor Offset_i) */
@@ -70686,10 +71440,10 @@
size_t OBJ_length(const ASN1_OBJECT *obj)
diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h
-index d852a55..df03694 100644
+index d852a55..fc9def2 100644
--- a/crypto/objects/obj_dat.h
+++ b/crypto/objects/obj_dat.h
-@@ -1,63 +1,12 @@
+@@ -1,5792 +1,5086 @@
-/* THIS FILE IS GENERATED FROM objects.h by obj_dat.pl via the
- * following command:
- * perl obj_dat.pl obj_mac.h obj_dat.h
@@ -70760,12 +71514,10807 @@
+ * https://www.openssl.org/source/license.html
*/
- #define NUM_NID 1058
+-#define NUM_NID 1058
+-#define NUM_SN 1049
+-#define NUM_LN 1049
+-#define NUM_OBJ 953
+-
+-static const unsigned char lvalues[6744]={
+-0x2A,0x86,0x48,0x86,0xF7,0x0D, /* [ 0] OBJ_rsadsi */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01, /* [ 6] OBJ_pkcs */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x02, /* [ 13] OBJ_md2 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x05, /* [ 21] OBJ_md5 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x04, /* [ 29] OBJ_rc4 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x01,/* [ 37] OBJ_rsaEncryption */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x02,/* [ 46] OBJ_md2WithRSAEncryption */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x04,/* [ 55] OBJ_md5WithRSAEncryption */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x01,/* [ 64] OBJ_pbeWithMD2AndDES_CBC */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x03,/* [ 73] OBJ_pbeWithMD5AndDES_CBC */
+-0x55, /* [ 82] OBJ_X500 */
+-0x55,0x04, /* [ 83] OBJ_X509 */
+-0x55,0x04,0x03, /* [ 85] OBJ_commonName */
+-0x55,0x04,0x06, /* [ 88] OBJ_countryName */
+-0x55,0x04,0x07, /* [ 91] OBJ_localityName */
+-0x55,0x04,0x08, /* [ 94] OBJ_stateOrProvinceName */
+-0x55,0x04,0x0A, /* [ 97] OBJ_organizationName */
+-0x55,0x04,0x0B, /* [100] OBJ_organizationalUnitName */
+-0x55,0x08,0x01,0x01, /* [103] OBJ_rsa */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07, /* [107] OBJ_pkcs7 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x01,/* [115] OBJ_pkcs7_data */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x02,/* [124] OBJ_pkcs7_signed */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x03,/* [133] OBJ_pkcs7_enveloped */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x04,/* [142] OBJ_pkcs7_signedAndEnveloped */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x05,/* [151] OBJ_pkcs7_digest */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x06,/* [160] OBJ_pkcs7_encrypted */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x03, /* [169] OBJ_pkcs3 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x03,0x01,/* [177] OBJ_dhKeyAgreement */
+-0x2B,0x0E,0x03,0x02,0x06, /* [186] OBJ_des_ecb */
+-0x2B,0x0E,0x03,0x02,0x09, /* [191] OBJ_des_cfb64 */
+-0x2B,0x0E,0x03,0x02,0x07, /* [196] OBJ_des_cbc */
+-0x2B,0x0E,0x03,0x02,0x11, /* [201] OBJ_des_ede_ecb */
+-0x2B,0x06,0x01,0x04,0x01,0x81,0x3C,0x07,0x01,0x01,0x02,/* [206] OBJ_idea_cbc */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x02, /* [217] OBJ_rc2_cbc */
+-0x2B,0x0E,0x03,0x02,0x12, /* [225] OBJ_sha */
+-0x2B,0x0E,0x03,0x02,0x0F, /* [230] OBJ_shaWithRSAEncryption */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x07, /* [235] OBJ_des_ede3_cbc */
+-0x2B,0x0E,0x03,0x02,0x08, /* [243] OBJ_des_ofb64 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09, /* [248] OBJ_pkcs9 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x01,/* [256] OBJ_pkcs9_emailAddress */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x02,/* [265] OBJ_pkcs9_unstructuredName */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x03,/* [274] OBJ_pkcs9_contentType */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x04,/* [283] OBJ_pkcs9_messageDigest */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x05,/* [292] OBJ_pkcs9_signingTime */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x06,/* [301] OBJ_pkcs9_countersignature */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x07,/* [310] OBJ_pkcs9_challengePassword */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x08,/* [319] OBJ_pkcs9_unstructuredAddress */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x09,/* [328] OBJ_pkcs9_extCertAttributes */
+-0x60,0x86,0x48,0x01,0x86,0xF8,0x42, /* [337] OBJ_netscape */
+-0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01, /* [344] OBJ_netscape_cert_extension */
+-0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x02, /* [352] OBJ_netscape_data_type */
+-0x2B,0x0E,0x03,0x02,0x1A, /* [360] OBJ_sha1 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x05,/* [365] OBJ_sha1WithRSAEncryption */
+-0x2B,0x0E,0x03,0x02,0x0D, /* [374] OBJ_dsaWithSHA */
+-0x2B,0x0E,0x03,0x02,0x0C, /* [379] OBJ_dsa_2 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0B,/* [384] OBJ_pbeWithSHA1AndRC2_CBC */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0C,/* [393] OBJ_id_pbkdf2 */
+-0x2B,0x0E,0x03,0x02,0x1B, /* [402] OBJ_dsaWithSHA1_2 */
+-0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x01,/* [407] OBJ_netscape_cert_type */
+-0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x02,/* [416] OBJ_netscape_base_url */
+-0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x03,/* [425] OBJ_netscape_revocation_url */
+-0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x04,/* [434] OBJ_netscape_ca_revocation_url */
+-0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x07,/* [443] OBJ_netscape_renewal_url */
+-0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x08,/* [452] OBJ_netscape_ca_policy_url */
+-0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x0C,/* [461] OBJ_netscape_ssl_server_name */
+-0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x0D,/* [470] OBJ_netscape_comment */
+-0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x02,0x05,/* [479] OBJ_netscape_cert_sequence */
+-0x55,0x1D, /* [488] OBJ_id_ce */
+-0x55,0x1D,0x0E, /* [490] OBJ_subject_key_identifier */
+-0x55,0x1D,0x0F, /* [493] OBJ_key_usage */
+-0x55,0x1D,0x10, /* [496] OBJ_private_key_usage_period */
+-0x55,0x1D,0x11, /* [499] OBJ_subject_alt_name */
+-0x55,0x1D,0x12, /* [502] OBJ_issuer_alt_name */
+-0x55,0x1D,0x13, /* [505] OBJ_basic_constraints */
+-0x55,0x1D,0x14, /* [508] OBJ_crl_number */
+-0x55,0x1D,0x20, /* [511] OBJ_certificate_policies */
+-0x55,0x1D,0x23, /* [514] OBJ_authority_key_identifier */
+-0x2B,0x06,0x01,0x04,0x01,0x97,0x55,0x01,0x02,/* [517] OBJ_bf_cbc */
+-0x55,0x08,0x03,0x65, /* [526] OBJ_mdc2 */
+-0x55,0x08,0x03,0x64, /* [530] OBJ_mdc2WithRSA */
+-0x55,0x04,0x2A, /* [534] OBJ_givenName */
+-0x55,0x04,0x04, /* [537] OBJ_surname */
+-0x55,0x04,0x2B, /* [540] OBJ_initials */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2C,/* [543] OBJ_uniqueIdentifier */
+-0x55,0x1D,0x1F, /* [553] OBJ_crl_distribution_points */
+-0x2B,0x0E,0x03,0x02,0x03, /* [556] OBJ_md5WithRSA */
+-0x55,0x04,0x05, /* [561] OBJ_serialNumber */
+-0x55,0x04,0x0C, /* [564] OBJ_title */
+-0x55,0x04,0x0D, /* [567] OBJ_description */
+-0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x0A,/* [570] OBJ_cast5_cbc */
+-0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x0C,/* [579] OBJ_pbeWithMD5AndCast5_CBC */
+-0x2A,0x86,0x48,0xCE,0x38,0x04,0x03, /* [588] OBJ_dsaWithSHA1 */
+-0x2B,0x0E,0x03,0x02,0x1D, /* [595] OBJ_sha1WithRSA */
+-0x2A,0x86,0x48,0xCE,0x38,0x04,0x01, /* [600] OBJ_dsa */
+-0x2B,0x24,0x03,0x02,0x01, /* [607] OBJ_ripemd160 */
+-0x2B,0x24,0x03,0x03,0x01,0x02, /* [612] OBJ_ripemd160WithRSA */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x08, /* [618] OBJ_rc5_cbc */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x08,/* [626] OBJ_zlib_compression */
+-0x55,0x1D,0x25, /* [637] OBJ_ext_key_usage */
+-0x2B,0x06,0x01,0x05,0x05,0x07, /* [640] OBJ_id_pkix */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03, /* [646] OBJ_id_kp */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x01, /* [653] OBJ_server_auth */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x02, /* [661] OBJ_client_auth */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x03, /* [669] OBJ_code_sign */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x04, /* [677] OBJ_email_protect */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x08, /* [685] OBJ_time_stamp */
+-0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x02,0x01,0x15,/* [693] OBJ_ms_code_ind */
+-0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x02,0x01,0x16,/* [703] OBJ_ms_code_com */
+-0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x0A,0x03,0x01,/* [713] OBJ_ms_ctl_sign */
+-0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x0A,0x03,0x03,/* [723] OBJ_ms_sgc */
+-0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x0A,0x03,0x04,/* [733] OBJ_ms_efs */
+-0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x04,0x01,/* [743] OBJ_ns_sgc */
+-0x55,0x1D,0x1B, /* [752] OBJ_delta_crl */
+-0x55,0x1D,0x15, /* [755] OBJ_crl_reason */
+-0x55,0x1D,0x18, /* [758] OBJ_invalidity_date */
+-0x2B,0x65,0x01,0x04,0x01, /* [761] OBJ_sxnet */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x01,/* [766] OBJ_pbe_WithSHA1And128BitRC4 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x02,/* [776] OBJ_pbe_WithSHA1And40BitRC4 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x03,/* [786] OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x04,/* [796] OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x05,/* [806] OBJ_pbe_WithSHA1And128BitRC2_CBC */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x06,/* [816] OBJ_pbe_WithSHA1And40BitRC2_CBC */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x01,/* [826] OBJ_keyBag */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x02,/* [837] OBJ_pkcs8ShroudedKeyBag */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x03,/* [848] OBJ_certBag */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x04,/* [859] OBJ_crlBag */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x05,/* [870] OBJ_secretBag */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x06,/* [881] OBJ_safeContentsBag */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x14,/* [892] OBJ_friendlyName */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x15,/* [901] OBJ_localKeyID */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x16,0x01,/* [910] OBJ_x509Certificate */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x16,0x02,/* [920] OBJ_sdsiCertificate */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x17,0x01,/* [930] OBJ_x509Crl */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0D,/* [940] OBJ_pbes2 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0E,/* [949] OBJ_pbmac1 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x07, /* [958] OBJ_hmacWithSHA1 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x02,0x01, /* [966] OBJ_id_qt_cps */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x02,0x02, /* [974] OBJ_id_qt_unotice */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x0F,/* [982] OBJ_SMIMECapabilities */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x04,/* [991] OBJ_pbeWithMD2AndRC2_CBC */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x06,/* [1000] OBJ_pbeWithMD5AndRC2_CBC */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0A,/* [1009] OBJ_pbeWithSHA1AndDES_CBC */
+-0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x02,0x01,0x0E,/* [1018] OBJ_ms_ext_req */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x0E,/* [1028] OBJ_ext_req */
+-0x55,0x04,0x29, /* [1037] OBJ_name */
+-0x55,0x04,0x2E, /* [1040] OBJ_dnQualifier */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01, /* [1043] OBJ_id_pe */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30, /* [1050] OBJ_id_ad */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x01, /* [1057] OBJ_info_access */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01, /* [1065] OBJ_ad_OCSP */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x02, /* [1073] OBJ_ad_ca_issuers */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x09, /* [1081] OBJ_OCSP_sign */
+-0x2A, /* [1089] OBJ_member_body */
+-0x2A,0x86,0x48, /* [1090] OBJ_ISO_US */
+-0x2A,0x86,0x48,0xCE,0x38, /* [1093] OBJ_X9_57 */
+-0x2A,0x86,0x48,0xCE,0x38,0x04, /* [1098] OBJ_X9cm */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01, /* [1104] OBJ_pkcs1 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05, /* [1112] OBJ_pkcs5 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,/* [1120] OBJ_SMIME */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,/* [1129] OBJ_id_smime_mod */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,/* [1139] OBJ_id_smime_ct */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,/* [1149] OBJ_id_smime_aa */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,/* [1159] OBJ_id_smime_alg */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x04,/* [1169] OBJ_id_smime_cd */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x05,/* [1179] OBJ_id_smime_spq */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,/* [1189] OBJ_id_smime_cti */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x01,/* [1199] OBJ_id_smime_mod_cms */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x02,/* [1210] OBJ_id_smime_mod_ess */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x03,/* [1221] OBJ_id_smime_mod_oid */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x04,/* [1232] OBJ_id_smime_mod_msg_v3 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x05,/* [1243] OBJ_id_smime_mod_ets_eSignature_88 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x06,/* [1254] OBJ_id_smime_mod_ets_eSignature_97 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x07,/* [1265] OBJ_id_smime_mod_ets_eSigPolicy_88 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x08,/* [1276] OBJ_id_smime_mod_ets_eSigPolicy_97 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x01,/* [1287] OBJ_id_smime_ct_receipt */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x02,/* [1298] OBJ_id_smime_ct_authData */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x03,/* [1309] OBJ_id_smime_ct_publishCert */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x04,/* [1320] OBJ_id_smime_ct_TSTInfo */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x05,/* [1331] OBJ_id_smime_ct_TDTInfo */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x06,/* [1342] OBJ_id_smime_ct_contentInfo */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x07,/* [1353] OBJ_id_smime_ct_DVCSRequestData */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x08,/* [1364] OBJ_id_smime_ct_DVCSResponseData */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x01,/* [1375] OBJ_id_smime_aa_receiptRequest */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x02,/* [1386] OBJ_id_smime_aa_securityLabel */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x03,/* [1397] OBJ_id_smime_aa_mlExpandHistory */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x04,/* [1408] OBJ_id_smime_aa_contentHint */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x05,/* [1419] OBJ_id_smime_aa_msgSigDigest */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x06,/* [1430] OBJ_id_smime_aa_encapContentType */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x07,/* [1441] OBJ_id_smime_aa_contentIdentifier */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x08,/* [1452] OBJ_id_smime_aa_macValue */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x09,/* [1463] OBJ_id_smime_aa_equivalentLabels */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0A,/* [1474] OBJ_id_smime_aa_contentReference */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0B,/* [1485] OBJ_id_smime_aa_encrypKeyPref */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0C,/* [1496] OBJ_id_smime_aa_signingCertificate */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0D,/* [1507] OBJ_id_smime_aa_smimeEncryptCerts */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0E,/* [1518] OBJ_id_smime_aa_timeStampToken */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0F,/* [1529] OBJ_id_smime_aa_ets_sigPolicyId */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x10,/* [1540] OBJ_id_smime_aa_ets_commitmentType */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x11,/* [1551] OBJ_id_smime_aa_ets_signerLocation */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x12,/* [1562] OBJ_id_smime_aa_ets_signerAttr */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x13,/* [1573] OBJ_id_smime_aa_ets_otherSigCert */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x14,/* [1584] OBJ_id_smime_aa_ets_contentTimestamp */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x15,/* [1595] OBJ_id_smime_aa_ets_CertificateRefs */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x16,/* [1606] OBJ_id_smime_aa_ets_RevocationRefs */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x17,/* [1617] OBJ_id_smime_aa_ets_certValues */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x18,/* [1628] OBJ_id_smime_aa_ets_revocationValues */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x19,/* [1639] OBJ_id_smime_aa_ets_escTimeStamp */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x1A,/* [1650] OBJ_id_smime_aa_ets_certCRLTimestamp */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x1B,/* [1661] OBJ_id_smime_aa_ets_archiveTimeStamp */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x1C,/* [1672] OBJ_id_smime_aa_signatureType */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x1D,/* [1683] OBJ_id_smime_aa_dvcs_dvc */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x01,/* [1694] OBJ_id_smime_alg_ESDHwith3DES */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x02,/* [1705] OBJ_id_smime_alg_ESDHwithRC2 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x03,/* [1716] OBJ_id_smime_alg_3DESwrap */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x04,/* [1727] OBJ_id_smime_alg_RC2wrap */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x05,/* [1738] OBJ_id_smime_alg_ESDH */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x06,/* [1749] OBJ_id_smime_alg_CMS3DESwrap */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x07,/* [1760] OBJ_id_smime_alg_CMSRC2wrap */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x04,0x01,/* [1771] OBJ_id_smime_cd_ldap */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x05,0x01,/* [1782] OBJ_id_smime_spq_ets_sqt_uri */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x05,0x02,/* [1793] OBJ_id_smime_spq_ets_sqt_unotice */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x01,/* [1804] OBJ_id_smime_cti_ets_proofOfOrigin */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x02,/* [1815] OBJ_id_smime_cti_ets_proofOfReceipt */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x03,/* [1826] OBJ_id_smime_cti_ets_proofOfDelivery */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x04,/* [1837] OBJ_id_smime_cti_ets_proofOfSender */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x05,/* [1848] OBJ_id_smime_cti_ets_proofOfApproval */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x06,/* [1859] OBJ_id_smime_cti_ets_proofOfCreation */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x04, /* [1870] OBJ_md4 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00, /* [1878] OBJ_id_pkix_mod */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x02, /* [1885] OBJ_id_qt */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04, /* [1892] OBJ_id_it */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x05, /* [1899] OBJ_id_pkip */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x06, /* [1906] OBJ_id_alg */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07, /* [1913] OBJ_id_cmc */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x08, /* [1920] OBJ_id_on */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x09, /* [1927] OBJ_id_pda */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x0A, /* [1934] OBJ_id_aca */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x0B, /* [1941] OBJ_id_qcs */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x0C, /* [1948] OBJ_id_cct */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x01, /* [1955] OBJ_id_pkix1_explicit_88 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x02, /* [1963] OBJ_id_pkix1_implicit_88 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x03, /* [1971] OBJ_id_pkix1_explicit_93 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x04, /* [1979] OBJ_id_pkix1_implicit_93 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x05, /* [1987] OBJ_id_mod_crmf */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x06, /* [1995] OBJ_id_mod_cmc */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x07, /* [2003] OBJ_id_mod_kea_profile_88 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x08, /* [2011] OBJ_id_mod_kea_profile_93 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x09, /* [2019] OBJ_id_mod_cmp */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0A, /* [2027] OBJ_id_mod_qualified_cert_88 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0B, /* [2035] OBJ_id_mod_qualified_cert_93 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0C, /* [2043] OBJ_id_mod_attribute_cert */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0D, /* [2051] OBJ_id_mod_timestamp_protocol */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0E, /* [2059] OBJ_id_mod_ocsp */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0F, /* [2067] OBJ_id_mod_dvcs */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x10, /* [2075] OBJ_id_mod_cmp2000 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x02, /* [2083] OBJ_biometricInfo */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x03, /* [2091] OBJ_qcStatements */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x04, /* [2099] OBJ_ac_auditEntity */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x05, /* [2107] OBJ_ac_targeting */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x06, /* [2115] OBJ_aaControls */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x07, /* [2123] OBJ_sbgp_ipAddrBlock */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x08, /* [2131] OBJ_sbgp_autonomousSysNum */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x09, /* [2139] OBJ_sbgp_routerIdentifier */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x02,0x03, /* [2147] OBJ_textNotice */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x05, /* [2155] OBJ_ipsecEndSystem */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x06, /* [2163] OBJ_ipsecTunnel */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x07, /* [2171] OBJ_ipsecUser */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x0A, /* [2179] OBJ_dvcs */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x01, /* [2187] OBJ_id_it_caProtEncCert */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x02, /* [2195] OBJ_id_it_signKeyPairTypes */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x03, /* [2203] OBJ_id_it_encKeyPairTypes */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x04, /* [2211] OBJ_id_it_preferredSymmAlg */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x05, /* [2219] OBJ_id_it_caKeyUpdateInfo */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x06, /* [2227] OBJ_id_it_currentCRL */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x07, /* [2235] OBJ_id_it_unsupportedOIDs */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x08, /* [2243] OBJ_id_it_subscriptionRequest */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x09, /* [2251] OBJ_id_it_subscriptionResponse */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0A, /* [2259] OBJ_id_it_keyPairParamReq */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0B, /* [2267] OBJ_id_it_keyPairParamRep */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0C, /* [2275] OBJ_id_it_revPassphrase */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0D, /* [2283] OBJ_id_it_implicitConfirm */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0E, /* [2291] OBJ_id_it_confirmWaitTime */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0F, /* [2299] OBJ_id_it_origPKIMessage */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01, /* [2307] OBJ_id_regCtrl */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x02, /* [2315] OBJ_id_regInfo */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x01,/* [2323] OBJ_id_regCtrl_regToken */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x02,/* [2332] OBJ_id_regCtrl_authenticator */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x03,/* [2341] OBJ_id_regCtrl_pkiPublicationInfo */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x04,/* [2350] OBJ_id_regCtrl_pkiArchiveOptions */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x05,/* [2359] OBJ_id_regCtrl_oldCertID */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x06,/* [2368] OBJ_id_regCtrl_protocolEncrKey */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x02,0x01,/* [2377] OBJ_id_regInfo_utf8Pairs */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x02,0x02,/* [2386] OBJ_id_regInfo_certReq */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x06,0x01, /* [2395] OBJ_id_alg_des40 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x06,0x02, /* [2403] OBJ_id_alg_noSignature */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x06,0x03, /* [2411] OBJ_id_alg_dh_sig_hmac_sha1 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x06,0x04, /* [2419] OBJ_id_alg_dh_pop */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x01, /* [2427] OBJ_id_cmc_statusInfo */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x02, /* [2435] OBJ_id_cmc_identification */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x03, /* [2443] OBJ_id_cmc_identityProof */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x04, /* [2451] OBJ_id_cmc_dataReturn */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x05, /* [2459] OBJ_id_cmc_transactionId */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x06, /* [2467] OBJ_id_cmc_senderNonce */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x07, /* [2475] OBJ_id_cmc_recipientNonce */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x08, /* [2483] OBJ_id_cmc_addExtensions */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x09, /* [2491] OBJ_id_cmc_encryptedPOP */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x0A, /* [2499] OBJ_id_cmc_decryptedPOP */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x0B, /* [2507] OBJ_id_cmc_lraPOPWitness */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x0F, /* [2515] OBJ_id_cmc_getCert */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x10, /* [2523] OBJ_id_cmc_getCRL */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x11, /* [2531] OBJ_id_cmc_revokeRequest */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x12, /* [2539] OBJ_id_cmc_regInfo */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x13, /* [2547] OBJ_id_cmc_responseInfo */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x15, /* [2555] OBJ_id_cmc_queryPending */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x16, /* [2563] OBJ_id_cmc_popLinkRandom */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x17, /* [2571] OBJ_id_cmc_popLinkWitness */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x18, /* [2579] OBJ_id_cmc_confirmCertAcceptance */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x08,0x01, /* [2587] OBJ_id_on_personalData */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x01, /* [2595] OBJ_id_pda_dateOfBirth */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x02, /* [2603] OBJ_id_pda_placeOfBirth */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x03, /* [2611] OBJ_id_pda_gender */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x04, /* [2619] OBJ_id_pda_countryOfCitizenship */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x05, /* [2627] OBJ_id_pda_countryOfResidence */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x01, /* [2635] OBJ_id_aca_authenticationInfo */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x02, /* [2643] OBJ_id_aca_accessIdentity */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x03, /* [2651] OBJ_id_aca_chargingIdentity */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x04, /* [2659] OBJ_id_aca_group */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x05, /* [2667] OBJ_id_aca_role */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x0B,0x01, /* [2675] OBJ_id_qcs_pkixQCSyntax_v1 */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x0C,0x01, /* [2683] OBJ_id_cct_crs */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x0C,0x02, /* [2691] OBJ_id_cct_PKIData */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x0C,0x03, /* [2699] OBJ_id_cct_PKIResponse */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x03, /* [2707] OBJ_ad_timeStamping */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x04, /* [2715] OBJ_ad_dvcs */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x01,/* [2723] OBJ_id_pkix_OCSP_basic */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x02,/* [2732] OBJ_id_pkix_OCSP_Nonce */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x03,/* [2741] OBJ_id_pkix_OCSP_CrlID */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x04,/* [2750] OBJ_id_pkix_OCSP_acceptableResponses */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x05,/* [2759] OBJ_id_pkix_OCSP_noCheck */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x06,/* [2768] OBJ_id_pkix_OCSP_archiveCutoff */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x07,/* [2777] OBJ_id_pkix_OCSP_serviceLocator */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x08,/* [2786] OBJ_id_pkix_OCSP_extendedStatus */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x09,/* [2795] OBJ_id_pkix_OCSP_valid */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x0A,/* [2804] OBJ_id_pkix_OCSP_path */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x0B,/* [2813] OBJ_id_pkix_OCSP_trustRoot */
+-0x2B,0x0E,0x03,0x02, /* [2822] OBJ_algorithm */
+-0x2B,0x0E,0x03,0x02,0x0B, /* [2826] OBJ_rsaSignature */
+-0x55,0x08, /* [2831] OBJ_X500algorithms */
+-0x2B, /* [2833] OBJ_org */
+-0x2B,0x06, /* [2834] OBJ_dod */
+-0x2B,0x06,0x01, /* [2836] OBJ_iana */
+-0x2B,0x06,0x01,0x01, /* [2839] OBJ_Directory */
+-0x2B,0x06,0x01,0x02, /* [2843] OBJ_Management */
+-0x2B,0x06,0x01,0x03, /* [2847] OBJ_Experimental */
+-0x2B,0x06,0x01,0x04, /* [2851] OBJ_Private */
+-0x2B,0x06,0x01,0x05, /* [2855] OBJ_Security */
+-0x2B,0x06,0x01,0x06, /* [2859] OBJ_SNMPv2 */
+-0x2B,0x06,0x01,0x07, /* [2863] OBJ_Mail */
+-0x2B,0x06,0x01,0x04,0x01, /* [2867] OBJ_Enterprises */
+-0x2B,0x06,0x01,0x04,0x01,0x8B,0x3A,0x82,0x58,/* [2872] OBJ_dcObject */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x19,/* [2881] OBJ_domainComponent */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x0D,/* [2891] OBJ_Domain */
+-0x55,0x01,0x05, /* [2901] OBJ_selected_attribute_types */
+-0x55,0x01,0x05,0x37, /* [2904] OBJ_clearance */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x03,/* [2908] OBJ_md4WithRSAEncryption */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x0A, /* [2917] OBJ_ac_proxying */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x0B, /* [2925] OBJ_sinfo_access */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x06, /* [2933] OBJ_id_aca_encAttrs */
+-0x55,0x04,0x48, /* [2941] OBJ_role */
+-0x55,0x1D,0x24, /* [2944] OBJ_policy_constraints */
+-0x55,0x1D,0x37, /* [2947] OBJ_target_information */
+-0x55,0x1D,0x38, /* [2950] OBJ_no_rev_avail */
+-0x2A,0x86,0x48,0xCE,0x3D, /* [2953] OBJ_ansi_X9_62 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x01,0x01, /* [2958] OBJ_X9_62_prime_field */
+-0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02, /* [2965] OBJ_X9_62_characteristic_two_field */
+-0x2A,0x86,0x48,0xCE,0x3D,0x02,0x01, /* [2972] OBJ_X9_62_id_ecPublicKey */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x01, /* [2979] OBJ_X9_62_prime192v1 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x02, /* [2987] OBJ_X9_62_prime192v2 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x03, /* [2995] OBJ_X9_62_prime192v3 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x04, /* [3003] OBJ_X9_62_prime239v1 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x05, /* [3011] OBJ_X9_62_prime239v2 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x06, /* [3019] OBJ_X9_62_prime239v3 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x07, /* [3027] OBJ_X9_62_prime256v1 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x04,0x01, /* [3035] OBJ_ecdsa_with_SHA1 */
+-0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x11,0x01,/* [3042] OBJ_ms_csp_name */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x01,/* [3051] OBJ_aes_128_ecb */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x02,/* [3060] OBJ_aes_128_cbc */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x03,/* [3069] OBJ_aes_128_ofb128 */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x04,/* [3078] OBJ_aes_128_cfb128 */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x15,/* [3087] OBJ_aes_192_ecb */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x16,/* [3096] OBJ_aes_192_cbc */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x17,/* [3105] OBJ_aes_192_ofb128 */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x18,/* [3114] OBJ_aes_192_cfb128 */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x29,/* [3123] OBJ_aes_256_ecb */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2A,/* [3132] OBJ_aes_256_cbc */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2B,/* [3141] OBJ_aes_256_ofb128 */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2C,/* [3150] OBJ_aes_256_cfb128 */
+-0x55,0x1D,0x17, /* [3159] OBJ_hold_instruction_code */
+-0x2A,0x86,0x48,0xCE,0x38,0x02,0x01, /* [3162] OBJ_hold_instruction_none */
+-0x2A,0x86,0x48,0xCE,0x38,0x02,0x02, /* [3169] OBJ_hold_instruction_call_issuer */
+-0x2A,0x86,0x48,0xCE,0x38,0x02,0x03, /* [3176] OBJ_hold_instruction_reject */
+-0x09, /* [3183] OBJ_data */
+-0x09,0x92,0x26, /* [3184] OBJ_pss */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C, /* [3187] OBJ_ucl */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64, /* [3194] OBJ_pilot */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,/* [3202] OBJ_pilotAttributeType */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x03,/* [3211] OBJ_pilotAttributeSyntax */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,/* [3220] OBJ_pilotObjectClass */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x0A,/* [3229] OBJ_pilotGroups */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x03,0x04,/* [3238] OBJ_iA5StringSyntax */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x03,0x05,/* [3248] OBJ_caseIgnoreIA5StringSyntax */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x03,/* [3258] OBJ_pilotObject */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x04,/* [3268] OBJ_pilotPerson */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x05,/* [3278] OBJ_account */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x06,/* [3288] OBJ_document */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x07,/* [3298] OBJ_room */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x09,/* [3308] OBJ_documentSeries */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x0E,/* [3318] OBJ_rFC822localPart */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x0F,/* [3328] OBJ_dNSDomain */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x11,/* [3338] OBJ_domainRelatedObject */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x12,/* [3348] OBJ_friendlyCountry */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x13,/* [3358] OBJ_simpleSecurityObject */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x14,/* [3368] OBJ_pilotOrganization */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x15,/* [3378] OBJ_pilotDSA */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x16,/* [3388] OBJ_qualityLabelledData */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x01,/* [3398] OBJ_userId */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x02,/* [3408] OBJ_textEncodedORAddress */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x03,/* [3418] OBJ_rfc822Mailbox */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x04,/* [3428] OBJ_info */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x05,/* [3438] OBJ_favouriteDrink */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x06,/* [3448] OBJ_roomNumber */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x07,/* [3458] OBJ_photo */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x08,/* [3468] OBJ_userClass */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x09,/* [3478] OBJ_host */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0A,/* [3488] OBJ_manager */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0B,/* [3498] OBJ_documentIdentifier */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0C,/* [3508] OBJ_documentTitle */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0D,/* [3518] OBJ_documentVersion */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0E,/* [3528] OBJ_documentAuthor */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0F,/* [3538] OBJ_documentLocation */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x14,/* [3548] OBJ_homeTelephoneNumber */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x15,/* [3558] OBJ_secretary */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x16,/* [3568] OBJ_otherMailbox */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x17,/* [3578] OBJ_lastModifiedTime */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x18,/* [3588] OBJ_lastModifiedBy */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1A,/* [3598] OBJ_aRecord */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1B,/* [3608] OBJ_pilotAttributeType27 */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1C,/* [3618] OBJ_mXRecord */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1D,/* [3628] OBJ_nSRecord */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1E,/* [3638] OBJ_sOARecord */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1F,/* [3648] OBJ_cNAMERecord */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x25,/* [3658] OBJ_associatedDomain */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x26,/* [3668] OBJ_associatedName */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x27,/* [3678] OBJ_homePostalAddress */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x28,/* [3688] OBJ_personalTitle */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x29,/* [3698] OBJ_mobileTelephoneNumber */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2A,/* [3708] OBJ_pagerTelephoneNumber */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2B,/* [3718] OBJ_friendlyCountryName */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2D,/* [3728] OBJ_organizationalStatus */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2E,/* [3738] OBJ_janetMailbox */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2F,/* [3748] OBJ_mailPreferenceOption */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x30,/* [3758] OBJ_buildingName */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x31,/* [3768] OBJ_dSAQuality */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x32,/* [3778] OBJ_singleLevelQuality */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x33,/* [3788] OBJ_subtreeMinimumQuality */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x34,/* [3798] OBJ_subtreeMaximumQuality */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x35,/* [3808] OBJ_personalSignature */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x36,/* [3818] OBJ_dITRedirect */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x37,/* [3828] OBJ_audio */
+-0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x38,/* [3838] OBJ_documentPublisher */
+-0x55,0x04,0x2D, /* [3848] OBJ_x500UniqueIdentifier */
+-0x2B,0x06,0x01,0x07,0x01, /* [3851] OBJ_mime_mhs */
+-0x2B,0x06,0x01,0x07,0x01,0x01, /* [3856] OBJ_mime_mhs_headings */
+-0x2B,0x06,0x01,0x07,0x01,0x02, /* [3862] OBJ_mime_mhs_bodies */
+-0x2B,0x06,0x01,0x07,0x01,0x01,0x01, /* [3868] OBJ_id_hex_partial_message */
+-0x2B,0x06,0x01,0x07,0x01,0x01,0x02, /* [3875] OBJ_id_hex_multipart_message */
+-0x55,0x04,0x2C, /* [3882] OBJ_generationQualifier */
+-0x55,0x04,0x41, /* [3885] OBJ_pseudonym */
+-0x67,0x2A, /* [3888] OBJ_id_set */
+-0x67,0x2A,0x00, /* [3890] OBJ_set_ctype */
+-0x67,0x2A,0x01, /* [3893] OBJ_set_msgExt */
+-0x67,0x2A,0x03, /* [3896] OBJ_set_attr */
+-0x67,0x2A,0x05, /* [3899] OBJ_set_policy */
+-0x67,0x2A,0x07, /* [3902] OBJ_set_certExt */
+-0x67,0x2A,0x08, /* [3905] OBJ_set_brand */
+-0x67,0x2A,0x00,0x00, /* [3908] OBJ_setct_PANData */
+-0x67,0x2A,0x00,0x01, /* [3912] OBJ_setct_PANToken */
+-0x67,0x2A,0x00,0x02, /* [3916] OBJ_setct_PANOnly */
+-0x67,0x2A,0x00,0x03, /* [3920] OBJ_setct_OIData */
+-0x67,0x2A,0x00,0x04, /* [3924] OBJ_setct_PI */
+-0x67,0x2A,0x00,0x05, /* [3928] OBJ_setct_PIData */
+-0x67,0x2A,0x00,0x06, /* [3932] OBJ_setct_PIDataUnsigned */
+-0x67,0x2A,0x00,0x07, /* [3936] OBJ_setct_HODInput */
+-0x67,0x2A,0x00,0x08, /* [3940] OBJ_setct_AuthResBaggage */
+-0x67,0x2A,0x00,0x09, /* [3944] OBJ_setct_AuthRevReqBaggage */
+-0x67,0x2A,0x00,0x0A, /* [3948] OBJ_setct_AuthRevResBaggage */
+-0x67,0x2A,0x00,0x0B, /* [3952] OBJ_setct_CapTokenSeq */
+-0x67,0x2A,0x00,0x0C, /* [3956] OBJ_setct_PInitResData */
+-0x67,0x2A,0x00,0x0D, /* [3960] OBJ_setct_PI_TBS */
+-0x67,0x2A,0x00,0x0E, /* [3964] OBJ_setct_PResData */
+-0x67,0x2A,0x00,0x10, /* [3968] OBJ_setct_AuthReqTBS */
+-0x67,0x2A,0x00,0x11, /* [3972] OBJ_setct_AuthResTBS */
+-0x67,0x2A,0x00,0x12, /* [3976] OBJ_setct_AuthResTBSX */
+-0x67,0x2A,0x00,0x13, /* [3980] OBJ_setct_AuthTokenTBS */
+-0x67,0x2A,0x00,0x14, /* [3984] OBJ_setct_CapTokenData */
+-0x67,0x2A,0x00,0x15, /* [3988] OBJ_setct_CapTokenTBS */
+-0x67,0x2A,0x00,0x16, /* [3992] OBJ_setct_AcqCardCodeMsg */
+-0x67,0x2A,0x00,0x17, /* [3996] OBJ_setct_AuthRevReqTBS */
+-0x67,0x2A,0x00,0x18, /* [4000] OBJ_setct_AuthRevResData */
+-0x67,0x2A,0x00,0x19, /* [4004] OBJ_setct_AuthRevResTBS */
+-0x67,0x2A,0x00,0x1A, /* [4008] OBJ_setct_CapReqTBS */
+-0x67,0x2A,0x00,0x1B, /* [4012] OBJ_setct_CapReqTBSX */
+-0x67,0x2A,0x00,0x1C, /* [4016] OBJ_setct_CapResData */
+-0x67,0x2A,0x00,0x1D, /* [4020] OBJ_setct_CapRevReqTBS */
+-0x67,0x2A,0x00,0x1E, /* [4024] OBJ_setct_CapRevReqTBSX */
+-0x67,0x2A,0x00,0x1F, /* [4028] OBJ_setct_CapRevResData */
+-0x67,0x2A,0x00,0x20, /* [4032] OBJ_setct_CredReqTBS */
+-0x67,0x2A,0x00,0x21, /* [4036] OBJ_setct_CredReqTBSX */
+-0x67,0x2A,0x00,0x22, /* [4040] OBJ_setct_CredResData */
+-0x67,0x2A,0x00,0x23, /* [4044] OBJ_setct_CredRevReqTBS */
+-0x67,0x2A,0x00,0x24, /* [4048] OBJ_setct_CredRevReqTBSX */
+-0x67,0x2A,0x00,0x25, /* [4052] OBJ_setct_CredRevResData */
+-0x67,0x2A,0x00,0x26, /* [4056] OBJ_setct_PCertReqData */
+-0x67,0x2A,0x00,0x27, /* [4060] OBJ_setct_PCertResTBS */
+-0x67,0x2A,0x00,0x28, /* [4064] OBJ_setct_BatchAdminReqData */
+-0x67,0x2A,0x00,0x29, /* [4068] OBJ_setct_BatchAdminResData */
+-0x67,0x2A,0x00,0x2A, /* [4072] OBJ_setct_CardCInitResTBS */
+-0x67,0x2A,0x00,0x2B, /* [4076] OBJ_setct_MeAqCInitResTBS */
+-0x67,0x2A,0x00,0x2C, /* [4080] OBJ_setct_RegFormResTBS */
+-0x67,0x2A,0x00,0x2D, /* [4084] OBJ_setct_CertReqData */
+-0x67,0x2A,0x00,0x2E, /* [4088] OBJ_setct_CertReqTBS */
+-0x67,0x2A,0x00,0x2F, /* [4092] OBJ_setct_CertResData */
+-0x67,0x2A,0x00,0x30, /* [4096] OBJ_setct_CertInqReqTBS */
+-0x67,0x2A,0x00,0x31, /* [4100] OBJ_setct_ErrorTBS */
+-0x67,0x2A,0x00,0x32, /* [4104] OBJ_setct_PIDualSignedTBE */
+-0x67,0x2A,0x00,0x33, /* [4108] OBJ_setct_PIUnsignedTBE */
+-0x67,0x2A,0x00,0x34, /* [4112] OBJ_setct_AuthReqTBE */
+-0x67,0x2A,0x00,0x35, /* [4116] OBJ_setct_AuthResTBE */
+-0x67,0x2A,0x00,0x36, /* [4120] OBJ_setct_AuthResTBEX */
+-0x67,0x2A,0x00,0x37, /* [4124] OBJ_setct_AuthTokenTBE */
+-0x67,0x2A,0x00,0x38, /* [4128] OBJ_setct_CapTokenTBE */
+-0x67,0x2A,0x00,0x39, /* [4132] OBJ_setct_CapTokenTBEX */
+-0x67,0x2A,0x00,0x3A, /* [4136] OBJ_setct_AcqCardCodeMsgTBE */
+-0x67,0x2A,0x00,0x3B, /* [4140] OBJ_setct_AuthRevReqTBE */
+-0x67,0x2A,0x00,0x3C, /* [4144] OBJ_setct_AuthRevResTBE */
+-0x67,0x2A,0x00,0x3D, /* [4148] OBJ_setct_AuthRevResTBEB */
+-0x67,0x2A,0x00,0x3E, /* [4152] OBJ_setct_CapReqTBE */
+-0x67,0x2A,0x00,0x3F, /* [4156] OBJ_setct_CapReqTBEX */
+-0x67,0x2A,0x00,0x40, /* [4160] OBJ_setct_CapResTBE */
+-0x67,0x2A,0x00,0x41, /* [4164] OBJ_setct_CapRevReqTBE */
+-0x67,0x2A,0x00,0x42, /* [4168] OBJ_setct_CapRevReqTBEX */
+-0x67,0x2A,0x00,0x43, /* [4172] OBJ_setct_CapRevResTBE */
+-0x67,0x2A,0x00,0x44, /* [4176] OBJ_setct_CredReqTBE */
+-0x67,0x2A,0x00,0x45, /* [4180] OBJ_setct_CredReqTBEX */
+-0x67,0x2A,0x00,0x46, /* [4184] OBJ_setct_CredResTBE */
+-0x67,0x2A,0x00,0x47, /* [4188] OBJ_setct_CredRevReqTBE */
+-0x67,0x2A,0x00,0x48, /* [4192] OBJ_setct_CredRevReqTBEX */
+-0x67,0x2A,0x00,0x49, /* [4196] OBJ_setct_CredRevResTBE */
+-0x67,0x2A,0x00,0x4A, /* [4200] OBJ_setct_BatchAdminReqTBE */
+-0x67,0x2A,0x00,0x4B, /* [4204] OBJ_setct_BatchAdminResTBE */
+-0x67,0x2A,0x00,0x4C, /* [4208] OBJ_setct_RegFormReqTBE */
+-0x67,0x2A,0x00,0x4D, /* [4212] OBJ_setct_CertReqTBE */
+-0x67,0x2A,0x00,0x4E, /* [4216] OBJ_setct_CertReqTBEX */
+-0x67,0x2A,0x00,0x4F, /* [4220] OBJ_setct_CertResTBE */
+-0x67,0x2A,0x00,0x50, /* [4224] OBJ_setct_CRLNotificationTBS */
+-0x67,0x2A,0x00,0x51, /* [4228] OBJ_setct_CRLNotificationResTBS */
+-0x67,0x2A,0x00,0x52, /* [4232] OBJ_setct_BCIDistributionTBS */
+-0x67,0x2A,0x01,0x01, /* [4236] OBJ_setext_genCrypt */
+-0x67,0x2A,0x01,0x03, /* [4240] OBJ_setext_miAuth */
+-0x67,0x2A,0x01,0x04, /* [4244] OBJ_setext_pinSecure */
+-0x67,0x2A,0x01,0x05, /* [4248] OBJ_setext_pinAny */
+-0x67,0x2A,0x01,0x07, /* [4252] OBJ_setext_track2 */
+-0x67,0x2A,0x01,0x08, /* [4256] OBJ_setext_cv */
+-0x67,0x2A,0x05,0x00, /* [4260] OBJ_set_policy_root */
+-0x67,0x2A,0x07,0x00, /* [4264] OBJ_setCext_hashedRoot */
+-0x67,0x2A,0x07,0x01, /* [4268] OBJ_setCext_certType */
+-0x67,0x2A,0x07,0x02, /* [4272] OBJ_setCext_merchData */
+-0x67,0x2A,0x07,0x03, /* [4276] OBJ_setCext_cCertRequired */
+-0x67,0x2A,0x07,0x04, /* [4280] OBJ_setCext_tunneling */
+-0x67,0x2A,0x07,0x05, /* [4284] OBJ_setCext_setExt */
+-0x67,0x2A,0x07,0x06, /* [4288] OBJ_setCext_setQualf */
+-0x67,0x2A,0x07,0x07, /* [4292] OBJ_setCext_PGWYcapabilities */
+-0x67,0x2A,0x07,0x08, /* [4296] OBJ_setCext_TokenIdentifier */
+-0x67,0x2A,0x07,0x09, /* [4300] OBJ_setCext_Track2Data */
+-0x67,0x2A,0x07,0x0A, /* [4304] OBJ_setCext_TokenType */
+-0x67,0x2A,0x07,0x0B, /* [4308] OBJ_setCext_IssuerCapabilities */
+-0x67,0x2A,0x03,0x00, /* [4312] OBJ_setAttr_Cert */
+-0x67,0x2A,0x03,0x01, /* [4316] OBJ_setAttr_PGWYcap */
+-0x67,0x2A,0x03,0x02, /* [4320] OBJ_setAttr_TokenType */
+-0x67,0x2A,0x03,0x03, /* [4324] OBJ_setAttr_IssCap */
+-0x67,0x2A,0x03,0x00,0x00, /* [4328] OBJ_set_rootKeyThumb */
+-0x67,0x2A,0x03,0x00,0x01, /* [4333] OBJ_set_addPolicy */
+-0x67,0x2A,0x03,0x02,0x01, /* [4338] OBJ_setAttr_Token_EMV */
+-0x67,0x2A,0x03,0x02,0x02, /* [4343] OBJ_setAttr_Token_B0Prime */
+-0x67,0x2A,0x03,0x03,0x03, /* [4348] OBJ_setAttr_IssCap_CVM */
+-0x67,0x2A,0x03,0x03,0x04, /* [4353] OBJ_setAttr_IssCap_T2 */
+-0x67,0x2A,0x03,0x03,0x05, /* [4358] OBJ_setAttr_IssCap_Sig */
+-0x67,0x2A,0x03,0x03,0x03,0x01, /* [4363] OBJ_setAttr_GenCryptgrm */
+-0x67,0x2A,0x03,0x03,0x04,0x01, /* [4369] OBJ_setAttr_T2Enc */
+-0x67,0x2A,0x03,0x03,0x04,0x02, /* [4375] OBJ_setAttr_T2cleartxt */
+-0x67,0x2A,0x03,0x03,0x05,0x01, /* [4381] OBJ_setAttr_TokICCsig */
+-0x67,0x2A,0x03,0x03,0x05,0x02, /* [4387] OBJ_setAttr_SecDevSig */
+-0x67,0x2A,0x08,0x01, /* [4393] OBJ_set_brand_IATA_ATA */
+-0x67,0x2A,0x08,0x1E, /* [4397] OBJ_set_brand_Diners */
+-0x67,0x2A,0x08,0x22, /* [4401] OBJ_set_brand_AmericanExpress */
+-0x67,0x2A,0x08,0x23, /* [4405] OBJ_set_brand_JCB */
+-0x67,0x2A,0x08,0x04, /* [4409] OBJ_set_brand_Visa */
+-0x67,0x2A,0x08,0x05, /* [4413] OBJ_set_brand_MasterCard */
+-0x67,0x2A,0x08,0xAE,0x7B, /* [4417] OBJ_set_brand_Novus */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x0A, /* [4422] OBJ_des_cdmf */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x06,/* [4430] OBJ_rsaOAEPEncryptionSET */
+-0x67, /* [4439] OBJ_international_organizations */
+-0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x14,0x02,0x02,/* [4440] OBJ_ms_smartcard_login */
+-0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x14,0x02,0x03,/* [4450] OBJ_ms_upn */
+-0x55,0x04,0x09, /* [4460] OBJ_streetAddress */
+-0x55,0x04,0x11, /* [4463] OBJ_postalCode */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x15, /* [4466] OBJ_id_ppl */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x0E, /* [4473] OBJ_proxyCertInfo */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x15,0x00, /* [4481] OBJ_id_ppl_anyLanguage */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x15,0x01, /* [4489] OBJ_id_ppl_inheritAll */
+-0x55,0x1D,0x1E, /* [4497] OBJ_name_constraints */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x15,0x02, /* [4500] OBJ_Independent */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0B,/* [4508] OBJ_sha256WithRSAEncryption */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0C,/* [4517] OBJ_sha384WithRSAEncryption */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0D,/* [4526] OBJ_sha512WithRSAEncryption */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0E,/* [4535] OBJ_sha224WithRSAEncryption */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x01,/* [4544] OBJ_sha256 */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x02,/* [4553] OBJ_sha384 */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x03,/* [4562] OBJ_sha512 */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x04,/* [4571] OBJ_sha224 */
+-0x2B, /* [4580] OBJ_identified_organization */
+-0x2B,0x81,0x04, /* [4581] OBJ_certicom_arc */
+-0x67,0x2B, /* [4584] OBJ_wap */
+-0x67,0x2B,0x01, /* [4586] OBJ_wap_wsg */
+-0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02,0x03, /* [4589] OBJ_X9_62_id_characteristic_two_basis */
+-0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02,0x03,0x01,/* [4597] OBJ_X9_62_onBasis */
+-0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02,0x03,0x02,/* [4606] OBJ_X9_62_tpBasis */
+-0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02,0x03,0x03,/* [4615] OBJ_X9_62_ppBasis */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x01, /* [4624] OBJ_X9_62_c2pnb163v1 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x02, /* [4632] OBJ_X9_62_c2pnb163v2 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x03, /* [4640] OBJ_X9_62_c2pnb163v3 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x04, /* [4648] OBJ_X9_62_c2pnb176v1 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x05, /* [4656] OBJ_X9_62_c2tnb191v1 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x06, /* [4664] OBJ_X9_62_c2tnb191v2 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x07, /* [4672] OBJ_X9_62_c2tnb191v3 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x08, /* [4680] OBJ_X9_62_c2onb191v4 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x09, /* [4688] OBJ_X9_62_c2onb191v5 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0A, /* [4696] OBJ_X9_62_c2pnb208w1 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0B, /* [4704] OBJ_X9_62_c2tnb239v1 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0C, /* [4712] OBJ_X9_62_c2tnb239v2 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0D, /* [4720] OBJ_X9_62_c2tnb239v3 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0E, /* [4728] OBJ_X9_62_c2onb239v4 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0F, /* [4736] OBJ_X9_62_c2onb239v5 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x10, /* [4744] OBJ_X9_62_c2pnb272w1 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x11, /* [4752] OBJ_X9_62_c2pnb304w1 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x12, /* [4760] OBJ_X9_62_c2tnb359v1 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x13, /* [4768] OBJ_X9_62_c2pnb368w1 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x14, /* [4776] OBJ_X9_62_c2tnb431r1 */
+-0x2B,0x81,0x04,0x00,0x06, /* [4784] OBJ_secp112r1 */
+-0x2B,0x81,0x04,0x00,0x07, /* [4789] OBJ_secp112r2 */
+-0x2B,0x81,0x04,0x00,0x1C, /* [4794] OBJ_secp128r1 */
+-0x2B,0x81,0x04,0x00,0x1D, /* [4799] OBJ_secp128r2 */
+-0x2B,0x81,0x04,0x00,0x09, /* [4804] OBJ_secp160k1 */
+-0x2B,0x81,0x04,0x00,0x08, /* [4809] OBJ_secp160r1 */
+-0x2B,0x81,0x04,0x00,0x1E, /* [4814] OBJ_secp160r2 */
+-0x2B,0x81,0x04,0x00,0x1F, /* [4819] OBJ_secp192k1 */
+-0x2B,0x81,0x04,0x00,0x20, /* [4824] OBJ_secp224k1 */
+-0x2B,0x81,0x04,0x00,0x21, /* [4829] OBJ_secp224r1 */
+-0x2B,0x81,0x04,0x00,0x0A, /* [4834] OBJ_secp256k1 */
+-0x2B,0x81,0x04,0x00,0x22, /* [4839] OBJ_secp384r1 */
+-0x2B,0x81,0x04,0x00,0x23, /* [4844] OBJ_secp521r1 */
+-0x2B,0x81,0x04,0x00,0x04, /* [4849] OBJ_sect113r1 */
+-0x2B,0x81,0x04,0x00,0x05, /* [4854] OBJ_sect113r2 */
+-0x2B,0x81,0x04,0x00,0x16, /* [4859] OBJ_sect131r1 */
+-0x2B,0x81,0x04,0x00,0x17, /* [4864] OBJ_sect131r2 */
+-0x2B,0x81,0x04,0x00,0x01, /* [4869] OBJ_sect163k1 */
+-0x2B,0x81,0x04,0x00,0x02, /* [4874] OBJ_sect163r1 */
+-0x2B,0x81,0x04,0x00,0x0F, /* [4879] OBJ_sect163r2 */
+-0x2B,0x81,0x04,0x00,0x18, /* [4884] OBJ_sect193r1 */
+-0x2B,0x81,0x04,0x00,0x19, /* [4889] OBJ_sect193r2 */
+-0x2B,0x81,0x04,0x00,0x1A, /* [4894] OBJ_sect233k1 */
+-0x2B,0x81,0x04,0x00,0x1B, /* [4899] OBJ_sect233r1 */
+-0x2B,0x81,0x04,0x00,0x03, /* [4904] OBJ_sect239k1 */
+-0x2B,0x81,0x04,0x00,0x10, /* [4909] OBJ_sect283k1 */
+-0x2B,0x81,0x04,0x00,0x11, /* [4914] OBJ_sect283r1 */
+-0x2B,0x81,0x04,0x00,0x24, /* [4919] OBJ_sect409k1 */
+-0x2B,0x81,0x04,0x00,0x25, /* [4924] OBJ_sect409r1 */
+-0x2B,0x81,0x04,0x00,0x26, /* [4929] OBJ_sect571k1 */
+-0x2B,0x81,0x04,0x00,0x27, /* [4934] OBJ_sect571r1 */
+-0x67,0x2B,0x01,0x04,0x01, /* [4939] OBJ_wap_wsg_idm_ecid_wtls1 */
+-0x67,0x2B,0x01,0x04,0x03, /* [4944] OBJ_wap_wsg_idm_ecid_wtls3 */
+-0x67,0x2B,0x01,0x04,0x04, /* [4949] OBJ_wap_wsg_idm_ecid_wtls4 */
+-0x67,0x2B,0x01,0x04,0x05, /* [4954] OBJ_wap_wsg_idm_ecid_wtls5 */
+-0x67,0x2B,0x01,0x04,0x06, /* [4959] OBJ_wap_wsg_idm_ecid_wtls6 */
+-0x67,0x2B,0x01,0x04,0x07, /* [4964] OBJ_wap_wsg_idm_ecid_wtls7 */
+-0x67,0x2B,0x01,0x04,0x08, /* [4969] OBJ_wap_wsg_idm_ecid_wtls8 */
+-0x67,0x2B,0x01,0x04,0x09, /* [4974] OBJ_wap_wsg_idm_ecid_wtls9 */
+-0x67,0x2B,0x01,0x04,0x0A, /* [4979] OBJ_wap_wsg_idm_ecid_wtls10 */
+-0x67,0x2B,0x01,0x04,0x0B, /* [4984] OBJ_wap_wsg_idm_ecid_wtls11 */
+-0x67,0x2B,0x01,0x04,0x0C, /* [4989] OBJ_wap_wsg_idm_ecid_wtls12 */
+-0x55,0x1D,0x20,0x00, /* [4994] OBJ_any_policy */
+-0x55,0x1D,0x21, /* [4998] OBJ_policy_mappings */
+-0x55,0x1D,0x36, /* [5001] OBJ_inhibit_any_policy */
+-0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x01,0x02,/* [5004] OBJ_camellia_128_cbc */
+-0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x01,0x03,/* [5015] OBJ_camellia_192_cbc */
+-0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x01,0x04,/* [5026] OBJ_camellia_256_cbc */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x01, /* [5037] OBJ_camellia_128_ecb */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x15, /* [5045] OBJ_camellia_192_ecb */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x29, /* [5053] OBJ_camellia_256_ecb */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x04, /* [5061] OBJ_camellia_128_cfb128 */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x18, /* [5069] OBJ_camellia_192_cfb128 */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x2C, /* [5077] OBJ_camellia_256_cfb128 */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x03, /* [5085] OBJ_camellia_128_ofb128 */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x17, /* [5093] OBJ_camellia_192_ofb128 */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x2B, /* [5101] OBJ_camellia_256_ofb128 */
+-0x55,0x1D,0x09, /* [5109] OBJ_subject_directory_attributes */
+-0x55,0x1D,0x1C, /* [5112] OBJ_issuing_distribution_point */
+-0x55,0x1D,0x1D, /* [5115] OBJ_certificate_issuer */
+-0x2A,0x83,0x1A,0x8C,0x9A,0x44, /* [5118] OBJ_kisa */
+-0x2A,0x83,0x1A,0x8C,0x9A,0x44,0x01,0x03, /* [5124] OBJ_seed_ecb */
+-0x2A,0x83,0x1A,0x8C,0x9A,0x44,0x01,0x04, /* [5132] OBJ_seed_cbc */
+-0x2A,0x83,0x1A,0x8C,0x9A,0x44,0x01,0x06, /* [5140] OBJ_seed_ofb128 */
+-0x2A,0x83,0x1A,0x8C,0x9A,0x44,0x01,0x05, /* [5148] OBJ_seed_cfb128 */
+-0x2B,0x06,0x01,0x05,0x05,0x08,0x01,0x01, /* [5156] OBJ_hmac_md5 */
+-0x2B,0x06,0x01,0x05,0x05,0x08,0x01,0x02, /* [5164] OBJ_hmac_sha1 */
+-0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x0D,/* [5172] OBJ_id_PasswordBasedMAC */
+-0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x1E,/* [5181] OBJ_id_DHBasedMac */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x10, /* [5190] OBJ_id_it_suppLangTags */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x05, /* [5198] OBJ_caRepository */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x09,/* [5206] OBJ_id_smime_ct_compressedData */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x1B,/* [5217] OBJ_id_ct_asciiTextWithCRLF */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x05,/* [5228] OBJ_id_aes128_wrap */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x19,/* [5237] OBJ_id_aes192_wrap */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2D,/* [5246] OBJ_id_aes256_wrap */
+-0x2A,0x86,0x48,0xCE,0x3D,0x04,0x02, /* [5255] OBJ_ecdsa_with_Recommended */
+-0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03, /* [5262] OBJ_ecdsa_with_Specified */
+-0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03,0x01, /* [5269] OBJ_ecdsa_with_SHA224 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03,0x02, /* [5277] OBJ_ecdsa_with_SHA256 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03,0x03, /* [5285] OBJ_ecdsa_with_SHA384 */
+-0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03,0x04, /* [5293] OBJ_ecdsa_with_SHA512 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x06, /* [5301] OBJ_hmacWithMD5 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x08, /* [5309] OBJ_hmacWithSHA224 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x09, /* [5317] OBJ_hmacWithSHA256 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0A, /* [5325] OBJ_hmacWithSHA384 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0B, /* [5333] OBJ_hmacWithSHA512 */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x03,0x01,/* [5341] OBJ_dsa_with_SHA224 */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x03,0x02,/* [5350] OBJ_dsa_with_SHA256 */
+-0x28,0xCF,0x06,0x03,0x00,0x37, /* [5359] OBJ_whirlpool */
+-0x2A,0x85,0x03,0x02,0x02, /* [5365] OBJ_cryptopro */
+-0x2A,0x85,0x03,0x02,0x09, /* [5370] OBJ_cryptocom */
+-0x2A,0x85,0x03,0x02,0x02,0x03, /* [5375] OBJ_id_GostR3411_94_with_GostR3410_2001 */
+-0x2A,0x85,0x03,0x02,0x02,0x04, /* [5381] OBJ_id_GostR3411_94_with_GostR3410_94 */
+-0x2A,0x85,0x03,0x02,0x02,0x09, /* [5387] OBJ_id_GostR3411_94 */
+-0x2A,0x85,0x03,0x02,0x02,0x0A, /* [5393] OBJ_id_HMACGostR3411_94 */
+-0x2A,0x85,0x03,0x02,0x02,0x13, /* [5399] OBJ_id_GostR3410_2001 */
+-0x2A,0x85,0x03,0x02,0x02,0x14, /* [5405] OBJ_id_GostR3410_94 */
+-0x2A,0x85,0x03,0x02,0x02,0x15, /* [5411] OBJ_id_Gost28147_89 */
+-0x2A,0x85,0x03,0x02,0x02,0x16, /* [5417] OBJ_id_Gost28147_89_MAC */
+-0x2A,0x85,0x03,0x02,0x02,0x17, /* [5423] OBJ_id_GostR3411_94_prf */
+-0x2A,0x85,0x03,0x02,0x02,0x62, /* [5429] OBJ_id_GostR3410_2001DH */
+-0x2A,0x85,0x03,0x02,0x02,0x63, /* [5435] OBJ_id_GostR3410_94DH */
+-0x2A,0x85,0x03,0x02,0x02,0x0E,0x01, /* [5441] OBJ_id_Gost28147_89_CryptoPro_KeyMeshing */
+-0x2A,0x85,0x03,0x02,0x02,0x0E,0x00, /* [5448] OBJ_id_Gost28147_89_None_KeyMeshing */
+-0x2A,0x85,0x03,0x02,0x02,0x1E,0x00, /* [5455] OBJ_id_GostR3411_94_TestParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x1E,0x01, /* [5462] OBJ_id_GostR3411_94_CryptoProParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x1F,0x00, /* [5469] OBJ_id_Gost28147_89_TestParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x1F,0x01, /* [5476] OBJ_id_Gost28147_89_CryptoPro_A_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x1F,0x02, /* [5483] OBJ_id_Gost28147_89_CryptoPro_B_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x1F,0x03, /* [5490] OBJ_id_Gost28147_89_CryptoPro_C_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x1F,0x04, /* [5497] OBJ_id_Gost28147_89_CryptoPro_D_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x1F,0x05, /* [5504] OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x1F,0x06, /* [5511] OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x1F,0x07, /* [5518] OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x20,0x00, /* [5525] OBJ_id_GostR3410_94_TestParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x20,0x02, /* [5532] OBJ_id_GostR3410_94_CryptoPro_A_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x20,0x03, /* [5539] OBJ_id_GostR3410_94_CryptoPro_B_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x20,0x04, /* [5546] OBJ_id_GostR3410_94_CryptoPro_C_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x20,0x05, /* [5553] OBJ_id_GostR3410_94_CryptoPro_D_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x21,0x01, /* [5560] OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x21,0x02, /* [5567] OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x21,0x03, /* [5574] OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x23,0x00, /* [5581] OBJ_id_GostR3410_2001_TestParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x23,0x01, /* [5588] OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x23,0x02, /* [5595] OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x23,0x03, /* [5602] OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x24,0x00, /* [5609] OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x24,0x01, /* [5616] OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet */
+-0x2A,0x85,0x03,0x02,0x02,0x14,0x01, /* [5623] OBJ_id_GostR3410_94_a */
+-0x2A,0x85,0x03,0x02,0x02,0x14,0x02, /* [5630] OBJ_id_GostR3410_94_aBis */
+-0x2A,0x85,0x03,0x02,0x02,0x14,0x03, /* [5637] OBJ_id_GostR3410_94_b */
+-0x2A,0x85,0x03,0x02,0x02,0x14,0x04, /* [5644] OBJ_id_GostR3410_94_bBis */
+-0x2A,0x85,0x03,0x02,0x09,0x01,0x06,0x01, /* [5651] OBJ_id_Gost28147_89_cc */
+-0x2A,0x85,0x03,0x02,0x09,0x01,0x05,0x03, /* [5659] OBJ_id_GostR3410_94_cc */
+-0x2A,0x85,0x03,0x02,0x09,0x01,0x05,0x04, /* [5667] OBJ_id_GostR3410_2001_cc */
+-0x2A,0x85,0x03,0x02,0x09,0x01,0x03,0x03, /* [5675] OBJ_id_GostR3411_94_with_GostR3410_94_cc */
+-0x2A,0x85,0x03,0x02,0x09,0x01,0x03,0x04, /* [5683] OBJ_id_GostR3411_94_with_GostR3410_2001_cc */
+-0x2A,0x85,0x03,0x02,0x09,0x01,0x08,0x01, /* [5691] OBJ_id_GostR3410_2001_ParamSet_cc */
+-0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x11,0x02,/* [5699] OBJ_LocalKeySet */
+-0x55,0x1D,0x2E, /* [5708] OBJ_freshest_crl */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x08,0x03, /* [5711] OBJ_id_on_permanentIdentifier */
+-0x55,0x04,0x0E, /* [5719] OBJ_searchGuide */
+-0x55,0x04,0x0F, /* [5722] OBJ_businessCategory */
+-0x55,0x04,0x10, /* [5725] OBJ_postalAddress */
+-0x55,0x04,0x12, /* [5728] OBJ_postOfficeBox */
+-0x55,0x04,0x13, /* [5731] OBJ_physicalDeliveryOfficeName */
+-0x55,0x04,0x14, /* [5734] OBJ_telephoneNumber */
+-0x55,0x04,0x15, /* [5737] OBJ_telexNumber */
+-0x55,0x04,0x16, /* [5740] OBJ_teletexTerminalIdentifier */
+-0x55,0x04,0x17, /* [5743] OBJ_facsimileTelephoneNumber */
+-0x55,0x04,0x18, /* [5746] OBJ_x121Address */
+-0x55,0x04,0x19, /* [5749] OBJ_internationaliSDNNumber */
+-0x55,0x04,0x1A, /* [5752] OBJ_registeredAddress */
+-0x55,0x04,0x1B, /* [5755] OBJ_destinationIndicator */
+-0x55,0x04,0x1C, /* [5758] OBJ_preferredDeliveryMethod */
+-0x55,0x04,0x1D, /* [5761] OBJ_presentationAddress */
+-0x55,0x04,0x1E, /* [5764] OBJ_supportedApplicationContext */
+-0x55,0x04,0x1F, /* [5767] OBJ_member */
+-0x55,0x04,0x20, /* [5770] OBJ_owner */
+-0x55,0x04,0x21, /* [5773] OBJ_roleOccupant */
+-0x55,0x04,0x22, /* [5776] OBJ_seeAlso */
+-0x55,0x04,0x23, /* [5779] OBJ_userPassword */
+-0x55,0x04,0x24, /* [5782] OBJ_userCertificate */
+-0x55,0x04,0x25, /* [5785] OBJ_cACertificate */
+-0x55,0x04,0x26, /* [5788] OBJ_authorityRevocationList */
+-0x55,0x04,0x27, /* [5791] OBJ_certificateRevocationList */
+-0x55,0x04,0x28, /* [5794] OBJ_crossCertificatePair */
+-0x55,0x04,0x2F, /* [5797] OBJ_enhancedSearchGuide */
+-0x55,0x04,0x30, /* [5800] OBJ_protocolInformation */
+-0x55,0x04,0x31, /* [5803] OBJ_distinguishedName */
+-0x55,0x04,0x32, /* [5806] OBJ_uniqueMember */
+-0x55,0x04,0x33, /* [5809] OBJ_houseIdentifier */
+-0x55,0x04,0x34, /* [5812] OBJ_supportedAlgorithms */
+-0x55,0x04,0x35, /* [5815] OBJ_deltaRevocationList */
+-0x55,0x04,0x36, /* [5818] OBJ_dmdName */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x09,/* [5821] OBJ_id_alg_PWRI_KEK */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x06,/* [5832] OBJ_aes_128_gcm */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x07,/* [5841] OBJ_aes_128_ccm */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x08,/* [5850] OBJ_id_aes128_wrap_pad */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x1A,/* [5859] OBJ_aes_192_gcm */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x1B,/* [5868] OBJ_aes_192_ccm */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x1C,/* [5877] OBJ_id_aes192_wrap_pad */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2E,/* [5886] OBJ_aes_256_gcm */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2F,/* [5895] OBJ_aes_256_ccm */
+-0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x30,/* [5904] OBJ_id_aes256_wrap_pad */
+-0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x03,0x02,/* [5913] OBJ_id_camellia128_wrap */
+-0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x03,0x03,/* [5924] OBJ_id_camellia192_wrap */
+-0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x03,0x04,/* [5935] OBJ_id_camellia256_wrap */
+-0x55,0x1D,0x25,0x00, /* [5946] OBJ_anyExtendedKeyUsage */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x08,/* [5950] OBJ_mgf1 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0A,/* [5959] OBJ_rsassaPss */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x07,/* [5968] OBJ_rsaesOaep */
+-0x2A,0x86,0x48,0xCE,0x3E,0x02,0x01, /* [5977] OBJ_dhpublicnumber */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x01,/* [5984] OBJ_brainpoolP160r1 */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x02,/* [5993] OBJ_brainpoolP160t1 */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x03,/* [6002] OBJ_brainpoolP192r1 */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x04,/* [6011] OBJ_brainpoolP192t1 */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x05,/* [6020] OBJ_brainpoolP224r1 */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x06,/* [6029] OBJ_brainpoolP224t1 */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x07,/* [6038] OBJ_brainpoolP256r1 */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x08,/* [6047] OBJ_brainpoolP256t1 */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x09,/* [6056] OBJ_brainpoolP320r1 */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0A,/* [6065] OBJ_brainpoolP320t1 */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0B,/* [6074] OBJ_brainpoolP384r1 */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0C,/* [6083] OBJ_brainpoolP384t1 */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0D,/* [6092] OBJ_brainpoolP512r1 */
+-0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0E,/* [6101] OBJ_brainpoolP512t1 */
+-0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x09,/* [6110] OBJ_pSpecified */
+-0x2B,0x81,0x05,0x10,0x86,0x48,0x3F,0x00,0x02,/* [6119] OBJ_dhSinglePass_stdDH_sha1kdf_scheme */
+-0x2B,0x81,0x04,0x01,0x0B,0x00, /* [6128] OBJ_dhSinglePass_stdDH_sha224kdf_scheme */
+-0x2B,0x81,0x04,0x01,0x0B,0x01, /* [6134] OBJ_dhSinglePass_stdDH_sha256kdf_scheme */
+-0x2B,0x81,0x04,0x01,0x0B,0x02, /* [6140] OBJ_dhSinglePass_stdDH_sha384kdf_scheme */
+-0x2B,0x81,0x04,0x01,0x0B,0x03, /* [6146] OBJ_dhSinglePass_stdDH_sha512kdf_scheme */
+-0x2B,0x81,0x05,0x10,0x86,0x48,0x3F,0x00,0x03,/* [6152] OBJ_dhSinglePass_cofactorDH_sha1kdf_scheme */
+-0x2B,0x81,0x04,0x01,0x0E,0x00, /* [6161] OBJ_dhSinglePass_cofactorDH_sha224kdf_scheme */
+-0x2B,0x81,0x04,0x01,0x0E,0x01, /* [6167] OBJ_dhSinglePass_cofactorDH_sha256kdf_scheme */
+-0x2B,0x81,0x04,0x01,0x0E,0x02, /* [6173] OBJ_dhSinglePass_cofactorDH_sha384kdf_scheme */
+-0x2B,0x81,0x04,0x01,0x0E,0x03, /* [6179] OBJ_dhSinglePass_cofactorDH_sha512kdf_scheme */
+-0x2B,0x06,0x01,0x04,0x01,0xD6,0x79,0x02,0x04,0x02,/* [6185] OBJ_ct_precert_scts */
+-0x2B,0x06,0x01,0x04,0x01,0xD6,0x79,0x02,0x04,0x03,/* [6195] OBJ_ct_precert_poison */
+-0x2B,0x06,0x01,0x04,0x01,0xD6,0x79,0x02,0x04,0x04,/* [6205] OBJ_ct_precert_signer */
+-0x2B,0x06,0x01,0x04,0x01,0xD6,0x79,0x02,0x04,0x05,/* [6215] OBJ_ct_cert_scts */
+-0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x3C,0x02,0x01,0x01,/* [6225] OBJ_jurisdictionLocalityName */
+-0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x3C,0x02,0x01,0x02,/* [6236] OBJ_jurisdictionStateOrProvinceName */
+-0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x3C,0x02,0x01,0x03,/* [6247] OBJ_jurisdictionCountryName */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x06, /* [6258] OBJ_camellia_128_gcm */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x07, /* [6266] OBJ_camellia_128_ccm */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x09, /* [6274] OBJ_camellia_128_ctr */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x0A, /* [6282] OBJ_camellia_128_cmac */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x1A, /* [6290] OBJ_camellia_192_gcm */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x1B, /* [6298] OBJ_camellia_192_ccm */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x1D, /* [6306] OBJ_camellia_192_ctr */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x1E, /* [6314] OBJ_camellia_192_cmac */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x2E, /* [6322] OBJ_camellia_256_gcm */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x2F, /* [6330] OBJ_camellia_256_ccm */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x31, /* [6338] OBJ_camellia_256_ctr */
+-0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x32, /* [6346] OBJ_camellia_256_cmac */
+-0x2B,0x06,0x01,0x04,0x01,0xDA,0x47,0x04,0x0B,/* [6354] OBJ_id_scrypt */
+-0x2A,0x85,0x03,0x07,0x01, /* [6363] OBJ_id_tc26 */
+-0x2A,0x85,0x03,0x07,0x01,0x01, /* [6368] OBJ_id_tc26_algorithms */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x01, /* [6374] OBJ_id_tc26_sign */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x01,0x01, /* [6381] OBJ_id_GostR3410_2012_256 */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x01,0x02, /* [6389] OBJ_id_GostR3410_2012_512 */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x02, /* [6397] OBJ_id_tc26_digest */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x02,0x02, /* [6404] OBJ_id_GostR3411_2012_256 */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x02,0x03, /* [6412] OBJ_id_GostR3411_2012_512 */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x03, /* [6420] OBJ_id_tc26_signwithdigest */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x03,0x02, /* [6427] OBJ_id_tc26_signwithdigest_gost3410_2012_256 */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x03,0x03, /* [6435] OBJ_id_tc26_signwithdigest_gost3410_2012_512 */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x04, /* [6443] OBJ_id_tc26_mac */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x04,0x01, /* [6450] OBJ_id_tc26_hmac_gost_3411_2012_256 */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x04,0x02, /* [6458] OBJ_id_tc26_hmac_gost_3411_2012_512 */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x05, /* [6466] OBJ_id_tc26_cipher */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x06, /* [6473] OBJ_id_tc26_agreement */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x06,0x01, /* [6480] OBJ_id_tc26_agreement_gost_3410_2012_256 */
+-0x2A,0x85,0x03,0x07,0x01,0x01,0x06,0x02, /* [6488] OBJ_id_tc26_agreement_gost_3410_2012_512 */
+-0x2A,0x85,0x03,0x07,0x01,0x02, /* [6496] OBJ_id_tc26_constants */
+-0x2A,0x85,0x03,0x07,0x01,0x02,0x01, /* [6502] OBJ_id_tc26_sign_constants */
+-0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02, /* [6509] OBJ_id_tc26_gost_3410_2012_512_constants */
+-0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02,0x00,/* [6517] OBJ_id_tc26_gost_3410_2012_512_paramSetTest */
+-0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02,0x01,/* [6526] OBJ_id_tc26_gost_3410_2012_512_paramSetA */
+-0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02,0x02,/* [6535] OBJ_id_tc26_gost_3410_2012_512_paramSetB */
+-0x2A,0x85,0x03,0x07,0x01,0x02,0x02, /* [6544] OBJ_id_tc26_digest_constants */
+-0x2A,0x85,0x03,0x07,0x01,0x02,0x05, /* [6551] OBJ_id_tc26_cipher_constants */
+-0x2A,0x85,0x03,0x07,0x01,0x02,0x05,0x01, /* [6558] OBJ_id_tc26_gost_28147_constants */
+-0x2A,0x85,0x03,0x07,0x01,0x02,0x05,0x01,0x01,/* [6566] OBJ_id_tc26_gost_28147_param_Z */
+-0x2A,0x85,0x03,0x03,0x81,0x03,0x01,0x01, /* [6575] OBJ_INN */
+-0x2A,0x85,0x03,0x64,0x01, /* [6583] OBJ_OGRN */
+-0x2A,0x85,0x03,0x64,0x03, /* [6588] OBJ_SNILS */
+-0x2A,0x85,0x03,0x64,0x6F, /* [6593] OBJ_subjectSignTool */
+-0x2A,0x85,0x03,0x64,0x70, /* [6598] OBJ_issuerSignTool */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x18, /* [6603] OBJ_tlsfeature */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x11, /* [6611] OBJ_ipsec_IKE */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x12, /* [6619] OBJ_capwapAC */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x13, /* [6627] OBJ_capwapWTP */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x15, /* [6635] OBJ_sshClient */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x16, /* [6643] OBJ_sshServer */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x17, /* [6651] OBJ_sendRouter */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x18, /* [6659] OBJ_sendProxiedRouter */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x19, /* [6667] OBJ_sendOwner */
+-0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x1A, /* [6675] OBJ_sendProxiedOwner */
+-0x2B,0x06,0x01,0x05,0x02,0x03, /* [6683] OBJ_id_pkinit */
+-0x2B,0x06,0x01,0x05,0x02,0x03,0x04, /* [6689] OBJ_pkInitClientAuth */
+-0x2B,0x06,0x01,0x05,0x02,0x03,0x05, /* [6696] OBJ_pkInitKDC */
+-0x2B,0x06,0x01,0x04,0x01,0xDA,0x47,0x0F,0x01,/* [6703] OBJ_X25519 */
+-0x2B,0x06,0x01,0x04,0x01,0xDA,0x47,0x0F,0x02,/* [6712] OBJ_X448 */
+-0x2B,0x06,0x01,0x04,0x01,0x8D,0x3A,0x0C,0x02,0x01,0x10,/* [6721] OBJ_blake2b512 */
+-0x2B,0x06,0x01,0x04,0x01,0x8D,0x3A,0x0C,0x02,0x02,0x08,/* [6732] OBJ_blake2s256 */
++/* Serialized OID's */
++static const unsigned char so[6744] = {
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D, /* [ 0] OBJ_rsadsi */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01, /* [ 6] OBJ_pkcs */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x02, /* [ 13] OBJ_md2 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x05, /* [ 21] OBJ_md5 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x04, /* [ 29] OBJ_rc4 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x01, /* [ 37] OBJ_rsaEncryption */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x02, /* [ 46] OBJ_md2WithRSAEncryption */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x04, /* [ 55] OBJ_md5WithRSAEncryption */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x01, /* [ 64] OBJ_pbeWithMD2AndDES_CBC */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x03, /* [ 73] OBJ_pbeWithMD5AndDES_CBC */
++ 0x55, /* [ 82] OBJ_X500 */
++ 0x55,0x04, /* [ 83] OBJ_X509 */
++ 0x55,0x04,0x03, /* [ 85] OBJ_commonName */
++ 0x55,0x04,0x06, /* [ 88] OBJ_countryName */
++ 0x55,0x04,0x07, /* [ 91] OBJ_localityName */
++ 0x55,0x04,0x08, /* [ 94] OBJ_stateOrProvinceName */
++ 0x55,0x04,0x0A, /* [ 97] OBJ_organizationName */
++ 0x55,0x04,0x0B, /* [ 100] OBJ_organizationalUnitName */
++ 0x55,0x08,0x01,0x01, /* [ 103] OBJ_rsa */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07, /* [ 107] OBJ_pkcs7 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x01, /* [ 115] OBJ_pkcs7_data */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x02, /* [ 124] OBJ_pkcs7_signed */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x03, /* [ 133] OBJ_pkcs7_enveloped */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x04, /* [ 142] OBJ_pkcs7_signedAndEnveloped */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x05, /* [ 151] OBJ_pkcs7_digest */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x06, /* [ 160] OBJ_pkcs7_encrypted */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x03, /* [ 169] OBJ_pkcs3 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x03,0x01, /* [ 177] OBJ_dhKeyAgreement */
++ 0x2B,0x0E,0x03,0x02,0x06, /* [ 186] OBJ_des_ecb */
++ 0x2B,0x0E,0x03,0x02,0x09, /* [ 191] OBJ_des_cfb64 */
++ 0x2B,0x0E,0x03,0x02,0x07, /* [ 196] OBJ_des_cbc */
++ 0x2B,0x0E,0x03,0x02,0x11, /* [ 201] OBJ_des_ede_ecb */
++ 0x2B,0x06,0x01,0x04,0x01,0x81,0x3C,0x07,0x01,0x01,0x02, /* [ 206] OBJ_idea_cbc */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x02, /* [ 217] OBJ_rc2_cbc */
++ 0x2B,0x0E,0x03,0x02,0x12, /* [ 225] OBJ_sha */
++ 0x2B,0x0E,0x03,0x02,0x0F, /* [ 230] OBJ_shaWithRSAEncryption */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x07, /* [ 235] OBJ_des_ede3_cbc */
++ 0x2B,0x0E,0x03,0x02,0x08, /* [ 243] OBJ_des_ofb64 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09, /* [ 248] OBJ_pkcs9 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x01, /* [ 256] OBJ_pkcs9_emailAddress */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x02, /* [ 265] OBJ_pkcs9_unstructuredName */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x03, /* [ 274] OBJ_pkcs9_contentType */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x04, /* [ 283] OBJ_pkcs9_messageDigest */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x05, /* [ 292] OBJ_pkcs9_signingTime */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x06, /* [ 301] OBJ_pkcs9_countersignature */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x07, /* [ 310] OBJ_pkcs9_challengePassword */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x08, /* [ 319] OBJ_pkcs9_unstructuredAddress */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x09, /* [ 328] OBJ_pkcs9_extCertAttributes */
++ 0x60,0x86,0x48,0x01,0x86,0xF8,0x42, /* [ 337] OBJ_netscape */
++ 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01, /* [ 344] OBJ_netscape_cert_extension */
++ 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x02, /* [ 352] OBJ_netscape_data_type */
++ 0x2B,0x0E,0x03,0x02,0x1A, /* [ 360] OBJ_sha1 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x05, /* [ 365] OBJ_sha1WithRSAEncryption */
++ 0x2B,0x0E,0x03,0x02,0x0D, /* [ 374] OBJ_dsaWithSHA */
++ 0x2B,0x0E,0x03,0x02,0x0C, /* [ 379] OBJ_dsa_2 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0B, /* [ 384] OBJ_pbeWithSHA1AndRC2_CBC */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0C, /* [ 393] OBJ_id_pbkdf2 */
++ 0x2B,0x0E,0x03,0x02,0x1B, /* [ 402] OBJ_dsaWithSHA1_2 */
++ 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x01, /* [ 407] OBJ_netscape_cert_type */
++ 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x02, /* [ 416] OBJ_netscape_base_url */
++ 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x03, /* [ 425] OBJ_netscape_revocation_url */
++ 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x04, /* [ 434] OBJ_netscape_ca_revocation_url */
++ 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x07, /* [ 443] OBJ_netscape_renewal_url */
++ 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x08, /* [ 452] OBJ_netscape_ca_policy_url */
++ 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x0C, /* [ 461] OBJ_netscape_ssl_server_name */
++ 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x0D, /* [ 470] OBJ_netscape_comment */
++ 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x02,0x05, /* [ 479] OBJ_netscape_cert_sequence */
++ 0x55,0x1D, /* [ 488] OBJ_id_ce */
++ 0x55,0x1D,0x0E, /* [ 490] OBJ_subject_key_identifier */
++ 0x55,0x1D,0x0F, /* [ 493] OBJ_key_usage */
++ 0x55,0x1D,0x10, /* [ 496] OBJ_private_key_usage_period */
++ 0x55,0x1D,0x11, /* [ 499] OBJ_subject_alt_name */
++ 0x55,0x1D,0x12, /* [ 502] OBJ_issuer_alt_name */
++ 0x55,0x1D,0x13, /* [ 505] OBJ_basic_constraints */
++ 0x55,0x1D,0x14, /* [ 508] OBJ_crl_number */
++ 0x55,0x1D,0x20, /* [ 511] OBJ_certificate_policies */
++ 0x55,0x1D,0x23, /* [ 514] OBJ_authority_key_identifier */
++ 0x2B,0x06,0x01,0x04,0x01,0x97,0x55,0x01,0x02, /* [ 517] OBJ_bf_cbc */
++ 0x55,0x08,0x03,0x65, /* [ 526] OBJ_mdc2 */
++ 0x55,0x08,0x03,0x64, /* [ 530] OBJ_mdc2WithRSA */
++ 0x55,0x04,0x2A, /* [ 534] OBJ_givenName */
++ 0x55,0x04,0x04, /* [ 537] OBJ_surname */
++ 0x55,0x04,0x2B, /* [ 540] OBJ_initials */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2C, /* [ 543] OBJ_uniqueIdentifier */
++ 0x55,0x1D,0x1F, /* [ 553] OBJ_crl_distribution_points */
++ 0x2B,0x0E,0x03,0x02,0x03, /* [ 556] OBJ_md5WithRSA */
++ 0x55,0x04,0x05, /* [ 561] OBJ_serialNumber */
++ 0x55,0x04,0x0C, /* [ 564] OBJ_title */
++ 0x55,0x04,0x0D, /* [ 567] OBJ_description */
++ 0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x0A, /* [ 570] OBJ_cast5_cbc */
++ 0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x0C, /* [ 579] OBJ_pbeWithMD5AndCast5_CBC */
++ 0x2A,0x86,0x48,0xCE,0x38,0x04,0x03, /* [ 588] OBJ_dsaWithSHA1 */
++ 0x2B,0x0E,0x03,0x02,0x1D, /* [ 595] OBJ_sha1WithRSA */
++ 0x2A,0x86,0x48,0xCE,0x38,0x04,0x01, /* [ 600] OBJ_dsa */
++ 0x2B,0x24,0x03,0x02,0x01, /* [ 607] OBJ_ripemd160 */
++ 0x2B,0x24,0x03,0x03,0x01,0x02, /* [ 612] OBJ_ripemd160WithRSA */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x08, /* [ 618] OBJ_rc5_cbc */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x08, /* [ 626] OBJ_zlib_compression */
++ 0x55,0x1D,0x25, /* [ 637] OBJ_ext_key_usage */
++ 0x2B,0x06,0x01,0x05,0x05,0x07, /* [ 640] OBJ_id_pkix */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03, /* [ 646] OBJ_id_kp */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x01, /* [ 653] OBJ_server_auth */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x02, /* [ 661] OBJ_client_auth */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x03, /* [ 669] OBJ_code_sign */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x04, /* [ 677] OBJ_email_protect */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x08, /* [ 685] OBJ_time_stamp */
++ 0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x02,0x01,0x15, /* [ 693] OBJ_ms_code_ind */
++ 0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x02,0x01,0x16, /* [ 703] OBJ_ms_code_com */
++ 0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x0A,0x03,0x01, /* [ 713] OBJ_ms_ctl_sign */
++ 0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x0A,0x03,0x03, /* [ 723] OBJ_ms_sgc */
++ 0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x0A,0x03,0x04, /* [ 733] OBJ_ms_efs */
++ 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x04,0x01, /* [ 743] OBJ_ns_sgc */
++ 0x55,0x1D,0x1B, /* [ 752] OBJ_delta_crl */
++ 0x55,0x1D,0x15, /* [ 755] OBJ_crl_reason */
++ 0x55,0x1D,0x18, /* [ 758] OBJ_invalidity_date */
++ 0x2B,0x65,0x01,0x04,0x01, /* [ 761] OBJ_sxnet */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x01, /* [ 766] OBJ_pbe_WithSHA1And128BitRC4 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x02, /* [ 776] OBJ_pbe_WithSHA1And40BitRC4 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x03, /* [ 786] OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x04, /* [ 796] OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x05, /* [ 806] OBJ_pbe_WithSHA1And128BitRC2_CBC */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x06, /* [ 816] OBJ_pbe_WithSHA1And40BitRC2_CBC */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x01, /* [ 826] OBJ_keyBag */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x02, /* [ 837] OBJ_pkcs8ShroudedKeyBag */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x03, /* [ 848] OBJ_certBag */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x04, /* [ 859] OBJ_crlBag */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x05, /* [ 870] OBJ_secretBag */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x06, /* [ 881] OBJ_safeContentsBag */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x14, /* [ 892] OBJ_friendlyName */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x15, /* [ 901] OBJ_localKeyID */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x16,0x01, /* [ 910] OBJ_x509Certificate */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x16,0x02, /* [ 920] OBJ_sdsiCertificate */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x17,0x01, /* [ 930] OBJ_x509Crl */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0D, /* [ 940] OBJ_pbes2 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0E, /* [ 949] OBJ_pbmac1 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x07, /* [ 958] OBJ_hmacWithSHA1 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x02,0x01, /* [ 966] OBJ_id_qt_cps */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x02,0x02, /* [ 974] OBJ_id_qt_unotice */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x0F, /* [ 982] OBJ_SMIMECapabilities */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x04, /* [ 991] OBJ_pbeWithMD2AndRC2_CBC */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x06, /* [ 1000] OBJ_pbeWithMD5AndRC2_CBC */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0A, /* [ 1009] OBJ_pbeWithSHA1AndDES_CBC */
++ 0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x02,0x01,0x0E, /* [ 1018] OBJ_ms_ext_req */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x0E, /* [ 1028] OBJ_ext_req */
++ 0x55,0x04,0x29, /* [ 1037] OBJ_name */
++ 0x55,0x04,0x2E, /* [ 1040] OBJ_dnQualifier */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01, /* [ 1043] OBJ_id_pe */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30, /* [ 1050] OBJ_id_ad */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x01, /* [ 1057] OBJ_info_access */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01, /* [ 1065] OBJ_ad_OCSP */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x02, /* [ 1073] OBJ_ad_ca_issuers */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x09, /* [ 1081] OBJ_OCSP_sign */
++ 0x2A, /* [ 1089] OBJ_member_body */
++ 0x2A,0x86,0x48, /* [ 1090] OBJ_ISO_US */
++ 0x2A,0x86,0x48,0xCE,0x38, /* [ 1093] OBJ_X9_57 */
++ 0x2A,0x86,0x48,0xCE,0x38,0x04, /* [ 1098] OBJ_X9cm */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01, /* [ 1104] OBJ_pkcs1 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05, /* [ 1112] OBJ_pkcs5 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10, /* [ 1120] OBJ_SMIME */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00, /* [ 1129] OBJ_id_smime_mod */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01, /* [ 1139] OBJ_id_smime_ct */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02, /* [ 1149] OBJ_id_smime_aa */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03, /* [ 1159] OBJ_id_smime_alg */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x04, /* [ 1169] OBJ_id_smime_cd */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x05, /* [ 1179] OBJ_id_smime_spq */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06, /* [ 1189] OBJ_id_smime_cti */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x01, /* [ 1199] OBJ_id_smime_mod_cms */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x02, /* [ 1210] OBJ_id_smime_mod_ess */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x03, /* [ 1221] OBJ_id_smime_mod_oid */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x04, /* [ 1232] OBJ_id_smime_mod_msg_v3 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x05, /* [ 1243] OBJ_id_smime_mod_ets_eSignature_88 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x06, /* [ 1254] OBJ_id_smime_mod_ets_eSignature_97 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x07, /* [ 1265] OBJ_id_smime_mod_ets_eSigPolicy_88 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x08, /* [ 1276] OBJ_id_smime_mod_ets_eSigPolicy_97 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x01, /* [ 1287] OBJ_id_smime_ct_receipt */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x02, /* [ 1298] OBJ_id_smime_ct_authData */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x03, /* [ 1309] OBJ_id_smime_ct_publishCert */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x04, /* [ 1320] OBJ_id_smime_ct_TSTInfo */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x05, /* [ 1331] OBJ_id_smime_ct_TDTInfo */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x06, /* [ 1342] OBJ_id_smime_ct_contentInfo */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x07, /* [ 1353] OBJ_id_smime_ct_DVCSRequestData */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x08, /* [ 1364] OBJ_id_smime_ct_DVCSResponseData */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x01, /* [ 1375] OBJ_id_smime_aa_receiptRequest */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x02, /* [ 1386] OBJ_id_smime_aa_securityLabel */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x03, /* [ 1397] OBJ_id_smime_aa_mlExpandHistory */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x04, /* [ 1408] OBJ_id_smime_aa_contentHint */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x05, /* [ 1419] OBJ_id_smime_aa_msgSigDigest */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x06, /* [ 1430] OBJ_id_smime_aa_encapContentType */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x07, /* [ 1441] OBJ_id_smime_aa_contentIdentifier */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x08, /* [ 1452] OBJ_id_smime_aa_macValue */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x09, /* [ 1463] OBJ_id_smime_aa_equivalentLabels */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0A, /* [ 1474] OBJ_id_smime_aa_contentReference */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0B, /* [ 1485] OBJ_id_smime_aa_encrypKeyPref */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0C, /* [ 1496] OBJ_id_smime_aa_signingCertificate */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0D, /* [ 1507] OBJ_id_smime_aa_smimeEncryptCerts */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0E, /* [ 1518] OBJ_id_smime_aa_timeStampToken */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0F, /* [ 1529] OBJ_id_smime_aa_ets_sigPolicyId */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x10, /* [ 1540] OBJ_id_smime_aa_ets_commitmentType */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x11, /* [ 1551] OBJ_id_smime_aa_ets_signerLocation */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x12, /* [ 1562] OBJ_id_smime_aa_ets_signerAttr */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x13, /* [ 1573] OBJ_id_smime_aa_ets_otherSigCert */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x14, /* [ 1584] OBJ_id_smime_aa_ets_contentTimestamp */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x15, /* [ 1595] OBJ_id_smime_aa_ets_CertificateRefs */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x16, /* [ 1606] OBJ_id_smime_aa_ets_RevocationRefs */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x17, /* [ 1617] OBJ_id_smime_aa_ets_certValues */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x18, /* [ 1628] OBJ_id_smime_aa_ets_revocationValues */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x19, /* [ 1639] OBJ_id_smime_aa_ets_escTimeStamp */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x1A, /* [ 1650] OBJ_id_smime_aa_ets_certCRLTimestamp */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x1B, /* [ 1661] OBJ_id_smime_aa_ets_archiveTimeStamp */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x1C, /* [ 1672] OBJ_id_smime_aa_signatureType */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x1D, /* [ 1683] OBJ_id_smime_aa_dvcs_dvc */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x01, /* [ 1694] OBJ_id_smime_alg_ESDHwith3DES */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x02, /* [ 1705] OBJ_id_smime_alg_ESDHwithRC2 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x03, /* [ 1716] OBJ_id_smime_alg_3DESwrap */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x04, /* [ 1727] OBJ_id_smime_alg_RC2wrap */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x05, /* [ 1738] OBJ_id_smime_alg_ESDH */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x06, /* [ 1749] OBJ_id_smime_alg_CMS3DESwrap */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x07, /* [ 1760] OBJ_id_smime_alg_CMSRC2wrap */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x04,0x01, /* [ 1771] OBJ_id_smime_cd_ldap */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x05,0x01, /* [ 1782] OBJ_id_smime_spq_ets_sqt_uri */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x05,0x02, /* [ 1793] OBJ_id_smime_spq_ets_sqt_unotice */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x01, /* [ 1804] OBJ_id_smime_cti_ets_proofOfOrigin */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x02, /* [ 1815] OBJ_id_smime_cti_ets_proofOfReceipt */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x03, /* [ 1826] OBJ_id_smime_cti_ets_proofOfDelivery */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x04, /* [ 1837] OBJ_id_smime_cti_ets_proofOfSender */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x05, /* [ 1848] OBJ_id_smime_cti_ets_proofOfApproval */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x06, /* [ 1859] OBJ_id_smime_cti_ets_proofOfCreation */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x04, /* [ 1870] OBJ_md4 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00, /* [ 1878] OBJ_id_pkix_mod */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x02, /* [ 1885] OBJ_id_qt */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04, /* [ 1892] OBJ_id_it */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x05, /* [ 1899] OBJ_id_pkip */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x06, /* [ 1906] OBJ_id_alg */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07, /* [ 1913] OBJ_id_cmc */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x08, /* [ 1920] OBJ_id_on */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x09, /* [ 1927] OBJ_id_pda */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x0A, /* [ 1934] OBJ_id_aca */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x0B, /* [ 1941] OBJ_id_qcs */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x0C, /* [ 1948] OBJ_id_cct */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x01, /* [ 1955] OBJ_id_pkix1_explicit_88 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x02, /* [ 1963] OBJ_id_pkix1_implicit_88 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x03, /* [ 1971] OBJ_id_pkix1_explicit_93 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x04, /* [ 1979] OBJ_id_pkix1_implicit_93 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x05, /* [ 1987] OBJ_id_mod_crmf */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x06, /* [ 1995] OBJ_id_mod_cmc */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x07, /* [ 2003] OBJ_id_mod_kea_profile_88 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x08, /* [ 2011] OBJ_id_mod_kea_profile_93 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x09, /* [ 2019] OBJ_id_mod_cmp */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0A, /* [ 2027] OBJ_id_mod_qualified_cert_88 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0B, /* [ 2035] OBJ_id_mod_qualified_cert_93 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0C, /* [ 2043] OBJ_id_mod_attribute_cert */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0D, /* [ 2051] OBJ_id_mod_timestamp_protocol */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0E, /* [ 2059] OBJ_id_mod_ocsp */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0F, /* [ 2067] OBJ_id_mod_dvcs */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x10, /* [ 2075] OBJ_id_mod_cmp2000 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x02, /* [ 2083] OBJ_biometricInfo */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x03, /* [ 2091] OBJ_qcStatements */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x04, /* [ 2099] OBJ_ac_auditEntity */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x05, /* [ 2107] OBJ_ac_targeting */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x06, /* [ 2115] OBJ_aaControls */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x07, /* [ 2123] OBJ_sbgp_ipAddrBlock */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x08, /* [ 2131] OBJ_sbgp_autonomousSysNum */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x09, /* [ 2139] OBJ_sbgp_routerIdentifier */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x02,0x03, /* [ 2147] OBJ_textNotice */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x05, /* [ 2155] OBJ_ipsecEndSystem */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x06, /* [ 2163] OBJ_ipsecTunnel */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x07, /* [ 2171] OBJ_ipsecUser */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x0A, /* [ 2179] OBJ_dvcs */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x01, /* [ 2187] OBJ_id_it_caProtEncCert */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x02, /* [ 2195] OBJ_id_it_signKeyPairTypes */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x03, /* [ 2203] OBJ_id_it_encKeyPairTypes */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x04, /* [ 2211] OBJ_id_it_preferredSymmAlg */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x05, /* [ 2219] OBJ_id_it_caKeyUpdateInfo */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x06, /* [ 2227] OBJ_id_it_currentCRL */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x07, /* [ 2235] OBJ_id_it_unsupportedOIDs */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x08, /* [ 2243] OBJ_id_it_subscriptionRequest */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x09, /* [ 2251] OBJ_id_it_subscriptionResponse */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0A, /* [ 2259] OBJ_id_it_keyPairParamReq */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0B, /* [ 2267] OBJ_id_it_keyPairParamRep */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0C, /* [ 2275] OBJ_id_it_revPassphrase */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0D, /* [ 2283] OBJ_id_it_implicitConfirm */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0E, /* [ 2291] OBJ_id_it_confirmWaitTime */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0F, /* [ 2299] OBJ_id_it_origPKIMessage */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01, /* [ 2307] OBJ_id_regCtrl */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x02, /* [ 2315] OBJ_id_regInfo */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x01, /* [ 2323] OBJ_id_regCtrl_regToken */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x02, /* [ 2332] OBJ_id_regCtrl_authenticator */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x03, /* [ 2341] OBJ_id_regCtrl_pkiPublicationInfo */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x04, /* [ 2350] OBJ_id_regCtrl_pkiArchiveOptions */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x05, /* [ 2359] OBJ_id_regCtrl_oldCertID */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x06, /* [ 2368] OBJ_id_regCtrl_protocolEncrKey */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x02,0x01, /* [ 2377] OBJ_id_regInfo_utf8Pairs */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x02,0x02, /* [ 2386] OBJ_id_regInfo_certReq */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x06,0x01, /* [ 2395] OBJ_id_alg_des40 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x06,0x02, /* [ 2403] OBJ_id_alg_noSignature */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x06,0x03, /* [ 2411] OBJ_id_alg_dh_sig_hmac_sha1 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x06,0x04, /* [ 2419] OBJ_id_alg_dh_pop */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x01, /* [ 2427] OBJ_id_cmc_statusInfo */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x02, /* [ 2435] OBJ_id_cmc_identification */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x03, /* [ 2443] OBJ_id_cmc_identityProof */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x04, /* [ 2451] OBJ_id_cmc_dataReturn */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x05, /* [ 2459] OBJ_id_cmc_transactionId */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x06, /* [ 2467] OBJ_id_cmc_senderNonce */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x07, /* [ 2475] OBJ_id_cmc_recipientNonce */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x08, /* [ 2483] OBJ_id_cmc_addExtensions */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x09, /* [ 2491] OBJ_id_cmc_encryptedPOP */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x0A, /* [ 2499] OBJ_id_cmc_decryptedPOP */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x0B, /* [ 2507] OBJ_id_cmc_lraPOPWitness */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x0F, /* [ 2515] OBJ_id_cmc_getCert */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x10, /* [ 2523] OBJ_id_cmc_getCRL */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x11, /* [ 2531] OBJ_id_cmc_revokeRequest */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x12, /* [ 2539] OBJ_id_cmc_regInfo */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x13, /* [ 2547] OBJ_id_cmc_responseInfo */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x15, /* [ 2555] OBJ_id_cmc_queryPending */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x16, /* [ 2563] OBJ_id_cmc_popLinkRandom */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x17, /* [ 2571] OBJ_id_cmc_popLinkWitness */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x18, /* [ 2579] OBJ_id_cmc_confirmCertAcceptance */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x08,0x01, /* [ 2587] OBJ_id_on_personalData */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x01, /* [ 2595] OBJ_id_pda_dateOfBirth */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x02, /* [ 2603] OBJ_id_pda_placeOfBirth */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x03, /* [ 2611] OBJ_id_pda_gender */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x04, /* [ 2619] OBJ_id_pda_countryOfCitizenship */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x05, /* [ 2627] OBJ_id_pda_countryOfResidence */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x01, /* [ 2635] OBJ_id_aca_authenticationInfo */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x02, /* [ 2643] OBJ_id_aca_accessIdentity */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x03, /* [ 2651] OBJ_id_aca_chargingIdentity */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x04, /* [ 2659] OBJ_id_aca_group */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x05, /* [ 2667] OBJ_id_aca_role */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x0B,0x01, /* [ 2675] OBJ_id_qcs_pkixQCSyntax_v1 */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x0C,0x01, /* [ 2683] OBJ_id_cct_crs */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x0C,0x02, /* [ 2691] OBJ_id_cct_PKIData */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x0C,0x03, /* [ 2699] OBJ_id_cct_PKIResponse */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x03, /* [ 2707] OBJ_ad_timeStamping */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x04, /* [ 2715] OBJ_ad_dvcs */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x01, /* [ 2723] OBJ_id_pkix_OCSP_basic */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x02, /* [ 2732] OBJ_id_pkix_OCSP_Nonce */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x03, /* [ 2741] OBJ_id_pkix_OCSP_CrlID */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x04, /* [ 2750] OBJ_id_pkix_OCSP_acceptableResponses */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x05, /* [ 2759] OBJ_id_pkix_OCSP_noCheck */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x06, /* [ 2768] OBJ_id_pkix_OCSP_archiveCutoff */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x07, /* [ 2777] OBJ_id_pkix_OCSP_serviceLocator */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x08, /* [ 2786] OBJ_id_pkix_OCSP_extendedStatus */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x09, /* [ 2795] OBJ_id_pkix_OCSP_valid */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x0A, /* [ 2804] OBJ_id_pkix_OCSP_path */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x0B, /* [ 2813] OBJ_id_pkix_OCSP_trustRoot */
++ 0x2B,0x0E,0x03,0x02, /* [ 2822] OBJ_algorithm */
++ 0x2B,0x0E,0x03,0x02,0x0B, /* [ 2826] OBJ_rsaSignature */
++ 0x55,0x08, /* [ 2831] OBJ_X500algorithms */
++ 0x2B, /* [ 2833] OBJ_org */
++ 0x2B,0x06, /* [ 2834] OBJ_dod */
++ 0x2B,0x06,0x01, /* [ 2836] OBJ_iana */
++ 0x2B,0x06,0x01,0x01, /* [ 2839] OBJ_Directory */
++ 0x2B,0x06,0x01,0x02, /* [ 2843] OBJ_Management */
++ 0x2B,0x06,0x01,0x03, /* [ 2847] OBJ_Experimental */
++ 0x2B,0x06,0x01,0x04, /* [ 2851] OBJ_Private */
++ 0x2B,0x06,0x01,0x05, /* [ 2855] OBJ_Security */
++ 0x2B,0x06,0x01,0x06, /* [ 2859] OBJ_SNMPv2 */
++ 0x2B,0x06,0x01,0x07, /* [ 2863] OBJ_Mail */
++ 0x2B,0x06,0x01,0x04,0x01, /* [ 2867] OBJ_Enterprises */
++ 0x2B,0x06,0x01,0x04,0x01,0x8B,0x3A,0x82,0x58, /* [ 2872] OBJ_dcObject */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x19, /* [ 2881] OBJ_domainComponent */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x0D, /* [ 2891] OBJ_Domain */
++ 0x55,0x01,0x05, /* [ 2901] OBJ_selected_attribute_types */
++ 0x55,0x01,0x05,0x37, /* [ 2904] OBJ_clearance */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x03, /* [ 2908] OBJ_md4WithRSAEncryption */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x0A, /* [ 2917] OBJ_ac_proxying */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x0B, /* [ 2925] OBJ_sinfo_access */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x06, /* [ 2933] OBJ_id_aca_encAttrs */
++ 0x55,0x04,0x48, /* [ 2941] OBJ_role */
++ 0x55,0x1D,0x24, /* [ 2944] OBJ_policy_constraints */
++ 0x55,0x1D,0x37, /* [ 2947] OBJ_target_information */
++ 0x55,0x1D,0x38, /* [ 2950] OBJ_no_rev_avail */
++ 0x2A,0x86,0x48,0xCE,0x3D, /* [ 2953] OBJ_ansi_X9_62 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x01,0x01, /* [ 2958] OBJ_X9_62_prime_field */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02, /* [ 2965] OBJ_X9_62_characteristic_two_field */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x02,0x01, /* [ 2972] OBJ_X9_62_id_ecPublicKey */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x01, /* [ 2979] OBJ_X9_62_prime192v1 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x02, /* [ 2987] OBJ_X9_62_prime192v2 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x03, /* [ 2995] OBJ_X9_62_prime192v3 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x04, /* [ 3003] OBJ_X9_62_prime239v1 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x05, /* [ 3011] OBJ_X9_62_prime239v2 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x06, /* [ 3019] OBJ_X9_62_prime239v3 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x07, /* [ 3027] OBJ_X9_62_prime256v1 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x04,0x01, /* [ 3035] OBJ_ecdsa_with_SHA1 */
++ 0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x11,0x01, /* [ 3042] OBJ_ms_csp_name */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x01, /* [ 3051] OBJ_aes_128_ecb */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x02, /* [ 3060] OBJ_aes_128_cbc */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x03, /* [ 3069] OBJ_aes_128_ofb128 */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x04, /* [ 3078] OBJ_aes_128_cfb128 */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x15, /* [ 3087] OBJ_aes_192_ecb */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x16, /* [ 3096] OBJ_aes_192_cbc */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x17, /* [ 3105] OBJ_aes_192_ofb128 */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x18, /* [ 3114] OBJ_aes_192_cfb128 */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x29, /* [ 3123] OBJ_aes_256_ecb */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2A, /* [ 3132] OBJ_aes_256_cbc */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2B, /* [ 3141] OBJ_aes_256_ofb128 */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2C, /* [ 3150] OBJ_aes_256_cfb128 */
++ 0x55,0x1D,0x17, /* [ 3159] OBJ_hold_instruction_code */
++ 0x2A,0x86,0x48,0xCE,0x38,0x02,0x01, /* [ 3162] OBJ_hold_instruction_none */
++ 0x2A,0x86,0x48,0xCE,0x38,0x02,0x02, /* [ 3169] OBJ_hold_instruction_call_issuer */
++ 0x2A,0x86,0x48,0xCE,0x38,0x02,0x03, /* [ 3176] OBJ_hold_instruction_reject */
++ 0x09, /* [ 3183] OBJ_data */
++ 0x09,0x92,0x26, /* [ 3184] OBJ_pss */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C, /* [ 3187] OBJ_ucl */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64, /* [ 3194] OBJ_pilot */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01, /* [ 3202] OBJ_pilotAttributeType */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x03, /* [ 3211] OBJ_pilotAttributeSyntax */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04, /* [ 3220] OBJ_pilotObjectClass */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x0A, /* [ 3229] OBJ_pilotGroups */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x03,0x04, /* [ 3238] OBJ_iA5StringSyntax */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x03,0x05, /* [ 3248] OBJ_caseIgnoreIA5StringSyntax */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x03, /* [ 3258] OBJ_pilotObject */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x04, /* [ 3268] OBJ_pilotPerson */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x05, /* [ 3278] OBJ_account */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x06, /* [ 3288] OBJ_document */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x07, /* [ 3298] OBJ_room */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x09, /* [ 3308] OBJ_documentSeries */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x0E, /* [ 3318] OBJ_rFC822localPart */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x0F, /* [ 3328] OBJ_dNSDomain */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x11, /* [ 3338] OBJ_domainRelatedObject */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x12, /* [ 3348] OBJ_friendlyCountry */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x13, /* [ 3358] OBJ_simpleSecurityObject */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x14, /* [ 3368] OBJ_pilotOrganization */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x15, /* [ 3378] OBJ_pilotDSA */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x16, /* [ 3388] OBJ_qualityLabelledData */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x01, /* [ 3398] OBJ_userId */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x02, /* [ 3408] OBJ_textEncodedORAddress */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x03, /* [ 3418] OBJ_rfc822Mailbox */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x04, /* [ 3428] OBJ_info */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x05, /* [ 3438] OBJ_favouriteDrink */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x06, /* [ 3448] OBJ_roomNumber */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x07, /* [ 3458] OBJ_photo */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x08, /* [ 3468] OBJ_userClass */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x09, /* [ 3478] OBJ_host */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0A, /* [ 3488] OBJ_manager */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0B, /* [ 3498] OBJ_documentIdentifier */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0C, /* [ 3508] OBJ_documentTitle */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0D, /* [ 3518] OBJ_documentVersion */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0E, /* [ 3528] OBJ_documentAuthor */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0F, /* [ 3538] OBJ_documentLocation */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x14, /* [ 3548] OBJ_homeTelephoneNumber */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x15, /* [ 3558] OBJ_secretary */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x16, /* [ 3568] OBJ_otherMailbox */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x17, /* [ 3578] OBJ_lastModifiedTime */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x18, /* [ 3588] OBJ_lastModifiedBy */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1A, /* [ 3598] OBJ_aRecord */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1B, /* [ 3608] OBJ_pilotAttributeType27 */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1C, /* [ 3618] OBJ_mXRecord */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1D, /* [ 3628] OBJ_nSRecord */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1E, /* [ 3638] OBJ_sOARecord */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1F, /* [ 3648] OBJ_cNAMERecord */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x25, /* [ 3658] OBJ_associatedDomain */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x26, /* [ 3668] OBJ_associatedName */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x27, /* [ 3678] OBJ_homePostalAddress */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x28, /* [ 3688] OBJ_personalTitle */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x29, /* [ 3698] OBJ_mobileTelephoneNumber */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2A, /* [ 3708] OBJ_pagerTelephoneNumber */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2B, /* [ 3718] OBJ_friendlyCountryName */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2D, /* [ 3728] OBJ_organizationalStatus */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2E, /* [ 3738] OBJ_janetMailbox */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2F, /* [ 3748] OBJ_mailPreferenceOption */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x30, /* [ 3758] OBJ_buildingName */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x31, /* [ 3768] OBJ_dSAQuality */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x32, /* [ 3778] OBJ_singleLevelQuality */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x33, /* [ 3788] OBJ_subtreeMinimumQuality */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x34, /* [ 3798] OBJ_subtreeMaximumQuality */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x35, /* [ 3808] OBJ_personalSignature */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x36, /* [ 3818] OBJ_dITRedirect */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x37, /* [ 3828] OBJ_audio */
++ 0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x38, /* [ 3838] OBJ_documentPublisher */
++ 0x55,0x04,0x2D, /* [ 3848] OBJ_x500UniqueIdentifier */
++ 0x2B,0x06,0x01,0x07,0x01, /* [ 3851] OBJ_mime_mhs */
++ 0x2B,0x06,0x01,0x07,0x01,0x01, /* [ 3856] OBJ_mime_mhs_headings */
++ 0x2B,0x06,0x01,0x07,0x01,0x02, /* [ 3862] OBJ_mime_mhs_bodies */
++ 0x2B,0x06,0x01,0x07,0x01,0x01,0x01, /* [ 3868] OBJ_id_hex_partial_message */
++ 0x2B,0x06,0x01,0x07,0x01,0x01,0x02, /* [ 3875] OBJ_id_hex_multipart_message */
++ 0x55,0x04,0x2C, /* [ 3882] OBJ_generationQualifier */
++ 0x55,0x04,0x41, /* [ 3885] OBJ_pseudonym */
++ 0x67,0x2A, /* [ 3888] OBJ_id_set */
++ 0x67,0x2A,0x00, /* [ 3890] OBJ_set_ctype */
++ 0x67,0x2A,0x01, /* [ 3893] OBJ_set_msgExt */
++ 0x67,0x2A,0x03, /* [ 3896] OBJ_set_attr */
++ 0x67,0x2A,0x05, /* [ 3899] OBJ_set_policy */
++ 0x67,0x2A,0x07, /* [ 3902] OBJ_set_certExt */
++ 0x67,0x2A,0x08, /* [ 3905] OBJ_set_brand */
++ 0x67,0x2A,0x00,0x00, /* [ 3908] OBJ_setct_PANData */
++ 0x67,0x2A,0x00,0x01, /* [ 3912] OBJ_setct_PANToken */
++ 0x67,0x2A,0x00,0x02, /* [ 3916] OBJ_setct_PANOnly */
++ 0x67,0x2A,0x00,0x03, /* [ 3920] OBJ_setct_OIData */
++ 0x67,0x2A,0x00,0x04, /* [ 3924] OBJ_setct_PI */
++ 0x67,0x2A,0x00,0x05, /* [ 3928] OBJ_setct_PIData */
++ 0x67,0x2A,0x00,0x06, /* [ 3932] OBJ_setct_PIDataUnsigned */
++ 0x67,0x2A,0x00,0x07, /* [ 3936] OBJ_setct_HODInput */
++ 0x67,0x2A,0x00,0x08, /* [ 3940] OBJ_setct_AuthResBaggage */
++ 0x67,0x2A,0x00,0x09, /* [ 3944] OBJ_setct_AuthRevReqBaggage */
++ 0x67,0x2A,0x00,0x0A, /* [ 3948] OBJ_setct_AuthRevResBaggage */
++ 0x67,0x2A,0x00,0x0B, /* [ 3952] OBJ_setct_CapTokenSeq */
++ 0x67,0x2A,0x00,0x0C, /* [ 3956] OBJ_setct_PInitResData */
++ 0x67,0x2A,0x00,0x0D, /* [ 3960] OBJ_setct_PI_TBS */
++ 0x67,0x2A,0x00,0x0E, /* [ 3964] OBJ_setct_PResData */
++ 0x67,0x2A,0x00,0x10, /* [ 3968] OBJ_setct_AuthReqTBS */
++ 0x67,0x2A,0x00,0x11, /* [ 3972] OBJ_setct_AuthResTBS */
++ 0x67,0x2A,0x00,0x12, /* [ 3976] OBJ_setct_AuthResTBSX */
++ 0x67,0x2A,0x00,0x13, /* [ 3980] OBJ_setct_AuthTokenTBS */
++ 0x67,0x2A,0x00,0x14, /* [ 3984] OBJ_setct_CapTokenData */
++ 0x67,0x2A,0x00,0x15, /* [ 3988] OBJ_setct_CapTokenTBS */
++ 0x67,0x2A,0x00,0x16, /* [ 3992] OBJ_setct_AcqCardCodeMsg */
++ 0x67,0x2A,0x00,0x17, /* [ 3996] OBJ_setct_AuthRevReqTBS */
++ 0x67,0x2A,0x00,0x18, /* [ 4000] OBJ_setct_AuthRevResData */
++ 0x67,0x2A,0x00,0x19, /* [ 4004] OBJ_setct_AuthRevResTBS */
++ 0x67,0x2A,0x00,0x1A, /* [ 4008] OBJ_setct_CapReqTBS */
++ 0x67,0x2A,0x00,0x1B, /* [ 4012] OBJ_setct_CapReqTBSX */
++ 0x67,0x2A,0x00,0x1C, /* [ 4016] OBJ_setct_CapResData */
++ 0x67,0x2A,0x00,0x1D, /* [ 4020] OBJ_setct_CapRevReqTBS */
++ 0x67,0x2A,0x00,0x1E, /* [ 4024] OBJ_setct_CapRevReqTBSX */
++ 0x67,0x2A,0x00,0x1F, /* [ 4028] OBJ_setct_CapRevResData */
++ 0x67,0x2A,0x00,0x20, /* [ 4032] OBJ_setct_CredReqTBS */
++ 0x67,0x2A,0x00,0x21, /* [ 4036] OBJ_setct_CredReqTBSX */
++ 0x67,0x2A,0x00,0x22, /* [ 4040] OBJ_setct_CredResData */
++ 0x67,0x2A,0x00,0x23, /* [ 4044] OBJ_setct_CredRevReqTBS */
++ 0x67,0x2A,0x00,0x24, /* [ 4048] OBJ_setct_CredRevReqTBSX */
++ 0x67,0x2A,0x00,0x25, /* [ 4052] OBJ_setct_CredRevResData */
++ 0x67,0x2A,0x00,0x26, /* [ 4056] OBJ_setct_PCertReqData */
++ 0x67,0x2A,0x00,0x27, /* [ 4060] OBJ_setct_PCertResTBS */
++ 0x67,0x2A,0x00,0x28, /* [ 4064] OBJ_setct_BatchAdminReqData */
++ 0x67,0x2A,0x00,0x29, /* [ 4068] OBJ_setct_BatchAdminResData */
++ 0x67,0x2A,0x00,0x2A, /* [ 4072] OBJ_setct_CardCInitResTBS */
++ 0x67,0x2A,0x00,0x2B, /* [ 4076] OBJ_setct_MeAqCInitResTBS */
++ 0x67,0x2A,0x00,0x2C, /* [ 4080] OBJ_setct_RegFormResTBS */
++ 0x67,0x2A,0x00,0x2D, /* [ 4084] OBJ_setct_CertReqData */
++ 0x67,0x2A,0x00,0x2E, /* [ 4088] OBJ_setct_CertReqTBS */
++ 0x67,0x2A,0x00,0x2F, /* [ 4092] OBJ_setct_CertResData */
++ 0x67,0x2A,0x00,0x30, /* [ 4096] OBJ_setct_CertInqReqTBS */
++ 0x67,0x2A,0x00,0x31, /* [ 4100] OBJ_setct_ErrorTBS */
++ 0x67,0x2A,0x00,0x32, /* [ 4104] OBJ_setct_PIDualSignedTBE */
++ 0x67,0x2A,0x00,0x33, /* [ 4108] OBJ_setct_PIUnsignedTBE */
++ 0x67,0x2A,0x00,0x34, /* [ 4112] OBJ_setct_AuthReqTBE */
++ 0x67,0x2A,0x00,0x35, /* [ 4116] OBJ_setct_AuthResTBE */
++ 0x67,0x2A,0x00,0x36, /* [ 4120] OBJ_setct_AuthResTBEX */
++ 0x67,0x2A,0x00,0x37, /* [ 4124] OBJ_setct_AuthTokenTBE */
++ 0x67,0x2A,0x00,0x38, /* [ 4128] OBJ_setct_CapTokenTBE */
++ 0x67,0x2A,0x00,0x39, /* [ 4132] OBJ_setct_CapTokenTBEX */
++ 0x67,0x2A,0x00,0x3A, /* [ 4136] OBJ_setct_AcqCardCodeMsgTBE */
++ 0x67,0x2A,0x00,0x3B, /* [ 4140] OBJ_setct_AuthRevReqTBE */
++ 0x67,0x2A,0x00,0x3C, /* [ 4144] OBJ_setct_AuthRevResTBE */
++ 0x67,0x2A,0x00,0x3D, /* [ 4148] OBJ_setct_AuthRevResTBEB */
++ 0x67,0x2A,0x00,0x3E, /* [ 4152] OBJ_setct_CapReqTBE */
++ 0x67,0x2A,0x00,0x3F, /* [ 4156] OBJ_setct_CapReqTBEX */
++ 0x67,0x2A,0x00,0x40, /* [ 4160] OBJ_setct_CapResTBE */
++ 0x67,0x2A,0x00,0x41, /* [ 4164] OBJ_setct_CapRevReqTBE */
++ 0x67,0x2A,0x00,0x42, /* [ 4168] OBJ_setct_CapRevReqTBEX */
++ 0x67,0x2A,0x00,0x43, /* [ 4172] OBJ_setct_CapRevResTBE */
++ 0x67,0x2A,0x00,0x44, /* [ 4176] OBJ_setct_CredReqTBE */
++ 0x67,0x2A,0x00,0x45, /* [ 4180] OBJ_setct_CredReqTBEX */
++ 0x67,0x2A,0x00,0x46, /* [ 4184] OBJ_setct_CredResTBE */
++ 0x67,0x2A,0x00,0x47, /* [ 4188] OBJ_setct_CredRevReqTBE */
++ 0x67,0x2A,0x00,0x48, /* [ 4192] OBJ_setct_CredRevReqTBEX */
++ 0x67,0x2A,0x00,0x49, /* [ 4196] OBJ_setct_CredRevResTBE */
++ 0x67,0x2A,0x00,0x4A, /* [ 4200] OBJ_setct_BatchAdminReqTBE */
++ 0x67,0x2A,0x00,0x4B, /* [ 4204] OBJ_setct_BatchAdminResTBE */
++ 0x67,0x2A,0x00,0x4C, /* [ 4208] OBJ_setct_RegFormReqTBE */
++ 0x67,0x2A,0x00,0x4D, /* [ 4212] OBJ_setct_CertReqTBE */
++ 0x67,0x2A,0x00,0x4E, /* [ 4216] OBJ_setct_CertReqTBEX */
++ 0x67,0x2A,0x00,0x4F, /* [ 4220] OBJ_setct_CertResTBE */
++ 0x67,0x2A,0x00,0x50, /* [ 4224] OBJ_setct_CRLNotificationTBS */
++ 0x67,0x2A,0x00,0x51, /* [ 4228] OBJ_setct_CRLNotificationResTBS */
++ 0x67,0x2A,0x00,0x52, /* [ 4232] OBJ_setct_BCIDistributionTBS */
++ 0x67,0x2A,0x01,0x01, /* [ 4236] OBJ_setext_genCrypt */
++ 0x67,0x2A,0x01,0x03, /* [ 4240] OBJ_setext_miAuth */
++ 0x67,0x2A,0x01,0x04, /* [ 4244] OBJ_setext_pinSecure */
++ 0x67,0x2A,0x01,0x05, /* [ 4248] OBJ_setext_pinAny */
++ 0x67,0x2A,0x01,0x07, /* [ 4252] OBJ_setext_track2 */
++ 0x67,0x2A,0x01,0x08, /* [ 4256] OBJ_setext_cv */
++ 0x67,0x2A,0x05,0x00, /* [ 4260] OBJ_set_policy_root */
++ 0x67,0x2A,0x07,0x00, /* [ 4264] OBJ_setCext_hashedRoot */
++ 0x67,0x2A,0x07,0x01, /* [ 4268] OBJ_setCext_certType */
++ 0x67,0x2A,0x07,0x02, /* [ 4272] OBJ_setCext_merchData */
++ 0x67,0x2A,0x07,0x03, /* [ 4276] OBJ_setCext_cCertRequired */
++ 0x67,0x2A,0x07,0x04, /* [ 4280] OBJ_setCext_tunneling */
++ 0x67,0x2A,0x07,0x05, /* [ 4284] OBJ_setCext_setExt */
++ 0x67,0x2A,0x07,0x06, /* [ 4288] OBJ_setCext_setQualf */
++ 0x67,0x2A,0x07,0x07, /* [ 4292] OBJ_setCext_PGWYcapabilities */
++ 0x67,0x2A,0x07,0x08, /* [ 4296] OBJ_setCext_TokenIdentifier */
++ 0x67,0x2A,0x07,0x09, /* [ 4300] OBJ_setCext_Track2Data */
++ 0x67,0x2A,0x07,0x0A, /* [ 4304] OBJ_setCext_TokenType */
++ 0x67,0x2A,0x07,0x0B, /* [ 4308] OBJ_setCext_IssuerCapabilities */
++ 0x67,0x2A,0x03,0x00, /* [ 4312] OBJ_setAttr_Cert */
++ 0x67,0x2A,0x03,0x01, /* [ 4316] OBJ_setAttr_PGWYcap */
++ 0x67,0x2A,0x03,0x02, /* [ 4320] OBJ_setAttr_TokenType */
++ 0x67,0x2A,0x03,0x03, /* [ 4324] OBJ_setAttr_IssCap */
++ 0x67,0x2A,0x03,0x00,0x00, /* [ 4328] OBJ_set_rootKeyThumb */
++ 0x67,0x2A,0x03,0x00,0x01, /* [ 4333] OBJ_set_addPolicy */
++ 0x67,0x2A,0x03,0x02,0x01, /* [ 4338] OBJ_setAttr_Token_EMV */
++ 0x67,0x2A,0x03,0x02,0x02, /* [ 4343] OBJ_setAttr_Token_B0Prime */
++ 0x67,0x2A,0x03,0x03,0x03, /* [ 4348] OBJ_setAttr_IssCap_CVM */
++ 0x67,0x2A,0x03,0x03,0x04, /* [ 4353] OBJ_setAttr_IssCap_T2 */
++ 0x67,0x2A,0x03,0x03,0x05, /* [ 4358] OBJ_setAttr_IssCap_Sig */
++ 0x67,0x2A,0x03,0x03,0x03,0x01, /* [ 4363] OBJ_setAttr_GenCryptgrm */
++ 0x67,0x2A,0x03,0x03,0x04,0x01, /* [ 4369] OBJ_setAttr_T2Enc */
++ 0x67,0x2A,0x03,0x03,0x04,0x02, /* [ 4375] OBJ_setAttr_T2cleartxt */
++ 0x67,0x2A,0x03,0x03,0x05,0x01, /* [ 4381] OBJ_setAttr_TokICCsig */
++ 0x67,0x2A,0x03,0x03,0x05,0x02, /* [ 4387] OBJ_setAttr_SecDevSig */
++ 0x67,0x2A,0x08,0x01, /* [ 4393] OBJ_set_brand_IATA_ATA */
++ 0x67,0x2A,0x08,0x1E, /* [ 4397] OBJ_set_brand_Diners */
++ 0x67,0x2A,0x08,0x22, /* [ 4401] OBJ_set_brand_AmericanExpress */
++ 0x67,0x2A,0x08,0x23, /* [ 4405] OBJ_set_brand_JCB */
++ 0x67,0x2A,0x08,0x04, /* [ 4409] OBJ_set_brand_Visa */
++ 0x67,0x2A,0x08,0x05, /* [ 4413] OBJ_set_brand_MasterCard */
++ 0x67,0x2A,0x08,0xAE,0x7B, /* [ 4417] OBJ_set_brand_Novus */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x0A, /* [ 4422] OBJ_des_cdmf */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x06, /* [ 4430] OBJ_rsaOAEPEncryptionSET */
++ 0x67, /* [ 4439] OBJ_international_organizations */
++ 0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x14,0x02,0x02, /* [ 4440] OBJ_ms_smartcard_login */
++ 0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x14,0x02,0x03, /* [ 4450] OBJ_ms_upn */
++ 0x55,0x04,0x09, /* [ 4460] OBJ_streetAddress */
++ 0x55,0x04,0x11, /* [ 4463] OBJ_postalCode */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x15, /* [ 4466] OBJ_id_ppl */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x0E, /* [ 4473] OBJ_proxyCertInfo */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x15,0x00, /* [ 4481] OBJ_id_ppl_anyLanguage */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x15,0x01, /* [ 4489] OBJ_id_ppl_inheritAll */
++ 0x55,0x1D,0x1E, /* [ 4497] OBJ_name_constraints */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x15,0x02, /* [ 4500] OBJ_Independent */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0B, /* [ 4508] OBJ_sha256WithRSAEncryption */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0C, /* [ 4517] OBJ_sha384WithRSAEncryption */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0D, /* [ 4526] OBJ_sha512WithRSAEncryption */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0E, /* [ 4535] OBJ_sha224WithRSAEncryption */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x01, /* [ 4544] OBJ_sha256 */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x02, /* [ 4553] OBJ_sha384 */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x03, /* [ 4562] OBJ_sha512 */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x04, /* [ 4571] OBJ_sha224 */
++ 0x2B, /* [ 4580] OBJ_identified_organization */
++ 0x2B,0x81,0x04, /* [ 4581] OBJ_certicom_arc */
++ 0x67,0x2B, /* [ 4584] OBJ_wap */
++ 0x67,0x2B,0x01, /* [ 4586] OBJ_wap_wsg */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02,0x03, /* [ 4589] OBJ_X9_62_id_characteristic_two_basis */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02,0x03,0x01, /* [ 4597] OBJ_X9_62_onBasis */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02,0x03,0x02, /* [ 4606] OBJ_X9_62_tpBasis */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02,0x03,0x03, /* [ 4615] OBJ_X9_62_ppBasis */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x01, /* [ 4624] OBJ_X9_62_c2pnb163v1 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x02, /* [ 4632] OBJ_X9_62_c2pnb163v2 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x03, /* [ 4640] OBJ_X9_62_c2pnb163v3 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x04, /* [ 4648] OBJ_X9_62_c2pnb176v1 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x05, /* [ 4656] OBJ_X9_62_c2tnb191v1 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x06, /* [ 4664] OBJ_X9_62_c2tnb191v2 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x07, /* [ 4672] OBJ_X9_62_c2tnb191v3 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x08, /* [ 4680] OBJ_X9_62_c2onb191v4 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x09, /* [ 4688] OBJ_X9_62_c2onb191v5 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0A, /* [ 4696] OBJ_X9_62_c2pnb208w1 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0B, /* [ 4704] OBJ_X9_62_c2tnb239v1 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0C, /* [ 4712] OBJ_X9_62_c2tnb239v2 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0D, /* [ 4720] OBJ_X9_62_c2tnb239v3 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0E, /* [ 4728] OBJ_X9_62_c2onb239v4 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0F, /* [ 4736] OBJ_X9_62_c2onb239v5 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x10, /* [ 4744] OBJ_X9_62_c2pnb272w1 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x11, /* [ 4752] OBJ_X9_62_c2pnb304w1 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x12, /* [ 4760] OBJ_X9_62_c2tnb359v1 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x13, /* [ 4768] OBJ_X9_62_c2pnb368w1 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x14, /* [ 4776] OBJ_X9_62_c2tnb431r1 */
++ 0x2B,0x81,0x04,0x00,0x06, /* [ 4784] OBJ_secp112r1 */
++ 0x2B,0x81,0x04,0x00,0x07, /* [ 4789] OBJ_secp112r2 */
++ 0x2B,0x81,0x04,0x00,0x1C, /* [ 4794] OBJ_secp128r1 */
++ 0x2B,0x81,0x04,0x00,0x1D, /* [ 4799] OBJ_secp128r2 */
++ 0x2B,0x81,0x04,0x00,0x09, /* [ 4804] OBJ_secp160k1 */
++ 0x2B,0x81,0x04,0x00,0x08, /* [ 4809] OBJ_secp160r1 */
++ 0x2B,0x81,0x04,0x00,0x1E, /* [ 4814] OBJ_secp160r2 */
++ 0x2B,0x81,0x04,0x00,0x1F, /* [ 4819] OBJ_secp192k1 */
++ 0x2B,0x81,0x04,0x00,0x20, /* [ 4824] OBJ_secp224k1 */
++ 0x2B,0x81,0x04,0x00,0x21, /* [ 4829] OBJ_secp224r1 */
++ 0x2B,0x81,0x04,0x00,0x0A, /* [ 4834] OBJ_secp256k1 */
++ 0x2B,0x81,0x04,0x00,0x22, /* [ 4839] OBJ_secp384r1 */
++ 0x2B,0x81,0x04,0x00,0x23, /* [ 4844] OBJ_secp521r1 */
++ 0x2B,0x81,0x04,0x00,0x04, /* [ 4849] OBJ_sect113r1 */
++ 0x2B,0x81,0x04,0x00,0x05, /* [ 4854] OBJ_sect113r2 */
++ 0x2B,0x81,0x04,0x00,0x16, /* [ 4859] OBJ_sect131r1 */
++ 0x2B,0x81,0x04,0x00,0x17, /* [ 4864] OBJ_sect131r2 */
++ 0x2B,0x81,0x04,0x00,0x01, /* [ 4869] OBJ_sect163k1 */
++ 0x2B,0x81,0x04,0x00,0x02, /* [ 4874] OBJ_sect163r1 */
++ 0x2B,0x81,0x04,0x00,0x0F, /* [ 4879] OBJ_sect163r2 */
++ 0x2B,0x81,0x04,0x00,0x18, /* [ 4884] OBJ_sect193r1 */
++ 0x2B,0x81,0x04,0x00,0x19, /* [ 4889] OBJ_sect193r2 */
++ 0x2B,0x81,0x04,0x00,0x1A, /* [ 4894] OBJ_sect233k1 */
++ 0x2B,0x81,0x04,0x00,0x1B, /* [ 4899] OBJ_sect233r1 */
++ 0x2B,0x81,0x04,0x00,0x03, /* [ 4904] OBJ_sect239k1 */
++ 0x2B,0x81,0x04,0x00,0x10, /* [ 4909] OBJ_sect283k1 */
++ 0x2B,0x81,0x04,0x00,0x11, /* [ 4914] OBJ_sect283r1 */
++ 0x2B,0x81,0x04,0x00,0x24, /* [ 4919] OBJ_sect409k1 */
++ 0x2B,0x81,0x04,0x00,0x25, /* [ 4924] OBJ_sect409r1 */
++ 0x2B,0x81,0x04,0x00,0x26, /* [ 4929] OBJ_sect571k1 */
++ 0x2B,0x81,0x04,0x00,0x27, /* [ 4934] OBJ_sect571r1 */
++ 0x67,0x2B,0x01,0x04,0x01, /* [ 4939] OBJ_wap_wsg_idm_ecid_wtls1 */
++ 0x67,0x2B,0x01,0x04,0x03, /* [ 4944] OBJ_wap_wsg_idm_ecid_wtls3 */
++ 0x67,0x2B,0x01,0x04,0x04, /* [ 4949] OBJ_wap_wsg_idm_ecid_wtls4 */
++ 0x67,0x2B,0x01,0x04,0x05, /* [ 4954] OBJ_wap_wsg_idm_ecid_wtls5 */
++ 0x67,0x2B,0x01,0x04,0x06, /* [ 4959] OBJ_wap_wsg_idm_ecid_wtls6 */
++ 0x67,0x2B,0x01,0x04,0x07, /* [ 4964] OBJ_wap_wsg_idm_ecid_wtls7 */
++ 0x67,0x2B,0x01,0x04,0x08, /* [ 4969] OBJ_wap_wsg_idm_ecid_wtls8 */
++ 0x67,0x2B,0x01,0x04,0x09, /* [ 4974] OBJ_wap_wsg_idm_ecid_wtls9 */
++ 0x67,0x2B,0x01,0x04,0x0A, /* [ 4979] OBJ_wap_wsg_idm_ecid_wtls10 */
++ 0x67,0x2B,0x01,0x04,0x0B, /* [ 4984] OBJ_wap_wsg_idm_ecid_wtls11 */
++ 0x67,0x2B,0x01,0x04,0x0C, /* [ 4989] OBJ_wap_wsg_idm_ecid_wtls12 */
++ 0x55,0x1D,0x20,0x00, /* [ 4994] OBJ_any_policy */
++ 0x55,0x1D,0x21, /* [ 4998] OBJ_policy_mappings */
++ 0x55,0x1D,0x36, /* [ 5001] OBJ_inhibit_any_policy */
++ 0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x01,0x02, /* [ 5004] OBJ_camellia_128_cbc */
++ 0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x01,0x03, /* [ 5015] OBJ_camellia_192_cbc */
++ 0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x01,0x04, /* [ 5026] OBJ_camellia_256_cbc */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x01, /* [ 5037] OBJ_camellia_128_ecb */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x15, /* [ 5045] OBJ_camellia_192_ecb */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x29, /* [ 5053] OBJ_camellia_256_ecb */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x04, /* [ 5061] OBJ_camellia_128_cfb128 */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x18, /* [ 5069] OBJ_camellia_192_cfb128 */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x2C, /* [ 5077] OBJ_camellia_256_cfb128 */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x03, /* [ 5085] OBJ_camellia_128_ofb128 */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x17, /* [ 5093] OBJ_camellia_192_ofb128 */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x2B, /* [ 5101] OBJ_camellia_256_ofb128 */
++ 0x55,0x1D,0x09, /* [ 5109] OBJ_subject_directory_attributes */
++ 0x55,0x1D,0x1C, /* [ 5112] OBJ_issuing_distribution_point */
++ 0x55,0x1D,0x1D, /* [ 5115] OBJ_certificate_issuer */
++ 0x2A,0x83,0x1A,0x8C,0x9A,0x44, /* [ 5118] OBJ_kisa */
++ 0x2A,0x83,0x1A,0x8C,0x9A,0x44,0x01,0x03, /* [ 5124] OBJ_seed_ecb */
++ 0x2A,0x83,0x1A,0x8C,0x9A,0x44,0x01,0x04, /* [ 5132] OBJ_seed_cbc */
++ 0x2A,0x83,0x1A,0x8C,0x9A,0x44,0x01,0x06, /* [ 5140] OBJ_seed_ofb128 */
++ 0x2A,0x83,0x1A,0x8C,0x9A,0x44,0x01,0x05, /* [ 5148] OBJ_seed_cfb128 */
++ 0x2B,0x06,0x01,0x05,0x05,0x08,0x01,0x01, /* [ 5156] OBJ_hmac_md5 */
++ 0x2B,0x06,0x01,0x05,0x05,0x08,0x01,0x02, /* [ 5164] OBJ_hmac_sha1 */
++ 0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x0D, /* [ 5172] OBJ_id_PasswordBasedMAC */
++ 0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x1E, /* [ 5181] OBJ_id_DHBasedMac */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x10, /* [ 5190] OBJ_id_it_suppLangTags */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x05, /* [ 5198] OBJ_caRepository */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x09, /* [ 5206] OBJ_id_smime_ct_compressedData */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x1B, /* [ 5217] OBJ_id_ct_asciiTextWithCRLF */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x05, /* [ 5228] OBJ_id_aes128_wrap */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x19, /* [ 5237] OBJ_id_aes192_wrap */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2D, /* [ 5246] OBJ_id_aes256_wrap */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x04,0x02, /* [ 5255] OBJ_ecdsa_with_Recommended */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03, /* [ 5262] OBJ_ecdsa_with_Specified */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03,0x01, /* [ 5269] OBJ_ecdsa_with_SHA224 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03,0x02, /* [ 5277] OBJ_ecdsa_with_SHA256 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03,0x03, /* [ 5285] OBJ_ecdsa_with_SHA384 */
++ 0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03,0x04, /* [ 5293] OBJ_ecdsa_with_SHA512 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x06, /* [ 5301] OBJ_hmacWithMD5 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x08, /* [ 5309] OBJ_hmacWithSHA224 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x09, /* [ 5317] OBJ_hmacWithSHA256 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0A, /* [ 5325] OBJ_hmacWithSHA384 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0B, /* [ 5333] OBJ_hmacWithSHA512 */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x03,0x01, /* [ 5341] OBJ_dsa_with_SHA224 */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x03,0x02, /* [ 5350] OBJ_dsa_with_SHA256 */
++ 0x28,0xCF,0x06,0x03,0x00,0x37, /* [ 5359] OBJ_whirlpool */
++ 0x2A,0x85,0x03,0x02,0x02, /* [ 5365] OBJ_cryptopro */
++ 0x2A,0x85,0x03,0x02,0x09, /* [ 5370] OBJ_cryptocom */
++ 0x2A,0x85,0x03,0x02,0x02,0x03, /* [ 5375] OBJ_id_GostR3411_94_with_GostR3410_2001 */
++ 0x2A,0x85,0x03,0x02,0x02,0x04, /* [ 5381] OBJ_id_GostR3411_94_with_GostR3410_94 */
++ 0x2A,0x85,0x03,0x02,0x02,0x09, /* [ 5387] OBJ_id_GostR3411_94 */
++ 0x2A,0x85,0x03,0x02,0x02,0x0A, /* [ 5393] OBJ_id_HMACGostR3411_94 */
++ 0x2A,0x85,0x03,0x02,0x02,0x13, /* [ 5399] OBJ_id_GostR3410_2001 */
++ 0x2A,0x85,0x03,0x02,0x02,0x14, /* [ 5405] OBJ_id_GostR3410_94 */
++ 0x2A,0x85,0x03,0x02,0x02,0x15, /* [ 5411] OBJ_id_Gost28147_89 */
++ 0x2A,0x85,0x03,0x02,0x02,0x16, /* [ 5417] OBJ_id_Gost28147_89_MAC */
++ 0x2A,0x85,0x03,0x02,0x02,0x17, /* [ 5423] OBJ_id_GostR3411_94_prf */
++ 0x2A,0x85,0x03,0x02,0x02,0x62, /* [ 5429] OBJ_id_GostR3410_2001DH */
++ 0x2A,0x85,0x03,0x02,0x02,0x63, /* [ 5435] OBJ_id_GostR3410_94DH */
++ 0x2A,0x85,0x03,0x02,0x02,0x0E,0x01, /* [ 5441] OBJ_id_Gost28147_89_CryptoPro_KeyMeshing */
++ 0x2A,0x85,0x03,0x02,0x02,0x0E,0x00, /* [ 5448] OBJ_id_Gost28147_89_None_KeyMeshing */
++ 0x2A,0x85,0x03,0x02,0x02,0x1E,0x00, /* [ 5455] OBJ_id_GostR3411_94_TestParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x1E,0x01, /* [ 5462] OBJ_id_GostR3411_94_CryptoProParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x1F,0x00, /* [ 5469] OBJ_id_Gost28147_89_TestParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x1F,0x01, /* [ 5476] OBJ_id_Gost28147_89_CryptoPro_A_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x1F,0x02, /* [ 5483] OBJ_id_Gost28147_89_CryptoPro_B_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x1F,0x03, /* [ 5490] OBJ_id_Gost28147_89_CryptoPro_C_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x1F,0x04, /* [ 5497] OBJ_id_Gost28147_89_CryptoPro_D_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x1F,0x05, /* [ 5504] OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x1F,0x06, /* [ 5511] OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x1F,0x07, /* [ 5518] OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x20,0x00, /* [ 5525] OBJ_id_GostR3410_94_TestParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x20,0x02, /* [ 5532] OBJ_id_GostR3410_94_CryptoPro_A_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x20,0x03, /* [ 5539] OBJ_id_GostR3410_94_CryptoPro_B_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x20,0x04, /* [ 5546] OBJ_id_GostR3410_94_CryptoPro_C_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x20,0x05, /* [ 5553] OBJ_id_GostR3410_94_CryptoPro_D_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x21,0x01, /* [ 5560] OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x21,0x02, /* [ 5567] OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x21,0x03, /* [ 5574] OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x23,0x00, /* [ 5581] OBJ_id_GostR3410_2001_TestParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x23,0x01, /* [ 5588] OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x23,0x02, /* [ 5595] OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x23,0x03, /* [ 5602] OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x24,0x00, /* [ 5609] OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x24,0x01, /* [ 5616] OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet */
++ 0x2A,0x85,0x03,0x02,0x02,0x14,0x01, /* [ 5623] OBJ_id_GostR3410_94_a */
++ 0x2A,0x85,0x03,0x02,0x02,0x14,0x02, /* [ 5630] OBJ_id_GostR3410_94_aBis */
++ 0x2A,0x85,0x03,0x02,0x02,0x14,0x03, /* [ 5637] OBJ_id_GostR3410_94_b */
++ 0x2A,0x85,0x03,0x02,0x02,0x14,0x04, /* [ 5644] OBJ_id_GostR3410_94_bBis */
++ 0x2A,0x85,0x03,0x02,0x09,0x01,0x06,0x01, /* [ 5651] OBJ_id_Gost28147_89_cc */
++ 0x2A,0x85,0x03,0x02,0x09,0x01,0x05,0x03, /* [ 5659] OBJ_id_GostR3410_94_cc */
++ 0x2A,0x85,0x03,0x02,0x09,0x01,0x05,0x04, /* [ 5667] OBJ_id_GostR3410_2001_cc */
++ 0x2A,0x85,0x03,0x02,0x09,0x01,0x03,0x03, /* [ 5675] OBJ_id_GostR3411_94_with_GostR3410_94_cc */
++ 0x2A,0x85,0x03,0x02,0x09,0x01,0x03,0x04, /* [ 5683] OBJ_id_GostR3411_94_with_GostR3410_2001_cc */
++ 0x2A,0x85,0x03,0x02,0x09,0x01,0x08,0x01, /* [ 5691] OBJ_id_GostR3410_2001_ParamSet_cc */
++ 0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x11,0x02, /* [ 5699] OBJ_LocalKeySet */
++ 0x55,0x1D,0x2E, /* [ 5708] OBJ_freshest_crl */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x08,0x03, /* [ 5711] OBJ_id_on_permanentIdentifier */
++ 0x55,0x04,0x0E, /* [ 5719] OBJ_searchGuide */
++ 0x55,0x04,0x0F, /* [ 5722] OBJ_businessCategory */
++ 0x55,0x04,0x10, /* [ 5725] OBJ_postalAddress */
++ 0x55,0x04,0x12, /* [ 5728] OBJ_postOfficeBox */
++ 0x55,0x04,0x13, /* [ 5731] OBJ_physicalDeliveryOfficeName */
++ 0x55,0x04,0x14, /* [ 5734] OBJ_telephoneNumber */
++ 0x55,0x04,0x15, /* [ 5737] OBJ_telexNumber */
++ 0x55,0x04,0x16, /* [ 5740] OBJ_teletexTerminalIdentifier */
++ 0x55,0x04,0x17, /* [ 5743] OBJ_facsimileTelephoneNumber */
++ 0x55,0x04,0x18, /* [ 5746] OBJ_x121Address */
++ 0x55,0x04,0x19, /* [ 5749] OBJ_internationaliSDNNumber */
++ 0x55,0x04,0x1A, /* [ 5752] OBJ_registeredAddress */
++ 0x55,0x04,0x1B, /* [ 5755] OBJ_destinationIndicator */
++ 0x55,0x04,0x1C, /* [ 5758] OBJ_preferredDeliveryMethod */
++ 0x55,0x04,0x1D, /* [ 5761] OBJ_presentationAddress */
++ 0x55,0x04,0x1E, /* [ 5764] OBJ_supportedApplicationContext */
++ 0x55,0x04,0x1F, /* [ 5767] OBJ_member */
++ 0x55,0x04,0x20, /* [ 5770] OBJ_owner */
++ 0x55,0x04,0x21, /* [ 5773] OBJ_roleOccupant */
++ 0x55,0x04,0x22, /* [ 5776] OBJ_seeAlso */
++ 0x55,0x04,0x23, /* [ 5779] OBJ_userPassword */
++ 0x55,0x04,0x24, /* [ 5782] OBJ_userCertificate */
++ 0x55,0x04,0x25, /* [ 5785] OBJ_cACertificate */
++ 0x55,0x04,0x26, /* [ 5788] OBJ_authorityRevocationList */
++ 0x55,0x04,0x27, /* [ 5791] OBJ_certificateRevocationList */
++ 0x55,0x04,0x28, /* [ 5794] OBJ_crossCertificatePair */
++ 0x55,0x04,0x2F, /* [ 5797] OBJ_enhancedSearchGuide */
++ 0x55,0x04,0x30, /* [ 5800] OBJ_protocolInformation */
++ 0x55,0x04,0x31, /* [ 5803] OBJ_distinguishedName */
++ 0x55,0x04,0x32, /* [ 5806] OBJ_uniqueMember */
++ 0x55,0x04,0x33, /* [ 5809] OBJ_houseIdentifier */
++ 0x55,0x04,0x34, /* [ 5812] OBJ_supportedAlgorithms */
++ 0x55,0x04,0x35, /* [ 5815] OBJ_deltaRevocationList */
++ 0x55,0x04,0x36, /* [ 5818] OBJ_dmdName */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x09, /* [ 5821] OBJ_id_alg_PWRI_KEK */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x06, /* [ 5832] OBJ_aes_128_gcm */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x07, /* [ 5841] OBJ_aes_128_ccm */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x08, /* [ 5850] OBJ_id_aes128_wrap_pad */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x1A, /* [ 5859] OBJ_aes_192_gcm */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x1B, /* [ 5868] OBJ_aes_192_ccm */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x1C, /* [ 5877] OBJ_id_aes192_wrap_pad */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2E, /* [ 5886] OBJ_aes_256_gcm */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2F, /* [ 5895] OBJ_aes_256_ccm */
++ 0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x30, /* [ 5904] OBJ_id_aes256_wrap_pad */
++ 0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x03,0x02, /* [ 5913] OBJ_id_camellia128_wrap */
++ 0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x03,0x03, /* [ 5924] OBJ_id_camellia192_wrap */
++ 0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x03,0x04, /* [ 5935] OBJ_id_camellia256_wrap */
++ 0x55,0x1D,0x25,0x00, /* [ 5946] OBJ_anyExtendedKeyUsage */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x08, /* [ 5950] OBJ_mgf1 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0A, /* [ 5959] OBJ_rsassaPss */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x07, /* [ 5968] OBJ_rsaesOaep */
++ 0x2A,0x86,0x48,0xCE,0x3E,0x02,0x01, /* [ 5977] OBJ_dhpublicnumber */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x01, /* [ 5984] OBJ_brainpoolP160r1 */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x02, /* [ 5993] OBJ_brainpoolP160t1 */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x03, /* [ 6002] OBJ_brainpoolP192r1 */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x04, /* [ 6011] OBJ_brainpoolP192t1 */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x05, /* [ 6020] OBJ_brainpoolP224r1 */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x06, /* [ 6029] OBJ_brainpoolP224t1 */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x07, /* [ 6038] OBJ_brainpoolP256r1 */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x08, /* [ 6047] OBJ_brainpoolP256t1 */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x09, /* [ 6056] OBJ_brainpoolP320r1 */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0A, /* [ 6065] OBJ_brainpoolP320t1 */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0B, /* [ 6074] OBJ_brainpoolP384r1 */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0C, /* [ 6083] OBJ_brainpoolP384t1 */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0D, /* [ 6092] OBJ_brainpoolP512r1 */
++ 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0E, /* [ 6101] OBJ_brainpoolP512t1 */
++ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x09, /* [ 6110] OBJ_pSpecified */
++ 0x2B,0x81,0x05,0x10,0x86,0x48,0x3F,0x00,0x02, /* [ 6119] OBJ_dhSinglePass_stdDH_sha1kdf_scheme */
++ 0x2B,0x81,0x04,0x01,0x0B,0x00, /* [ 6128] OBJ_dhSinglePass_stdDH_sha224kdf_scheme */
++ 0x2B,0x81,0x04,0x01,0x0B,0x01, /* [ 6134] OBJ_dhSinglePass_stdDH_sha256kdf_scheme */
++ 0x2B,0x81,0x04,0x01,0x0B,0x02, /* [ 6140] OBJ_dhSinglePass_stdDH_sha384kdf_scheme */
++ 0x2B,0x81,0x04,0x01,0x0B,0x03, /* [ 6146] OBJ_dhSinglePass_stdDH_sha512kdf_scheme */
++ 0x2B,0x81,0x05,0x10,0x86,0x48,0x3F,0x00,0x03, /* [ 6152] OBJ_dhSinglePass_cofactorDH_sha1kdf_scheme */
++ 0x2B,0x81,0x04,0x01,0x0E,0x00, /* [ 6161] OBJ_dhSinglePass_cofactorDH_sha224kdf_scheme */
++ 0x2B,0x81,0x04,0x01,0x0E,0x01, /* [ 6167] OBJ_dhSinglePass_cofactorDH_sha256kdf_scheme */
++ 0x2B,0x81,0x04,0x01,0x0E,0x02, /* [ 6173] OBJ_dhSinglePass_cofactorDH_sha384kdf_scheme */
++ 0x2B,0x81,0x04,0x01,0x0E,0x03, /* [ 6179] OBJ_dhSinglePass_cofactorDH_sha512kdf_scheme */
++ 0x2B,0x06,0x01,0x04,0x01,0xD6,0x79,0x02,0x04,0x02, /* [ 6185] OBJ_ct_precert_scts */
++ 0x2B,0x06,0x01,0x04,0x01,0xD6,0x79,0x02,0x04,0x03, /* [ 6195] OBJ_ct_precert_poison */
++ 0x2B,0x06,0x01,0x04,0x01,0xD6,0x79,0x02,0x04,0x04, /* [ 6205] OBJ_ct_precert_signer */
++ 0x2B,0x06,0x01,0x04,0x01,0xD6,0x79,0x02,0x04,0x05, /* [ 6215] OBJ_ct_cert_scts */
++ 0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x3C,0x02,0x01,0x01, /* [ 6225] OBJ_jurisdictionLocalityName */
++ 0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x3C,0x02,0x01,0x02, /* [ 6236] OBJ_jurisdictionStateOrProvinceName */
++ 0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x3C,0x02,0x01,0x03, /* [ 6247] OBJ_jurisdictionCountryName */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x06, /* [ 6258] OBJ_camellia_128_gcm */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x07, /* [ 6266] OBJ_camellia_128_ccm */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x09, /* [ 6274] OBJ_camellia_128_ctr */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x0A, /* [ 6282] OBJ_camellia_128_cmac */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x1A, /* [ 6290] OBJ_camellia_192_gcm */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x1B, /* [ 6298] OBJ_camellia_192_ccm */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x1D, /* [ 6306] OBJ_camellia_192_ctr */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x1E, /* [ 6314] OBJ_camellia_192_cmac */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x2E, /* [ 6322] OBJ_camellia_256_gcm */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x2F, /* [ 6330] OBJ_camellia_256_ccm */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x31, /* [ 6338] OBJ_camellia_256_ctr */
++ 0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x32, /* [ 6346] OBJ_camellia_256_cmac */
++ 0x2B,0x06,0x01,0x04,0x01,0xDA,0x47,0x04,0x0B, /* [ 6354] OBJ_id_scrypt */
++ 0x2A,0x85,0x03,0x07,0x01, /* [ 6363] OBJ_id_tc26 */
++ 0x2A,0x85,0x03,0x07,0x01,0x01, /* [ 6368] OBJ_id_tc26_algorithms */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x01, /* [ 6374] OBJ_id_tc26_sign */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x01,0x01, /* [ 6381] OBJ_id_GostR3410_2012_256 */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x01,0x02, /* [ 6389] OBJ_id_GostR3410_2012_512 */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x02, /* [ 6397] OBJ_id_tc26_digest */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x02,0x02, /* [ 6404] OBJ_id_GostR3411_2012_256 */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x02,0x03, /* [ 6412] OBJ_id_GostR3411_2012_512 */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x03, /* [ 6420] OBJ_id_tc26_signwithdigest */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x03,0x02, /* [ 6427] OBJ_id_tc26_signwithdigest_gost3410_2012_256 */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x03,0x03, /* [ 6435] OBJ_id_tc26_signwithdigest_gost3410_2012_512 */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x04, /* [ 6443] OBJ_id_tc26_mac */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x04,0x01, /* [ 6450] OBJ_id_tc26_hmac_gost_3411_2012_256 */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x04,0x02, /* [ 6458] OBJ_id_tc26_hmac_gost_3411_2012_512 */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x05, /* [ 6466] OBJ_id_tc26_cipher */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x06, /* [ 6473] OBJ_id_tc26_agreement */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x06,0x01, /* [ 6480] OBJ_id_tc26_agreement_gost_3410_2012_256 */
++ 0x2A,0x85,0x03,0x07,0x01,0x01,0x06,0x02, /* [ 6488] OBJ_id_tc26_agreement_gost_3410_2012_512 */
++ 0x2A,0x85,0x03,0x07,0x01,0x02, /* [ 6496] OBJ_id_tc26_constants */
++ 0x2A,0x85,0x03,0x07,0x01,0x02,0x01, /* [ 6502] OBJ_id_tc26_sign_constants */
++ 0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02, /* [ 6509] OBJ_id_tc26_gost_3410_2012_512_constants */
++ 0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02,0x00, /* [ 6517] OBJ_id_tc26_gost_3410_2012_512_paramSetTest */
++ 0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02,0x01, /* [ 6526] OBJ_id_tc26_gost_3410_2012_512_paramSetA */
++ 0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02,0x02, /* [ 6535] OBJ_id_tc26_gost_3410_2012_512_paramSetB */
++ 0x2A,0x85,0x03,0x07,0x01,0x02,0x02, /* [ 6544] OBJ_id_tc26_digest_constants */
++ 0x2A,0x85,0x03,0x07,0x01,0x02,0x05, /* [ 6551] OBJ_id_tc26_cipher_constants */
++ 0x2A,0x85,0x03,0x07,0x01,0x02,0x05,0x01, /* [ 6558] OBJ_id_tc26_gost_28147_constants */
++ 0x2A,0x85,0x03,0x07,0x01,0x02,0x05,0x01,0x01, /* [ 6566] OBJ_id_tc26_gost_28147_param_Z */
++ 0x2A,0x85,0x03,0x03,0x81,0x03,0x01,0x01, /* [ 6575] OBJ_INN */
++ 0x2A,0x85,0x03,0x64,0x01, /* [ 6583] OBJ_OGRN */
++ 0x2A,0x85,0x03,0x64,0x03, /* [ 6588] OBJ_SNILS */
++ 0x2A,0x85,0x03,0x64,0x6F, /* [ 6593] OBJ_subjectSignTool */
++ 0x2A,0x85,0x03,0x64,0x70, /* [ 6598] OBJ_issuerSignTool */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x18, /* [ 6603] OBJ_tlsfeature */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x11, /* [ 6611] OBJ_ipsec_IKE */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x12, /* [ 6619] OBJ_capwapAC */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x13, /* [ 6627] OBJ_capwapWTP */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x15, /* [ 6635] OBJ_sshClient */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x16, /* [ 6643] OBJ_sshServer */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x17, /* [ 6651] OBJ_sendRouter */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x18, /* [ 6659] OBJ_sendProxiedRouter */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x19, /* [ 6667] OBJ_sendOwner */
++ 0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x1A, /* [ 6675] OBJ_sendProxiedOwner */
++ 0x2B,0x06,0x01,0x05,0x02,0x03, /* [ 6683] OBJ_id_pkinit */
++ 0x2B,0x06,0x01,0x05,0x02,0x03,0x04, /* [ 6689] OBJ_pkInitClientAuth */
++ 0x2B,0x06,0x01,0x05,0x02,0x03,0x05, /* [ 6696] OBJ_pkInitKDC */
++ 0x2B,0x06,0x01,0x04,0x01,0xDA,0x47,0x0F,0x01, /* [ 6703] OBJ_X25519 */
++ 0x2B,0x06,0x01,0x04,0x01,0xDA,0x47,0x0F,0x02, /* [ 6712] OBJ_X448 */
++ 0x2B,0x06,0x01,0x04,0x01,0x8D,0x3A,0x0C,0x02,0x01,0x10, /* [ 6721] OBJ_blake2b512 */
++ 0x2B,0x06,0x01,0x04,0x01,0x8D,0x3A,0x0C,0x02,0x02,0x08, /* [ 6732] OBJ_blake2s256 */
+ };
+
+-static const ASN1_OBJECT nid_objs[NUM_NID]={
+-{"UNDEF","undefined",NID_undef,0,NULL,0},
+-{"rsadsi","RSA Data Security, Inc.",NID_rsadsi,6,&(lvalues[0]),0},
+-{"pkcs","RSA Data Security, Inc. PKCS",NID_pkcs,7,&(lvalues[6]),0},
+-{"MD2","md2",NID_md2,8,&(lvalues[13]),0},
+-{"MD5","md5",NID_md5,8,&(lvalues[21]),0},
+-{"RC4","rc4",NID_rc4,8,&(lvalues[29]),0},
+-{"rsaEncryption","rsaEncryption",NID_rsaEncryption,9,&(lvalues[37]),0},
+-{"RSA-MD2","md2WithRSAEncryption",NID_md2WithRSAEncryption,9,
+- &(lvalues[46]),0},
+-{"RSA-MD5","md5WithRSAEncryption",NID_md5WithRSAEncryption,9,
+- &(lvalues[55]),0},
+-{"PBE-MD2-DES","pbeWithMD2AndDES-CBC",NID_pbeWithMD2AndDES_CBC,9,
+- &(lvalues[64]),0},
+-{"PBE-MD5-DES","pbeWithMD5AndDES-CBC",NID_pbeWithMD5AndDES_CBC,9,
+- &(lvalues[73]),0},
+-{"X500","directory services (X.500)",NID_X500,1,&(lvalues[82]),0},
+-{"X509","X509",NID_X509,2,&(lvalues[83]),0},
+-{"CN","commonName",NID_commonName,3,&(lvalues[85]),0},
+-{"C","countryName",NID_countryName,3,&(lvalues[88]),0},
+-{"L","localityName",NID_localityName,3,&(lvalues[91]),0},
+-{"ST","stateOrProvinceName",NID_stateOrProvinceName,3,&(lvalues[94]),0},
+-{"O","organizationName",NID_organizationName,3,&(lvalues[97]),0},
+-{"OU","organizationalUnitName",NID_organizationalUnitName,3,
+- &(lvalues[100]),0},
+-{"RSA","rsa",NID_rsa,4,&(lvalues[103]),0},
+-{"pkcs7","pkcs7",NID_pkcs7,8,&(lvalues[107]),0},
+-{"pkcs7-data","pkcs7-data",NID_pkcs7_data,9,&(lvalues[115]),0},
+-{"pkcs7-signedData","pkcs7-signedData",NID_pkcs7_signed,9,
+- &(lvalues[124]),0},
+-{"pkcs7-envelopedData","pkcs7-envelopedData",NID_pkcs7_enveloped,9,
+- &(lvalues[133]),0},
+-{"pkcs7-signedAndEnvelopedData","pkcs7-signedAndEnvelopedData",
+- NID_pkcs7_signedAndEnveloped,9,&(lvalues[142]),0},
+-{"pkcs7-digestData","pkcs7-digestData",NID_pkcs7_digest,9,
+- &(lvalues[151]),0},
+-{"pkcs7-encryptedData","pkcs7-encryptedData",NID_pkcs7_encrypted,9,
+- &(lvalues[160]),0},
+-{"pkcs3","pkcs3",NID_pkcs3,8,&(lvalues[169]),0},
+-{"dhKeyAgreement","dhKeyAgreement",NID_dhKeyAgreement,9,
+- &(lvalues[177]),0},
+-{"DES-ECB","des-ecb",NID_des_ecb,5,&(lvalues[186]),0},
+-{"DES-CFB","des-cfb",NID_des_cfb64,5,&(lvalues[191]),0},
+-{"DES-CBC","des-cbc",NID_des_cbc,5,&(lvalues[196]),0},
+-{"DES-EDE","des-ede",NID_des_ede_ecb,5,&(lvalues[201]),0},
+-{"DES-EDE3","des-ede3",NID_des_ede3_ecb,0,NULL,0},
+-{"IDEA-CBC","idea-cbc",NID_idea_cbc,11,&(lvalues[206]),0},
+-{"IDEA-CFB","idea-cfb",NID_idea_cfb64,0,NULL,0},
+-{"IDEA-ECB","idea-ecb",NID_idea_ecb,0,NULL,0},
+-{"RC2-CBC","rc2-cbc",NID_rc2_cbc,8,&(lvalues[217]),0},
+-{"RC2-ECB","rc2-ecb",NID_rc2_ecb,0,NULL,0},
+-{"RC2-CFB","rc2-cfb",NID_rc2_cfb64,0,NULL,0},
+-{"RC2-OFB","rc2-ofb",NID_rc2_ofb64,0,NULL,0},
+-{"SHA","sha",NID_sha,5,&(lvalues[225]),0},
+-{"RSA-SHA","shaWithRSAEncryption",NID_shaWithRSAEncryption,5,
+- &(lvalues[230]),0},
+-{"DES-EDE-CBC","des-ede-cbc",NID_des_ede_cbc,0,NULL,0},
+-{"DES-EDE3-CBC","des-ede3-cbc",NID_des_ede3_cbc,8,&(lvalues[235]),0},
+-{"DES-OFB","des-ofb",NID_des_ofb64,5,&(lvalues[243]),0},
+-{"IDEA-OFB","idea-ofb",NID_idea_ofb64,0,NULL,0},
+-{"pkcs9","pkcs9",NID_pkcs9,8,&(lvalues[248]),0},
+-{"emailAddress","emailAddress",NID_pkcs9_emailAddress,9,
+- &(lvalues[256]),0},
+-{"unstructuredName","unstructuredName",NID_pkcs9_unstructuredName,9,
+- &(lvalues[265]),0},
+-{"contentType","contentType",NID_pkcs9_contentType,9,&(lvalues[274]),0},
+-{"messageDigest","messageDigest",NID_pkcs9_messageDigest,9,
+- &(lvalues[283]),0},
+-{"signingTime","signingTime",NID_pkcs9_signingTime,9,&(lvalues[292]),0},
+-{"countersignature","countersignature",NID_pkcs9_countersignature,9,
+- &(lvalues[301]),0},
+-{"challengePassword","challengePassword",NID_pkcs9_challengePassword,
+- 9,&(lvalues[310]),0},
+-{"unstructuredAddress","unstructuredAddress",
+- NID_pkcs9_unstructuredAddress,9,&(lvalues[319]),0},
+-{"extendedCertificateAttributes","extendedCertificateAttributes",
+- NID_pkcs9_extCertAttributes,9,&(lvalues[328]),0},
+-{"Netscape","Netscape Communications Corp.",NID_netscape,7,
+- &(lvalues[337]),0},
+-{"nsCertExt","Netscape Certificate Extension",
+- NID_netscape_cert_extension,8,&(lvalues[344]),0},
+-{"nsDataType","Netscape Data Type",NID_netscape_data_type,8,
+- &(lvalues[352]),0},
+-{"DES-EDE-CFB","des-ede-cfb",NID_des_ede_cfb64,0,NULL,0},
+-{"DES-EDE3-CFB","des-ede3-cfb",NID_des_ede3_cfb64,0,NULL,0},
+-{"DES-EDE-OFB","des-ede-ofb",NID_des_ede_ofb64,0,NULL,0},
+-{"DES-EDE3-OFB","des-ede3-ofb",NID_des_ede3_ofb64,0,NULL,0},
+-{"SHA1","sha1",NID_sha1,5,&(lvalues[360]),0},
+-{"RSA-SHA1","sha1WithRSAEncryption",NID_sha1WithRSAEncryption,9,
+- &(lvalues[365]),0},
+-{"DSA-SHA","dsaWithSHA",NID_dsaWithSHA,5,&(lvalues[374]),0},
+-{"DSA-old","dsaEncryption-old",NID_dsa_2,5,&(lvalues[379]),0},
+-{"PBE-SHA1-RC2-64","pbeWithSHA1AndRC2-CBC",NID_pbeWithSHA1AndRC2_CBC,
+- 9,&(lvalues[384]),0},
+-{"PBKDF2","PBKDF2",NID_id_pbkdf2,9,&(lvalues[393]),0},
+-{"DSA-SHA1-old","dsaWithSHA1-old",NID_dsaWithSHA1_2,5,&(lvalues[402]),0},
+-{"nsCertType","Netscape Cert Type",NID_netscape_cert_type,9,
+- &(lvalues[407]),0},
+-{"nsBaseUrl","Netscape Base Url",NID_netscape_base_url,9,
+- &(lvalues[416]),0},
+-{"nsRevocationUrl","Netscape Revocation Url",
+- NID_netscape_revocation_url,9,&(lvalues[425]),0},
+-{"nsCaRevocationUrl","Netscape CA Revocation Url",
+- NID_netscape_ca_revocation_url,9,&(lvalues[434]),0},
+-{"nsRenewalUrl","Netscape Renewal Url",NID_netscape_renewal_url,9,
+- &(lvalues[443]),0},
+-{"nsCaPolicyUrl","Netscape CA Policy Url",NID_netscape_ca_policy_url,
+- 9,&(lvalues[452]),0},
+-{"nsSslServerName","Netscape SSL Server Name",
+- NID_netscape_ssl_server_name,9,&(lvalues[461]),0},
+-{"nsComment","Netscape Comment",NID_netscape_comment,9,&(lvalues[470]),0},
+-{"nsCertSequence","Netscape Certificate Sequence",
+- NID_netscape_cert_sequence,9,&(lvalues[479]),0},
+-{"DESX-CBC","desx-cbc",NID_desx_cbc,0,NULL,0},
+-{"id-ce","id-ce",NID_id_ce,2,&(lvalues[488]),0},
+-{"subjectKeyIdentifier","X509v3 Subject Key Identifier",
+- NID_subject_key_identifier,3,&(lvalues[490]),0},
+-{"keyUsage","X509v3 Key Usage",NID_key_usage,3,&(lvalues[493]),0},
+-{"privateKeyUsagePeriod","X509v3 Private Key Usage Period",
+- NID_private_key_usage_period,3,&(lvalues[496]),0},
+-{"subjectAltName","X509v3 Subject Alternative Name",
+- NID_subject_alt_name,3,&(lvalues[499]),0},
+-{"issuerAltName","X509v3 Issuer Alternative Name",NID_issuer_alt_name,
+- 3,&(lvalues[502]),0},
+-{"basicConstraints","X509v3 Basic Constraints",NID_basic_constraints,
+- 3,&(lvalues[505]),0},
+-{"crlNumber","X509v3 CRL Number",NID_crl_number,3,&(lvalues[508]),0},
+-{"certificatePolicies","X509v3 Certificate Policies",
+- NID_certificate_policies,3,&(lvalues[511]),0},
+-{"authorityKeyIdentifier","X509v3 Authority Key Identifier",
+- NID_authority_key_identifier,3,&(lvalues[514]),0},
+-{"BF-CBC","bf-cbc",NID_bf_cbc,9,&(lvalues[517]),0},
+-{"BF-ECB","bf-ecb",NID_bf_ecb,0,NULL,0},
+-{"BF-CFB","bf-cfb",NID_bf_cfb64,0,NULL,0},
+-{"BF-OFB","bf-ofb",NID_bf_ofb64,0,NULL,0},
+-{"MDC2","mdc2",NID_mdc2,4,&(lvalues[526]),0},
+-{"RSA-MDC2","mdc2WithRSA",NID_mdc2WithRSA,4,&(lvalues[530]),0},
+-{"RC4-40","rc4-40",NID_rc4_40,0,NULL,0},
+-{"RC2-40-CBC","rc2-40-cbc",NID_rc2_40_cbc,0,NULL,0},
+-{"GN","givenName",NID_givenName,3,&(lvalues[534]),0},
+-{"SN","surname",NID_surname,3,&(lvalues[537]),0},
+-{"initials","initials",NID_initials,3,&(lvalues[540]),0},
+-{"uid","uniqueIdentifier",NID_uniqueIdentifier,10,&(lvalues[543]),0},
+-{"crlDistributionPoints","X509v3 CRL Distribution Points",
+- NID_crl_distribution_points,3,&(lvalues[553]),0},
+-{"RSA-NP-MD5","md5WithRSA",NID_md5WithRSA,5,&(lvalues[556]),0},
+-{"serialNumber","serialNumber",NID_serialNumber,3,&(lvalues[561]),0},
+-{"title","title",NID_title,3,&(lvalues[564]),0},
+-{"description","description",NID_description,3,&(lvalues[567]),0},
+-{"CAST5-CBC","cast5-cbc",NID_cast5_cbc,9,&(lvalues[570]),0},
+-{"CAST5-ECB","cast5-ecb",NID_cast5_ecb,0,NULL,0},
+-{"CAST5-CFB","cast5-cfb",NID_cast5_cfb64,0,NULL,0},
+-{"CAST5-OFB","cast5-ofb",NID_cast5_ofb64,0,NULL,0},
+-{"pbeWithMD5AndCast5CBC","pbeWithMD5AndCast5CBC",
+- NID_pbeWithMD5AndCast5_CBC,9,&(lvalues[579]),0},
+-{"DSA-SHA1","dsaWithSHA1",NID_dsaWithSHA1,7,&(lvalues[588]),0},
+-{"MD5-SHA1","md5-sha1",NID_md5_sha1,0,NULL,0},
+-{"RSA-SHA1-2","sha1WithRSA",NID_sha1WithRSA,5,&(lvalues[595]),0},
+-{"DSA","dsaEncryption",NID_dsa,7,&(lvalues[600]),0},
+-{"RIPEMD160","ripemd160",NID_ripemd160,5,&(lvalues[607]),0},
+-{NULL,NULL,NID_undef,0,NULL,0},
+-{"RSA-RIPEMD160","ripemd160WithRSA",NID_ripemd160WithRSA,6,
+- &(lvalues[612]),0},
+-{"RC5-CBC","rc5-cbc",NID_rc5_cbc,8,&(lvalues[618]),0},
+-{"RC5-ECB","rc5-ecb",NID_rc5_ecb,0,NULL,0},
+-{"RC5-CFB","rc5-cfb",NID_rc5_cfb64,0,NULL,0},
+-{"RC5-OFB","rc5-ofb",NID_rc5_ofb64,0,NULL,0},
+-{NULL,NULL,NID_undef,0,NULL,0},
+-{"ZLIB","zlib compression",NID_zlib_compression,11,&(lvalues[626]),0},
+-{"extendedKeyUsage","X509v3 Extended Key Usage",NID_ext_key_usage,3,
+- &(lvalues[637]),0},
+-{"PKIX","PKIX",NID_id_pkix,6,&(lvalues[640]),0},
+-{"id-kp","id-kp",NID_id_kp,7,&(lvalues[646]),0},
+-{"serverAuth","TLS Web Server Authentication",NID_server_auth,8,
+- &(lvalues[653]),0},
+-{"clientAuth","TLS Web Client Authentication",NID_client_auth,8,
+- &(lvalues[661]),0},
+-{"codeSigning","Code Signing",NID_code_sign,8,&(lvalues[669]),0},
+-{"emailProtection","E-mail Protection",NID_email_protect,8,
+- &(lvalues[677]),0},
+-{"timeStamping","Time Stamping",NID_time_stamp,8,&(lvalues[685]),0},
+-{"msCodeInd","Microsoft Individual Code Signing",NID_ms_code_ind,10,
+- &(lvalues[693]),0},
+-{"msCodeCom","Microsoft Commercial Code Signing",NID_ms_code_com,10,
+- &(lvalues[703]),0},
+-{"msCTLSign","Microsoft Trust List Signing",NID_ms_ctl_sign,10,
+- &(lvalues[713]),0},
+-{"msSGC","Microsoft Server Gated Crypto",NID_ms_sgc,10,&(lvalues[723]),0},
+-{"msEFS","Microsoft Encrypted File System",NID_ms_efs,10,
+- &(lvalues[733]),0},
+-{"nsSGC","Netscape Server Gated Crypto",NID_ns_sgc,9,&(lvalues[743]),0},
+-{"deltaCRL","X509v3 Delta CRL Indicator",NID_delta_crl,3,
+- &(lvalues[752]),0},
+-{"CRLReason","X509v3 CRL Reason Code",NID_crl_reason,3,&(lvalues[755]),0},
+-{"invalidityDate","Invalidity Date",NID_invalidity_date,3,
+- &(lvalues[758]),0},
+-{"SXNetID","Strong Extranet ID",NID_sxnet,5,&(lvalues[761]),0},
+-{"PBE-SHA1-RC4-128","pbeWithSHA1And128BitRC4",
+- NID_pbe_WithSHA1And128BitRC4,10,&(lvalues[766]),0},
+-{"PBE-SHA1-RC4-40","pbeWithSHA1And40BitRC4",
+- NID_pbe_WithSHA1And40BitRC4,10,&(lvalues[776]),0},
+-{"PBE-SHA1-3DES","pbeWithSHA1And3-KeyTripleDES-CBC",
+- NID_pbe_WithSHA1And3_Key_TripleDES_CBC,10,&(lvalues[786]),0},
+-{"PBE-SHA1-2DES","pbeWithSHA1And2-KeyTripleDES-CBC",
+- NID_pbe_WithSHA1And2_Key_TripleDES_CBC,10,&(lvalues[796]),0},
+-{"PBE-SHA1-RC2-128","pbeWithSHA1And128BitRC2-CBC",
+- NID_pbe_WithSHA1And128BitRC2_CBC,10,&(lvalues[806]),0},
+-{"PBE-SHA1-RC2-40","pbeWithSHA1And40BitRC2-CBC",
+- NID_pbe_WithSHA1And40BitRC2_CBC,10,&(lvalues[816]),0},
+-{"keyBag","keyBag",NID_keyBag,11,&(lvalues[826]),0},
+-{"pkcs8ShroudedKeyBag","pkcs8ShroudedKeyBag",NID_pkcs8ShroudedKeyBag,
+- 11,&(lvalues[837]),0},
+-{"certBag","certBag",NID_certBag,11,&(lvalues[848]),0},
+-{"crlBag","crlBag",NID_crlBag,11,&(lvalues[859]),0},
+-{"secretBag","secretBag",NID_secretBag,11,&(lvalues[870]),0},
+-{"safeContentsBag","safeContentsBag",NID_safeContentsBag,11,
+- &(lvalues[881]),0},
+-{"friendlyName","friendlyName",NID_friendlyName,9,&(lvalues[892]),0},
+-{"localKeyID","localKeyID",NID_localKeyID,9,&(lvalues[901]),0},
+-{"x509Certificate","x509Certificate",NID_x509Certificate,10,
+- &(lvalues[910]),0},
+-{"sdsiCertificate","sdsiCertificate",NID_sdsiCertificate,10,
+- &(lvalues[920]),0},
+-{"x509Crl","x509Crl",NID_x509Crl,10,&(lvalues[930]),0},
+-{"PBES2","PBES2",NID_pbes2,9,&(lvalues[940]),0},
+-{"PBMAC1","PBMAC1",NID_pbmac1,9,&(lvalues[949]),0},
+-{"hmacWithSHA1","hmacWithSHA1",NID_hmacWithSHA1,8,&(lvalues[958]),0},
+-{"id-qt-cps","Policy Qualifier CPS",NID_id_qt_cps,8,&(lvalues[966]),0},
+-{"id-qt-unotice","Policy Qualifier User Notice",NID_id_qt_unotice,8,
+- &(lvalues[974]),0},
+-{"RC2-64-CBC","rc2-64-cbc",NID_rc2_64_cbc,0,NULL,0},
+-{"SMIME-CAPS","S/MIME Capabilities",NID_SMIMECapabilities,9,
+- &(lvalues[982]),0},
+-{"PBE-MD2-RC2-64","pbeWithMD2AndRC2-CBC",NID_pbeWithMD2AndRC2_CBC,9,
+- &(lvalues[991]),0},
+-{"PBE-MD5-RC2-64","pbeWithMD5AndRC2-CBC",NID_pbeWithMD5AndRC2_CBC,9,
+- &(lvalues[1000]),0},
+-{"PBE-SHA1-DES","pbeWithSHA1AndDES-CBC",NID_pbeWithSHA1AndDES_CBC,9,
+- &(lvalues[1009]),0},
+-{"msExtReq","Microsoft Extension Request",NID_ms_ext_req,10,
+- &(lvalues[1018]),0},
+-{"extReq","Extension Request",NID_ext_req,9,&(lvalues[1028]),0},
+-{"name","name",NID_name,3,&(lvalues[1037]),0},
+-{"dnQualifier","dnQualifier",NID_dnQualifier,3,&(lvalues[1040]),0},
+-{"id-pe","id-pe",NID_id_pe,7,&(lvalues[1043]),0},
+-{"id-ad","id-ad",NID_id_ad,7,&(lvalues[1050]),0},
+-{"authorityInfoAccess","Authority Information Access",NID_info_access,
+- 8,&(lvalues[1057]),0},
+-{"OCSP","OCSP",NID_ad_OCSP,8,&(lvalues[1065]),0},
+-{"caIssuers","CA Issuers",NID_ad_ca_issuers,8,&(lvalues[1073]),0},
+-{"OCSPSigning","OCSP Signing",NID_OCSP_sign,8,&(lvalues[1081]),0},
+-{"ISO","iso",NID_iso,0,NULL,0},
+-{"member-body","ISO Member Body",NID_member_body,1,&(lvalues[1089]),0},
+-{"ISO-US","ISO US Member Body",NID_ISO_US,3,&(lvalues[1090]),0},
+-{"X9-57","X9.57",NID_X9_57,5,&(lvalues[1093]),0},
+-{"X9cm","X9.57 CM ?",NID_X9cm,6,&(lvalues[1098]),0},
+-{"pkcs1","pkcs1",NID_pkcs1,8,&(lvalues[1104]),0},
+-{"pkcs5","pkcs5",NID_pkcs5,8,&(lvalues[1112]),0},
+-{"SMIME","S/MIME",NID_SMIME,9,&(lvalues[1120]),0},
+-{"id-smime-mod","id-smime-mod",NID_id_smime_mod,10,&(lvalues[1129]),0},
+-{"id-smime-ct","id-smime-ct",NID_id_smime_ct,10,&(lvalues[1139]),0},
+-{"id-smime-aa","id-smime-aa",NID_id_smime_aa,10,&(lvalues[1149]),0},
+-{"id-smime-alg","id-smime-alg",NID_id_smime_alg,10,&(lvalues[1159]),0},
+-{"id-smime-cd","id-smime-cd",NID_id_smime_cd,10,&(lvalues[1169]),0},
+-{"id-smime-spq","id-smime-spq",NID_id_smime_spq,10,&(lvalues[1179]),0},
+-{"id-smime-cti","id-smime-cti",NID_id_smime_cti,10,&(lvalues[1189]),0},
+-{"id-smime-mod-cms","id-smime-mod-cms",NID_id_smime_mod_cms,11,
+- &(lvalues[1199]),0},
+-{"id-smime-mod-ess","id-smime-mod-ess",NID_id_smime_mod_ess,11,
+- &(lvalues[1210]),0},
+-{"id-smime-mod-oid","id-smime-mod-oid",NID_id_smime_mod_oid,11,
+- &(lvalues[1221]),0},
+-{"id-smime-mod-msg-v3","id-smime-mod-msg-v3",NID_id_smime_mod_msg_v3,
+- 11,&(lvalues[1232]),0},
+-{"id-smime-mod-ets-eSignature-88","id-smime-mod-ets-eSignature-88",
+- NID_id_smime_mod_ets_eSignature_88,11,&(lvalues[1243]),0},
+-{"id-smime-mod-ets-eSignature-97","id-smime-mod-ets-eSignature-97",
+- NID_id_smime_mod_ets_eSignature_97,11,&(lvalues[1254]),0},
+-{"id-smime-mod-ets-eSigPolicy-88","id-smime-mod-ets-eSigPolicy-88",
+- NID_id_smime_mod_ets_eSigPolicy_88,11,&(lvalues[1265]),0},
+-{"id-smime-mod-ets-eSigPolicy-97","id-smime-mod-ets-eSigPolicy-97",
+- NID_id_smime_mod_ets_eSigPolicy_97,11,&(lvalues[1276]),0},
+-{"id-smime-ct-receipt","id-smime-ct-receipt",NID_id_smime_ct_receipt,
+- 11,&(lvalues[1287]),0},
+-{"id-smime-ct-authData","id-smime-ct-authData",
+- NID_id_smime_ct_authData,11,&(lvalues[1298]),0},
+-{"id-smime-ct-publishCert","id-smime-ct-publishCert",
+- NID_id_smime_ct_publishCert,11,&(lvalues[1309]),0},
+-{"id-smime-ct-TSTInfo","id-smime-ct-TSTInfo",NID_id_smime_ct_TSTInfo,
+- 11,&(lvalues[1320]),0},
+-{"id-smime-ct-TDTInfo","id-smime-ct-TDTInfo",NID_id_smime_ct_TDTInfo,
+- 11,&(lvalues[1331]),0},
+-{"id-smime-ct-contentInfo","id-smime-ct-contentInfo",
+- NID_id_smime_ct_contentInfo,11,&(lvalues[1342]),0},
+-{"id-smime-ct-DVCSRequestData","id-smime-ct-DVCSRequestData",
+- NID_id_smime_ct_DVCSRequestData,11,&(lvalues[1353]),0},
+-{"id-smime-ct-DVCSResponseData","id-smime-ct-DVCSResponseData",
+- NID_id_smime_ct_DVCSResponseData,11,&(lvalues[1364]),0},
+-{"id-smime-aa-receiptRequest","id-smime-aa-receiptRequest",
+- NID_id_smime_aa_receiptRequest,11,&(lvalues[1375]),0},
+-{"id-smime-aa-securityLabel","id-smime-aa-securityLabel",
+- NID_id_smime_aa_securityLabel,11,&(lvalues[1386]),0},
+-{"id-smime-aa-mlExpandHistory","id-smime-aa-mlExpandHistory",
+- NID_id_smime_aa_mlExpandHistory,11,&(lvalues[1397]),0},
+-{"id-smime-aa-contentHint","id-smime-aa-contentHint",
+- NID_id_smime_aa_contentHint,11,&(lvalues[1408]),0},
+-{"id-smime-aa-msgSigDigest","id-smime-aa-msgSigDigest",
+- NID_id_smime_aa_msgSigDigest,11,&(lvalues[1419]),0},
+-{"id-smime-aa-encapContentType","id-smime-aa-encapContentType",
+- NID_id_smime_aa_encapContentType,11,&(lvalues[1430]),0},
+-{"id-smime-aa-contentIdentifier","id-smime-aa-contentIdentifier",
+- NID_id_smime_aa_contentIdentifier,11,&(lvalues[1441]),0},
+-{"id-smime-aa-macValue","id-smime-aa-macValue",
+- NID_id_smime_aa_macValue,11,&(lvalues[1452]),0},
+-{"id-smime-aa-equivalentLabels","id-smime-aa-equivalentLabels",
+- NID_id_smime_aa_equivalentLabels,11,&(lvalues[1463]),0},
+-{"id-smime-aa-contentReference","id-smime-aa-contentReference",
+- NID_id_smime_aa_contentReference,11,&(lvalues[1474]),0},
+-{"id-smime-aa-encrypKeyPref","id-smime-aa-encrypKeyPref",
+- NID_id_smime_aa_encrypKeyPref,11,&(lvalues[1485]),0},
+-{"id-smime-aa-signingCertificate","id-smime-aa-signingCertificate",
+- NID_id_smime_aa_signingCertificate,11,&(lvalues[1496]),0},
+-{"id-smime-aa-smimeEncryptCerts","id-smime-aa-smimeEncryptCerts",
+- NID_id_smime_aa_smimeEncryptCerts,11,&(lvalues[1507]),0},
+-{"id-smime-aa-timeStampToken","id-smime-aa-timeStampToken",
+- NID_id_smime_aa_timeStampToken,11,&(lvalues[1518]),0},
+-{"id-smime-aa-ets-sigPolicyId","id-smime-aa-ets-sigPolicyId",
+- NID_id_smime_aa_ets_sigPolicyId,11,&(lvalues[1529]),0},
+-{"id-smime-aa-ets-commitmentType","id-smime-aa-ets-commitmentType",
+- NID_id_smime_aa_ets_commitmentType,11,&(lvalues[1540]),0},
+-{"id-smime-aa-ets-signerLocation","id-smime-aa-ets-signerLocation",
+- NID_id_smime_aa_ets_signerLocation,11,&(lvalues[1551]),0},
+-{"id-smime-aa-ets-signerAttr","id-smime-aa-ets-signerAttr",
+- NID_id_smime_aa_ets_signerAttr,11,&(lvalues[1562]),0},
+-{"id-smime-aa-ets-otherSigCert","id-smime-aa-ets-otherSigCert",
+- NID_id_smime_aa_ets_otherSigCert,11,&(lvalues[1573]),0},
+-{"id-smime-aa-ets-contentTimestamp",
+- "id-smime-aa-ets-contentTimestamp",
+- NID_id_smime_aa_ets_contentTimestamp,11,&(lvalues[1584]),0},
+-{"id-smime-aa-ets-CertificateRefs","id-smime-aa-ets-CertificateRefs",
+- NID_id_smime_aa_ets_CertificateRefs,11,&(lvalues[1595]),0},
+-{"id-smime-aa-ets-RevocationRefs","id-smime-aa-ets-RevocationRefs",
+- NID_id_smime_aa_ets_RevocationRefs,11,&(lvalues[1606]),0},
+-{"id-smime-aa-ets-certValues","id-smime-aa-ets-certValues",
+- NID_id_smime_aa_ets_certValues,11,&(lvalues[1617]),0},
+-{"id-smime-aa-ets-revocationValues",
+- "id-smime-aa-ets-revocationValues",
+- NID_id_smime_aa_ets_revocationValues,11,&(lvalues[1628]),0},
+-{"id-smime-aa-ets-escTimeStamp","id-smime-aa-ets-escTimeStamp",
+- NID_id_smime_aa_ets_escTimeStamp,11,&(lvalues[1639]),0},
+-{"id-smime-aa-ets-certCRLTimestamp",
+- "id-smime-aa-ets-certCRLTimestamp",
+- NID_id_smime_aa_ets_certCRLTimestamp,11,&(lvalues[1650]),0},
+-{"id-smime-aa-ets-archiveTimeStamp",
+- "id-smime-aa-ets-archiveTimeStamp",
+- NID_id_smime_aa_ets_archiveTimeStamp,11,&(lvalues[1661]),0},
+-{"id-smime-aa-signatureType","id-smime-aa-signatureType",
+- NID_id_smime_aa_signatureType,11,&(lvalues[1672]),0},
+-{"id-smime-aa-dvcs-dvc","id-smime-aa-dvcs-dvc",
+- NID_id_smime_aa_dvcs_dvc,11,&(lvalues[1683]),0},
+-{"id-smime-alg-ESDHwith3DES","id-smime-alg-ESDHwith3DES",
+- NID_id_smime_alg_ESDHwith3DES,11,&(lvalues[1694]),0},
+-{"id-smime-alg-ESDHwithRC2","id-smime-alg-ESDHwithRC2",
+- NID_id_smime_alg_ESDHwithRC2,11,&(lvalues[1705]),0},
+-{"id-smime-alg-3DESwrap","id-smime-alg-3DESwrap",
+- NID_id_smime_alg_3DESwrap,11,&(lvalues[1716]),0},
+-{"id-smime-alg-RC2wrap","id-smime-alg-RC2wrap",
+- NID_id_smime_alg_RC2wrap,11,&(lvalues[1727]),0},
+-{"id-smime-alg-ESDH","id-smime-alg-ESDH",NID_id_smime_alg_ESDH,11,
+- &(lvalues[1738]),0},
+-{"id-smime-alg-CMS3DESwrap","id-smime-alg-CMS3DESwrap",
+- NID_id_smime_alg_CMS3DESwrap,11,&(lvalues[1749]),0},
+-{"id-smime-alg-CMSRC2wrap","id-smime-alg-CMSRC2wrap",
+- NID_id_smime_alg_CMSRC2wrap,11,&(lvalues[1760]),0},
+-{"id-smime-cd-ldap","id-smime-cd-ldap",NID_id_smime_cd_ldap,11,
+- &(lvalues[1771]),0},
+-{"id-smime-spq-ets-sqt-uri","id-smime-spq-ets-sqt-uri",
+- NID_id_smime_spq_ets_sqt_uri,11,&(lvalues[1782]),0},
+-{"id-smime-spq-ets-sqt-unotice","id-smime-spq-ets-sqt-unotice",
+- NID_id_smime_spq_ets_sqt_unotice,11,&(lvalues[1793]),0},
+-{"id-smime-cti-ets-proofOfOrigin","id-smime-cti-ets-proofOfOrigin",
+- NID_id_smime_cti_ets_proofOfOrigin,11,&(lvalues[1804]),0},
+-{"id-smime-cti-ets-proofOfReceipt","id-smime-cti-ets-proofOfReceipt",
+- NID_id_smime_cti_ets_proofOfReceipt,11,&(lvalues[1815]),0},
+-{"id-smime-cti-ets-proofOfDelivery",
+- "id-smime-cti-ets-proofOfDelivery",
+- NID_id_smime_cti_ets_proofOfDelivery,11,&(lvalues[1826]),0},
+-{"id-smime-cti-ets-proofOfSender","id-smime-cti-ets-proofOfSender",
+- NID_id_smime_cti_ets_proofOfSender,11,&(lvalues[1837]),0},
+-{"id-smime-cti-ets-proofOfApproval",
+- "id-smime-cti-ets-proofOfApproval",
+- NID_id_smime_cti_ets_proofOfApproval,11,&(lvalues[1848]),0},
+-{"id-smime-cti-ets-proofOfCreation",
+- "id-smime-cti-ets-proofOfCreation",
+- NID_id_smime_cti_ets_proofOfCreation,11,&(lvalues[1859]),0},
+-{"MD4","md4",NID_md4,8,&(lvalues[1870]),0},
+-{"id-pkix-mod","id-pkix-mod",NID_id_pkix_mod,7,&(lvalues[1878]),0},
+-{"id-qt","id-qt",NID_id_qt,7,&(lvalues[1885]),0},
+-{"id-it","id-it",NID_id_it,7,&(lvalues[1892]),0},
+-{"id-pkip","id-pkip",NID_id_pkip,7,&(lvalues[1899]),0},
+-{"id-alg","id-alg",NID_id_alg,7,&(lvalues[1906]),0},
+-{"id-cmc","id-cmc",NID_id_cmc,7,&(lvalues[1913]),0},
+-{"id-on","id-on",NID_id_on,7,&(lvalues[1920]),0},
+-{"id-pda","id-pda",NID_id_pda,7,&(lvalues[1927]),0},
+-{"id-aca","id-aca",NID_id_aca,7,&(lvalues[1934]),0},
+-{"id-qcs","id-qcs",NID_id_qcs,7,&(lvalues[1941]),0},
+-{"id-cct","id-cct",NID_id_cct,7,&(lvalues[1948]),0},
+-{"id-pkix1-explicit-88","id-pkix1-explicit-88",
+- NID_id_pkix1_explicit_88,8,&(lvalues[1955]),0},
+-{"id-pkix1-implicit-88","id-pkix1-implicit-88",
+- NID_id_pkix1_implicit_88,8,&(lvalues[1963]),0},
+-{"id-pkix1-explicit-93","id-pkix1-explicit-93",
+- NID_id_pkix1_explicit_93,8,&(lvalues[1971]),0},
+-{"id-pkix1-implicit-93","id-pkix1-implicit-93",
+- NID_id_pkix1_implicit_93,8,&(lvalues[1979]),0},
+-{"id-mod-crmf","id-mod-crmf",NID_id_mod_crmf,8,&(lvalues[1987]),0},
+-{"id-mod-cmc","id-mod-cmc",NID_id_mod_cmc,8,&(lvalues[1995]),0},
+-{"id-mod-kea-profile-88","id-mod-kea-profile-88",
+- NID_id_mod_kea_profile_88,8,&(lvalues[2003]),0},
+-{"id-mod-kea-profile-93","id-mod-kea-profile-93",
+- NID_id_mod_kea_profile_93,8,&(lvalues[2011]),0},
+-{"id-mod-cmp","id-mod-cmp",NID_id_mod_cmp,8,&(lvalues[2019]),0},
+-{"id-mod-qualified-cert-88","id-mod-qualified-cert-88",
+- NID_id_mod_qualified_cert_88,8,&(lvalues[2027]),0},
+-{"id-mod-qualified-cert-93","id-mod-qualified-cert-93",
+- NID_id_mod_qualified_cert_93,8,&(lvalues[2035]),0},
+-{"id-mod-attribute-cert","id-mod-attribute-cert",
+- NID_id_mod_attribute_cert,8,&(lvalues[2043]),0},
+-{"id-mod-timestamp-protocol","id-mod-timestamp-protocol",
+- NID_id_mod_timestamp_protocol,8,&(lvalues[2051]),0},
+-{"id-mod-ocsp","id-mod-ocsp",NID_id_mod_ocsp,8,&(lvalues[2059]),0},
+-{"id-mod-dvcs","id-mod-dvcs",NID_id_mod_dvcs,8,&(lvalues[2067]),0},
+-{"id-mod-cmp2000","id-mod-cmp2000",NID_id_mod_cmp2000,8,
+- &(lvalues[2075]),0},
+-{"biometricInfo","Biometric Info",NID_biometricInfo,8,&(lvalues[2083]),0},
+-{"qcStatements","qcStatements",NID_qcStatements,8,&(lvalues[2091]),0},
+-{"ac-auditEntity","ac-auditEntity",NID_ac_auditEntity,8,
+- &(lvalues[2099]),0},
+-{"ac-targeting","ac-targeting",NID_ac_targeting,8,&(lvalues[2107]),0},
+-{"aaControls","aaControls",NID_aaControls,8,&(lvalues[2115]),0},
+-{"sbgp-ipAddrBlock","sbgp-ipAddrBlock",NID_sbgp_ipAddrBlock,8,
+- &(lvalues[2123]),0},
+-{"sbgp-autonomousSysNum","sbgp-autonomousSysNum",
+- NID_sbgp_autonomousSysNum,8,&(lvalues[2131]),0},
+-{"sbgp-routerIdentifier","sbgp-routerIdentifier",
+- NID_sbgp_routerIdentifier,8,&(lvalues[2139]),0},
+-{"textNotice","textNotice",NID_textNotice,8,&(lvalues[2147]),0},
+-{"ipsecEndSystem","IPSec End System",NID_ipsecEndSystem,8,
+- &(lvalues[2155]),0},
+-{"ipsecTunnel","IPSec Tunnel",NID_ipsecTunnel,8,&(lvalues[2163]),0},
+-{"ipsecUser","IPSec User",NID_ipsecUser,8,&(lvalues[2171]),0},
+-{"DVCS","dvcs",NID_dvcs,8,&(lvalues[2179]),0},
+-{"id-it-caProtEncCert","id-it-caProtEncCert",NID_id_it_caProtEncCert,
+- 8,&(lvalues[2187]),0},
+-{"id-it-signKeyPairTypes","id-it-signKeyPairTypes",
+- NID_id_it_signKeyPairTypes,8,&(lvalues[2195]),0},
+-{"id-it-encKeyPairTypes","id-it-encKeyPairTypes",
+- NID_id_it_encKeyPairTypes,8,&(lvalues[2203]),0},
+-{"id-it-preferredSymmAlg","id-it-preferredSymmAlg",
+- NID_id_it_preferredSymmAlg,8,&(lvalues[2211]),0},
+-{"id-it-caKeyUpdateInfo","id-it-caKeyUpdateInfo",
+- NID_id_it_caKeyUpdateInfo,8,&(lvalues[2219]),0},
+-{"id-it-currentCRL","id-it-currentCRL",NID_id_it_currentCRL,8,
+- &(lvalues[2227]),0},
+-{"id-it-unsupportedOIDs","id-it-unsupportedOIDs",
+- NID_id_it_unsupportedOIDs,8,&(lvalues[2235]),0},
+-{"id-it-subscriptionRequest","id-it-subscriptionRequest",
+- NID_id_it_subscriptionRequest,8,&(lvalues[2243]),0},
+-{"id-it-subscriptionResponse","id-it-subscriptionResponse",
+- NID_id_it_subscriptionResponse,8,&(lvalues[2251]),0},
+-{"id-it-keyPairParamReq","id-it-keyPairParamReq",
+- NID_id_it_keyPairParamReq,8,&(lvalues[2259]),0},
+-{"id-it-keyPairParamRep","id-it-keyPairParamRep",
+- NID_id_it_keyPairParamRep,8,&(lvalues[2267]),0},
+-{"id-it-revPassphrase","id-it-revPassphrase",NID_id_it_revPassphrase,
+- 8,&(lvalues[2275]),0},
+-{"id-it-implicitConfirm","id-it-implicitConfirm",
+- NID_id_it_implicitConfirm,8,&(lvalues[2283]),0},
+-{"id-it-confirmWaitTime","id-it-confirmWaitTime",
+- NID_id_it_confirmWaitTime,8,&(lvalues[2291]),0},
+-{"id-it-origPKIMessage","id-it-origPKIMessage",
+- NID_id_it_origPKIMessage,8,&(lvalues[2299]),0},
+-{"id-regCtrl","id-regCtrl",NID_id_regCtrl,8,&(lvalues[2307]),0},
+-{"id-regInfo","id-regInfo",NID_id_regInfo,8,&(lvalues[2315]),0},
+-{"id-regCtrl-regToken","id-regCtrl-regToken",NID_id_regCtrl_regToken,
+- 9,&(lvalues[2323]),0},
+-{"id-regCtrl-authenticator","id-regCtrl-authenticator",
+- NID_id_regCtrl_authenticator,9,&(lvalues[2332]),0},
+-{"id-regCtrl-pkiPublicationInfo","id-regCtrl-pkiPublicationInfo",
+- NID_id_regCtrl_pkiPublicationInfo,9,&(lvalues[2341]),0},
+-{"id-regCtrl-pkiArchiveOptions","id-regCtrl-pkiArchiveOptions",
+- NID_id_regCtrl_pkiArchiveOptions,9,&(lvalues[2350]),0},
+-{"id-regCtrl-oldCertID","id-regCtrl-oldCertID",
+- NID_id_regCtrl_oldCertID,9,&(lvalues[2359]),0},
+-{"id-regCtrl-protocolEncrKey","id-regCtrl-protocolEncrKey",
+- NID_id_regCtrl_protocolEncrKey,9,&(lvalues[2368]),0},
+-{"id-regInfo-utf8Pairs","id-regInfo-utf8Pairs",
+- NID_id_regInfo_utf8Pairs,9,&(lvalues[2377]),0},
+-{"id-regInfo-certReq","id-regInfo-certReq",NID_id_regInfo_certReq,9,
+- &(lvalues[2386]),0},
+-{"id-alg-des40","id-alg-des40",NID_id_alg_des40,8,&(lvalues[2395]),0},
+-{"id-alg-noSignature","id-alg-noSignature",NID_id_alg_noSignature,8,
+- &(lvalues[2403]),0},
+-{"id-alg-dh-sig-hmac-sha1","id-alg-dh-sig-hmac-sha1",
+- NID_id_alg_dh_sig_hmac_sha1,8,&(lvalues[2411]),0},
+-{"id-alg-dh-pop","id-alg-dh-pop",NID_id_alg_dh_pop,8,&(lvalues[2419]),0},
+-{"id-cmc-statusInfo","id-cmc-statusInfo",NID_id_cmc_statusInfo,8,
+- &(lvalues[2427]),0},
+-{"id-cmc-identification","id-cmc-identification",
+- NID_id_cmc_identification,8,&(lvalues[2435]),0},
+-{"id-cmc-identityProof","id-cmc-identityProof",
+- NID_id_cmc_identityProof,8,&(lvalues[2443]),0},
+-{"id-cmc-dataReturn","id-cmc-dataReturn",NID_id_cmc_dataReturn,8,
+- &(lvalues[2451]),0},
+-{"id-cmc-transactionId","id-cmc-transactionId",
+- NID_id_cmc_transactionId,8,&(lvalues[2459]),0},
+-{"id-cmc-senderNonce","id-cmc-senderNonce",NID_id_cmc_senderNonce,8,
+- &(lvalues[2467]),0},
+-{"id-cmc-recipientNonce","id-cmc-recipientNonce",
+- NID_id_cmc_recipientNonce,8,&(lvalues[2475]),0},
+-{"id-cmc-addExtensions","id-cmc-addExtensions",
+- NID_id_cmc_addExtensions,8,&(lvalues[2483]),0},
+-{"id-cmc-encryptedPOP","id-cmc-encryptedPOP",NID_id_cmc_encryptedPOP,
+- 8,&(lvalues[2491]),0},
+-{"id-cmc-decryptedPOP","id-cmc-decryptedPOP",NID_id_cmc_decryptedPOP,
+- 8,&(lvalues[2499]),0},
+-{"id-cmc-lraPOPWitness","id-cmc-lraPOPWitness",
+- NID_id_cmc_lraPOPWitness,8,&(lvalues[2507]),0},
+-{"id-cmc-getCert","id-cmc-getCert",NID_id_cmc_getCert,8,
+- &(lvalues[2515]),0},
+-{"id-cmc-getCRL","id-cmc-getCRL",NID_id_cmc_getCRL,8,&(lvalues[2523]),0},
+-{"id-cmc-revokeRequest","id-cmc-revokeRequest",
+- NID_id_cmc_revokeRequest,8,&(lvalues[2531]),0},
+-{"id-cmc-regInfo","id-cmc-regInfo",NID_id_cmc_regInfo,8,
+- &(lvalues[2539]),0},
+-{"id-cmc-responseInfo","id-cmc-responseInfo",NID_id_cmc_responseInfo,
+- 8,&(lvalues[2547]),0},
+-{"id-cmc-queryPending","id-cmc-queryPending",NID_id_cmc_queryPending,
+- 8,&(lvalues[2555]),0},
+-{"id-cmc-popLinkRandom","id-cmc-popLinkRandom",
+- NID_id_cmc_popLinkRandom,8,&(lvalues[2563]),0},
+-{"id-cmc-popLinkWitness","id-cmc-popLinkWitness",
+- NID_id_cmc_popLinkWitness,8,&(lvalues[2571]),0},
+-{"id-cmc-confirmCertAcceptance","id-cmc-confirmCertAcceptance",
+- NID_id_cmc_confirmCertAcceptance,8,&(lvalues[2579]),0},
+-{"id-on-personalData","id-on-personalData",NID_id_on_personalData,8,
+- &(lvalues[2587]),0},
+-{"id-pda-dateOfBirth","id-pda-dateOfBirth",NID_id_pda_dateOfBirth,8,
+- &(lvalues[2595]),0},
+-{"id-pda-placeOfBirth","id-pda-placeOfBirth",NID_id_pda_placeOfBirth,
+- 8,&(lvalues[2603]),0},
+-{NULL,NULL,NID_undef,0,NULL,0},
+-{"id-pda-gender","id-pda-gender",NID_id_pda_gender,8,&(lvalues[2611]),0},
+-{"id-pda-countryOfCitizenship","id-pda-countryOfCitizenship",
+- NID_id_pda_countryOfCitizenship,8,&(lvalues[2619]),0},
+-{"id-pda-countryOfResidence","id-pda-countryOfResidence",
+- NID_id_pda_countryOfResidence,8,&(lvalues[2627]),0},
+-{"id-aca-authenticationInfo","id-aca-authenticationInfo",
+- NID_id_aca_authenticationInfo,8,&(lvalues[2635]),0},
+-{"id-aca-accessIdentity","id-aca-accessIdentity",
+- NID_id_aca_accessIdentity,8,&(lvalues[2643]),0},
+-{"id-aca-chargingIdentity","id-aca-chargingIdentity",
+- NID_id_aca_chargingIdentity,8,&(lvalues[2651]),0},
+-{"id-aca-group","id-aca-group",NID_id_aca_group,8,&(lvalues[2659]),0},
+-{"id-aca-role","id-aca-role",NID_id_aca_role,8,&(lvalues[2667]),0},
+-{"id-qcs-pkixQCSyntax-v1","id-qcs-pkixQCSyntax-v1",
+- NID_id_qcs_pkixQCSyntax_v1,8,&(lvalues[2675]),0},
+-{"id-cct-crs","id-cct-crs",NID_id_cct_crs,8,&(lvalues[2683]),0},
+-{"id-cct-PKIData","id-cct-PKIData",NID_id_cct_PKIData,8,
+- &(lvalues[2691]),0},
+-{"id-cct-PKIResponse","id-cct-PKIResponse",NID_id_cct_PKIResponse,8,
+- &(lvalues[2699]),0},
+-{"ad_timestamping","AD Time Stamping",NID_ad_timeStamping,8,
+- &(lvalues[2707]),0},
+-{"AD_DVCS","ad dvcs",NID_ad_dvcs,8,&(lvalues[2715]),0},
+-{"basicOCSPResponse","Basic OCSP Response",NID_id_pkix_OCSP_basic,9,
+- &(lvalues[2723]),0},
+-{"Nonce","OCSP Nonce",NID_id_pkix_OCSP_Nonce,9,&(lvalues[2732]),0},
+-{"CrlID","OCSP CRL ID",NID_id_pkix_OCSP_CrlID,9,&(lvalues[2741]),0},
+-{"acceptableResponses","Acceptable OCSP Responses",
+- NID_id_pkix_OCSP_acceptableResponses,9,&(lvalues[2750]),0},
+-{"noCheck","OCSP No Check",NID_id_pkix_OCSP_noCheck,9,&(lvalues[2759]),0},
+-{"archiveCutoff","OCSP Archive Cutoff",NID_id_pkix_OCSP_archiveCutoff,
+- 9,&(lvalues[2768]),0},
+-{"serviceLocator","OCSP Service Locator",
+- NID_id_pkix_OCSP_serviceLocator,9,&(lvalues[2777]),0},
+-{"extendedStatus","Extended OCSP Status",
+- NID_id_pkix_OCSP_extendedStatus,9,&(lvalues[2786]),0},
+-{"valid","valid",NID_id_pkix_OCSP_valid,9,&(lvalues[2795]),0},
+-{"path","path",NID_id_pkix_OCSP_path,9,&(lvalues[2804]),0},
+-{"trustRoot","Trust Root",NID_id_pkix_OCSP_trustRoot,9,
+- &(lvalues[2813]),0},
+-{"algorithm","algorithm",NID_algorithm,4,&(lvalues[2822]),0},
+-{"rsaSignature","rsaSignature",NID_rsaSignature,5,&(lvalues[2826]),0},
+-{"X500algorithms","directory services - algorithms",
+- NID_X500algorithms,2,&(lvalues[2831]),0},
+-{"ORG","org",NID_org,1,&(lvalues[2833]),0},
+-{"DOD","dod",NID_dod,2,&(lvalues[2834]),0},
+-{"IANA","iana",NID_iana,3,&(lvalues[2836]),0},
+-{"directory","Directory",NID_Directory,4,&(lvalues[2839]),0},
+-{"mgmt","Management",NID_Management,4,&(lvalues[2843]),0},
+-{"experimental","Experimental",NID_Experimental,4,&(lvalues[2847]),0},
+-{"private","Private",NID_Private,4,&(lvalues[2851]),0},
+-{"security","Security",NID_Security,4,&(lvalues[2855]),0},
+-{"snmpv2","SNMPv2",NID_SNMPv2,4,&(lvalues[2859]),0},
+-{"Mail","Mail",NID_Mail,4,&(lvalues[2863]),0},
+-{"enterprises","Enterprises",NID_Enterprises,5,&(lvalues[2867]),0},
+-{"dcobject","dcObject",NID_dcObject,9,&(lvalues[2872]),0},
+-{"DC","domainComponent",NID_domainComponent,10,&(lvalues[2881]),0},
+-{"domain","Domain",NID_Domain,10,&(lvalues[2891]),0},
+-{"NULL","NULL",NID_joint_iso_ccitt,0,NULL,0},
+-{"selected-attribute-types","Selected Attribute Types",
+- NID_selected_attribute_types,3,&(lvalues[2901]),0},
+-{"clearance","clearance",NID_clearance,4,&(lvalues[2904]),0},
+-{"RSA-MD4","md4WithRSAEncryption",NID_md4WithRSAEncryption,9,
+- &(lvalues[2908]),0},
+-{"ac-proxying","ac-proxying",NID_ac_proxying,8,&(lvalues[2917]),0},
+-{"subjectInfoAccess","Subject Information Access",NID_sinfo_access,8,
+- &(lvalues[2925]),0},
+-{"id-aca-encAttrs","id-aca-encAttrs",NID_id_aca_encAttrs,8,
+- &(lvalues[2933]),0},
+-{"role","role",NID_role,3,&(lvalues[2941]),0},
+-{"policyConstraints","X509v3 Policy Constraints",
+- NID_policy_constraints,3,&(lvalues[2944]),0},
+-{"targetInformation","X509v3 AC Targeting",NID_target_information,3,
+- &(lvalues[2947]),0},
+-{"noRevAvail","X509v3 No Revocation Available",NID_no_rev_avail,3,
+- &(lvalues[2950]),0},
+-{"NULL","NULL",NID_ccitt,0,NULL,0},
+-{"ansi-X9-62","ANSI X9.62",NID_ansi_X9_62,5,&(lvalues[2953]),0},
+-{"prime-field","prime-field",NID_X9_62_prime_field,7,&(lvalues[2958]),0},
+-{"characteristic-two-field","characteristic-two-field",
+- NID_X9_62_characteristic_two_field,7,&(lvalues[2965]),0},
+-{"id-ecPublicKey","id-ecPublicKey",NID_X9_62_id_ecPublicKey,7,
+- &(lvalues[2972]),0},
+-{"prime192v1","prime192v1",NID_X9_62_prime192v1,8,&(lvalues[2979]),0},
+-{"prime192v2","prime192v2",NID_X9_62_prime192v2,8,&(lvalues[2987]),0},
+-{"prime192v3","prime192v3",NID_X9_62_prime192v3,8,&(lvalues[2995]),0},
+-{"prime239v1","prime239v1",NID_X9_62_prime239v1,8,&(lvalues[3003]),0},
+-{"prime239v2","prime239v2",NID_X9_62_prime239v2,8,&(lvalues[3011]),0},
+-{"prime239v3","prime239v3",NID_X9_62_prime239v3,8,&(lvalues[3019]),0},
+-{"prime256v1","prime256v1",NID_X9_62_prime256v1,8,&(lvalues[3027]),0},
+-{"ecdsa-with-SHA1","ecdsa-with-SHA1",NID_ecdsa_with_SHA1,7,
+- &(lvalues[3035]),0},
+-{"CSPName","Microsoft CSP Name",NID_ms_csp_name,9,&(lvalues[3042]),0},
+-{"AES-128-ECB","aes-128-ecb",NID_aes_128_ecb,9,&(lvalues[3051]),0},
+-{"AES-128-CBC","aes-128-cbc",NID_aes_128_cbc,9,&(lvalues[3060]),0},
+-{"AES-128-OFB","aes-128-ofb",NID_aes_128_ofb128,9,&(lvalues[3069]),0},
+-{"AES-128-CFB","aes-128-cfb",NID_aes_128_cfb128,9,&(lvalues[3078]),0},
+-{"AES-192-ECB","aes-192-ecb",NID_aes_192_ecb,9,&(lvalues[3087]),0},
+-{"AES-192-CBC","aes-192-cbc",NID_aes_192_cbc,9,&(lvalues[3096]),0},
+-{"AES-192-OFB","aes-192-ofb",NID_aes_192_ofb128,9,&(lvalues[3105]),0},
+-{"AES-192-CFB","aes-192-cfb",NID_aes_192_cfb128,9,&(lvalues[3114]),0},
+-{"AES-256-ECB","aes-256-ecb",NID_aes_256_ecb,9,&(lvalues[3123]),0},
+-{"AES-256-CBC","aes-256-cbc",NID_aes_256_cbc,9,&(lvalues[3132]),0},
+-{"AES-256-OFB","aes-256-ofb",NID_aes_256_ofb128,9,&(lvalues[3141]),0},
+-{"AES-256-CFB","aes-256-cfb",NID_aes_256_cfb128,9,&(lvalues[3150]),0},
+-{"holdInstructionCode","Hold Instruction Code",
+- NID_hold_instruction_code,3,&(lvalues[3159]),0},
+-{"holdInstructionNone","Hold Instruction None",
+- NID_hold_instruction_none,7,&(lvalues[3162]),0},
+-{"holdInstructionCallIssuer","Hold Instruction Call Issuer",
+- NID_hold_instruction_call_issuer,7,&(lvalues[3169]),0},
+-{"holdInstructionReject","Hold Instruction Reject",
+- NID_hold_instruction_reject,7,&(lvalues[3176]),0},
+-{"data","data",NID_data,1,&(lvalues[3183]),0},
+-{"pss","pss",NID_pss,3,&(lvalues[3184]),0},
+-{"ucl","ucl",NID_ucl,7,&(lvalues[3187]),0},
+-{"pilot","pilot",NID_pilot,8,&(lvalues[3194]),0},
+-{"pilotAttributeType","pilotAttributeType",NID_pilotAttributeType,9,
+- &(lvalues[3202]),0},
+-{"pilotAttributeSyntax","pilotAttributeSyntax",
+- NID_pilotAttributeSyntax,9,&(lvalues[3211]),0},
+-{"pilotObjectClass","pilotObjectClass",NID_pilotObjectClass,9,
+- &(lvalues[3220]),0},
+-{"pilotGroups","pilotGroups",NID_pilotGroups,9,&(lvalues[3229]),0},
+-{"iA5StringSyntax","iA5StringSyntax",NID_iA5StringSyntax,10,
+- &(lvalues[3238]),0},
+-{"caseIgnoreIA5StringSyntax","caseIgnoreIA5StringSyntax",
+- NID_caseIgnoreIA5StringSyntax,10,&(lvalues[3248]),0},
+-{"pilotObject","pilotObject",NID_pilotObject,10,&(lvalues[3258]),0},
+-{"pilotPerson","pilotPerson",NID_pilotPerson,10,&(lvalues[3268]),0},
+-{"account","account",NID_account,10,&(lvalues[3278]),0},
+-{"document","document",NID_document,10,&(lvalues[3288]),0},
+-{"room","room",NID_room,10,&(lvalues[3298]),0},
+-{"documentSeries","documentSeries",NID_documentSeries,10,
+- &(lvalues[3308]),0},
+-{"rFC822localPart","rFC822localPart",NID_rFC822localPart,10,
+- &(lvalues[3318]),0},
+-{"dNSDomain","dNSDomain",NID_dNSDomain,10,&(lvalues[3328]),0},
+-{"domainRelatedObject","domainRelatedObject",NID_domainRelatedObject,
+- 10,&(lvalues[3338]),0},
+-{"friendlyCountry","friendlyCountry",NID_friendlyCountry,10,
+- &(lvalues[3348]),0},
+-{"simpleSecurityObject","simpleSecurityObject",
+- NID_simpleSecurityObject,10,&(lvalues[3358]),0},
+-{"pilotOrganization","pilotOrganization",NID_pilotOrganization,10,
+- &(lvalues[3368]),0},
+-{"pilotDSA","pilotDSA",NID_pilotDSA,10,&(lvalues[3378]),0},
+-{"qualityLabelledData","qualityLabelledData",NID_qualityLabelledData,
+- 10,&(lvalues[3388]),0},
+-{"UID","userId",NID_userId,10,&(lvalues[3398]),0},
+-{"textEncodedORAddress","textEncodedORAddress",
+- NID_textEncodedORAddress,10,&(lvalues[3408]),0},
+-{"mail","rfc822Mailbox",NID_rfc822Mailbox,10,&(lvalues[3418]),0},
+-{"info","info",NID_info,10,&(lvalues[3428]),0},
+-{"favouriteDrink","favouriteDrink",NID_favouriteDrink,10,
+- &(lvalues[3438]),0},
+-{"roomNumber","roomNumber",NID_roomNumber,10,&(lvalues[3448]),0},
+-{"photo","photo",NID_photo,10,&(lvalues[3458]),0},
+-{"userClass","userClass",NID_userClass,10,&(lvalues[3468]),0},
+-{"host","host",NID_host,10,&(lvalues[3478]),0},
+-{"manager","manager",NID_manager,10,&(lvalues[3488]),0},
+-{"documentIdentifier","documentIdentifier",NID_documentIdentifier,10,
+- &(lvalues[3498]),0},
+-{"documentTitle","documentTitle",NID_documentTitle,10,&(lvalues[3508]),0},
+-{"documentVersion","documentVersion",NID_documentVersion,10,
+- &(lvalues[3518]),0},
+-{"documentAuthor","documentAuthor",NID_documentAuthor,10,
+- &(lvalues[3528]),0},
+-{"documentLocation","documentLocation",NID_documentLocation,10,
+- &(lvalues[3538]),0},
+-{"homeTelephoneNumber","homeTelephoneNumber",NID_homeTelephoneNumber,
+- 10,&(lvalues[3548]),0},
+-{"secretary","secretary",NID_secretary,10,&(lvalues[3558]),0},
+-{"otherMailbox","otherMailbox",NID_otherMailbox,10,&(lvalues[3568]),0},
+-{"lastModifiedTime","lastModifiedTime",NID_lastModifiedTime,10,
+- &(lvalues[3578]),0},
+-{"lastModifiedBy","lastModifiedBy",NID_lastModifiedBy,10,
+- &(lvalues[3588]),0},
+-{"aRecord","aRecord",NID_aRecord,10,&(lvalues[3598]),0},
+-{"pilotAttributeType27","pilotAttributeType27",
+- NID_pilotAttributeType27,10,&(lvalues[3608]),0},
+-{"mXRecord","mXRecord",NID_mXRecord,10,&(lvalues[3618]),0},
+-{"nSRecord","nSRecord",NID_nSRecord,10,&(lvalues[3628]),0},
+-{"sOARecord","sOARecord",NID_sOARecord,10,&(lvalues[3638]),0},
+-{"cNAMERecord","cNAMERecord",NID_cNAMERecord,10,&(lvalues[3648]),0},
+-{"associatedDomain","associatedDomain",NID_associatedDomain,10,
+- &(lvalues[3658]),0},
+-{"associatedName","associatedName",NID_associatedName,10,
+- &(lvalues[3668]),0},
+-{"homePostalAddress","homePostalAddress",NID_homePostalAddress,10,
+- &(lvalues[3678]),0},
+-{"personalTitle","personalTitle",NID_personalTitle,10,&(lvalues[3688]),0},
+-{"mobileTelephoneNumber","mobileTelephoneNumber",
+- NID_mobileTelephoneNumber,10,&(lvalues[3698]),0},
+-{"pagerTelephoneNumber","pagerTelephoneNumber",
+- NID_pagerTelephoneNumber,10,&(lvalues[3708]),0},
+-{"friendlyCountryName","friendlyCountryName",NID_friendlyCountryName,
+- 10,&(lvalues[3718]),0},
+-{"organizationalStatus","organizationalStatus",
+- NID_organizationalStatus,10,&(lvalues[3728]),0},
+-{"janetMailbox","janetMailbox",NID_janetMailbox,10,&(lvalues[3738]),0},
+-{"mailPreferenceOption","mailPreferenceOption",
+- NID_mailPreferenceOption,10,&(lvalues[3748]),0},
+-{"buildingName","buildingName",NID_buildingName,10,&(lvalues[3758]),0},
+-{"dSAQuality","dSAQuality",NID_dSAQuality,10,&(lvalues[3768]),0},
+-{"singleLevelQuality","singleLevelQuality",NID_singleLevelQuality,10,
+- &(lvalues[3778]),0},
+-{"subtreeMinimumQuality","subtreeMinimumQuality",
+- NID_subtreeMinimumQuality,10,&(lvalues[3788]),0},
+-{"subtreeMaximumQuality","subtreeMaximumQuality",
+- NID_subtreeMaximumQuality,10,&(lvalues[3798]),0},
+-{"personalSignature","personalSignature",NID_personalSignature,10,
+- &(lvalues[3808]),0},
+-{"dITRedirect","dITRedirect",NID_dITRedirect,10,&(lvalues[3818]),0},
+-{"audio","audio",NID_audio,10,&(lvalues[3828]),0},
+-{"documentPublisher","documentPublisher",NID_documentPublisher,10,
+- &(lvalues[3838]),0},
+-{"x500UniqueIdentifier","x500UniqueIdentifier",
+- NID_x500UniqueIdentifier,3,&(lvalues[3848]),0},
+-{"mime-mhs","MIME MHS",NID_mime_mhs,5,&(lvalues[3851]),0},
+-{"mime-mhs-headings","mime-mhs-headings",NID_mime_mhs_headings,6,
+- &(lvalues[3856]),0},
+-{"mime-mhs-bodies","mime-mhs-bodies",NID_mime_mhs_bodies,6,
+- &(lvalues[3862]),0},
+-{"id-hex-partial-message","id-hex-partial-message",
+- NID_id_hex_partial_message,7,&(lvalues[3868]),0},
+-{"id-hex-multipart-message","id-hex-multipart-message",
+- NID_id_hex_multipart_message,7,&(lvalues[3875]),0},
+-{"generationQualifier","generationQualifier",NID_generationQualifier,
+- 3,&(lvalues[3882]),0},
+-{"pseudonym","pseudonym",NID_pseudonym,3,&(lvalues[3885]),0},
+-{NULL,NULL,NID_undef,0,NULL,0},
+-{"id-set","Secure Electronic Transactions",NID_id_set,2,
+- &(lvalues[3888]),0},
+-{"set-ctype","content types",NID_set_ctype,3,&(lvalues[3890]),0},
+-{"set-msgExt","message extensions",NID_set_msgExt,3,&(lvalues[3893]),0},
+-{"set-attr","set-attr",NID_set_attr,3,&(lvalues[3896]),0},
+-{"set-policy","set-policy",NID_set_policy,3,&(lvalues[3899]),0},
+-{"set-certExt","certificate extensions",NID_set_certExt,3,
+- &(lvalues[3902]),0},
+-{"set-brand","set-brand",NID_set_brand,3,&(lvalues[3905]),0},
+-{"setct-PANData","setct-PANData",NID_setct_PANData,4,&(lvalues[3908]),0},
+-{"setct-PANToken","setct-PANToken",NID_setct_PANToken,4,
+- &(lvalues[3912]),0},
+-{"setct-PANOnly","setct-PANOnly",NID_setct_PANOnly,4,&(lvalues[3916]),0},
+-{"setct-OIData","setct-OIData",NID_setct_OIData,4,&(lvalues[3920]),0},
+-{"setct-PI","setct-PI",NID_setct_PI,4,&(lvalues[3924]),0},
+-{"setct-PIData","setct-PIData",NID_setct_PIData,4,&(lvalues[3928]),0},
+-{"setct-PIDataUnsigned","setct-PIDataUnsigned",
+- NID_setct_PIDataUnsigned,4,&(lvalues[3932]),0},
+-{"setct-HODInput","setct-HODInput",NID_setct_HODInput,4,
+- &(lvalues[3936]),0},
+-{"setct-AuthResBaggage","setct-AuthResBaggage",
+- NID_setct_AuthResBaggage,4,&(lvalues[3940]),0},
+-{"setct-AuthRevReqBaggage","setct-AuthRevReqBaggage",
+- NID_setct_AuthRevReqBaggage,4,&(lvalues[3944]),0},
+-{"setct-AuthRevResBaggage","setct-AuthRevResBaggage",
+- NID_setct_AuthRevResBaggage,4,&(lvalues[3948]),0},
+-{"setct-CapTokenSeq","setct-CapTokenSeq",NID_setct_CapTokenSeq,4,
+- &(lvalues[3952]),0},
+-{"setct-PInitResData","setct-PInitResData",NID_setct_PInitResData,4,
+- &(lvalues[3956]),0},
+-{"setct-PI-TBS","setct-PI-TBS",NID_setct_PI_TBS,4,&(lvalues[3960]),0},
+-{"setct-PResData","setct-PResData",NID_setct_PResData,4,
+- &(lvalues[3964]),0},
+-{"setct-AuthReqTBS","setct-AuthReqTBS",NID_setct_AuthReqTBS,4,
+- &(lvalues[3968]),0},
+-{"setct-AuthResTBS","setct-AuthResTBS",NID_setct_AuthResTBS,4,
+- &(lvalues[3972]),0},
+-{"setct-AuthResTBSX","setct-AuthResTBSX",NID_setct_AuthResTBSX,4,
+- &(lvalues[3976]),0},
+-{"setct-AuthTokenTBS","setct-AuthTokenTBS",NID_setct_AuthTokenTBS,4,
+- &(lvalues[3980]),0},
+-{"setct-CapTokenData","setct-CapTokenData",NID_setct_CapTokenData,4,
+- &(lvalues[3984]),0},
+-{"setct-CapTokenTBS","setct-CapTokenTBS",NID_setct_CapTokenTBS,4,
+- &(lvalues[3988]),0},
+-{"setct-AcqCardCodeMsg","setct-AcqCardCodeMsg",
+- NID_setct_AcqCardCodeMsg,4,&(lvalues[3992]),0},
+-{"setct-AuthRevReqTBS","setct-AuthRevReqTBS",NID_setct_AuthRevReqTBS,
+- 4,&(lvalues[3996]),0},
+-{"setct-AuthRevResData","setct-AuthRevResData",
+- NID_setct_AuthRevResData,4,&(lvalues[4000]),0},
+-{"setct-AuthRevResTBS","setct-AuthRevResTBS",NID_setct_AuthRevResTBS,
+- 4,&(lvalues[4004]),0},
+-{"setct-CapReqTBS","setct-CapReqTBS",NID_setct_CapReqTBS,4,
+- &(lvalues[4008]),0},
+-{"setct-CapReqTBSX","setct-CapReqTBSX",NID_setct_CapReqTBSX,4,
+- &(lvalues[4012]),0},
+-{"setct-CapResData","setct-CapResData",NID_setct_CapResData,4,
+- &(lvalues[4016]),0},
+-{"setct-CapRevReqTBS","setct-CapRevReqTBS",NID_setct_CapRevReqTBS,4,
+- &(lvalues[4020]),0},
+-{"setct-CapRevReqTBSX","setct-CapRevReqTBSX",NID_setct_CapRevReqTBSX,
+- 4,&(lvalues[4024]),0},
+-{"setct-CapRevResData","setct-CapRevResData",NID_setct_CapRevResData,
+- 4,&(lvalues[4028]),0},
+-{"setct-CredReqTBS","setct-CredReqTBS",NID_setct_CredReqTBS,4,
+- &(lvalues[4032]),0},
+-{"setct-CredReqTBSX","setct-CredReqTBSX",NID_setct_CredReqTBSX,4,
+- &(lvalues[4036]),0},
+-{"setct-CredResData","setct-CredResData",NID_setct_CredResData,4,
+- &(lvalues[4040]),0},
+-{"setct-CredRevReqTBS","setct-CredRevReqTBS",NID_setct_CredRevReqTBS,
+- 4,&(lvalues[4044]),0},
+-{"setct-CredRevReqTBSX","setct-CredRevReqTBSX",
+- NID_setct_CredRevReqTBSX,4,&(lvalues[4048]),0},
+-{"setct-CredRevResData","setct-CredRevResData",
+- NID_setct_CredRevResData,4,&(lvalues[4052]),0},
+-{"setct-PCertReqData","setct-PCertReqData",NID_setct_PCertReqData,4,
+- &(lvalues[4056]),0},
+-{"setct-PCertResTBS","setct-PCertResTBS",NID_setct_PCertResTBS,4,
+- &(lvalues[4060]),0},
+-{"setct-BatchAdminReqData","setct-BatchAdminReqData",
+- NID_setct_BatchAdminReqData,4,&(lvalues[4064]),0},
+-{"setct-BatchAdminResData","setct-BatchAdminResData",
+- NID_setct_BatchAdminResData,4,&(lvalues[4068]),0},
+-{"setct-CardCInitResTBS","setct-CardCInitResTBS",
+- NID_setct_CardCInitResTBS,4,&(lvalues[4072]),0},
+-{"setct-MeAqCInitResTBS","setct-MeAqCInitResTBS",
+- NID_setct_MeAqCInitResTBS,4,&(lvalues[4076]),0},
+-{"setct-RegFormResTBS","setct-RegFormResTBS",NID_setct_RegFormResTBS,
+- 4,&(lvalues[4080]),0},
+-{"setct-CertReqData","setct-CertReqData",NID_setct_CertReqData,4,
+- &(lvalues[4084]),0},
+-{"setct-CertReqTBS","setct-CertReqTBS",NID_setct_CertReqTBS,4,
+- &(lvalues[4088]),0},
+-{"setct-CertResData","setct-CertResData",NID_setct_CertResData,4,
+- &(lvalues[4092]),0},
+-{"setct-CertInqReqTBS","setct-CertInqReqTBS",NID_setct_CertInqReqTBS,
+- 4,&(lvalues[4096]),0},
+-{"setct-ErrorTBS","setct-ErrorTBS",NID_setct_ErrorTBS,4,
+- &(lvalues[4100]),0},
+-{"setct-PIDualSignedTBE","setct-PIDualSignedTBE",
+- NID_setct_PIDualSignedTBE,4,&(lvalues[4104]),0},
+-{"setct-PIUnsignedTBE","setct-PIUnsignedTBE",NID_setct_PIUnsignedTBE,
+- 4,&(lvalues[4108]),0},
+-{"setct-AuthReqTBE","setct-AuthReqTBE",NID_setct_AuthReqTBE,4,
+- &(lvalues[4112]),0},
+-{"setct-AuthResTBE","setct-AuthResTBE",NID_setct_AuthResTBE,4,
+- &(lvalues[4116]),0},
+-{"setct-AuthResTBEX","setct-AuthResTBEX",NID_setct_AuthResTBEX,4,
+- &(lvalues[4120]),0},
+-{"setct-AuthTokenTBE","setct-AuthTokenTBE",NID_setct_AuthTokenTBE,4,
+- &(lvalues[4124]),0},
+-{"setct-CapTokenTBE","setct-CapTokenTBE",NID_setct_CapTokenTBE,4,
+- &(lvalues[4128]),0},
+-{"setct-CapTokenTBEX","setct-CapTokenTBEX",NID_setct_CapTokenTBEX,4,
+- &(lvalues[4132]),0},
+-{"setct-AcqCardCodeMsgTBE","setct-AcqCardCodeMsgTBE",
+- NID_setct_AcqCardCodeMsgTBE,4,&(lvalues[4136]),0},
+-{"setct-AuthRevReqTBE","setct-AuthRevReqTBE",NID_setct_AuthRevReqTBE,
+- 4,&(lvalues[4140]),0},
+-{"setct-AuthRevResTBE","setct-AuthRevResTBE",NID_setct_AuthRevResTBE,
+- 4,&(lvalues[4144]),0},
+-{"setct-AuthRevResTBEB","setct-AuthRevResTBEB",
+- NID_setct_AuthRevResTBEB,4,&(lvalues[4148]),0},
+-{"setct-CapReqTBE","setct-CapReqTBE",NID_setct_CapReqTBE,4,
+- &(lvalues[4152]),0},
+-{"setct-CapReqTBEX","setct-CapReqTBEX",NID_setct_CapReqTBEX,4,
+- &(lvalues[4156]),0},
+-{"setct-CapResTBE","setct-CapResTBE",NID_setct_CapResTBE,4,
+- &(lvalues[4160]),0},
+-{"setct-CapRevReqTBE","setct-CapRevReqTBE",NID_setct_CapRevReqTBE,4,
+- &(lvalues[4164]),0},
+-{"setct-CapRevReqTBEX","setct-CapRevReqTBEX",NID_setct_CapRevReqTBEX,
+- 4,&(lvalues[4168]),0},
+-{"setct-CapRevResTBE","setct-CapRevResTBE",NID_setct_CapRevResTBE,4,
+- &(lvalues[4172]),0},
+-{"setct-CredReqTBE","setct-CredReqTBE",NID_setct_CredReqTBE,4,
+- &(lvalues[4176]),0},
+-{"setct-CredReqTBEX","setct-CredReqTBEX",NID_setct_CredReqTBEX,4,
+- &(lvalues[4180]),0},
+-{"setct-CredResTBE","setct-CredResTBE",NID_setct_CredResTBE,4,
+- &(lvalues[4184]),0},
+-{"setct-CredRevReqTBE","setct-CredRevReqTBE",NID_setct_CredRevReqTBE,
+- 4,&(lvalues[4188]),0},
+-{"setct-CredRevReqTBEX","setct-CredRevReqTBEX",
+- NID_setct_CredRevReqTBEX,4,&(lvalues[4192]),0},
+-{"setct-CredRevResTBE","setct-CredRevResTBE",NID_setct_CredRevResTBE,
+- 4,&(lvalues[4196]),0},
+-{"setct-BatchAdminReqTBE","setct-BatchAdminReqTBE",
+- NID_setct_BatchAdminReqTBE,4,&(lvalues[4200]),0},
+-{"setct-BatchAdminResTBE","setct-BatchAdminResTBE",
+- NID_setct_BatchAdminResTBE,4,&(lvalues[4204]),0},
+-{"setct-RegFormReqTBE","setct-RegFormReqTBE",NID_setct_RegFormReqTBE,
+- 4,&(lvalues[4208]),0},
+-{"setct-CertReqTBE","setct-CertReqTBE",NID_setct_CertReqTBE,4,
+- &(lvalues[4212]),0},
+-{"setct-CertReqTBEX","setct-CertReqTBEX",NID_setct_CertReqTBEX,4,
+- &(lvalues[4216]),0},
+-{"setct-CertResTBE","setct-CertResTBE",NID_setct_CertResTBE,4,
+- &(lvalues[4220]),0},
+-{"setct-CRLNotificationTBS","setct-CRLNotificationTBS",
+- NID_setct_CRLNotificationTBS,4,&(lvalues[4224]),0},
+-{"setct-CRLNotificationResTBS","setct-CRLNotificationResTBS",
+- NID_setct_CRLNotificationResTBS,4,&(lvalues[4228]),0},
+-{"setct-BCIDistributionTBS","setct-BCIDistributionTBS",
+- NID_setct_BCIDistributionTBS,4,&(lvalues[4232]),0},
+-{"setext-genCrypt","generic cryptogram",NID_setext_genCrypt,4,
+- &(lvalues[4236]),0},
+-{"setext-miAuth","merchant initiated auth",NID_setext_miAuth,4,
+- &(lvalues[4240]),0},
+-{"setext-pinSecure","setext-pinSecure",NID_setext_pinSecure,4,
+- &(lvalues[4244]),0},
+-{"setext-pinAny","setext-pinAny",NID_setext_pinAny,4,&(lvalues[4248]),0},
+-{"setext-track2","setext-track2",NID_setext_track2,4,&(lvalues[4252]),0},
+-{"setext-cv","additional verification",NID_setext_cv,4,
+- &(lvalues[4256]),0},
+-{"set-policy-root","set-policy-root",NID_set_policy_root,4,
+- &(lvalues[4260]),0},
+-{"setCext-hashedRoot","setCext-hashedRoot",NID_setCext_hashedRoot,4,
+- &(lvalues[4264]),0},
+-{"setCext-certType","setCext-certType",NID_setCext_certType,4,
+- &(lvalues[4268]),0},
+-{"setCext-merchData","setCext-merchData",NID_setCext_merchData,4,
+- &(lvalues[4272]),0},
+-{"setCext-cCertRequired","setCext-cCertRequired",
+- NID_setCext_cCertRequired,4,&(lvalues[4276]),0},
+-{"setCext-tunneling","setCext-tunneling",NID_setCext_tunneling,4,
+- &(lvalues[4280]),0},
+-{"setCext-setExt","setCext-setExt",NID_setCext_setExt,4,
+- &(lvalues[4284]),0},
+-{"setCext-setQualf","setCext-setQualf",NID_setCext_setQualf,4,
+- &(lvalues[4288]),0},
+-{"setCext-PGWYcapabilities","setCext-PGWYcapabilities",
+- NID_setCext_PGWYcapabilities,4,&(lvalues[4292]),0},
+-{"setCext-TokenIdentifier","setCext-TokenIdentifier",
+- NID_setCext_TokenIdentifier,4,&(lvalues[4296]),0},
+-{"setCext-Track2Data","setCext-Track2Data",NID_setCext_Track2Data,4,
+- &(lvalues[4300]),0},
+-{"setCext-TokenType","setCext-TokenType",NID_setCext_TokenType,4,
+- &(lvalues[4304]),0},
+-{"setCext-IssuerCapabilities","setCext-IssuerCapabilities",
+- NID_setCext_IssuerCapabilities,4,&(lvalues[4308]),0},
+-{"setAttr-Cert","setAttr-Cert",NID_setAttr_Cert,4,&(lvalues[4312]),0},
+-{"setAttr-PGWYcap","payment gateway capabilities",NID_setAttr_PGWYcap,
+- 4,&(lvalues[4316]),0},
+-{"setAttr-TokenType","setAttr-TokenType",NID_setAttr_TokenType,4,
+- &(lvalues[4320]),0},
+-{"setAttr-IssCap","issuer capabilities",NID_setAttr_IssCap,4,
+- &(lvalues[4324]),0},
+-{"set-rootKeyThumb","set-rootKeyThumb",NID_set_rootKeyThumb,5,
+- &(lvalues[4328]),0},
+-{"set-addPolicy","set-addPolicy",NID_set_addPolicy,5,&(lvalues[4333]),0},
+-{"setAttr-Token-EMV","setAttr-Token-EMV",NID_setAttr_Token_EMV,5,
+- &(lvalues[4338]),0},
+-{"setAttr-Token-B0Prime","setAttr-Token-B0Prime",
+- NID_setAttr_Token_B0Prime,5,&(lvalues[4343]),0},
+-{"setAttr-IssCap-CVM","setAttr-IssCap-CVM",NID_setAttr_IssCap_CVM,5,
+- &(lvalues[4348]),0},
+-{"setAttr-IssCap-T2","setAttr-IssCap-T2",NID_setAttr_IssCap_T2,5,
+- &(lvalues[4353]),0},
+-{"setAttr-IssCap-Sig","setAttr-IssCap-Sig",NID_setAttr_IssCap_Sig,5,
+- &(lvalues[4358]),0},
+-{"setAttr-GenCryptgrm","generate cryptogram",NID_setAttr_GenCryptgrm,
+- 6,&(lvalues[4363]),0},
+-{"setAttr-T2Enc","encrypted track 2",NID_setAttr_T2Enc,6,
+- &(lvalues[4369]),0},
+-{"setAttr-T2cleartxt","cleartext track 2",NID_setAttr_T2cleartxt,6,
+- &(lvalues[4375]),0},
+-{"setAttr-TokICCsig","ICC or token signature",NID_setAttr_TokICCsig,6,
+- &(lvalues[4381]),0},
+-{"setAttr-SecDevSig","secure device signature",NID_setAttr_SecDevSig,
+- 6,&(lvalues[4387]),0},
+-{"set-brand-IATA-ATA","set-brand-IATA-ATA",NID_set_brand_IATA_ATA,4,
+- &(lvalues[4393]),0},
+-{"set-brand-Diners","set-brand-Diners",NID_set_brand_Diners,4,
+- &(lvalues[4397]),0},
+-{"set-brand-AmericanExpress","set-brand-AmericanExpress",
+- NID_set_brand_AmericanExpress,4,&(lvalues[4401]),0},
+-{"set-brand-JCB","set-brand-JCB",NID_set_brand_JCB,4,&(lvalues[4405]),0},
+-{"set-brand-Visa","set-brand-Visa",NID_set_brand_Visa,4,
+- &(lvalues[4409]),0},
+-{"set-brand-MasterCard","set-brand-MasterCard",
+- NID_set_brand_MasterCard,4,&(lvalues[4413]),0},
+-{"set-brand-Novus","set-brand-Novus",NID_set_brand_Novus,5,
+- &(lvalues[4417]),0},
+-{"DES-CDMF","des-cdmf",NID_des_cdmf,8,&(lvalues[4422]),0},
+-{"rsaOAEPEncryptionSET","rsaOAEPEncryptionSET",
+- NID_rsaOAEPEncryptionSET,9,&(lvalues[4430]),0},
+-{"ITU-T","itu-t",NID_itu_t,0,NULL,0},
+-{"JOINT-ISO-ITU-T","joint-iso-itu-t",NID_joint_iso_itu_t,0,NULL,0},
+-{"international-organizations","International Organizations",
+- NID_international_organizations,1,&(lvalues[4439]),0},
+-{"msSmartcardLogin","Microsoft Smartcardlogin",NID_ms_smartcard_login,
+- 10,&(lvalues[4440]),0},
+-{"msUPN","Microsoft Universal Principal Name",NID_ms_upn,10,
+- &(lvalues[4450]),0},
+-{"AES-128-CFB1","aes-128-cfb1",NID_aes_128_cfb1,0,NULL,0},
+-{"AES-192-CFB1","aes-192-cfb1",NID_aes_192_cfb1,0,NULL,0},
+-{"AES-256-CFB1","aes-256-cfb1",NID_aes_256_cfb1,0,NULL,0},
+-{"AES-128-CFB8","aes-128-cfb8",NID_aes_128_cfb8,0,NULL,0},
+-{"AES-192-CFB8","aes-192-cfb8",NID_aes_192_cfb8,0,NULL,0},
+-{"AES-256-CFB8","aes-256-cfb8",NID_aes_256_cfb8,0,NULL,0},
+-{"DES-CFB1","des-cfb1",NID_des_cfb1,0,NULL,0},
+-{"DES-CFB8","des-cfb8",NID_des_cfb8,0,NULL,0},
+-{"DES-EDE3-CFB1","des-ede3-cfb1",NID_des_ede3_cfb1,0,NULL,0},
+-{"DES-EDE3-CFB8","des-ede3-cfb8",NID_des_ede3_cfb8,0,NULL,0},
+-{"street","streetAddress",NID_streetAddress,3,&(lvalues[4460]),0},
+-{"postalCode","postalCode",NID_postalCode,3,&(lvalues[4463]),0},
+-{"id-ppl","id-ppl",NID_id_ppl,7,&(lvalues[4466]),0},
+-{"proxyCertInfo","Proxy Certificate Information",NID_proxyCertInfo,8,
+- &(lvalues[4473]),0},
+-{"id-ppl-anyLanguage","Any language",NID_id_ppl_anyLanguage,8,
+- &(lvalues[4481]),0},
+-{"id-ppl-inheritAll","Inherit all",NID_id_ppl_inheritAll,8,
+- &(lvalues[4489]),0},
+-{"nameConstraints","X509v3 Name Constraints",NID_name_constraints,3,
+- &(lvalues[4497]),0},
+-{"id-ppl-independent","Independent",NID_Independent,8,&(lvalues[4500]),0},
+-{"RSA-SHA256","sha256WithRSAEncryption",NID_sha256WithRSAEncryption,9,
+- &(lvalues[4508]),0},
+-{"RSA-SHA384","sha384WithRSAEncryption",NID_sha384WithRSAEncryption,9,
+- &(lvalues[4517]),0},
+-{"RSA-SHA512","sha512WithRSAEncryption",NID_sha512WithRSAEncryption,9,
+- &(lvalues[4526]),0},
+-{"RSA-SHA224","sha224WithRSAEncryption",NID_sha224WithRSAEncryption,9,
+- &(lvalues[4535]),0},
+-{"SHA256","sha256",NID_sha256,9,&(lvalues[4544]),0},
+-{"SHA384","sha384",NID_sha384,9,&(lvalues[4553]),0},
+-{"SHA512","sha512",NID_sha512,9,&(lvalues[4562]),0},
+-{"SHA224","sha224",NID_sha224,9,&(lvalues[4571]),0},
+-{"identified-organization","identified-organization",
+- NID_identified_organization,1,&(lvalues[4580]),0},
+-{"certicom-arc","certicom-arc",NID_certicom_arc,3,&(lvalues[4581]),0},
+-{"wap","wap",NID_wap,2,&(lvalues[4584]),0},
+-{"wap-wsg","wap-wsg",NID_wap_wsg,3,&(lvalues[4586]),0},
+-{"id-characteristic-two-basis","id-characteristic-two-basis",
+- NID_X9_62_id_characteristic_two_basis,8,&(lvalues[4589]),0},
+-{"onBasis","onBasis",NID_X9_62_onBasis,9,&(lvalues[4597]),0},
+-{"tpBasis","tpBasis",NID_X9_62_tpBasis,9,&(lvalues[4606]),0},
+-{"ppBasis","ppBasis",NID_X9_62_ppBasis,9,&(lvalues[4615]),0},
+-{"c2pnb163v1","c2pnb163v1",NID_X9_62_c2pnb163v1,8,&(lvalues[4624]),0},
+-{"c2pnb163v2","c2pnb163v2",NID_X9_62_c2pnb163v2,8,&(lvalues[4632]),0},
+-{"c2pnb163v3","c2pnb163v3",NID_X9_62_c2pnb163v3,8,&(lvalues[4640]),0},
+-{"c2pnb176v1","c2pnb176v1",NID_X9_62_c2pnb176v1,8,&(lvalues[4648]),0},
+-{"c2tnb191v1","c2tnb191v1",NID_X9_62_c2tnb191v1,8,&(lvalues[4656]),0},
+-{"c2tnb191v2","c2tnb191v2",NID_X9_62_c2tnb191v2,8,&(lvalues[4664]),0},
+-{"c2tnb191v3","c2tnb191v3",NID_X9_62_c2tnb191v3,8,&(lvalues[4672]),0},
+-{"c2onb191v4","c2onb191v4",NID_X9_62_c2onb191v4,8,&(lvalues[4680]),0},
+-{"c2onb191v5","c2onb191v5",NID_X9_62_c2onb191v5,8,&(lvalues[4688]),0},
+-{"c2pnb208w1","c2pnb208w1",NID_X9_62_c2pnb208w1,8,&(lvalues[4696]),0},
+-{"c2tnb239v1","c2tnb239v1",NID_X9_62_c2tnb239v1,8,&(lvalues[4704]),0},
+-{"c2tnb239v2","c2tnb239v2",NID_X9_62_c2tnb239v2,8,&(lvalues[4712]),0},
+-{"c2tnb239v3","c2tnb239v3",NID_X9_62_c2tnb239v3,8,&(lvalues[4720]),0},
+-{"c2onb239v4","c2onb239v4",NID_X9_62_c2onb239v4,8,&(lvalues[4728]),0},
+-{"c2onb239v5","c2onb239v5",NID_X9_62_c2onb239v5,8,&(lvalues[4736]),0},
+-{"c2pnb272w1","c2pnb272w1",NID_X9_62_c2pnb272w1,8,&(lvalues[4744]),0},
+-{"c2pnb304w1","c2pnb304w1",NID_X9_62_c2pnb304w1,8,&(lvalues[4752]),0},
+-{"c2tnb359v1","c2tnb359v1",NID_X9_62_c2tnb359v1,8,&(lvalues[4760]),0},
+-{"c2pnb368w1","c2pnb368w1",NID_X9_62_c2pnb368w1,8,&(lvalues[4768]),0},
+-{"c2tnb431r1","c2tnb431r1",NID_X9_62_c2tnb431r1,8,&(lvalues[4776]),0},
+-{"secp112r1","secp112r1",NID_secp112r1,5,&(lvalues[4784]),0},
+-{"secp112r2","secp112r2",NID_secp112r2,5,&(lvalues[4789]),0},
+-{"secp128r1","secp128r1",NID_secp128r1,5,&(lvalues[4794]),0},
+-{"secp128r2","secp128r2",NID_secp128r2,5,&(lvalues[4799]),0},
+-{"secp160k1","secp160k1",NID_secp160k1,5,&(lvalues[4804]),0},
+-{"secp160r1","secp160r1",NID_secp160r1,5,&(lvalues[4809]),0},
+-{"secp160r2","secp160r2",NID_secp160r2,5,&(lvalues[4814]),0},
+-{"secp192k1","secp192k1",NID_secp192k1,5,&(lvalues[4819]),0},
+-{"secp224k1","secp224k1",NID_secp224k1,5,&(lvalues[4824]),0},
+-{"secp224r1","secp224r1",NID_secp224r1,5,&(lvalues[4829]),0},
+-{"secp256k1","secp256k1",NID_secp256k1,5,&(lvalues[4834]),0},
+-{"secp384r1","secp384r1",NID_secp384r1,5,&(lvalues[4839]),0},
+-{"secp521r1","secp521r1",NID_secp521r1,5,&(lvalues[4844]),0},
+-{"sect113r1","sect113r1",NID_sect113r1,5,&(lvalues[4849]),0},
+-{"sect113r2","sect113r2",NID_sect113r2,5,&(lvalues[4854]),0},
+-{"sect131r1","sect131r1",NID_sect131r1,5,&(lvalues[4859]),0},
+-{"sect131r2","sect131r2",NID_sect131r2,5,&(lvalues[4864]),0},
+-{"sect163k1","sect163k1",NID_sect163k1,5,&(lvalues[4869]),0},
+-{"sect163r1","sect163r1",NID_sect163r1,5,&(lvalues[4874]),0},
+-{"sect163r2","sect163r2",NID_sect163r2,5,&(lvalues[4879]),0},
+-{"sect193r1","sect193r1",NID_sect193r1,5,&(lvalues[4884]),0},
+-{"sect193r2","sect193r2",NID_sect193r2,5,&(lvalues[4889]),0},
+-{"sect233k1","sect233k1",NID_sect233k1,5,&(lvalues[4894]),0},
+-{"sect233r1","sect233r1",NID_sect233r1,5,&(lvalues[4899]),0},
+-{"sect239k1","sect239k1",NID_sect239k1,5,&(lvalues[4904]),0},
+-{"sect283k1","sect283k1",NID_sect283k1,5,&(lvalues[4909]),0},
+-{"sect283r1","sect283r1",NID_sect283r1,5,&(lvalues[4914]),0},
+-{"sect409k1","sect409k1",NID_sect409k1,5,&(lvalues[4919]),0},
+-{"sect409r1","sect409r1",NID_sect409r1,5,&(lvalues[4924]),0},
+-{"sect571k1","sect571k1",NID_sect571k1,5,&(lvalues[4929]),0},
+-{"sect571r1","sect571r1",NID_sect571r1,5,&(lvalues[4934]),0},
+-{"wap-wsg-idm-ecid-wtls1","wap-wsg-idm-ecid-wtls1",
+- NID_wap_wsg_idm_ecid_wtls1,5,&(lvalues[4939]),0},
+-{"wap-wsg-idm-ecid-wtls3","wap-wsg-idm-ecid-wtls3",
+- NID_wap_wsg_idm_ecid_wtls3,5,&(lvalues[4944]),0},
+-{"wap-wsg-idm-ecid-wtls4","wap-wsg-idm-ecid-wtls4",
+- NID_wap_wsg_idm_ecid_wtls4,5,&(lvalues[4949]),0},
+-{"wap-wsg-idm-ecid-wtls5","wap-wsg-idm-ecid-wtls5",
+- NID_wap_wsg_idm_ecid_wtls5,5,&(lvalues[4954]),0},
+-{"wap-wsg-idm-ecid-wtls6","wap-wsg-idm-ecid-wtls6",
+- NID_wap_wsg_idm_ecid_wtls6,5,&(lvalues[4959]),0},
+-{"wap-wsg-idm-ecid-wtls7","wap-wsg-idm-ecid-wtls7",
+- NID_wap_wsg_idm_ecid_wtls7,5,&(lvalues[4964]),0},
+-{"wap-wsg-idm-ecid-wtls8","wap-wsg-idm-ecid-wtls8",
+- NID_wap_wsg_idm_ecid_wtls8,5,&(lvalues[4969]),0},
+-{"wap-wsg-idm-ecid-wtls9","wap-wsg-idm-ecid-wtls9",
+- NID_wap_wsg_idm_ecid_wtls9,5,&(lvalues[4974]),0},
+-{"wap-wsg-idm-ecid-wtls10","wap-wsg-idm-ecid-wtls10",
+- NID_wap_wsg_idm_ecid_wtls10,5,&(lvalues[4979]),0},
+-{"wap-wsg-idm-ecid-wtls11","wap-wsg-idm-ecid-wtls11",
+- NID_wap_wsg_idm_ecid_wtls11,5,&(lvalues[4984]),0},
+-{"wap-wsg-idm-ecid-wtls12","wap-wsg-idm-ecid-wtls12",
+- NID_wap_wsg_idm_ecid_wtls12,5,&(lvalues[4989]),0},
+-{"anyPolicy","X509v3 Any Policy",NID_any_policy,4,&(lvalues[4994]),0},
+-{"policyMappings","X509v3 Policy Mappings",NID_policy_mappings,3,
+- &(lvalues[4998]),0},
+-{"inhibitAnyPolicy","X509v3 Inhibit Any Policy",
+- NID_inhibit_any_policy,3,&(lvalues[5001]),0},
+-{"Oakley-EC2N-3","ipsec3",NID_ipsec3,0,NULL,0},
+-{"Oakley-EC2N-4","ipsec4",NID_ipsec4,0,NULL,0},
+-{"CAMELLIA-128-CBC","camellia-128-cbc",NID_camellia_128_cbc,11,
+- &(lvalues[5004]),0},
+-{"CAMELLIA-192-CBC","camellia-192-cbc",NID_camellia_192_cbc,11,
+- &(lvalues[5015]),0},
+-{"CAMELLIA-256-CBC","camellia-256-cbc",NID_camellia_256_cbc,11,
+- &(lvalues[5026]),0},
+-{"CAMELLIA-128-ECB","camellia-128-ecb",NID_camellia_128_ecb,8,
+- &(lvalues[5037]),0},
+-{"CAMELLIA-192-ECB","camellia-192-ecb",NID_camellia_192_ecb,8,
+- &(lvalues[5045]),0},
+-{"CAMELLIA-256-ECB","camellia-256-ecb",NID_camellia_256_ecb,8,
+- &(lvalues[5053]),0},
+-{"CAMELLIA-128-CFB","camellia-128-cfb",NID_camellia_128_cfb128,8,
+- &(lvalues[5061]),0},
+-{"CAMELLIA-192-CFB","camellia-192-cfb",NID_camellia_192_cfb128,8,
+- &(lvalues[5069]),0},
+-{"CAMELLIA-256-CFB","camellia-256-cfb",NID_camellia_256_cfb128,8,
+- &(lvalues[5077]),0},
+-{"CAMELLIA-128-CFB1","camellia-128-cfb1",NID_camellia_128_cfb1,0,NULL,0},
+-{"CAMELLIA-192-CFB1","camellia-192-cfb1",NID_camellia_192_cfb1,0,NULL,0},
+-{"CAMELLIA-256-CFB1","camellia-256-cfb1",NID_camellia_256_cfb1,0,NULL,0},
+-{"CAMELLIA-128-CFB8","camellia-128-cfb8",NID_camellia_128_cfb8,0,NULL,0},
+-{"CAMELLIA-192-CFB8","camellia-192-cfb8",NID_camellia_192_cfb8,0,NULL,0},
+-{"CAMELLIA-256-CFB8","camellia-256-cfb8",NID_camellia_256_cfb8,0,NULL,0},
+-{"CAMELLIA-128-OFB","camellia-128-ofb",NID_camellia_128_ofb128,8,
+- &(lvalues[5085]),0},
+-{"CAMELLIA-192-OFB","camellia-192-ofb",NID_camellia_192_ofb128,8,
+- &(lvalues[5093]),0},
+-{"CAMELLIA-256-OFB","camellia-256-ofb",NID_camellia_256_ofb128,8,
+- &(lvalues[5101]),0},
+-{"subjectDirectoryAttributes","X509v3 Subject Directory Attributes",
+- NID_subject_directory_attributes,3,&(lvalues[5109]),0},
+-{"issuingDistributionPoint","X509v3 Issuing Distribution Point",
+- NID_issuing_distribution_point,3,&(lvalues[5112]),0},
+-{"certificateIssuer","X509v3 Certificate Issuer",
+- NID_certificate_issuer,3,&(lvalues[5115]),0},
+-{NULL,NULL,NID_undef,0,NULL,0},
+-{"KISA","kisa",NID_kisa,6,&(lvalues[5118]),0},
+-{NULL,NULL,NID_undef,0,NULL,0},
+-{NULL,NULL,NID_undef,0,NULL,0},
+-{"SEED-ECB","seed-ecb",NID_seed_ecb,8,&(lvalues[5124]),0},
+-{"SEED-CBC","seed-cbc",NID_seed_cbc,8,&(lvalues[5132]),0},
+-{"SEED-OFB","seed-ofb",NID_seed_ofb128,8,&(lvalues[5140]),0},
+-{"SEED-CFB","seed-cfb",NID_seed_cfb128,8,&(lvalues[5148]),0},
+-{"HMAC-MD5","hmac-md5",NID_hmac_md5,8,&(lvalues[5156]),0},
+-{"HMAC-SHA1","hmac-sha1",NID_hmac_sha1,8,&(lvalues[5164]),0},
+-{"id-PasswordBasedMAC","password based MAC",NID_id_PasswordBasedMAC,9,
+- &(lvalues[5172]),0},
+-{"id-DHBasedMac","Diffie-Hellman based MAC",NID_id_DHBasedMac,9,
+- &(lvalues[5181]),0},
+-{"id-it-suppLangTags","id-it-suppLangTags",NID_id_it_suppLangTags,8,
+- &(lvalues[5190]),0},
+-{"caRepository","CA Repository",NID_caRepository,8,&(lvalues[5198]),0},
+-{"id-smime-ct-compressedData","id-smime-ct-compressedData",
+- NID_id_smime_ct_compressedData,11,&(lvalues[5206]),0},
+-{"id-ct-asciiTextWithCRLF","id-ct-asciiTextWithCRLF",
+- NID_id_ct_asciiTextWithCRLF,11,&(lvalues[5217]),0},
+-{"id-aes128-wrap","id-aes128-wrap",NID_id_aes128_wrap,9,
+- &(lvalues[5228]),0},
+-{"id-aes192-wrap","id-aes192-wrap",NID_id_aes192_wrap,9,
+- &(lvalues[5237]),0},
+-{"id-aes256-wrap","id-aes256-wrap",NID_id_aes256_wrap,9,
+- &(lvalues[5246]),0},
+-{"ecdsa-with-Recommended","ecdsa-with-Recommended",
+- NID_ecdsa_with_Recommended,7,&(lvalues[5255]),0},
+-{"ecdsa-with-Specified","ecdsa-with-Specified",
+- NID_ecdsa_with_Specified,7,&(lvalues[5262]),0},
+-{"ecdsa-with-SHA224","ecdsa-with-SHA224",NID_ecdsa_with_SHA224,8,
+- &(lvalues[5269]),0},
+-{"ecdsa-with-SHA256","ecdsa-with-SHA256",NID_ecdsa_with_SHA256,8,
+- &(lvalues[5277]),0},
+-{"ecdsa-with-SHA384","ecdsa-with-SHA384",NID_ecdsa_with_SHA384,8,
+- &(lvalues[5285]),0},
+-{"ecdsa-with-SHA512","ecdsa-with-SHA512",NID_ecdsa_with_SHA512,8,
+- &(lvalues[5293]),0},
+-{"hmacWithMD5","hmacWithMD5",NID_hmacWithMD5,8,&(lvalues[5301]),0},
+-{"hmacWithSHA224","hmacWithSHA224",NID_hmacWithSHA224,8,
+- &(lvalues[5309]),0},
+-{"hmacWithSHA256","hmacWithSHA256",NID_hmacWithSHA256,8,
+- &(lvalues[5317]),0},
+-{"hmacWithSHA384","hmacWithSHA384",NID_hmacWithSHA384,8,
+- &(lvalues[5325]),0},
+-{"hmacWithSHA512","hmacWithSHA512",NID_hmacWithSHA512,8,
+- &(lvalues[5333]),0},
+-{"dsa_with_SHA224","dsa_with_SHA224",NID_dsa_with_SHA224,9,
+- &(lvalues[5341]),0},
+-{"dsa_with_SHA256","dsa_with_SHA256",NID_dsa_with_SHA256,9,
+- &(lvalues[5350]),0},
+-{"whirlpool","whirlpool",NID_whirlpool,6,&(lvalues[5359]),0},
+-{"cryptopro","cryptopro",NID_cryptopro,5,&(lvalues[5365]),0},
+-{"cryptocom","cryptocom",NID_cryptocom,5,&(lvalues[5370]),0},
+-{"id-GostR3411-94-with-GostR3410-2001",
+- "GOST R 34.11-94 with GOST R 34.10-2001",
+- NID_id_GostR3411_94_with_GostR3410_2001,6,&(lvalues[5375]),0},
+-{"id-GostR3411-94-with-GostR3410-94",
+- "GOST R 34.11-94 with GOST R 34.10-94",
+- NID_id_GostR3411_94_with_GostR3410_94,6,&(lvalues[5381]),0},
+-{"md_gost94","GOST R 34.11-94",NID_id_GostR3411_94,6,&(lvalues[5387]),0},
+-{"id-HMACGostR3411-94","HMAC GOST 34.11-94",NID_id_HMACGostR3411_94,6,
+- &(lvalues[5393]),0},
+-{"gost2001","GOST R 34.10-2001",NID_id_GostR3410_2001,6,
+- &(lvalues[5399]),0},
+-{"gost94","GOST R 34.10-94",NID_id_GostR3410_94,6,&(lvalues[5405]),0},
+-{"gost89","GOST 28147-89",NID_id_Gost28147_89,6,&(lvalues[5411]),0},
+-{"gost89-cnt","gost89-cnt",NID_gost89_cnt,0,NULL,0},
+-{"gost-mac","GOST 28147-89 MAC",NID_id_Gost28147_89_MAC,6,
+- &(lvalues[5417]),0},
+-{"prf-gostr3411-94","GOST R 34.11-94 PRF",NID_id_GostR3411_94_prf,6,
+- &(lvalues[5423]),0},
+-{"id-GostR3410-2001DH","GOST R 34.10-2001 DH",NID_id_GostR3410_2001DH,
+- 6,&(lvalues[5429]),0},
+-{"id-GostR3410-94DH","GOST R 34.10-94 DH",NID_id_GostR3410_94DH,6,
+- &(lvalues[5435]),0},
+-{"id-Gost28147-89-CryptoPro-KeyMeshing",
+- "id-Gost28147-89-CryptoPro-KeyMeshing",
+- NID_id_Gost28147_89_CryptoPro_KeyMeshing,7,&(lvalues[5441]),0},
+-{"id-Gost28147-89-None-KeyMeshing","id-Gost28147-89-None-KeyMeshing",
+- NID_id_Gost28147_89_None_KeyMeshing,7,&(lvalues[5448]),0},
+-{"id-GostR3411-94-TestParamSet","id-GostR3411-94-TestParamSet",
+- NID_id_GostR3411_94_TestParamSet,7,&(lvalues[5455]),0},
+-{"id-GostR3411-94-CryptoProParamSet",
+- "id-GostR3411-94-CryptoProParamSet",
+- NID_id_GostR3411_94_CryptoProParamSet,7,&(lvalues[5462]),0},
+-{"id-Gost28147-89-TestParamSet","id-Gost28147-89-TestParamSet",
+- NID_id_Gost28147_89_TestParamSet,7,&(lvalues[5469]),0},
+-{"id-Gost28147-89-CryptoPro-A-ParamSet",
+- "id-Gost28147-89-CryptoPro-A-ParamSet",
+- NID_id_Gost28147_89_CryptoPro_A_ParamSet,7,&(lvalues[5476]),0},
+-{"id-Gost28147-89-CryptoPro-B-ParamSet",
+- "id-Gost28147-89-CryptoPro-B-ParamSet",
+- NID_id_Gost28147_89_CryptoPro_B_ParamSet,7,&(lvalues[5483]),0},
+-{"id-Gost28147-89-CryptoPro-C-ParamSet",
+- "id-Gost28147-89-CryptoPro-C-ParamSet",
+- NID_id_Gost28147_89_CryptoPro_C_ParamSet,7,&(lvalues[5490]),0},
+-{"id-Gost28147-89-CryptoPro-D-ParamSet",
+- "id-Gost28147-89-CryptoPro-D-ParamSet",
+- NID_id_Gost28147_89_CryptoPro_D_ParamSet,7,&(lvalues[5497]),0},
+-{"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet",
+- "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet",
+- NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet,7,&(lvalues[5504]),
+- 0},
+-{"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet",
+- "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet",
+- NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet,7,&(lvalues[5511]),
+- 0},
+-{"id-Gost28147-89-CryptoPro-RIC-1-ParamSet",
+- "id-Gost28147-89-CryptoPro-RIC-1-ParamSet",
+- NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet,7,&(lvalues[5518]),0},
+-{"id-GostR3410-94-TestParamSet","id-GostR3410-94-TestParamSet",
+- NID_id_GostR3410_94_TestParamSet,7,&(lvalues[5525]),0},
+-{"id-GostR3410-94-CryptoPro-A-ParamSet",
+- "id-GostR3410-94-CryptoPro-A-ParamSet",
+- NID_id_GostR3410_94_CryptoPro_A_ParamSet,7,&(lvalues[5532]),0},
+-{"id-GostR3410-94-CryptoPro-B-ParamSet",
+- "id-GostR3410-94-CryptoPro-B-ParamSet",
+- NID_id_GostR3410_94_CryptoPro_B_ParamSet,7,&(lvalues[5539]),0},
+-{"id-GostR3410-94-CryptoPro-C-ParamSet",
+- "id-GostR3410-94-CryptoPro-C-ParamSet",
+- NID_id_GostR3410_94_CryptoPro_C_ParamSet,7,&(lvalues[5546]),0},
+-{"id-GostR3410-94-CryptoPro-D-ParamSet",
+- "id-GostR3410-94-CryptoPro-D-ParamSet",
+- NID_id_GostR3410_94_CryptoPro_D_ParamSet,7,&(lvalues[5553]),0},
+-{"id-GostR3410-94-CryptoPro-XchA-ParamSet",
+- "id-GostR3410-94-CryptoPro-XchA-ParamSet",
+- NID_id_GostR3410_94_CryptoPro_XchA_ParamSet,7,&(lvalues[5560]),0},
+-{"id-GostR3410-94-CryptoPro-XchB-ParamSet",
+- "id-GostR3410-94-CryptoPro-XchB-ParamSet",
+- NID_id_GostR3410_94_CryptoPro_XchB_ParamSet,7,&(lvalues[5567]),0},
+-{"id-GostR3410-94-CryptoPro-XchC-ParamSet",
+- "id-GostR3410-94-CryptoPro-XchC-ParamSet",
+- NID_id_GostR3410_94_CryptoPro_XchC_ParamSet,7,&(lvalues[5574]),0},
+-{"id-GostR3410-2001-TestParamSet","id-GostR3410-2001-TestParamSet",
+- NID_id_GostR3410_2001_TestParamSet,7,&(lvalues[5581]),0},
+-{"id-GostR3410-2001-CryptoPro-A-ParamSet",
+- "id-GostR3410-2001-CryptoPro-A-ParamSet",
+- NID_id_GostR3410_2001_CryptoPro_A_ParamSet,7,&(lvalues[5588]),0},
+-{"id-GostR3410-2001-CryptoPro-B-ParamSet",
+- "id-GostR3410-2001-CryptoPro-B-ParamSet",
+- NID_id_GostR3410_2001_CryptoPro_B_ParamSet,7,&(lvalues[5595]),0},
+-{"id-GostR3410-2001-CryptoPro-C-ParamSet",
+- "id-GostR3410-2001-CryptoPro-C-ParamSet",
+- NID_id_GostR3410_2001_CryptoPro_C_ParamSet,7,&(lvalues[5602]),0},
+-{"id-GostR3410-2001-CryptoPro-XchA-ParamSet",
+- "id-GostR3410-2001-CryptoPro-XchA-ParamSet",
+- NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet,7,&(lvalues[5609]),0},
+-
+-{"id-GostR3410-2001-CryptoPro-XchB-ParamSet",
+- "id-GostR3410-2001-CryptoPro-XchB-ParamSet",
+- NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet,7,&(lvalues[5616]),0},
+-
+-{"id-GostR3410-94-a","id-GostR3410-94-a",NID_id_GostR3410_94_a,7,
+- &(lvalues[5623]),0},
+-{"id-GostR3410-94-aBis","id-GostR3410-94-aBis",
+- NID_id_GostR3410_94_aBis,7,&(lvalues[5630]),0},
+-{"id-GostR3410-94-b","id-GostR3410-94-b",NID_id_GostR3410_94_b,7,
+- &(lvalues[5637]),0},
+-{"id-GostR3410-94-bBis","id-GostR3410-94-bBis",
+- NID_id_GostR3410_94_bBis,7,&(lvalues[5644]),0},
+-{"id-Gost28147-89-cc","GOST 28147-89 Cryptocom ParamSet",
+- NID_id_Gost28147_89_cc,8,&(lvalues[5651]),0},
+-{"gost94cc","GOST 34.10-94 Cryptocom",NID_id_GostR3410_94_cc,8,
+- &(lvalues[5659]),0},
+-{"gost2001cc","GOST 34.10-2001 Cryptocom",NID_id_GostR3410_2001_cc,8,
+- &(lvalues[5667]),0},
+-{"id-GostR3411-94-with-GostR3410-94-cc",
+- "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom",
+- NID_id_GostR3411_94_with_GostR3410_94_cc,8,&(lvalues[5675]),0},
+-{"id-GostR3411-94-with-GostR3410-2001-cc",
+- "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom",
+- NID_id_GostR3411_94_with_GostR3410_2001_cc,8,&(lvalues[5683]),0},
+-{"id-GostR3410-2001-ParamSet-cc",
+- "GOST R 3410-2001 Parameter Set Cryptocom",
+- NID_id_GostR3410_2001_ParamSet_cc,8,&(lvalues[5691]),0},
+-{"HMAC","hmac",NID_hmac,0,NULL,0},
+-{"LocalKeySet","Microsoft Local Key set",NID_LocalKeySet,9,
+- &(lvalues[5699]),0},
+-{"freshestCRL","X509v3 Freshest CRL",NID_freshest_crl,3,
+- &(lvalues[5708]),0},
+-{"id-on-permanentIdentifier","Permanent Identifier",
+- NID_id_on_permanentIdentifier,8,&(lvalues[5711]),0},
+-{"searchGuide","searchGuide",NID_searchGuide,3,&(lvalues[5719]),0},
+-{"businessCategory","businessCategory",NID_businessCategory,3,
+- &(lvalues[5722]),0},
+-{"postalAddress","postalAddress",NID_postalAddress,3,&(lvalues[5725]),0},
+-{"postOfficeBox","postOfficeBox",NID_postOfficeBox,3,&(lvalues[5728]),0},
+-{"physicalDeliveryOfficeName","physicalDeliveryOfficeName",
+- NID_physicalDeliveryOfficeName,3,&(lvalues[5731]),0},
+-{"telephoneNumber","telephoneNumber",NID_telephoneNumber,3,
+- &(lvalues[5734]),0},
+-{"telexNumber","telexNumber",NID_telexNumber,3,&(lvalues[5737]),0},
+-{"teletexTerminalIdentifier","teletexTerminalIdentifier",
+- NID_teletexTerminalIdentifier,3,&(lvalues[5740]),0},
+-{"facsimileTelephoneNumber","facsimileTelephoneNumber",
+- NID_facsimileTelephoneNumber,3,&(lvalues[5743]),0},
+-{"x121Address","x121Address",NID_x121Address,3,&(lvalues[5746]),0},
+-{"internationaliSDNNumber","internationaliSDNNumber",
+- NID_internationaliSDNNumber,3,&(lvalues[5749]),0},
+-{"registeredAddress","registeredAddress",NID_registeredAddress,3,
+- &(lvalues[5752]),0},
+-{"destinationIndicator","destinationIndicator",
+- NID_destinationIndicator,3,&(lvalues[5755]),0},
+-{"preferredDeliveryMethod","preferredDeliveryMethod",
+- NID_preferredDeliveryMethod,3,&(lvalues[5758]),0},
+-{"presentationAddress","presentationAddress",NID_presentationAddress,
+- 3,&(lvalues[5761]),0},
+-{"supportedApplicationContext","supportedApplicationContext",
+- NID_supportedApplicationContext,3,&(lvalues[5764]),0},
+-{"member","member",NID_member,3,&(lvalues[5767]),0},
+-{"owner","owner",NID_owner,3,&(lvalues[5770]),0},
+-{"roleOccupant","roleOccupant",NID_roleOccupant,3,&(lvalues[5773]),0},
+-{"seeAlso","seeAlso",NID_seeAlso,3,&(lvalues[5776]),0},
+-{"userPassword","userPassword",NID_userPassword,3,&(lvalues[5779]),0},
+-{"userCertificate","userCertificate",NID_userCertificate,3,
+- &(lvalues[5782]),0},
+-{"cACertificate","cACertificate",NID_cACertificate,3,&(lvalues[5785]),0},
+-{"authorityRevocationList","authorityRevocationList",
+- NID_authorityRevocationList,3,&(lvalues[5788]),0},
+-{"certificateRevocationList","certificateRevocationList",
+- NID_certificateRevocationList,3,&(lvalues[5791]),0},
+-{"crossCertificatePair","crossCertificatePair",
+- NID_crossCertificatePair,3,&(lvalues[5794]),0},
+-{"enhancedSearchGuide","enhancedSearchGuide",NID_enhancedSearchGuide,
+- 3,&(lvalues[5797]),0},
+-{"protocolInformation","protocolInformation",NID_protocolInformation,
+- 3,&(lvalues[5800]),0},
+-{"distinguishedName","distinguishedName",NID_distinguishedName,3,
+- &(lvalues[5803]),0},
+-{"uniqueMember","uniqueMember",NID_uniqueMember,3,&(lvalues[5806]),0},
+-{"houseIdentifier","houseIdentifier",NID_houseIdentifier,3,
+- &(lvalues[5809]),0},
+-{"supportedAlgorithms","supportedAlgorithms",NID_supportedAlgorithms,
+- 3,&(lvalues[5812]),0},
+-{"deltaRevocationList","deltaRevocationList",NID_deltaRevocationList,
+- 3,&(lvalues[5815]),0},
+-{"dmdName","dmdName",NID_dmdName,3,&(lvalues[5818]),0},
+-{"id-alg-PWRI-KEK","id-alg-PWRI-KEK",NID_id_alg_PWRI_KEK,11,
+- &(lvalues[5821]),0},
+-{"CMAC","cmac",NID_cmac,0,NULL,0},
+-{"id-aes128-GCM","aes-128-gcm",NID_aes_128_gcm,9,&(lvalues[5832]),0},
+-{"id-aes128-CCM","aes-128-ccm",NID_aes_128_ccm,9,&(lvalues[5841]),0},
+-{"id-aes128-wrap-pad","id-aes128-wrap-pad",NID_id_aes128_wrap_pad,9,
+- &(lvalues[5850]),0},
+-{"id-aes192-GCM","aes-192-gcm",NID_aes_192_gcm,9,&(lvalues[5859]),0},
+-{"id-aes192-CCM","aes-192-ccm",NID_aes_192_ccm,9,&(lvalues[5868]),0},
+-{"id-aes192-wrap-pad","id-aes192-wrap-pad",NID_id_aes192_wrap_pad,9,
+- &(lvalues[5877]),0},
+-{"id-aes256-GCM","aes-256-gcm",NID_aes_256_gcm,9,&(lvalues[5886]),0},
+-{"id-aes256-CCM","aes-256-ccm",NID_aes_256_ccm,9,&(lvalues[5895]),0},
+-{"id-aes256-wrap-pad","id-aes256-wrap-pad",NID_id_aes256_wrap_pad,9,
+- &(lvalues[5904]),0},
+-{"AES-128-CTR","aes-128-ctr",NID_aes_128_ctr,0,NULL,0},
+-{"AES-192-CTR","aes-192-ctr",NID_aes_192_ctr,0,NULL,0},
+-{"AES-256-CTR","aes-256-ctr",NID_aes_256_ctr,0,NULL,0},
+-{"id-camellia128-wrap","id-camellia128-wrap",NID_id_camellia128_wrap,
+- 11,&(lvalues[5913]),0},
+-{"id-camellia192-wrap","id-camellia192-wrap",NID_id_camellia192_wrap,
+- 11,&(lvalues[5924]),0},
+-{"id-camellia256-wrap","id-camellia256-wrap",NID_id_camellia256_wrap,
+- 11,&(lvalues[5935]),0},
+-{"anyExtendedKeyUsage","Any Extended Key Usage",
+- NID_anyExtendedKeyUsage,4,&(lvalues[5946]),0},
+-{"MGF1","mgf1",NID_mgf1,9,&(lvalues[5950]),0},
+-{"RSASSA-PSS","rsassaPss",NID_rsassaPss,9,&(lvalues[5959]),0},
+-{"AES-128-XTS","aes-128-xts",NID_aes_128_xts,0,NULL,0},
+-{"AES-256-XTS","aes-256-xts",NID_aes_256_xts,0,NULL,0},
+-{"RC4-HMAC-MD5","rc4-hmac-md5",NID_rc4_hmac_md5,0,NULL,0},
+-{"AES-128-CBC-HMAC-SHA1","aes-128-cbc-hmac-sha1",
+- NID_aes_128_cbc_hmac_sha1,0,NULL,0},
+-{"AES-192-CBC-HMAC-SHA1","aes-192-cbc-hmac-sha1",
+- NID_aes_192_cbc_hmac_sha1,0,NULL,0},
+-{"AES-256-CBC-HMAC-SHA1","aes-256-cbc-hmac-sha1",
+- NID_aes_256_cbc_hmac_sha1,0,NULL,0},
+-{"RSAES-OAEP","rsaesOaep",NID_rsaesOaep,9,&(lvalues[5968]),0},
+-{"dhpublicnumber","X9.42 DH",NID_dhpublicnumber,7,&(lvalues[5977]),0},
+-{"brainpoolP160r1","brainpoolP160r1",NID_brainpoolP160r1,9,
+- &(lvalues[5984]),0},
+-{"brainpoolP160t1","brainpoolP160t1",NID_brainpoolP160t1,9,
+- &(lvalues[5993]),0},
+-{"brainpoolP192r1","brainpoolP192r1",NID_brainpoolP192r1,9,
+- &(lvalues[6002]),0},
+-{"brainpoolP192t1","brainpoolP192t1",NID_brainpoolP192t1,9,
+- &(lvalues[6011]),0},
+-{"brainpoolP224r1","brainpoolP224r1",NID_brainpoolP224r1,9,
+- &(lvalues[6020]),0},
+-{"brainpoolP224t1","brainpoolP224t1",NID_brainpoolP224t1,9,
+- &(lvalues[6029]),0},
+-{"brainpoolP256r1","brainpoolP256r1",NID_brainpoolP256r1,9,
+- &(lvalues[6038]),0},
+-{"brainpoolP256t1","brainpoolP256t1",NID_brainpoolP256t1,9,
+- &(lvalues[6047]),0},
+-{"brainpoolP320r1","brainpoolP320r1",NID_brainpoolP320r1,9,
+- &(lvalues[6056]),0},
+-{"brainpoolP320t1","brainpoolP320t1",NID_brainpoolP320t1,9,
+- &(lvalues[6065]),0},
+-{"brainpoolP384r1","brainpoolP384r1",NID_brainpoolP384r1,9,
+- &(lvalues[6074]),0},
+-{"brainpoolP384t1","brainpoolP384t1",NID_brainpoolP384t1,9,
+- &(lvalues[6083]),0},
+-{"brainpoolP512r1","brainpoolP512r1",NID_brainpoolP512r1,9,
+- &(lvalues[6092]),0},
+-{"brainpoolP512t1","brainpoolP512t1",NID_brainpoolP512t1,9,
+- &(lvalues[6101]),0},
+-{"PSPECIFIED","pSpecified",NID_pSpecified,9,&(lvalues[6110]),0},
+-{"dhSinglePass-stdDH-sha1kdf-scheme",
+- "dhSinglePass-stdDH-sha1kdf-scheme",
+- NID_dhSinglePass_stdDH_sha1kdf_scheme,9,&(lvalues[6119]),0},
+-{"dhSinglePass-stdDH-sha224kdf-scheme",
+- "dhSinglePass-stdDH-sha224kdf-scheme",
+- NID_dhSinglePass_stdDH_sha224kdf_scheme,6,&(lvalues[6128]),0},
+-{"dhSinglePass-stdDH-sha256kdf-scheme",
+- "dhSinglePass-stdDH-sha256kdf-scheme",
+- NID_dhSinglePass_stdDH_sha256kdf_scheme,6,&(lvalues[6134]),0},
+-{"dhSinglePass-stdDH-sha384kdf-scheme",
+- "dhSinglePass-stdDH-sha384kdf-scheme",
+- NID_dhSinglePass_stdDH_sha384kdf_scheme,6,&(lvalues[6140]),0},
+-{"dhSinglePass-stdDH-sha512kdf-scheme",
+- "dhSinglePass-stdDH-sha512kdf-scheme",
+- NID_dhSinglePass_stdDH_sha512kdf_scheme,6,&(lvalues[6146]),0},
+-{"dhSinglePass-cofactorDH-sha1kdf-scheme",
+- "dhSinglePass-cofactorDH-sha1kdf-scheme",
+- NID_dhSinglePass_cofactorDH_sha1kdf_scheme,9,&(lvalues[6152]),0},
+-{"dhSinglePass-cofactorDH-sha224kdf-scheme",
+- "dhSinglePass-cofactorDH-sha224kdf-scheme",
+- NID_dhSinglePass_cofactorDH_sha224kdf_scheme,6,&(lvalues[6161]),0},
+-{"dhSinglePass-cofactorDH-sha256kdf-scheme",
+- "dhSinglePass-cofactorDH-sha256kdf-scheme",
+- NID_dhSinglePass_cofactorDH_sha256kdf_scheme,6,&(lvalues[6167]),0},
+-{"dhSinglePass-cofactorDH-sha384kdf-scheme",
+- "dhSinglePass-cofactorDH-sha384kdf-scheme",
+- NID_dhSinglePass_cofactorDH_sha384kdf_scheme,6,&(lvalues[6173]),0},
+-{"dhSinglePass-cofactorDH-sha512kdf-scheme",
+- "dhSinglePass-cofactorDH-sha512kdf-scheme",
+- NID_dhSinglePass_cofactorDH_sha512kdf_scheme,6,&(lvalues[6179]),0},
+-{"dh-std-kdf","dh-std-kdf",NID_dh_std_kdf,0,NULL,0},
+-{"dh-cofactor-kdf","dh-cofactor-kdf",NID_dh_cofactor_kdf,0,NULL,0},
+-{"AES-128-CBC-HMAC-SHA256","aes-128-cbc-hmac-sha256",
+- NID_aes_128_cbc_hmac_sha256,0,NULL,0},
+-{"AES-192-CBC-HMAC-SHA256","aes-192-cbc-hmac-sha256",
+- NID_aes_192_cbc_hmac_sha256,0,NULL,0},
+-{"AES-256-CBC-HMAC-SHA256","aes-256-cbc-hmac-sha256",
+- NID_aes_256_cbc_hmac_sha256,0,NULL,0},
+-{"ct_precert_scts","CT Precertificate SCTs",NID_ct_precert_scts,10,
+- &(lvalues[6185]),0},
+-{"ct_precert_poison","CT Precertificate Poison",NID_ct_precert_poison,
+- 10,&(lvalues[6195]),0},
+-{"ct_precert_signer","CT Precertificate Signer",NID_ct_precert_signer,
+- 10,&(lvalues[6205]),0},
+-{"ct_cert_scts","CT Certificate SCTs",NID_ct_cert_scts,10,
+- &(lvalues[6215]),0},
+-{"jurisdictionL","jurisdictionLocalityName",
+- NID_jurisdictionLocalityName,11,&(lvalues[6225]),0},
+-{"jurisdictionST","jurisdictionStateOrProvinceName",
+- NID_jurisdictionStateOrProvinceName,11,&(lvalues[6236]),0},
+-{"jurisdictionC","jurisdictionCountryName",
+- NID_jurisdictionCountryName,11,&(lvalues[6247]),0},
+-{"AES-128-OCB","aes-128-ocb",NID_aes_128_ocb,0,NULL,0},
+-{"AES-192-OCB","aes-192-ocb",NID_aes_192_ocb,0,NULL,0},
+-{"AES-256-OCB","aes-256-ocb",NID_aes_256_ocb,0,NULL,0},
+-{"CAMELLIA-128-GCM","camellia-128-gcm",NID_camellia_128_gcm,8,
+- &(lvalues[6258]),0},
+-{"CAMELLIA-128-CCM","camellia-128-ccm",NID_camellia_128_ccm,8,
+- &(lvalues[6266]),0},
+-{"CAMELLIA-128-CTR","camellia-128-ctr",NID_camellia_128_ctr,8,
+- &(lvalues[6274]),0},
+-{"CAMELLIA-128-CMAC","camellia-128-cmac",NID_camellia_128_cmac,8,
+- &(lvalues[6282]),0},
+-{"CAMELLIA-192-GCM","camellia-192-gcm",NID_camellia_192_gcm,8,
+- &(lvalues[6290]),0},
+-{"CAMELLIA-192-CCM","camellia-192-ccm",NID_camellia_192_ccm,8,
+- &(lvalues[6298]),0},
+-{"CAMELLIA-192-CTR","camellia-192-ctr",NID_camellia_192_ctr,8,
+- &(lvalues[6306]),0},
+-{"CAMELLIA-192-CMAC","camellia-192-cmac",NID_camellia_192_cmac,8,
+- &(lvalues[6314]),0},
+-{"CAMELLIA-256-GCM","camellia-256-gcm",NID_camellia_256_gcm,8,
+- &(lvalues[6322]),0},
+-{"CAMELLIA-256-CCM","camellia-256-ccm",NID_camellia_256_ccm,8,
+- &(lvalues[6330]),0},
+-{"CAMELLIA-256-CTR","camellia-256-ctr",NID_camellia_256_ctr,8,
+- &(lvalues[6338]),0},
+-{"CAMELLIA-256-CMAC","camellia-256-cmac",NID_camellia_256_cmac,8,
+- &(lvalues[6346]),0},
+-{"id-scrypt","id-scrypt",NID_id_scrypt,9,&(lvalues[6354]),0},
+-{"id-tc26","id-tc26",NID_id_tc26,5,&(lvalues[6363]),0},
+-{"gost89-cnt-12","gost89-cnt-12",NID_gost89_cnt_12,0,NULL,0},
+-{"gost-mac-12","gost-mac-12",NID_gost_mac_12,0,NULL,0},
+-{"id-tc26-algorithms","id-tc26-algorithms",NID_id_tc26_algorithms,6,
+- &(lvalues[6368]),0},
+-{"id-tc26-sign","id-tc26-sign",NID_id_tc26_sign,7,&(lvalues[6374]),0},
+-{"gost2012_256","GOST R 34.10-2012 with 256 bit modulus",
+- NID_id_GostR3410_2012_256,8,&(lvalues[6381]),0},
+-{"gost2012_512","GOST R 34.10-2012 with 512 bit modulus",
+- NID_id_GostR3410_2012_512,8,&(lvalues[6389]),0},
+-{"id-tc26-digest","id-tc26-digest",NID_id_tc26_digest,7,
+- &(lvalues[6397]),0},
+-{"md_gost12_256","GOST R 34.11-2012 with 256 bit hash",
+- NID_id_GostR3411_2012_256,8,&(lvalues[6404]),0},
+-{"md_gost12_512","GOST R 34.11-2012 with 512 bit hash",
+- NID_id_GostR3411_2012_512,8,&(lvalues[6412]),0},
+-{"id-tc26-signwithdigest","id-tc26-signwithdigest",
+- NID_id_tc26_signwithdigest,7,&(lvalues[6420]),0},
+-{"id-tc26-signwithdigest-gost3410-2012-256",
+- "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)",
+- NID_id_tc26_signwithdigest_gost3410_2012_256,8,&(lvalues[6427]),0},
+-{"id-tc26-signwithdigest-gost3410-2012-512",
+- "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)",
+- NID_id_tc26_signwithdigest_gost3410_2012_512,8,&(lvalues[6435]),0},
+-{"id-tc26-mac","id-tc26-mac",NID_id_tc26_mac,7,&(lvalues[6443]),0},
+-{"id-tc26-hmac-gost-3411-2012-256","HMAC GOST 34.11-2012 256 bit",
+- NID_id_tc26_hmac_gost_3411_2012_256,8,&(lvalues[6450]),0},
+-{"id-tc26-hmac-gost-3411-2012-512","HMAC GOST 34.11-2012 512 bit",
+- NID_id_tc26_hmac_gost_3411_2012_512,8,&(lvalues[6458]),0},
+-{"id-tc26-cipher","id-tc26-cipher",NID_id_tc26_cipher,7,
+- &(lvalues[6466]),0},
+-{"id-tc26-agreement","id-tc26-agreement",NID_id_tc26_agreement,7,
+- &(lvalues[6473]),0},
+-{"id-tc26-agreement-gost-3410-2012-256",
+- "id-tc26-agreement-gost-3410-2012-256",
+- NID_id_tc26_agreement_gost_3410_2012_256,8,&(lvalues[6480]),0},
+-{"id-tc26-agreement-gost-3410-2012-512",
+- "id-tc26-agreement-gost-3410-2012-512",
+- NID_id_tc26_agreement_gost_3410_2012_512,8,&(lvalues[6488]),0},
+-{"id-tc26-constants","id-tc26-constants",NID_id_tc26_constants,6,
+- &(lvalues[6496]),0},
+-{"id-tc26-sign-constants","id-tc26-sign-constants",
+- NID_id_tc26_sign_constants,7,&(lvalues[6502]),0},
+-{"id-tc26-gost-3410-2012-512-constants",
+- "id-tc26-gost-3410-2012-512-constants",
+- NID_id_tc26_gost_3410_2012_512_constants,8,&(lvalues[6509]),0},
+-{"id-tc26-gost-3410-2012-512-paramSetTest",
+- "GOST R 34.10-2012 (512 bit) testing parameter set",
+- NID_id_tc26_gost_3410_2012_512_paramSetTest,9,&(lvalues[6517]),0},
+-{"id-tc26-gost-3410-2012-512-paramSetA",
+- "GOST R 34.10-2012 (512 bit) ParamSet A",
+- NID_id_tc26_gost_3410_2012_512_paramSetA,9,&(lvalues[6526]),0},
+-{"id-tc26-gost-3410-2012-512-paramSetB",
+- "GOST R 34.10-2012 (512 bit) ParamSet B",
+- NID_id_tc26_gost_3410_2012_512_paramSetB,9,&(lvalues[6535]),0},
+-{"id-tc26-digest-constants","id-tc26-digest-constants",
+- NID_id_tc26_digest_constants,7,&(lvalues[6544]),0},
+-{"id-tc26-cipher-constants","id-tc26-cipher-constants",
+- NID_id_tc26_cipher_constants,7,&(lvalues[6551]),0},
+-{"id-tc26-gost-28147-constants","id-tc26-gost-28147-constants",
+- NID_id_tc26_gost_28147_constants,8,&(lvalues[6558]),0},
+-{"id-tc26-gost-28147-param-Z","GOST 28147-89 TC26 parameter set",
+- NID_id_tc26_gost_28147_param_Z,9,&(lvalues[6566]),0},
+-{"INN","INN",NID_INN,8,&(lvalues[6575]),0},
+-{"OGRN","OGRN",NID_OGRN,5,&(lvalues[6583]),0},
+-{"SNILS","SNILS",NID_SNILS,5,&(lvalues[6588]),0},
+-{"subjectSignTool","Signing Tool of Subject",NID_subjectSignTool,5,
+- &(lvalues[6593]),0},
+-{"issuerSignTool","Signing Tool of Issuer",NID_issuerSignTool,5,
+- &(lvalues[6598]),0},
+-{"gost89-cbc","gost89-cbc",NID_gost89_cbc,0,NULL,0},
+-{"gost89-ecb","gost89-ecb",NID_gost89_ecb,0,NULL,0},
+-{"gost89-ctr","gost89-ctr",NID_gost89_ctr,0,NULL,0},
+-{"grasshopper-ecb","grasshopper-ecb",NID_grasshopper_ecb,0,NULL,0},
+-{"grasshopper-ctr","grasshopper-ctr",NID_grasshopper_ctr,0,NULL,0},
+-{"grasshopper-ofb","grasshopper-ofb",NID_grasshopper_ofb,0,NULL,0},
+-{"grasshopper-cbc","grasshopper-cbc",NID_grasshopper_cbc,0,NULL,0},
+-{"grasshopper-cfb","grasshopper-cfb",NID_grasshopper_cfb,0,NULL,0},
+-{"grasshopper-mac","grasshopper-mac",NID_grasshopper_mac,0,NULL,0},
+-{"ChaCha20-Poly1305","chacha20-poly1305",NID_chacha20_poly1305,0,NULL,0},
+-{"ChaCha20","chacha20",NID_chacha20,0,NULL,0},
+-{"tlsfeature","TLS Feature",NID_tlsfeature,8,&(lvalues[6603]),0},
+-{"TLS1-PRF","tls1-prf",NID_tls1_prf,0,NULL,0},
+-{"ipsecIKE","ipsec Internet Key Exchange",NID_ipsec_IKE,8,
+- &(lvalues[6611]),0},
+-{"capwapAC","Ctrl/provision WAP Access",NID_capwapAC,8,
+- &(lvalues[6619]),0},
+-{"capwapWTP","Ctrl/Provision WAP Termination",NID_capwapWTP,8,
+- &(lvalues[6627]),0},
+-{"secureShellClient","SSH Client",NID_sshClient,8,&(lvalues[6635]),0},
+-{"secureShellServer","SSH Server",NID_sshServer,8,&(lvalues[6643]),0},
+-{"sendRouter","Send Router",NID_sendRouter,8,&(lvalues[6651]),0},
+-{"sendProxiedRouter","Send Proxied Router",NID_sendProxiedRouter,8,
+- &(lvalues[6659]),0},
+-{"sendOwner","Send Owner",NID_sendOwner,8,&(lvalues[6667]),0},
+-{"sendProxiedOwner","Send Proxied Owner",NID_sendProxiedOwner,8,
+- &(lvalues[6675]),0},
+-{"id-pkinit","id-pkinit",NID_id_pkinit,6,&(lvalues[6683]),0},
+-{"pkInitClientAuth","PKINIT Client Auth",NID_pkInitClientAuth,7,
+- &(lvalues[6689]),0},
+-{"pkInitKDC","Signing KDC Response",NID_pkInitKDC,7,&(lvalues[6696]),0},
+-{"X25519","X25519",NID_X25519,9,&(lvalues[6703]),0},
+-{"X448","X448",NID_X448,9,&(lvalues[6712]),0},
+-{"HKDF","hkdf",NID_hkdf,0,NULL,0},
+-{"KxRSA","kx-rsa",NID_kx_rsa,0,NULL,0},
+-{"KxECDHE","kx-ecdhe",NID_kx_ecdhe,0,NULL,0},
+-{"KxDHE","kx-dhe",NID_kx_dhe,0,NULL,0},
+-{"KxECDHE-PSK","kx-ecdhe-psk",NID_kx_ecdhe_psk,0,NULL,0},
+-{"KxDHE-PSK","kx-dhe-psk",NID_kx_dhe_psk,0,NULL,0},
+-{"KxRSA_PSK","kx-rsa-psk",NID_kx_rsa_psk,0,NULL,0},
+-{"KxPSK","kx-psk",NID_kx_psk,0,NULL,0},
+-{"KxSRP","kx-srp",NID_kx_srp,0,NULL,0},
+-{"KxGOST","kx-gost",NID_kx_gost,0,NULL,0},
+-{"AuthRSA","auth-rsa",NID_auth_rsa,0,NULL,0},
+-{"AuthECDSA","auth-ecdsa",NID_auth_ecdsa,0,NULL,0},
+-{"AuthPSK","auth-psk",NID_auth_psk,0,NULL,0},
+-{"AuthDSS","auth-dss",NID_auth_dss,0,NULL,0},
+-{"AuthGOST01","auth-gost01",NID_auth_gost01,0,NULL,0},
+-{"AuthGOST12","auth-gost12",NID_auth_gost12,0,NULL,0},
+-{"AuthSRP","auth-srp",NID_auth_srp,0,NULL,0},
+-{"AuthNULL","auth-null",NID_auth_null,0,NULL,0},
+-{NULL,NULL,NID_undef,0,NULL,0},
+-{NULL,NULL,NID_undef,0,NULL,0},
+-{"BLAKE2b512","blake2b512",NID_blake2b512,11,&(lvalues[6721]),0},
+-{"BLAKE2s256","blake2s256",NID_blake2s256,11,&(lvalues[6732]),0},
++#define NUM_NID 1058
++static const ASN1_OBJECT nid_objs[NUM_NID] = {
++ {"UNDEF", "undefined", NID_undef},
++ {"rsadsi", "RSA Data Security, Inc.", NID_rsadsi, 6, &so[0]},
++ {"pkcs", "RSA Data Security, Inc. PKCS", NID_pkcs, 7, &so[6]},
++ {"MD2", "md2", NID_md2, 8, &so[13]},
++ {"MD5", "md5", NID_md5, 8, &so[21]},
++ {"RC4", "rc4", NID_rc4, 8, &so[29]},
++ {"rsaEncryption", "rsaEncryption", NID_rsaEncryption, 9, &so[37]},
++ {"RSA-MD2", "md2WithRSAEncryption", NID_md2WithRSAEncryption, 9, &so[46]},
++ {"RSA-MD5", "md5WithRSAEncryption", NID_md5WithRSAEncryption, 9, &so[55]},
++ {"PBE-MD2-DES", "pbeWithMD2AndDES-CBC", NID_pbeWithMD2AndDES_CBC, 9, &so[64]},
++ {"PBE-MD5-DES", "pbeWithMD5AndDES-CBC", NID_pbeWithMD5AndDES_CBC, 9, &so[73]},
++ {"X500", "directory services (X.500)", NID_X500, 1, &so[82]},
++ {"X509", "X509", NID_X509, 2, &so[83]},
++ {"CN", "commonName", NID_commonName, 3, &so[85]},
++ {"C", "countryName", NID_countryName, 3, &so[88]},
++ {"L", "localityName", NID_localityName, 3, &so[91]},
++ {"ST", "stateOrProvinceName", NID_stateOrProvinceName, 3, &so[94]},
++ {"O", "organizationName", NID_organizationName, 3, &so[97]},
++ {"OU", "organizationalUnitName", NID_organizationalUnitName, 3, &so[100]},
++ {"RSA", "rsa", NID_rsa, 4, &so[103]},
++ {"pkcs7", "pkcs7", NID_pkcs7, 8, &so[107]},
++ {"pkcs7-data", "pkcs7-data", NID_pkcs7_data, 9, &so[115]},
++ {"pkcs7-signedData", "pkcs7-signedData", NID_pkcs7_signed, 9, &so[124]},
++ {"pkcs7-envelopedData", "pkcs7-envelopedData", NID_pkcs7_enveloped, 9, &so[133]},
++ {"pkcs7-signedAndEnvelopedData", "pkcs7-signedAndEnvelopedData", NID_pkcs7_signedAndEnveloped, 9, &so[142]},
++ {"pkcs7-digestData", "pkcs7-digestData", NID_pkcs7_digest, 9, &so[151]},
++ {"pkcs7-encryptedData", "pkcs7-encryptedData", NID_pkcs7_encrypted, 9, &so[160]},
++ {"pkcs3", "pkcs3", NID_pkcs3, 8, &so[169]},
++ {"dhKeyAgreement", "dhKeyAgreement", NID_dhKeyAgreement, 9, &so[177]},
++ {"DES-ECB", "des-ecb", NID_des_ecb, 5, &so[186]},
++ {"DES-CFB", "des-cfb", NID_des_cfb64, 5, &so[191]},
++ {"DES-CBC", "des-cbc", NID_des_cbc, 5, &so[196]},
++ {"DES-EDE", "des-ede", NID_des_ede_ecb, 5, &so[201]},
++ {"DES-EDE3", "des-ede3", NID_des_ede3_ecb},
++ {"IDEA-CBC", "idea-cbc", NID_idea_cbc, 11, &so[206]},
++ {"IDEA-CFB", "idea-cfb", NID_idea_cfb64},
++ {"IDEA-ECB", "idea-ecb", NID_idea_ecb},
++ {"RC2-CBC", "rc2-cbc", NID_rc2_cbc, 8, &so[217]},
++ {"RC2-ECB", "rc2-ecb", NID_rc2_ecb},
++ {"RC2-CFB", "rc2-cfb", NID_rc2_cfb64},
++ {"RC2-OFB", "rc2-ofb", NID_rc2_ofb64},
++ {"SHA", "sha", NID_sha, 5, &so[225]},
++ {"RSA-SHA", "shaWithRSAEncryption", NID_shaWithRSAEncryption, 5, &so[230]},
++ {"DES-EDE-CBC", "des-ede-cbc", NID_des_ede_cbc},
++ {"DES-EDE3-CBC", "des-ede3-cbc", NID_des_ede3_cbc, 8, &so[235]},
++ {"DES-OFB", "des-ofb", NID_des_ofb64, 5, &so[243]},
++ {"IDEA-OFB", "idea-ofb", NID_idea_ofb64},
++ {"pkcs9", "pkcs9", NID_pkcs9, 8, &so[248]},
++ {"emailAddress", "emailAddress", NID_pkcs9_emailAddress, 9, &so[256]},
++ {"unstructuredName", "unstructuredName", NID_pkcs9_unstructuredName, 9, &so[265]},
++ {"contentType", "contentType", NID_pkcs9_contentType, 9, &so[274]},
++ {"messageDigest", "messageDigest", NID_pkcs9_messageDigest, 9, &so[283]},
++ {"signingTime", "signingTime", NID_pkcs9_signingTime, 9, &so[292]},
++ {"countersignature", "countersignature", NID_pkcs9_countersignature, 9, &so[301]},
++ {"challengePassword", "challengePassword", NID_pkcs9_challengePassword, 9, &so[310]},
++ {"unstructuredAddress", "unstructuredAddress", NID_pkcs9_unstructuredAddress, 9, &so[319]},
++ {"extendedCertificateAttributes", "extendedCertificateAttributes", NID_pkcs9_extCertAttributes, 9, &so[328]},
++ {"Netscape", "Netscape Communications Corp.", NID_netscape, 7, &so[337]},
++ {"nsCertExt", "Netscape Certificate Extension", NID_netscape_cert_extension, 8, &so[344]},
++ {"nsDataType", "Netscape Data Type", NID_netscape_data_type, 8, &so[352]},
++ {"DES-EDE-CFB", "des-ede-cfb", NID_des_ede_cfb64},
++ {"DES-EDE3-CFB", "des-ede3-cfb", NID_des_ede3_cfb64},
++ {"DES-EDE-OFB", "des-ede-ofb", NID_des_ede_ofb64},
++ {"DES-EDE3-OFB", "des-ede3-ofb", NID_des_ede3_ofb64},
++ {"SHA1", "sha1", NID_sha1, 5, &so[360]},
++ {"RSA-SHA1", "sha1WithRSAEncryption", NID_sha1WithRSAEncryption, 9, &so[365]},
++ {"DSA-SHA", "dsaWithSHA", NID_dsaWithSHA, 5, &so[374]},
++ {"DSA-old", "dsaEncryption-old", NID_dsa_2, 5, &so[379]},
++ {"PBE-SHA1-RC2-64", "pbeWithSHA1AndRC2-CBC", NID_pbeWithSHA1AndRC2_CBC, 9, &so[384]},
++ {"PBKDF2", "PBKDF2", NID_id_pbkdf2, 9, &so[393]},
++ {"DSA-SHA1-old", "dsaWithSHA1-old", NID_dsaWithSHA1_2, 5, &so[402]},
++ {"nsCertType", "Netscape Cert Type", NID_netscape_cert_type, 9, &so[407]},
++ {"nsBaseUrl", "Netscape Base Url", NID_netscape_base_url, 9, &so[416]},
++ {"nsRevocationUrl", "Netscape Revocation Url", NID_netscape_revocation_url, 9, &so[425]},
++ {"nsCaRevocationUrl", "Netscape CA Revocation Url", NID_netscape_ca_revocation_url, 9, &so[434]},
++ {"nsRenewalUrl", "Netscape Renewal Url", NID_netscape_renewal_url, 9, &so[443]},
++ {"nsCaPolicyUrl", "Netscape CA Policy Url", NID_netscape_ca_policy_url, 9, &so[452]},
++ {"nsSslServerName", "Netscape SSL Server Name", NID_netscape_ssl_server_name, 9, &so[461]},
++ {"nsComment", "Netscape Comment", NID_netscape_comment, 9, &so[470]},
++ {"nsCertSequence", "Netscape Certificate Sequence", NID_netscape_cert_sequence, 9, &so[479]},
++ {"DESX-CBC", "desx-cbc", NID_desx_cbc},
++ {"id-ce", "id-ce", NID_id_ce, 2, &so[488]},
++ {"subjectKeyIdentifier", "X509v3 Subject Key Identifier", NID_subject_key_identifier, 3, &so[490]},
++ {"keyUsage", "X509v3 Key Usage", NID_key_usage, 3, &so[493]},
++ {"privateKeyUsagePeriod", "X509v3 Private Key Usage Period", NID_private_key_usage_period, 3, &so[496]},
++ {"subjectAltName", "X509v3 Subject Alternative Name", NID_subject_alt_name, 3, &so[499]},
++ {"issuerAltName", "X509v3 Issuer Alternative Name", NID_issuer_alt_name, 3, &so[502]},
++ {"basicConstraints", "X509v3 Basic Constraints", NID_basic_constraints, 3, &so[505]},
++ {"crlNumber", "X509v3 CRL Number", NID_crl_number, 3, &so[508]},
++ {"certificatePolicies", "X509v3 Certificate Policies", NID_certificate_policies, 3, &so[511]},
++ {"authorityKeyIdentifier", "X509v3 Authority Key Identifier", NID_authority_key_identifier, 3, &so[514]},
++ {"BF-CBC", "bf-cbc", NID_bf_cbc, 9, &so[517]},
++ {"BF-ECB", "bf-ecb", NID_bf_ecb},
++ {"BF-CFB", "bf-cfb", NID_bf_cfb64},
++ {"BF-OFB", "bf-ofb", NID_bf_ofb64},
++ {"MDC2", "mdc2", NID_mdc2, 4, &so[526]},
++ {"RSA-MDC2", "mdc2WithRSA", NID_mdc2WithRSA, 4, &so[530]},
++ {"RC4-40", "rc4-40", NID_rc4_40},
++ {"RC2-40-CBC", "rc2-40-cbc", NID_rc2_40_cbc},
++ {"GN", "givenName", NID_givenName, 3, &so[534]},
++ {"SN", "surname", NID_surname, 3, &so[537]},
++ {"initials", "initials", NID_initials, 3, &so[540]},
++ {"uid", "uniqueIdentifier", NID_uniqueIdentifier, 10, &so[543]},
++ {"crlDistributionPoints", "X509v3 CRL Distribution Points", NID_crl_distribution_points, 3, &so[553]},
++ {"RSA-NP-MD5", "md5WithRSA", NID_md5WithRSA, 5, &so[556]},
++ {"serialNumber", "serialNumber", NID_serialNumber, 3, &so[561]},
++ {"title", "title", NID_title, 3, &so[564]},
++ {"description", "description", NID_description, 3, &so[567]},
++ {"CAST5-CBC", "cast5-cbc", NID_cast5_cbc, 9, &so[570]},
++ {"CAST5-ECB", "cast5-ecb", NID_cast5_ecb},
++ {"CAST5-CFB", "cast5-cfb", NID_cast5_cfb64},
++ {"CAST5-OFB", "cast5-ofb", NID_cast5_ofb64},
++ {"pbeWithMD5AndCast5CBC", "pbeWithMD5AndCast5CBC", NID_pbeWithMD5AndCast5_CBC, 9, &so[579]},
++ {"DSA-SHA1", "dsaWithSHA1", NID_dsaWithSHA1, 7, &so[588]},
++ {"MD5-SHA1", "md5-sha1", NID_md5_sha1},
++ {"RSA-SHA1-2", "sha1WithRSA", NID_sha1WithRSA, 5, &so[595]},
++ {"DSA", "dsaEncryption", NID_dsa, 7, &so[600]},
++ {"RIPEMD160", "ripemd160", NID_ripemd160, 5, &so[607]},
++ { NULL, NULL, NID_undef },
++ {"RSA-RIPEMD160", "ripemd160WithRSA", NID_ripemd160WithRSA, 6, &so[612]},
++ {"RC5-CBC", "rc5-cbc", NID_rc5_cbc, 8, &so[618]},
++ {"RC5-ECB", "rc5-ecb", NID_rc5_ecb},
++ {"RC5-CFB", "rc5-cfb", NID_rc5_cfb64},
++ {"RC5-OFB", "rc5-ofb", NID_rc5_ofb64},
++ { NULL, NULL, NID_undef },
++ {"ZLIB", "zlib compression", NID_zlib_compression, 11, &so[626]},
++ {"extendedKeyUsage", "X509v3 Extended Key Usage", NID_ext_key_usage, 3, &so[637]},
++ {"PKIX", "PKIX", NID_id_pkix, 6, &so[640]},
++ {"id-kp", "id-kp", NID_id_kp, 7, &so[646]},
++ {"serverAuth", "TLS Web Server Authentication", NID_server_auth, 8, &so[653]},
++ {"clientAuth", "TLS Web Client Authentication", NID_client_auth, 8, &so[661]},
++ {"codeSigning", "Code Signing", NID_code_sign, 8, &so[669]},
++ {"emailProtection", "E-mail Protection", NID_email_protect, 8, &so[677]},
++ {"timeStamping", "Time Stamping", NID_time_stamp, 8, &so[685]},
++ {"msCodeInd", "Microsoft Individual Code Signing", NID_ms_code_ind, 10, &so[693]},
++ {"msCodeCom", "Microsoft Commercial Code Signing", NID_ms_code_com, 10, &so[703]},
++ {"msCTLSign", "Microsoft Trust List Signing", NID_ms_ctl_sign, 10, &so[713]},
++ {"msSGC", "Microsoft Server Gated Crypto", NID_ms_sgc, 10, &so[723]},
++ {"msEFS", "Microsoft Encrypted File System", NID_ms_efs, 10, &so[733]},
++ {"nsSGC", "Netscape Server Gated Crypto", NID_ns_sgc, 9, &so[743]},
++ {"deltaCRL", "X509v3 Delta CRL Indicator", NID_delta_crl, 3, &so[752]},
++ {"CRLReason", "X509v3 CRL Reason Code", NID_crl_reason, 3, &so[755]},
++ {"invalidityDate", "Invalidity Date", NID_invalidity_date, 3, &so[758]},
++ {"SXNetID", "Strong Extranet ID", NID_sxnet, 5, &so[761]},
++ {"PBE-SHA1-RC4-128", "pbeWithSHA1And128BitRC4", NID_pbe_WithSHA1And128BitRC4, 10, &so[766]},
++ {"PBE-SHA1-RC4-40", "pbeWithSHA1And40BitRC4", NID_pbe_WithSHA1And40BitRC4, 10, &so[776]},
++ {"PBE-SHA1-3DES", "pbeWithSHA1And3-KeyTripleDES-CBC", NID_pbe_WithSHA1And3_Key_TripleDES_CBC, 10, &so[786]},
++ {"PBE-SHA1-2DES", "pbeWithSHA1And2-KeyTripleDES-CBC", NID_pbe_WithSHA1And2_Key_TripleDES_CBC, 10, &so[796]},
++ {"PBE-SHA1-RC2-128", "pbeWithSHA1And128BitRC2-CBC", NID_pbe_WithSHA1And128BitRC2_CBC, 10, &so[806]},
++ {"PBE-SHA1-RC2-40", "pbeWithSHA1And40BitRC2-CBC", NID_pbe_WithSHA1And40BitRC2_CBC, 10, &so[816]},
++ {"keyBag", "keyBag", NID_keyBag, 11, &so[826]},
++ {"pkcs8ShroudedKeyBag", "pkcs8ShroudedKeyBag", NID_pkcs8ShroudedKeyBag, 11, &so[837]},
++ {"certBag", "certBag", NID_certBag, 11, &so[848]},
++ {"crlBag", "crlBag", NID_crlBag, 11, &so[859]},
++ {"secretBag", "secretBag", NID_secretBag, 11, &so[870]},
++ {"safeContentsBag", "safeContentsBag", NID_safeContentsBag, 11, &so[881]},
++ {"friendlyName", "friendlyName", NID_friendlyName, 9, &so[892]},
++ {"localKeyID", "localKeyID", NID_localKeyID, 9, &so[901]},
++ {"x509Certificate", "x509Certificate", NID_x509Certificate, 10, &so[910]},
++ {"sdsiCertificate", "sdsiCertificate", NID_sdsiCertificate, 10, &so[920]},
++ {"x509Crl", "x509Crl", NID_x509Crl, 10, &so[930]},
++ {"PBES2", "PBES2", NID_pbes2, 9, &so[940]},
++ {"PBMAC1", "PBMAC1", NID_pbmac1, 9, &so[949]},
++ {"hmacWithSHA1", "hmacWithSHA1", NID_hmacWithSHA1, 8, &so[958]},
++ {"id-qt-cps", "Policy Qualifier CPS", NID_id_qt_cps, 8, &so[966]},
++ {"id-qt-unotice", "Policy Qualifier User Notice", NID_id_qt_unotice, 8, &so[974]},
++ {"RC2-64-CBC", "rc2-64-cbc", NID_rc2_64_cbc},
++ {"SMIME-CAPS", "S/MIME Capabilities", NID_SMIMECapabilities, 9, &so[982]},
++ {"PBE-MD2-RC2-64", "pbeWithMD2AndRC2-CBC", NID_pbeWithMD2AndRC2_CBC, 9, &so[991]},
++ {"PBE-MD5-RC2-64", "pbeWithMD5AndRC2-CBC", NID_pbeWithMD5AndRC2_CBC, 9, &so[1000]},
++ {"PBE-SHA1-DES", "pbeWithSHA1AndDES-CBC", NID_pbeWithSHA1AndDES_CBC, 9, &so[1009]},
++ {"msExtReq", "Microsoft Extension Request", NID_ms_ext_req, 10, &so[1018]},
++ {"extReq", "Extension Request", NID_ext_req, 9, &so[1028]},
++ {"name", "name", NID_name, 3, &so[1037]},
++ {"dnQualifier", "dnQualifier", NID_dnQualifier, 3, &so[1040]},
++ {"id-pe", "id-pe", NID_id_pe, 7, &so[1043]},
++ {"id-ad", "id-ad", NID_id_ad, 7, &so[1050]},
++ {"authorityInfoAccess", "Authority Information Access", NID_info_access, 8, &so[1057]},
++ {"OCSP", "OCSP", NID_ad_OCSP, 8, &so[1065]},
++ {"caIssuers", "CA Issuers", NID_ad_ca_issuers, 8, &so[1073]},
++ {"OCSPSigning", "OCSP Signing", NID_OCSP_sign, 8, &so[1081]},
++ {"ISO", "iso", NID_iso},
++ {"member-body", "ISO Member Body", NID_member_body, 1, &so[1089]},
++ {"ISO-US", "ISO US Member Body", NID_ISO_US, 3, &so[1090]},
++ {"X9-57", "X9.57", NID_X9_57, 5, &so[1093]},
++ {"X9cm", "X9.57 CM ?", NID_X9cm, 6, &so[1098]},
++ {"pkcs1", "pkcs1", NID_pkcs1, 8, &so[1104]},
++ {"pkcs5", "pkcs5", NID_pkcs5, 8, &so[1112]},
++ {"SMIME", "S/MIME", NID_SMIME, 9, &so[1120]},
++ {"id-smime-mod", "id-smime-mod", NID_id_smime_mod, 10, &so[1129]},
++ {"id-smime-ct", "id-smime-ct", NID_id_smime_ct, 10, &so[1139]},
++ {"id-smime-aa", "id-smime-aa", NID_id_smime_aa, 10, &so[1149]},
++ {"id-smime-alg", "id-smime-alg", NID_id_smime_alg, 10, &so[1159]},
++ {"id-smime-cd", "id-smime-cd", NID_id_smime_cd, 10, &so[1169]},
++ {"id-smime-spq", "id-smime-spq", NID_id_smime_spq, 10, &so[1179]},
++ {"id-smime-cti", "id-smime-cti", NID_id_smime_cti, 10, &so[1189]},
++ {"id-smime-mod-cms", "id-smime-mod-cms", NID_id_smime_mod_cms, 11, &so[1199]},
++ {"id-smime-mod-ess", "id-smime-mod-ess", NID_id_smime_mod_ess, 11, &so[1210]},
++ {"id-smime-mod-oid", "id-smime-mod-oid", NID_id_smime_mod_oid, 11, &so[1221]},
++ {"id-smime-mod-msg-v3", "id-smime-mod-msg-v3", NID_id_smime_mod_msg_v3, 11, &so[1232]},
++ {"id-smime-mod-ets-eSignature-88", "id-smime-mod-ets-eSignature-88", NID_id_smime_mod_ets_eSignature_88, 11, &so[1243]},
++ {"id-smime-mod-ets-eSignature-97", "id-smime-mod-ets-eSignature-97", NID_id_smime_mod_ets_eSignature_97, 11, &so[1254]},
++ {"id-smime-mod-ets-eSigPolicy-88", "id-smime-mod-ets-eSigPolicy-88", NID_id_smime_mod_ets_eSigPolicy_88, 11, &so[1265]},
++ {"id-smime-mod-ets-eSigPolicy-97", "id-smime-mod-ets-eSigPolicy-97", NID_id_smime_mod_ets_eSigPolicy_97, 11, &so[1276]},
++ {"id-smime-ct-receipt", "id-smime-ct-receipt", NID_id_smime_ct_receipt, 11, &so[1287]},
++ {"id-smime-ct-authData", "id-smime-ct-authData", NID_id_smime_ct_authData, 11, &so[1298]},
++ {"id-smime-ct-publishCert", "id-smime-ct-publishCert", NID_id_smime_ct_publishCert, 11, &so[1309]},
++ {"id-smime-ct-TSTInfo", "id-smime-ct-TSTInfo", NID_id_smime_ct_TSTInfo, 11, &so[1320]},
++ {"id-smime-ct-TDTInfo", "id-smime-ct-TDTInfo", NID_id_smime_ct_TDTInfo, 11, &so[1331]},
++ {"id-smime-ct-contentInfo", "id-smime-ct-contentInfo", NID_id_smime_ct_contentInfo, 11, &so[1342]},
++ {"id-smime-ct-DVCSRequestData", "id-smime-ct-DVCSRequestData", NID_id_smime_ct_DVCSRequestData, 11, &so[1353]},
++ {"id-smime-ct-DVCSResponseData", "id-smime-ct-DVCSResponseData", NID_id_smime_ct_DVCSResponseData, 11, &so[1364]},
++ {"id-smime-aa-receiptRequest", "id-smime-aa-receiptRequest", NID_id_smime_aa_receiptRequest, 11, &so[1375]},
++ {"id-smime-aa-securityLabel", "id-smime-aa-securityLabel", NID_id_smime_aa_securityLabel, 11, &so[1386]},
++ {"id-smime-aa-mlExpandHistory", "id-smime-aa-mlExpandHistory", NID_id_smime_aa_mlExpandHistory, 11, &so[1397]},
++ {"id-smime-aa-contentHint", "id-smime-aa-contentHint", NID_id_smime_aa_contentHint, 11, &so[1408]},
++ {"id-smime-aa-msgSigDigest", "id-smime-aa-msgSigDigest", NID_id_smime_aa_msgSigDigest, 11, &so[1419]},
++ {"id-smime-aa-encapContentType", "id-smime-aa-encapContentType", NID_id_smime_aa_encapContentType, 11, &so[1430]},
++ {"id-smime-aa-contentIdentifier", "id-smime-aa-contentIdentifier", NID_id_smime_aa_contentIdentifier, 11, &so[1441]},
++ {"id-smime-aa-macValue", "id-smime-aa-macValue", NID_id_smime_aa_macValue, 11, &so[1452]},
++ {"id-smime-aa-equivalentLabels", "id-smime-aa-equivalentLabels", NID_id_smime_aa_equivalentLabels, 11, &so[1463]},
++ {"id-smime-aa-contentReference", "id-smime-aa-contentReference", NID_id_smime_aa_contentReference, 11, &so[1474]},
++ {"id-smime-aa-encrypKeyPref", "id-smime-aa-encrypKeyPref", NID_id_smime_aa_encrypKeyPref, 11, &so[1485]},
++ {"id-smime-aa-signingCertificate", "id-smime-aa-signingCertificate", NID_id_smime_aa_signingCertificate, 11, &so[1496]},
++ {"id-smime-aa-smimeEncryptCerts", "id-smime-aa-smimeEncryptCerts", NID_id_smime_aa_smimeEncryptCerts, 11, &so[1507]},
++ {"id-smime-aa-timeStampToken", "id-smime-aa-timeStampToken", NID_id_smime_aa_timeStampToken, 11, &so[1518]},
++ {"id-smime-aa-ets-sigPolicyId", "id-smime-aa-ets-sigPolicyId", NID_id_smime_aa_ets_sigPolicyId, 11, &so[1529]},
++ {"id-smime-aa-ets-commitmentType", "id-smime-aa-ets-commitmentType", NID_id_smime_aa_ets_commitmentType, 11, &so[1540]},
++ {"id-smime-aa-ets-signerLocation", "id-smime-aa-ets-signerLocation", NID_id_smime_aa_ets_signerLocation, 11, &so[1551]},
++ {"id-smime-aa-ets-signerAttr", "id-smime-aa-ets-signerAttr", NID_id_smime_aa_ets_signerAttr, 11, &so[1562]},
++ {"id-smime-aa-ets-otherSigCert", "id-smime-aa-ets-otherSigCert", NID_id_smime_aa_ets_otherSigCert, 11, &so[1573]},
++ {"id-smime-aa-ets-contentTimestamp", "id-smime-aa-ets-contentTimestamp", NID_id_smime_aa_ets_contentTimestamp, 11, &so[1584]},
++ {"id-smime-aa-ets-CertificateRefs", "id-smime-aa-ets-CertificateRefs", NID_id_smime_aa_ets_CertificateRefs, 11, &so[1595]},
++ {"id-smime-aa-ets-RevocationRefs", "id-smime-aa-ets-RevocationRefs", NID_id_smime_aa_ets_RevocationRefs, 11, &so[1606]},
++ {"id-smime-aa-ets-certValues", "id-smime-aa-ets-certValues", NID_id_smime_aa_ets_certValues, 11, &so[1617]},
++ {"id-smime-aa-ets-revocationValues", "id-smime-aa-ets-revocationValues", NID_id_smime_aa_ets_revocationValues, 11, &so[1628]},
++ {"id-smime-aa-ets-escTimeStamp", "id-smime-aa-ets-escTimeStamp", NID_id_smime_aa_ets_escTimeStamp, 11, &so[1639]},
++ {"id-smime-aa-ets-certCRLTimestamp", "id-smime-aa-ets-certCRLTimestamp", NID_id_smime_aa_ets_certCRLTimestamp, 11, &so[1650]},
++ {"id-smime-aa-ets-archiveTimeStamp", "id-smime-aa-ets-archiveTimeStamp", NID_id_smime_aa_ets_archiveTimeStamp, 11, &so[1661]},
++ {"id-smime-aa-signatureType", "id-smime-aa-signatureType", NID_id_smime_aa_signatureType, 11, &so[1672]},
++ {"id-smime-aa-dvcs-dvc", "id-smime-aa-dvcs-dvc", NID_id_smime_aa_dvcs_dvc, 11, &so[1683]},
++ {"id-smime-alg-ESDHwith3DES", "id-smime-alg-ESDHwith3DES", NID_id_smime_alg_ESDHwith3DES, 11, &so[1694]},
++ {"id-smime-alg-ESDHwithRC2", "id-smime-alg-ESDHwithRC2", NID_id_smime_alg_ESDHwithRC2, 11, &so[1705]},
++ {"id-smime-alg-3DESwrap", "id-smime-alg-3DESwrap", NID_id_smime_alg_3DESwrap, 11, &so[1716]},
++ {"id-smime-alg-RC2wrap", "id-smime-alg-RC2wrap", NID_id_smime_alg_RC2wrap, 11, &so[1727]},
++ {"id-smime-alg-ESDH", "id-smime-alg-ESDH", NID_id_smime_alg_ESDH, 11, &so[1738]},
++ {"id-smime-alg-CMS3DESwrap", "id-smime-alg-CMS3DESwrap", NID_id_smime_alg_CMS3DESwrap, 11, &so[1749]},
++ {"id-smime-alg-CMSRC2wrap", "id-smime-alg-CMSRC2wrap", NID_id_smime_alg_CMSRC2wrap, 11, &so[1760]},
++ {"id-smime-cd-ldap", "id-smime-cd-ldap", NID_id_smime_cd_ldap, 11, &so[1771]},
++ {"id-smime-spq-ets-sqt-uri", "id-smime-spq-ets-sqt-uri", NID_id_smime_spq_ets_sqt_uri, 11, &so[1782]},
++ {"id-smime-spq-ets-sqt-unotice", "id-smime-spq-ets-sqt-unotice", NID_id_smime_spq_ets_sqt_unotice, 11, &so[1793]},
++ {"id-smime-cti-ets-proofOfOrigin", "id-smime-cti-ets-proofOfOrigin", NID_id_smime_cti_ets_proofOfOrigin, 11, &so[1804]},
++ {"id-smime-cti-ets-proofOfReceipt", "id-smime-cti-ets-proofOfReceipt", NID_id_smime_cti_ets_proofOfReceipt, 11, &so[1815]},
++ {"id-smime-cti-ets-proofOfDelivery", "id-smime-cti-ets-proofOfDelivery", NID_id_smime_cti_ets_proofOfDelivery, 11, &so[1826]},
++ {"id-smime-cti-ets-proofOfSender", "id-smime-cti-ets-proofOfSender", NID_id_smime_cti_ets_proofOfSender, 11, &so[1837]},
++ {"id-smime-cti-ets-proofOfApproval", "id-smime-cti-ets-proofOfApproval", NID_id_smime_cti_ets_proofOfApproval, 11, &so[1848]},
++ {"id-smime-cti-ets-proofOfCreation", "id-smime-cti-ets-proofOfCreation", NID_id_smime_cti_ets_proofOfCreation, 11, &so[1859]},
++ {"MD4", "md4", NID_md4, 8, &so[1870]},
++ {"id-pkix-mod", "id-pkix-mod", NID_id_pkix_mod, 7, &so[1878]},
++ {"id-qt", "id-qt", NID_id_qt, 7, &so[1885]},
++ {"id-it", "id-it", NID_id_it, 7, &so[1892]},
++ {"id-pkip", "id-pkip", NID_id_pkip, 7, &so[1899]},
++ {"id-alg", "id-alg", NID_id_alg, 7, &so[1906]},
++ {"id-cmc", "id-cmc", NID_id_cmc, 7, &so[1913]},
++ {"id-on", "id-on", NID_id_on, 7, &so[1920]},
++ {"id-pda", "id-pda", NID_id_pda, 7, &so[1927]},
++ {"id-aca", "id-aca", NID_id_aca, 7, &so[1934]},
++ {"id-qcs", "id-qcs", NID_id_qcs, 7, &so[1941]},
++ {"id-cct", "id-cct", NID_id_cct, 7, &so[1948]},
++ {"id-pkix1-explicit-88", "id-pkix1-explicit-88", NID_id_pkix1_explicit_88, 8, &so[1955]},
++ {"id-pkix1-implicit-88", "id-pkix1-implicit-88", NID_id_pkix1_implicit_88, 8, &so[1963]},
++ {"id-pkix1-explicit-93", "id-pkix1-explicit-93", NID_id_pkix1_explicit_93, 8, &so[1971]},
++ {"id-pkix1-implicit-93", "id-pkix1-implicit-93", NID_id_pkix1_implicit_93, 8, &so[1979]},
++ {"id-mod-crmf", "id-mod-crmf", NID_id_mod_crmf, 8, &so[1987]},
++ {"id-mod-cmc", "id-mod-cmc", NID_id_mod_cmc, 8, &so[1995]},
++ {"id-mod-kea-profile-88", "id-mod-kea-profile-88", NID_id_mod_kea_profile_88, 8, &so[2003]},
++ {"id-mod-kea-profile-93", "id-mod-kea-profile-93", NID_id_mod_kea_profile_93, 8, &so[2011]},
++ {"id-mod-cmp", "id-mod-cmp", NID_id_mod_cmp, 8, &so[2019]},
++ {"id-mod-qualified-cert-88", "id-mod-qualified-cert-88", NID_id_mod_qualified_cert_88, 8, &so[2027]},
++ {"id-mod-qualified-cert-93", "id-mod-qualified-cert-93", NID_id_mod_qualified_cert_93, 8, &so[2035]},
++ {"id-mod-attribute-cert", "id-mod-attribute-cert", NID_id_mod_attribute_cert, 8, &so[2043]},
++ {"id-mod-timestamp-protocol", "id-mod-timestamp-protocol", NID_id_mod_timestamp_protocol, 8, &so[2051]},
++ {"id-mod-ocsp", "id-mod-ocsp", NID_id_mod_ocsp, 8, &so[2059]},
++ {"id-mod-dvcs", "id-mod-dvcs", NID_id_mod_dvcs, 8, &so[2067]},
++ {"id-mod-cmp2000", "id-mod-cmp2000", NID_id_mod_cmp2000, 8, &so[2075]},
++ {"biometricInfo", "Biometric Info", NID_biometricInfo, 8, &so[2083]},
++ {"qcStatements", "qcStatements", NID_qcStatements, 8, &so[2091]},
++ {"ac-auditEntity", "ac-auditEntity", NID_ac_auditEntity, 8, &so[2099]},
++ {"ac-targeting", "ac-targeting", NID_ac_targeting, 8, &so[2107]},
++ {"aaControls", "aaControls", NID_aaControls, 8, &so[2115]},
++ {"sbgp-ipAddrBlock", "sbgp-ipAddrBlock", NID_sbgp_ipAddrBlock, 8, &so[2123]},
++ {"sbgp-autonomousSysNum", "sbgp-autonomousSysNum", NID_sbgp_autonomousSysNum, 8, &so[2131]},
++ {"sbgp-routerIdentifier", "sbgp-routerIdentifier", NID_sbgp_routerIdentifier, 8, &so[2139]},
++ {"textNotice", "textNotice", NID_textNotice, 8, &so[2147]},
++ {"ipsecEndSystem", "IPSec End System", NID_ipsecEndSystem, 8, &so[2155]},
++ {"ipsecTunnel", "IPSec Tunnel", NID_ipsecTunnel, 8, &so[2163]},
++ {"ipsecUser", "IPSec User", NID_ipsecUser, 8, &so[2171]},
++ {"DVCS", "dvcs", NID_dvcs, 8, &so[2179]},
++ {"id-it-caProtEncCert", "id-it-caProtEncCert", NID_id_it_caProtEncCert, 8, &so[2187]},
++ {"id-it-signKeyPairTypes", "id-it-signKeyPairTypes", NID_id_it_signKeyPairTypes, 8, &so[2195]},
++ {"id-it-encKeyPairTypes", "id-it-encKeyPairTypes", NID_id_it_encKeyPairTypes, 8, &so[2203]},
++ {"id-it-preferredSymmAlg", "id-it-preferredSymmAlg", NID_id_it_preferredSymmAlg, 8, &so[2211]},
++ {"id-it-caKeyUpdateInfo", "id-it-caKeyUpdateInfo", NID_id_it_caKeyUpdateInfo, 8, &so[2219]},
++ {"id-it-currentCRL", "id-it-currentCRL", NID_id_it_currentCRL, 8, &so[2227]},
++ {"id-it-unsupportedOIDs", "id-it-unsupportedOIDs", NID_id_it_unsupportedOIDs, 8, &so[2235]},
++ {"id-it-subscriptionRequest", "id-it-subscriptionRequest", NID_id_it_subscriptionRequest, 8, &so[2243]},
++ {"id-it-subscriptionResponse", "id-it-subscriptionResponse", NID_id_it_subscriptionResponse, 8, &so[2251]},
++ {"id-it-keyPairParamReq", "id-it-keyPairParamReq", NID_id_it_keyPairParamReq, 8, &so[2259]},
++ {"id-it-keyPairParamRep", "id-it-keyPairParamRep", NID_id_it_keyPairParamRep, 8, &so[2267]},
++ {"id-it-revPassphrase", "id-it-revPassphrase", NID_id_it_revPassphrase, 8, &so[2275]},
++ {"id-it-implicitConfirm", "id-it-implicitConfirm", NID_id_it_implicitConfirm, 8, &so[2283]},
++ {"id-it-confirmWaitTime", "id-it-confirmWaitTime", NID_id_it_confirmWaitTime, 8, &so[2291]},
++ {"id-it-origPKIMessage", "id-it-origPKIMessage", NID_id_it_origPKIMessage, 8, &so[2299]},
++ {"id-regCtrl", "id-regCtrl", NID_id_regCtrl, 8, &so[2307]},
++ {"id-regInfo", "id-regInfo", NID_id_regInfo, 8, &so[2315]},
++ {"id-regCtrl-regToken", "id-regCtrl-regToken", NID_id_regCtrl_regToken, 9, &so[2323]},
++ {"id-regCtrl-authenticator", "id-regCtrl-authenticator", NID_id_regCtrl_authenticator, 9, &so[2332]},
++ {"id-regCtrl-pkiPublicationInfo", "id-regCtrl-pkiPublicationInfo", NID_id_regCtrl_pkiPublicationInfo, 9, &so[2341]},
++ {"id-regCtrl-pkiArchiveOptions", "id-regCtrl-pkiArchiveOptions", NID_id_regCtrl_pkiArchiveOptions, 9, &so[2350]},
++ {"id-regCtrl-oldCertID", "id-regCtrl-oldCertID", NID_id_regCtrl_oldCertID, 9, &so[2359]},
++ {"id-regCtrl-protocolEncrKey", "id-regCtrl-protocolEncrKey", NID_id_regCtrl_protocolEncrKey, 9, &so[2368]},
++ {"id-regInfo-utf8Pairs", "id-regInfo-utf8Pairs", NID_id_regInfo_utf8Pairs, 9, &so[2377]},
++ {"id-regInfo-certReq", "id-regInfo-certReq", NID_id_regInfo_certReq, 9, &so[2386]},
++ {"id-alg-des40", "id-alg-des40", NID_id_alg_des40, 8, &so[2395]},
++ {"id-alg-noSignature", "id-alg-noSignature", NID_id_alg_noSignature, 8, &so[2403]},
++ {"id-alg-dh-sig-hmac-sha1", "id-alg-dh-sig-hmac-sha1", NID_id_alg_dh_sig_hmac_sha1, 8, &so[2411]},
++ {"id-alg-dh-pop", "id-alg-dh-pop", NID_id_alg_dh_pop, 8, &so[2419]},
++ {"id-cmc-statusInfo", "id-cmc-statusInfo", NID_id_cmc_statusInfo, 8, &so[2427]},
++ {"id-cmc-identification", "id-cmc-identification", NID_id_cmc_identification, 8, &so[2435]},
++ {"id-cmc-identityProof", "id-cmc-identityProof", NID_id_cmc_identityProof, 8, &so[2443]},
++ {"id-cmc-dataReturn", "id-cmc-dataReturn", NID_id_cmc_dataReturn, 8, &so[2451]},
++ {"id-cmc-transactionId", "id-cmc-transactionId", NID_id_cmc_transactionId, 8, &so[2459]},
++ {"id-cmc-senderNonce", "id-cmc-senderNonce", NID_id_cmc_senderNonce, 8, &so[2467]},
++ {"id-cmc-recipientNonce", "id-cmc-recipientNonce", NID_id_cmc_recipientNonce, 8, &so[2475]},
++ {"id-cmc-addExtensions", "id-cmc-addExtensions", NID_id_cmc_addExtensions, 8, &so[2483]},
++ {"id-cmc-encryptedPOP", "id-cmc-encryptedPOP", NID_id_cmc_encryptedPOP, 8, &so[2491]},
++ {"id-cmc-decryptedPOP", "id-cmc-decryptedPOP", NID_id_cmc_decryptedPOP, 8, &so[2499]},
++ {"id-cmc-lraPOPWitness", "id-cmc-lraPOPWitness", NID_id_cmc_lraPOPWitness, 8, &so[2507]},
++ {"id-cmc-getCert", "id-cmc-getCert", NID_id_cmc_getCert, 8, &so[2515]},
++ {"id-cmc-getCRL", "id-cmc-getCRL", NID_id_cmc_getCRL, 8, &so[2523]},
++ {"id-cmc-revokeRequest", "id-cmc-revokeRequest", NID_id_cmc_revokeRequest, 8, &so[2531]},
++ {"id-cmc-regInfo", "id-cmc-regInfo", NID_id_cmc_regInfo, 8, &so[2539]},
++ {"id-cmc-responseInfo", "id-cmc-responseInfo", NID_id_cmc_responseInfo, 8, &so[2547]},
++ {"id-cmc-queryPending", "id-cmc-queryPending", NID_id_cmc_queryPending, 8, &so[2555]},
++ {"id-cmc-popLinkRandom", "id-cmc-popLinkRandom", NID_id_cmc_popLinkRandom, 8, &so[2563]},
++ {"id-cmc-popLinkWitness", "id-cmc-popLinkWitness", NID_id_cmc_popLinkWitness, 8, &so[2571]},
++ {"id-cmc-confirmCertAcceptance", "id-cmc-confirmCertAcceptance", NID_id_cmc_confirmCertAcceptance, 8, &so[2579]},
++ {"id-on-personalData", "id-on-personalData", NID_id_on_personalData, 8, &so[2587]},
++ {"id-pda-dateOfBirth", "id-pda-dateOfBirth", NID_id_pda_dateOfBirth, 8, &so[2595]},
++ {"id-pda-placeOfBirth", "id-pda-placeOfBirth", NID_id_pda_placeOfBirth, 8, &so[2603]},
++ { NULL, NULL, NID_undef },
++ {"id-pda-gender", "id-pda-gender", NID_id_pda_gender, 8, &so[2611]},
++ {"id-pda-countryOfCitizenship", "id-pda-countryOfCitizenship", NID_id_pda_countryOfCitizenship, 8, &so[2619]},
++ {"id-pda-countryOfResidence", "id-pda-countryOfResidence", NID_id_pda_countryOfResidence, 8, &so[2627]},
++ {"id-aca-authenticationInfo", "id-aca-authenticationInfo", NID_id_aca_authenticationInfo, 8, &so[2635]},
++ {"id-aca-accessIdentity", "id-aca-accessIdentity", NID_id_aca_accessIdentity, 8, &so[2643]},
++ {"id-aca-chargingIdentity", "id-aca-chargingIdentity", NID_id_aca_chargingIdentity, 8, &so[2651]},
++ {"id-aca-group", "id-aca-group", NID_id_aca_group, 8, &so[2659]},
++ {"id-aca-role", "id-aca-role", NID_id_aca_role, 8, &so[2667]},
++ {"id-qcs-pkixQCSyntax-v1", "id-qcs-pkixQCSyntax-v1", NID_id_qcs_pkixQCSyntax_v1, 8, &so[2675]},
++ {"id-cct-crs", "id-cct-crs", NID_id_cct_crs, 8, &so[2683]},
++ {"id-cct-PKIData", "id-cct-PKIData", NID_id_cct_PKIData, 8, &so[2691]},
++ {"id-cct-PKIResponse", "id-cct-PKIResponse", NID_id_cct_PKIResponse, 8, &so[2699]},
++ {"ad_timestamping", "AD Time Stamping", NID_ad_timeStamping, 8, &so[2707]},
++ {"AD_DVCS", "ad dvcs", NID_ad_dvcs, 8, &so[2715]},
++ {"basicOCSPResponse", "Basic OCSP Response", NID_id_pkix_OCSP_basic, 9, &so[2723]},
++ {"Nonce", "OCSP Nonce", NID_id_pkix_OCSP_Nonce, 9, &so[2732]},
++ {"CrlID", "OCSP CRL ID", NID_id_pkix_OCSP_CrlID, 9, &so[2741]},
++ {"acceptableResponses", "Acceptable OCSP Responses", NID_id_pkix_OCSP_acceptableResponses, 9, &so[2750]},
++ {"noCheck", "OCSP No Check", NID_id_pkix_OCSP_noCheck, 9, &so[2759]},
++ {"archiveCutoff", "OCSP Archive Cutoff", NID_id_pkix_OCSP_archiveCutoff, 9, &so[2768]},
++ {"serviceLocator", "OCSP Service Locator", NID_id_pkix_OCSP_serviceLocator, 9, &so[2777]},
++ {"extendedStatus", "Extended OCSP Status", NID_id_pkix_OCSP_extendedStatus, 9, &so[2786]},
++ {"valid", "valid", NID_id_pkix_OCSP_valid, 9, &so[2795]},
++ {"path", "path", NID_id_pkix_OCSP_path, 9, &so[2804]},
++ {"trustRoot", "Trust Root", NID_id_pkix_OCSP_trustRoot, 9, &so[2813]},
++ {"algorithm", "algorithm", NID_algorithm, 4, &so[2822]},
++ {"rsaSignature", "rsaSignature", NID_rsaSignature, 5, &so[2826]},
++ {"X500algorithms", "directory services - algorithms", NID_X500algorithms, 2, &so[2831]},
++ {"ORG", "org", NID_org, 1, &so[2833]},
++ {"DOD", "dod", NID_dod, 2, &so[2834]},
++ {"IANA", "iana", NID_iana, 3, &so[2836]},
++ {"directory", "Directory", NID_Directory, 4, &so[2839]},
++ {"mgmt", "Management", NID_Management, 4, &so[2843]},
++ {"experimental", "Experimental", NID_Experimental, 4, &so[2847]},
++ {"private", "Private", NID_Private, 4, &so[2851]},
++ {"security", "Security", NID_Security, 4, &so[2855]},
++ {"snmpv2", "SNMPv2", NID_SNMPv2, 4, &so[2859]},
++ {"Mail", "Mail", NID_Mail, 4, &so[2863]},
++ {"enterprises", "Enterprises", NID_Enterprises, 5, &so[2867]},
++ {"dcobject", "dcObject", NID_dcObject, 9, &so[2872]},
++ {"DC", "domainComponent", NID_domainComponent, 10, &so[2881]},
++ {"domain", "Domain", NID_Domain, 10, &so[2891]},
++ {"NULL", "NULL", NID_joint_iso_ccitt},
++ {"selected-attribute-types", "Selected Attribute Types", NID_selected_attribute_types, 3, &so[2901]},
++ {"clearance", "clearance", NID_clearance, 4, &so[2904]},
++ {"RSA-MD4", "md4WithRSAEncryption", NID_md4WithRSAEncryption, 9, &so[2908]},
++ {"ac-proxying", "ac-proxying", NID_ac_proxying, 8, &so[2917]},
++ {"subjectInfoAccess", "Subject Information Access", NID_sinfo_access, 8, &so[2925]},
++ {"id-aca-encAttrs", "id-aca-encAttrs", NID_id_aca_encAttrs, 8, &so[2933]},
++ {"role", "role", NID_role, 3, &so[2941]},
++ {"policyConstraints", "X509v3 Policy Constraints", NID_policy_constraints, 3, &so[2944]},
++ {"targetInformation", "X509v3 AC Targeting", NID_target_information, 3, &so[2947]},
++ {"noRevAvail", "X509v3 No Revocation Available", NID_no_rev_avail, 3, &so[2950]},
++ {"NULL", "NULL", NID_ccitt},
++ {"ansi-X9-62", "ANSI X9.62", NID_ansi_X9_62, 5, &so[2953]},
++ {"prime-field", "prime-field", NID_X9_62_prime_field, 7, &so[2958]},
++ {"characteristic-two-field", "characteristic-two-field", NID_X9_62_characteristic_two_field, 7, &so[2965]},
++ {"id-ecPublicKey", "id-ecPublicKey", NID_X9_62_id_ecPublicKey, 7, &so[2972]},
++ {"prime192v1", "prime192v1", NID_X9_62_prime192v1, 8, &so[2979]},
++ {"prime192v2", "prime192v2", NID_X9_62_prime192v2, 8, &so[2987]},
++ {"prime192v3", "prime192v3", NID_X9_62_prime192v3, 8, &so[2995]},
++ {"prime239v1", "prime239v1", NID_X9_62_prime239v1, 8, &so[3003]},
++ {"prime239v2", "prime239v2", NID_X9_62_prime239v2, 8, &so[3011]},
++ {"prime239v3", "prime239v3", NID_X9_62_prime239v3, 8, &so[3019]},
++ {"prime256v1", "prime256v1", NID_X9_62_prime256v1, 8, &so[3027]},
++ {"ecdsa-with-SHA1", "ecdsa-with-SHA1", NID_ecdsa_with_SHA1, 7, &so[3035]},
++ {"CSPName", "Microsoft CSP Name", NID_ms_csp_name, 9, &so[3042]},
++ {"AES-128-ECB", "aes-128-ecb", NID_aes_128_ecb, 9, &so[3051]},
++ {"AES-128-CBC", "aes-128-cbc", NID_aes_128_cbc, 9, &so[3060]},
++ {"AES-128-OFB", "aes-128-ofb", NID_aes_128_ofb128, 9, &so[3069]},
++ {"AES-128-CFB", "aes-128-cfb", NID_aes_128_cfb128, 9, &so[3078]},
++ {"AES-192-ECB", "aes-192-ecb", NID_aes_192_ecb, 9, &so[3087]},
++ {"AES-192-CBC", "aes-192-cbc", NID_aes_192_cbc, 9, &so[3096]},
++ {"AES-192-OFB", "aes-192-ofb", NID_aes_192_ofb128, 9, &so[3105]},
++ {"AES-192-CFB", "aes-192-cfb", NID_aes_192_cfb128, 9, &so[3114]},
++ {"AES-256-ECB", "aes-256-ecb", NID_aes_256_ecb, 9, &so[3123]},
++ {"AES-256-CBC", "aes-256-cbc", NID_aes_256_cbc, 9, &so[3132]},
++ {"AES-256-OFB", "aes-256-ofb", NID_aes_256_ofb128, 9, &so[3141]},
++ {"AES-256-CFB", "aes-256-cfb", NID_aes_256_cfb128, 9, &so[3150]},
++ {"holdInstructionCode", "Hold Instruction Code", NID_hold_instruction_code, 3, &so[3159]},
++ {"holdInstructionNone", "Hold Instruction None", NID_hold_instruction_none, 7, &so[3162]},
++ {"holdInstructionCallIssuer", "Hold Instruction Call Issuer", NID_hold_instruction_call_issuer, 7, &so[3169]},
++ {"holdInstructionReject", "Hold Instruction Reject", NID_hold_instruction_reject, 7, &so[3176]},
++ {"data", "data", NID_data, 1, &so[3183]},
++ {"pss", "pss", NID_pss, 3, &so[3184]},
++ {"ucl", "ucl", NID_ucl, 7, &so[3187]},
++ {"pilot", "pilot", NID_pilot, 8, &so[3194]},
++ {"pilotAttributeType", "pilotAttributeType", NID_pilotAttributeType, 9, &so[3202]},
++ {"pilotAttributeSyntax", "pilotAttributeSyntax", NID_pilotAttributeSyntax, 9, &so[3211]},
++ {"pilotObjectClass", "pilotObjectClass", NID_pilotObjectClass, 9, &so[3220]},
++ {"pilotGroups", "pilotGroups", NID_pilotGroups, 9, &so[3229]},
++ {"iA5StringSyntax", "iA5StringSyntax", NID_iA5StringSyntax, 10, &so[3238]},
++ {"caseIgnoreIA5StringSyntax", "caseIgnoreIA5StringSyntax", NID_caseIgnoreIA5StringSyntax, 10, &so[3248]},
++ {"pilotObject", "pilotObject", NID_pilotObject, 10, &so[3258]},
++ {"pilotPerson", "pilotPerson", NID_pilotPerson, 10, &so[3268]},
++ {"account", "account", NID_account, 10, &so[3278]},
++ {"document", "document", NID_document, 10, &so[3288]},
++ {"room", "room", NID_room, 10, &so[3298]},
++ {"documentSeries", "documentSeries", NID_documentSeries, 10, &so[3308]},
++ {"rFC822localPart", "rFC822localPart", NID_rFC822localPart, 10, &so[3318]},
++ {"dNSDomain", "dNSDomain", NID_dNSDomain, 10, &so[3328]},
++ {"domainRelatedObject", "domainRelatedObject", NID_domainRelatedObject, 10, &so[3338]},
++ {"friendlyCountry", "friendlyCountry", NID_friendlyCountry, 10, &so[3348]},
++ {"simpleSecurityObject", "simpleSecurityObject", NID_simpleSecurityObject, 10, &so[3358]},
++ {"pilotOrganization", "pilotOrganization", NID_pilotOrganization, 10, &so[3368]},
++ {"pilotDSA", "pilotDSA", NID_pilotDSA, 10, &so[3378]},
++ {"qualityLabelledData", "qualityLabelledData", NID_qualityLabelledData, 10, &so[3388]},
++ {"UID", "userId", NID_userId, 10, &so[3398]},
++ {"textEncodedORAddress", "textEncodedORAddress", NID_textEncodedORAddress, 10, &so[3408]},
++ {"mail", "rfc822Mailbox", NID_rfc822Mailbox, 10, &so[3418]},
++ {"info", "info", NID_info, 10, &so[3428]},
++ {"favouriteDrink", "favouriteDrink", NID_favouriteDrink, 10, &so[3438]},
++ {"roomNumber", "roomNumber", NID_roomNumber, 10, &so[3448]},
++ {"photo", "photo", NID_photo, 10, &so[3458]},
++ {"userClass", "userClass", NID_userClass, 10, &so[3468]},
++ {"host", "host", NID_host, 10, &so[3478]},
++ {"manager", "manager", NID_manager, 10, &so[3488]},
++ {"documentIdentifier", "documentIdentifier", NID_documentIdentifier, 10, &so[3498]},
++ {"documentTitle", "documentTitle", NID_documentTitle, 10, &so[3508]},
++ {"documentVersion", "documentVersion", NID_documentVersion, 10, &so[3518]},
++ {"documentAuthor", "documentAuthor", NID_documentAuthor, 10, &so[3528]},
++ {"documentLocation", "documentLocation", NID_documentLocation, 10, &so[3538]},
++ {"homeTelephoneNumber", "homeTelephoneNumber", NID_homeTelephoneNumber, 10, &so[3548]},
++ {"secretary", "secretary", NID_secretary, 10, &so[3558]},
++ {"otherMailbox", "otherMailbox", NID_otherMailbox, 10, &so[3568]},
++ {"lastModifiedTime", "lastModifiedTime", NID_lastModifiedTime, 10, &so[3578]},
++ {"lastModifiedBy", "lastModifiedBy", NID_lastModifiedBy, 10, &so[3588]},
++ {"aRecord", "aRecord", NID_aRecord, 10, &so[3598]},
++ {"pilotAttributeType27", "pilotAttributeType27", NID_pilotAttributeType27, 10, &so[3608]},
++ {"mXRecord", "mXRecord", NID_mXRecord, 10, &so[3618]},
++ {"nSRecord", "nSRecord", NID_nSRecord, 10, &so[3628]},
++ {"sOARecord", "sOARecord", NID_sOARecord, 10, &so[3638]},
++ {"cNAMERecord", "cNAMERecord", NID_cNAMERecord, 10, &so[3648]},
++ {"associatedDomain", "associatedDomain", NID_associatedDomain, 10, &so[3658]},
++ {"associatedName", "associatedName", NID_associatedName, 10, &so[3668]},
++ {"homePostalAddress", "homePostalAddress", NID_homePostalAddress, 10, &so[3678]},
++ {"personalTitle", "personalTitle", NID_personalTitle, 10, &so[3688]},
++ {"mobileTelephoneNumber", "mobileTelephoneNumber", NID_mobileTelephoneNumber, 10, &so[3698]},
++ {"pagerTelephoneNumber", "pagerTelephoneNumber", NID_pagerTelephoneNumber, 10, &so[3708]},
++ {"friendlyCountryName", "friendlyCountryName", NID_friendlyCountryName, 10, &so[3718]},
++ {"organizationalStatus", "organizationalStatus", NID_organizationalStatus, 10, &so[3728]},
++ {"janetMailbox", "janetMailbox", NID_janetMailbox, 10, &so[3738]},
++ {"mailPreferenceOption", "mailPreferenceOption", NID_mailPreferenceOption, 10, &so[3748]},
++ {"buildingName", "buildingName", NID_buildingName, 10, &so[3758]},
++ {"dSAQuality", "dSAQuality", NID_dSAQuality, 10, &so[3768]},
++ {"singleLevelQuality", "singleLevelQuality", NID_singleLevelQuality, 10, &so[3778]},
++ {"subtreeMinimumQuality", "subtreeMinimumQuality", NID_subtreeMinimumQuality, 10, &so[3788]},
++ {"subtreeMaximumQuality", "subtreeMaximumQuality", NID_subtreeMaximumQuality, 10, &so[3798]},
++ {"personalSignature", "personalSignature", NID_personalSignature, 10, &so[3808]},
++ {"dITRedirect", "dITRedirect", NID_dITRedirect, 10, &so[3818]},
++ {"audio", "audio", NID_audio, 10, &so[3828]},
++ {"documentPublisher", "documentPublisher", NID_documentPublisher, 10, &so[3838]},
++ {"x500UniqueIdentifier", "x500UniqueIdentifier", NID_x500UniqueIdentifier, 3, &so[3848]},
++ {"mime-mhs", "MIME MHS", NID_mime_mhs, 5, &so[3851]},
++ {"mime-mhs-headings", "mime-mhs-headings", NID_mime_mhs_headings, 6, &so[3856]},
++ {"mime-mhs-bodies", "mime-mhs-bodies", NID_mime_mhs_bodies, 6, &so[3862]},
++ {"id-hex-partial-message", "id-hex-partial-message", NID_id_hex_partial_message, 7, &so[3868]},
++ {"id-hex-multipart-message", "id-hex-multipart-message", NID_id_hex_multipart_message, 7, &so[3875]},
++ {"generationQualifier", "generationQualifier", NID_generationQualifier, 3, &so[3882]},
++ {"pseudonym", "pseudonym", NID_pseudonym, 3, &so[3885]},
++ { NULL, NULL, NID_undef },
++ {"id-set", "Secure Electronic Transactions", NID_id_set, 2, &so[3888]},
++ {"set-ctype", "content types", NID_set_ctype, 3, &so[3890]},
++ {"set-msgExt", "message extensions", NID_set_msgExt, 3, &so[3893]},
++ {"set-attr", "set-attr", NID_set_attr, 3, &so[3896]},
++ {"set-policy", "set-policy", NID_set_policy, 3, &so[3899]},
++ {"set-certExt", "certificate extensions", NID_set_certExt, 3, &so[3902]},
++ {"set-brand", "set-brand", NID_set_brand, 3, &so[3905]},
++ {"setct-PANData", "setct-PANData", NID_setct_PANData, 4, &so[3908]},
++ {"setct-PANToken", "setct-PANToken", NID_setct_PANToken, 4, &so[3912]},
++ {"setct-PANOnly", "setct-PANOnly", NID_setct_PANOnly, 4, &so[3916]},
++ {"setct-OIData", "setct-OIData", NID_setct_OIData, 4, &so[3920]},
++ {"setct-PI", "setct-PI", NID_setct_PI, 4, &so[3924]},
++ {"setct-PIData", "setct-PIData", NID_setct_PIData, 4, &so[3928]},
++ {"setct-PIDataUnsigned", "setct-PIDataUnsigned", NID_setct_PIDataUnsigned, 4, &so[3932]},
++ {"setct-HODInput", "setct-HODInput", NID_setct_HODInput, 4, &so[3936]},
++ {"setct-AuthResBaggage", "setct-AuthResBaggage", NID_setct_AuthResBaggage, 4, &so[3940]},
++ {"setct-AuthRevReqBaggage", "setct-AuthRevReqBaggage", NID_setct_AuthRevReqBaggage, 4, &so[3944]},
++ {"setct-AuthRevResBaggage", "setct-AuthRevResBaggage", NID_setct_AuthRevResBaggage, 4, &so[3948]},
++ {"setct-CapTokenSeq", "setct-CapTokenSeq", NID_setct_CapTokenSeq, 4, &so[3952]},
++ {"setct-PInitResData", "setct-PInitResData", NID_setct_PInitResData, 4, &so[3956]},
++ {"setct-PI-TBS", "setct-PI-TBS", NID_setct_PI_TBS, 4, &so[3960]},
++ {"setct-PResData", "setct-PResData", NID_setct_PResData, 4, &so[3964]},
++ {"setct-AuthReqTBS", "setct-AuthReqTBS", NID_setct_AuthReqTBS, 4, &so[3968]},
++ {"setct-AuthResTBS", "setct-AuthResTBS", NID_setct_AuthResTBS, 4, &so[3972]},
++ {"setct-AuthResTBSX", "setct-AuthResTBSX", NID_setct_AuthResTBSX, 4, &so[3976]},
++ {"setct-AuthTokenTBS", "setct-AuthTokenTBS", NID_setct_AuthTokenTBS, 4, &so[3980]},
++ {"setct-CapTokenData", "setct-CapTokenData", NID_setct_CapTokenData, 4, &so[3984]},
++ {"setct-CapTokenTBS", "setct-CapTokenTBS", NID_setct_CapTokenTBS, 4, &so[3988]},
++ {"setct-AcqCardCodeMsg", "setct-AcqCardCodeMsg", NID_setct_AcqCardCodeMsg, 4, &so[3992]},
++ {"setct-AuthRevReqTBS", "setct-AuthRevReqTBS", NID_setct_AuthRevReqTBS, 4, &so[3996]},
++ {"setct-AuthRevResData", "setct-AuthRevResData", NID_setct_AuthRevResData, 4, &so[4000]},
++ {"setct-AuthRevResTBS", "setct-AuthRevResTBS", NID_setct_AuthRevResTBS, 4, &so[4004]},
++ {"setct-CapReqTBS", "setct-CapReqTBS", NID_setct_CapReqTBS, 4, &so[4008]},
++ {"setct-CapReqTBSX", "setct-CapReqTBSX", NID_setct_CapReqTBSX, 4, &so[4012]},
++ {"setct-CapResData", "setct-CapResData", NID_setct_CapResData, 4, &so[4016]},
++ {"setct-CapRevReqTBS", "setct-CapRevReqTBS", NID_setct_CapRevReqTBS, 4, &so[4020]},
++ {"setct-CapRevReqTBSX", "setct-CapRevReqTBSX", NID_setct_CapRevReqTBSX, 4, &so[4024]},
++ {"setct-CapRevResData", "setct-CapRevResData", NID_setct_CapRevResData, 4, &so[4028]},
++ {"setct-CredReqTBS", "setct-CredReqTBS", NID_setct_CredReqTBS, 4, &so[4032]},
++ {"setct-CredReqTBSX", "setct-CredReqTBSX", NID_setct_CredReqTBSX, 4, &so[4036]},
++ {"setct-CredResData", "setct-CredResData", NID_setct_CredResData, 4, &so[4040]},
++ {"setct-CredRevReqTBS", "setct-CredRevReqTBS", NID_setct_CredRevReqTBS, 4, &so[4044]},
++ {"setct-CredRevReqTBSX", "setct-CredRevReqTBSX", NID_setct_CredRevReqTBSX, 4, &so[4048]},
++ {"setct-CredRevResData", "setct-CredRevResData", NID_setct_CredRevResData, 4, &so[4052]},
++ {"setct-PCertReqData", "setct-PCertReqData", NID_setct_PCertReqData, 4, &so[4056]},
++ {"setct-PCertResTBS", "setct-PCertResTBS", NID_setct_PCertResTBS, 4, &so[4060]},
++ {"setct-BatchAdminReqData", "setct-BatchAdminReqData", NID_setct_BatchAdminReqData, 4, &so[4064]},
++ {"setct-BatchAdminResData", "setct-BatchAdminResData", NID_setct_BatchAdminResData, 4, &so[4068]},
++ {"setct-CardCInitResTBS", "setct-CardCInitResTBS", NID_setct_CardCInitResTBS, 4, &so[4072]},
++ {"setct-MeAqCInitResTBS", "setct-MeAqCInitResTBS", NID_setct_MeAqCInitResTBS, 4, &so[4076]},
++ {"setct-RegFormResTBS", "setct-RegFormResTBS", NID_setct_RegFormResTBS, 4, &so[4080]},
++ {"setct-CertReqData", "setct-CertReqData", NID_setct_CertReqData, 4, &so[4084]},
++ {"setct-CertReqTBS", "setct-CertReqTBS", NID_setct_CertReqTBS, 4, &so[4088]},
++ {"setct-CertResData", "setct-CertResData", NID_setct_CertResData, 4, &so[4092]},
++ {"setct-CertInqReqTBS", "setct-CertInqReqTBS", NID_setct_CertInqReqTBS, 4, &so[4096]},
++ {"setct-ErrorTBS", "setct-ErrorTBS", NID_setct_ErrorTBS, 4, &so[4100]},
++ {"setct-PIDualSignedTBE", "setct-PIDualSignedTBE", NID_setct_PIDualSignedTBE, 4, &so[4104]},
++ {"setct-PIUnsignedTBE", "setct-PIUnsignedTBE", NID_setct_PIUnsignedTBE, 4, &so[4108]},
++ {"setct-AuthReqTBE", "setct-AuthReqTBE", NID_setct_AuthReqTBE, 4, &so[4112]},
++ {"setct-AuthResTBE", "setct-AuthResTBE", NID_setct_AuthResTBE, 4, &so[4116]},
++ {"setct-AuthResTBEX", "setct-AuthResTBEX", NID_setct_AuthResTBEX, 4, &so[4120]},
++ {"setct-AuthTokenTBE", "setct-AuthTokenTBE", NID_setct_AuthTokenTBE, 4, &so[4124]},
++ {"setct-CapTokenTBE", "setct-CapTokenTBE", NID_setct_CapTokenTBE, 4, &so[4128]},
++ {"setct-CapTokenTBEX", "setct-CapTokenTBEX", NID_setct_CapTokenTBEX, 4, &so[4132]},
++ {"setct-AcqCardCodeMsgTBE", "setct-AcqCardCodeMsgTBE", NID_setct_AcqCardCodeMsgTBE, 4, &so[4136]},
++ {"setct-AuthRevReqTBE", "setct-AuthRevReqTBE", NID_setct_AuthRevReqTBE, 4, &so[4140]},
++ {"setct-AuthRevResTBE", "setct-AuthRevResTBE", NID_setct_AuthRevResTBE, 4, &so[4144]},
++ {"setct-AuthRevResTBEB", "setct-AuthRevResTBEB", NID_setct_AuthRevResTBEB, 4, &so[4148]},
++ {"setct-CapReqTBE", "setct-CapReqTBE", NID_setct_CapReqTBE, 4, &so[4152]},
++ {"setct-CapReqTBEX", "setct-CapReqTBEX", NID_setct_CapReqTBEX, 4, &so[4156]},
++ {"setct-CapResTBE", "setct-CapResTBE", NID_setct_CapResTBE, 4, &so[4160]},
++ {"setct-CapRevReqTBE", "setct-CapRevReqTBE", NID_setct_CapRevReqTBE, 4, &so[4164]},
++ {"setct-CapRevReqTBEX", "setct-CapRevReqTBEX", NID_setct_CapRevReqTBEX, 4, &so[4168]},
++ {"setct-CapRevResTBE", "setct-CapRevResTBE", NID_setct_CapRevResTBE, 4, &so[4172]},
++ {"setct-CredReqTBE", "setct-CredReqTBE", NID_setct_CredReqTBE, 4, &so[4176]},
++ {"setct-CredReqTBEX", "setct-CredReqTBEX", NID_setct_CredReqTBEX, 4, &so[4180]},
++ {"setct-CredResTBE", "setct-CredResTBE", NID_setct_CredResTBE, 4, &so[4184]},
++ {"setct-CredRevReqTBE", "setct-CredRevReqTBE", NID_setct_CredRevReqTBE, 4, &so[4188]},
++ {"setct-CredRevReqTBEX", "setct-CredRevReqTBEX", NID_setct_CredRevReqTBEX, 4, &so[4192]},
++ {"setct-CredRevResTBE", "setct-CredRevResTBE", NID_setct_CredRevResTBE, 4, &so[4196]},
++ {"setct-BatchAdminReqTBE", "setct-BatchAdminReqTBE", NID_setct_BatchAdminReqTBE, 4, &so[4200]},
++ {"setct-BatchAdminResTBE", "setct-BatchAdminResTBE", NID_setct_BatchAdminResTBE, 4, &so[4204]},
++ {"setct-RegFormReqTBE", "setct-RegFormReqTBE", NID_setct_RegFormReqTBE, 4, &so[4208]},
++ {"setct-CertReqTBE", "setct-CertReqTBE", NID_setct_CertReqTBE, 4, &so[4212]},
++ {"setct-CertReqTBEX", "setct-CertReqTBEX", NID_setct_CertReqTBEX, 4, &so[4216]},
++ {"setct-CertResTBE", "setct-CertResTBE", NID_setct_CertResTBE, 4, &so[4220]},
++ {"setct-CRLNotificationTBS", "setct-CRLNotificationTBS", NID_setct_CRLNotificationTBS, 4, &so[4224]},
++ {"setct-CRLNotificationResTBS", "setct-CRLNotificationResTBS", NID_setct_CRLNotificationResTBS, 4, &so[4228]},
++ {"setct-BCIDistributionTBS", "setct-BCIDistributionTBS", NID_setct_BCIDistributionTBS, 4, &so[4232]},
++ {"setext-genCrypt", "generic cryptogram", NID_setext_genCrypt, 4, &so[4236]},
++ {"setext-miAuth", "merchant initiated auth", NID_setext_miAuth, 4, &so[4240]},
++ {"setext-pinSecure", "setext-pinSecure", NID_setext_pinSecure, 4, &so[4244]},
++ {"setext-pinAny", "setext-pinAny", NID_setext_pinAny, 4, &so[4248]},
++ {"setext-track2", "setext-track2", NID_setext_track2, 4, &so[4252]},
++ {"setext-cv", "additional verification", NID_setext_cv, 4, &so[4256]},
++ {"set-policy-root", "set-policy-root", NID_set_policy_root, 4, &so[4260]},
++ {"setCext-hashedRoot", "setCext-hashedRoot", NID_setCext_hashedRoot, 4, &so[4264]},
++ {"setCext-certType", "setCext-certType", NID_setCext_certType, 4, &so[4268]},
++ {"setCext-merchData", "setCext-merchData", NID_setCext_merchData, 4, &so[4272]},
++ {"setCext-cCertRequired", "setCext-cCertRequired", NID_setCext_cCertRequired, 4, &so[4276]},
++ {"setCext-tunneling", "setCext-tunneling", NID_setCext_tunneling, 4, &so[4280]},
++ {"setCext-setExt", "setCext-setExt", NID_setCext_setExt, 4, &so[4284]},
++ {"setCext-setQualf", "setCext-setQualf", NID_setCext_setQualf, 4, &so[4288]},
++ {"setCext-PGWYcapabilities", "setCext-PGWYcapabilities", NID_setCext_PGWYcapabilities, 4, &so[4292]},
++ {"setCext-TokenIdentifier", "setCext-TokenIdentifier", NID_setCext_TokenIdentifier, 4, &so[4296]},
++ {"setCext-Track2Data", "setCext-Track2Data", NID_setCext_Track2Data, 4, &so[4300]},
++ {"setCext-TokenType", "setCext-TokenType", NID_setCext_TokenType, 4, &so[4304]},
++ {"setCext-IssuerCapabilities", "setCext-IssuerCapabilities", NID_setCext_IssuerCapabilities, 4, &so[4308]},
++ {"setAttr-Cert", "setAttr-Cert", NID_setAttr_Cert, 4, &so[4312]},
++ {"setAttr-PGWYcap", "payment gateway capabilities", NID_setAttr_PGWYcap, 4, &so[4316]},
++ {"setAttr-TokenType", "setAttr-TokenType", NID_setAttr_TokenType, 4, &so[4320]},
++ {"setAttr-IssCap", "issuer capabilities", NID_setAttr_IssCap, 4, &so[4324]},
++ {"set-rootKeyThumb", "set-rootKeyThumb", NID_set_rootKeyThumb, 5, &so[4328]},
++ {"set-addPolicy", "set-addPolicy", NID_set_addPolicy, 5, &so[4333]},
++ {"setAttr-Token-EMV", "setAttr-Token-EMV", NID_setAttr_Token_EMV, 5, &so[4338]},
++ {"setAttr-Token-B0Prime", "setAttr-Token-B0Prime", NID_setAttr_Token_B0Prime, 5, &so[4343]},
++ {"setAttr-IssCap-CVM", "setAttr-IssCap-CVM", NID_setAttr_IssCap_CVM, 5, &so[4348]},
++ {"setAttr-IssCap-T2", "setAttr-IssCap-T2", NID_setAttr_IssCap_T2, 5, &so[4353]},
++ {"setAttr-IssCap-Sig", "setAttr-IssCap-Sig", NID_setAttr_IssCap_Sig, 5, &so[4358]},
++ {"setAttr-GenCryptgrm", "generate cryptogram", NID_setAttr_GenCryptgrm, 6, &so[4363]},
++ {"setAttr-T2Enc", "encrypted track 2", NID_setAttr_T2Enc, 6, &so[4369]},
++ {"setAttr-T2cleartxt", "cleartext track 2", NID_setAttr_T2cleartxt, 6, &so[4375]},
++ {"setAttr-TokICCsig", "ICC or token signature", NID_setAttr_TokICCsig, 6, &so[4381]},
++ {"setAttr-SecDevSig", "secure device signature", NID_setAttr_SecDevSig, 6, &so[4387]},
++ {"set-brand-IATA-ATA", "set-brand-IATA-ATA", NID_set_brand_IATA_ATA, 4, &so[4393]},
++ {"set-brand-Diners", "set-brand-Diners", NID_set_brand_Diners, 4, &so[4397]},
++ {"set-brand-AmericanExpress", "set-brand-AmericanExpress", NID_set_brand_AmericanExpress, 4, &so[4401]},
++ {"set-brand-JCB", "set-brand-JCB", NID_set_brand_JCB, 4, &so[4405]},
++ {"set-brand-Visa", "set-brand-Visa", NID_set_brand_Visa, 4, &so[4409]},
++ {"set-brand-MasterCard", "set-brand-MasterCard", NID_set_brand_MasterCard, 4, &so[4413]},
++ {"set-brand-Novus", "set-brand-Novus", NID_set_brand_Novus, 5, &so[4417]},
++ {"DES-CDMF", "des-cdmf", NID_des_cdmf, 8, &so[4422]},
++ {"rsaOAEPEncryptionSET", "rsaOAEPEncryptionSET", NID_rsaOAEPEncryptionSET, 9, &so[4430]},
++ {"ITU-T", "itu-t", NID_itu_t},
++ {"JOINT-ISO-ITU-T", "joint-iso-itu-t", NID_joint_iso_itu_t},
++ {"international-organizations", "International Organizations", NID_international_organizations, 1, &so[4439]},
++ {"msSmartcardLogin", "Microsoft Smartcardlogin", NID_ms_smartcard_login, 10, &so[4440]},
++ {"msUPN", "Microsoft Universal Principal Name", NID_ms_upn, 10, &so[4450]},
++ {"AES-128-CFB1", "aes-128-cfb1", NID_aes_128_cfb1},
++ {"AES-192-CFB1", "aes-192-cfb1", NID_aes_192_cfb1},
++ {"AES-256-CFB1", "aes-256-cfb1", NID_aes_256_cfb1},
++ {"AES-128-CFB8", "aes-128-cfb8", NID_aes_128_cfb8},
++ {"AES-192-CFB8", "aes-192-cfb8", NID_aes_192_cfb8},
++ {"AES-256-CFB8", "aes-256-cfb8", NID_aes_256_cfb8},
++ {"DES-CFB1", "des-cfb1", NID_des_cfb1},
++ {"DES-CFB8", "des-cfb8", NID_des_cfb8},
++ {"DES-EDE3-CFB1", "des-ede3-cfb1", NID_des_ede3_cfb1},
++ {"DES-EDE3-CFB8", "des-ede3-cfb8", NID_des_ede3_cfb8},
++ {"street", "streetAddress", NID_streetAddress, 3, &so[4460]},
++ {"postalCode", "postalCode", NID_postalCode, 3, &so[4463]},
++ {"id-ppl", "id-ppl", NID_id_ppl, 7, &so[4466]},
++ {"proxyCertInfo", "Proxy Certificate Information", NID_proxyCertInfo, 8, &so[4473]},
++ {"id-ppl-anyLanguage", "Any language", NID_id_ppl_anyLanguage, 8, &so[4481]},
++ {"id-ppl-inheritAll", "Inherit all", NID_id_ppl_inheritAll, 8, &so[4489]},
++ {"nameConstraints", "X509v3 Name Constraints", NID_name_constraints, 3, &so[4497]},
++ {"id-ppl-independent", "Independent", NID_Independent, 8, &so[4500]},
++ {"RSA-SHA256", "sha256WithRSAEncryption", NID_sha256WithRSAEncryption, 9, &so[4508]},
++ {"RSA-SHA384", "sha384WithRSAEncryption", NID_sha384WithRSAEncryption, 9, &so[4517]},
++ {"RSA-SHA512", "sha512WithRSAEncryption", NID_sha512WithRSAEncryption, 9, &so[4526]},
++ {"RSA-SHA224", "sha224WithRSAEncryption", NID_sha224WithRSAEncryption, 9, &so[4535]},
++ {"SHA256", "sha256", NID_sha256, 9, &so[4544]},
++ {"SHA384", "sha384", NID_sha384, 9, &so[4553]},
++ {"SHA512", "sha512", NID_sha512, 9, &so[4562]},
++ {"SHA224", "sha224", NID_sha224, 9, &so[4571]},
++ {"identified-organization", "identified-organization", NID_identified_organization, 1, &so[4580]},
++ {"certicom-arc", "certicom-arc", NID_certicom_arc, 3, &so[4581]},
++ {"wap", "wap", NID_wap, 2, &so[4584]},
++ {"wap-wsg", "wap-wsg", NID_wap_wsg, 3, &so[4586]},
++ {"id-characteristic-two-basis", "id-characteristic-two-basis", NID_X9_62_id_characteristic_two_basis, 8, &so[4589]},
++ {"onBasis", "onBasis", NID_X9_62_onBasis, 9, &so[4597]},
++ {"tpBasis", "tpBasis", NID_X9_62_tpBasis, 9, &so[4606]},
++ {"ppBasis", "ppBasis", NID_X9_62_ppBasis, 9, &so[4615]},
++ {"c2pnb163v1", "c2pnb163v1", NID_X9_62_c2pnb163v1, 8, &so[4624]},
++ {"c2pnb163v2", "c2pnb163v2", NID_X9_62_c2pnb163v2, 8, &so[4632]},
++ {"c2pnb163v3", "c2pnb163v3", NID_X9_62_c2pnb163v3, 8, &so[4640]},
++ {"c2pnb176v1", "c2pnb176v1", NID_X9_62_c2pnb176v1, 8, &so[4648]},
++ {"c2tnb191v1", "c2tnb191v1", NID_X9_62_c2tnb191v1, 8, &so[4656]},
++ {"c2tnb191v2", "c2tnb191v2", NID_X9_62_c2tnb191v2, 8, &so[4664]},
++ {"c2tnb191v3", "c2tnb191v3", NID_X9_62_c2tnb191v3, 8, &so[4672]},
++ {"c2onb191v4", "c2onb191v4", NID_X9_62_c2onb191v4, 8, &so[4680]},
++ {"c2onb191v5", "c2onb191v5", NID_X9_62_c2onb191v5, 8, &so[4688]},
++ {"c2pnb208w1", "c2pnb208w1", NID_X9_62_c2pnb208w1, 8, &so[4696]},
++ {"c2tnb239v1", "c2tnb239v1", NID_X9_62_c2tnb239v1, 8, &so[4704]},
++ {"c2tnb239v2", "c2tnb239v2", NID_X9_62_c2tnb239v2, 8, &so[4712]},
++ {"c2tnb239v3", "c2tnb239v3", NID_X9_62_c2tnb239v3, 8, &so[4720]},
++ {"c2onb239v4", "c2onb239v4", NID_X9_62_c2onb239v4, 8, &so[4728]},
++ {"c2onb239v5", "c2onb239v5", NID_X9_62_c2onb239v5, 8, &so[4736]},
++ {"c2pnb272w1", "c2pnb272w1", NID_X9_62_c2pnb272w1, 8, &so[4744]},
++ {"c2pnb304w1", "c2pnb304w1", NID_X9_62_c2pnb304w1, 8, &so[4752]},
++ {"c2tnb359v1", "c2tnb359v1", NID_X9_62_c2tnb359v1, 8, &so[4760]},
++ {"c2pnb368w1", "c2pnb368w1", NID_X9_62_c2pnb368w1, 8, &so[4768]},
++ {"c2tnb431r1", "c2tnb431r1", NID_X9_62_c2tnb431r1, 8, &so[4776]},
++ {"secp112r1", "secp112r1", NID_secp112r1, 5, &so[4784]},
++ {"secp112r2", "secp112r2", NID_secp112r2, 5, &so[4789]},
++ {"secp128r1", "secp128r1", NID_secp128r1, 5, &so[4794]},
++ {"secp128r2", "secp128r2", NID_secp128r2, 5, &so[4799]},
++ {"secp160k1", "secp160k1", NID_secp160k1, 5, &so[4804]},
++ {"secp160r1", "secp160r1", NID_secp160r1, 5, &so[4809]},
++ {"secp160r2", "secp160r2", NID_secp160r2, 5, &so[4814]},
++ {"secp192k1", "secp192k1", NID_secp192k1, 5, &so[4819]},
++ {"secp224k1", "secp224k1", NID_secp224k1, 5, &so[4824]},
++ {"secp224r1", "secp224r1", NID_secp224r1, 5, &so[4829]},
++ {"secp256k1", "secp256k1", NID_secp256k1, 5, &so[4834]},
++ {"secp384r1", "secp384r1", NID_secp384r1, 5, &so[4839]},
++ {"secp521r1", "secp521r1", NID_secp521r1, 5, &so[4844]},
++ {"sect113r1", "sect113r1", NID_sect113r1, 5, &so[4849]},
++ {"sect113r2", "sect113r2", NID_sect113r2, 5, &so[4854]},
++ {"sect131r1", "sect131r1", NID_sect131r1, 5, &so[4859]},
++ {"sect131r2", "sect131r2", NID_sect131r2, 5, &so[4864]},
++ {"sect163k1", "sect163k1", NID_sect163k1, 5, &so[4869]},
++ {"sect163r1", "sect163r1", NID_sect163r1, 5, &so[4874]},
++ {"sect163r2", "sect163r2", NID_sect163r2, 5, &so[4879]},
++ {"sect193r1", "sect193r1", NID_sect193r1, 5, &so[4884]},
++ {"sect193r2", "sect193r2", NID_sect193r2, 5, &so[4889]},
++ {"sect233k1", "sect233k1", NID_sect233k1, 5, &so[4894]},
++ {"sect233r1", "sect233r1", NID_sect233r1, 5, &so[4899]},
++ {"sect239k1", "sect239k1", NID_sect239k1, 5, &so[4904]},
++ {"sect283k1", "sect283k1", NID_sect283k1, 5, &so[4909]},
++ {"sect283r1", "sect283r1", NID_sect283r1, 5, &so[4914]},
++ {"sect409k1", "sect409k1", NID_sect409k1, 5, &so[4919]},
++ {"sect409r1", "sect409r1", NID_sect409r1, 5, &so[4924]},
++ {"sect571k1", "sect571k1", NID_sect571k1, 5, &so[4929]},
++ {"sect571r1", "sect571r1", NID_sect571r1, 5, &so[4934]},
++ {"wap-wsg-idm-ecid-wtls1", "wap-wsg-idm-ecid-wtls1", NID_wap_wsg_idm_ecid_wtls1, 5, &so[4939]},
++ {"wap-wsg-idm-ecid-wtls3", "wap-wsg-idm-ecid-wtls3", NID_wap_wsg_idm_ecid_wtls3, 5, &so[4944]},
++ {"wap-wsg-idm-ecid-wtls4", "wap-wsg-idm-ecid-wtls4", NID_wap_wsg_idm_ecid_wtls4, 5, &so[4949]},
++ {"wap-wsg-idm-ecid-wtls5", "wap-wsg-idm-ecid-wtls5", NID_wap_wsg_idm_ecid_wtls5, 5, &so[4954]},
++ {"wap-wsg-idm-ecid-wtls6", "wap-wsg-idm-ecid-wtls6", NID_wap_wsg_idm_ecid_wtls6, 5, &so[4959]},
++ {"wap-wsg-idm-ecid-wtls7", "wap-wsg-idm-ecid-wtls7", NID_wap_wsg_idm_ecid_wtls7, 5, &so[4964]},
++ {"wap-wsg-idm-ecid-wtls8", "wap-wsg-idm-ecid-wtls8", NID_wap_wsg_idm_ecid_wtls8, 5, &so[4969]},
++ {"wap-wsg-idm-ecid-wtls9", "wap-wsg-idm-ecid-wtls9", NID_wap_wsg_idm_ecid_wtls9, 5, &so[4974]},
++ {"wap-wsg-idm-ecid-wtls10", "wap-wsg-idm-ecid-wtls10", NID_wap_wsg_idm_ecid_wtls10, 5, &so[4979]},
++ {"wap-wsg-idm-ecid-wtls11", "wap-wsg-idm-ecid-wtls11", NID_wap_wsg_idm_ecid_wtls11, 5, &so[4984]},
++ {"wap-wsg-idm-ecid-wtls12", "wap-wsg-idm-ecid-wtls12", NID_wap_wsg_idm_ecid_wtls12, 5, &so[4989]},
++ {"anyPolicy", "X509v3 Any Policy", NID_any_policy, 4, &so[4994]},
++ {"policyMappings", "X509v3 Policy Mappings", NID_policy_mappings, 3, &so[4998]},
++ {"inhibitAnyPolicy", "X509v3 Inhibit Any Policy", NID_inhibit_any_policy, 3, &so[5001]},
++ {"Oakley-EC2N-3", "ipsec3", NID_ipsec3},
++ {"Oakley-EC2N-4", "ipsec4", NID_ipsec4},
++ {"CAMELLIA-128-CBC", "camellia-128-cbc", NID_camellia_128_cbc, 11, &so[5004]},
++ {"CAMELLIA-192-CBC", "camellia-192-cbc", NID_camellia_192_cbc, 11, &so[5015]},
++ {"CAMELLIA-256-CBC", "camellia-256-cbc", NID_camellia_256_cbc, 11, &so[5026]},
++ {"CAMELLIA-128-ECB", "camellia-128-ecb", NID_camellia_128_ecb, 8, &so[5037]},
++ {"CAMELLIA-192-ECB", "camellia-192-ecb", NID_camellia_192_ecb, 8, &so[5045]},
++ {"CAMELLIA-256-ECB", "camellia-256-ecb", NID_camellia_256_ecb, 8, &so[5053]},
++ {"CAMELLIA-128-CFB", "camellia-128-cfb", NID_camellia_128_cfb128, 8, &so[5061]},
++ {"CAMELLIA-192-CFB", "camellia-192-cfb", NID_camellia_192_cfb128, 8, &so[5069]},
++ {"CAMELLIA-256-CFB", "camellia-256-cfb", NID_camellia_256_cfb128, 8, &so[5077]},
++ {"CAMELLIA-128-CFB1", "camellia-128-cfb1", NID_camellia_128_cfb1},
++ {"CAMELLIA-192-CFB1", "camellia-192-cfb1", NID_camellia_192_cfb1},
++ {"CAMELLIA-256-CFB1", "camellia-256-cfb1", NID_camellia_256_cfb1},
++ {"CAMELLIA-128-CFB8", "camellia-128-cfb8", NID_camellia_128_cfb8},
++ {"CAMELLIA-192-CFB8", "camellia-192-cfb8", NID_camellia_192_cfb8},
++ {"CAMELLIA-256-CFB8", "camellia-256-cfb8", NID_camellia_256_cfb8},
++ {"CAMELLIA-128-OFB", "camellia-128-ofb", NID_camellia_128_ofb128, 8, &so[5085]},
++ {"CAMELLIA-192-OFB", "camellia-192-ofb", NID_camellia_192_ofb128, 8, &so[5093]},
++ {"CAMELLIA-256-OFB", "camellia-256-ofb", NID_camellia_256_ofb128, 8, &so[5101]},
++ {"subjectDirectoryAttributes", "X509v3 Subject Directory Attributes", NID_subject_directory_attributes, 3, &so[5109]},
++ {"issuingDistributionPoint", "X509v3 Issuing Distribution Point", NID_issuing_distribution_point, 3, &so[5112]},
++ {"certificateIssuer", "X509v3 Certificate Issuer", NID_certificate_issuer, 3, &so[5115]},
++ { NULL, NULL, NID_undef },
++ {"KISA", "kisa", NID_kisa, 6, &so[5118]},
++ { NULL, NULL, NID_undef },
++ { NULL, NULL, NID_undef },
++ {"SEED-ECB", "seed-ecb", NID_seed_ecb, 8, &so[5124]},
++ {"SEED-CBC", "seed-cbc", NID_seed_cbc, 8, &so[5132]},
++ {"SEED-OFB", "seed-ofb", NID_seed_ofb128, 8, &so[5140]},
++ {"SEED-CFB", "seed-cfb", NID_seed_cfb128, 8, &so[5148]},
++ {"HMAC-MD5", "hmac-md5", NID_hmac_md5, 8, &so[5156]},
++ {"HMAC-SHA1", "hmac-sha1", NID_hmac_sha1, 8, &so[5164]},
++ {"id-PasswordBasedMAC", "password based MAC", NID_id_PasswordBasedMAC, 9, &so[5172]},
++ {"id-DHBasedMac", "Diffie-Hellman based MAC", NID_id_DHBasedMac, 9, &so[5181]},
++ {"id-it-suppLangTags", "id-it-suppLangTags", NID_id_it_suppLangTags, 8, &so[5190]},
++ {"caRepository", "CA Repository", NID_caRepository, 8, &so[5198]},
++ {"id-smime-ct-compressedData", "id-smime-ct-compressedData", NID_id_smime_ct_compressedData, 11, &so[5206]},
++ {"id-ct-asciiTextWithCRLF", "id-ct-asciiTextWithCRLF", NID_id_ct_asciiTextWithCRLF, 11, &so[5217]},
++ {"id-aes128-wrap", "id-aes128-wrap", NID_id_aes128_wrap, 9, &so[5228]},
++ {"id-aes192-wrap", "id-aes192-wrap", NID_id_aes192_wrap, 9, &so[5237]},
++ {"id-aes256-wrap", "id-aes256-wrap", NID_id_aes256_wrap, 9, &so[5246]},
++ {"ecdsa-with-Recommended", "ecdsa-with-Recommended", NID_ecdsa_with_Recommended, 7, &so[5255]},
++ {"ecdsa-with-Specified", "ecdsa-with-Specified", NID_ecdsa_with_Specified, 7, &so[5262]},
++ {"ecdsa-with-SHA224", "ecdsa-with-SHA224", NID_ecdsa_with_SHA224, 8, &so[5269]},
++ {"ecdsa-with-SHA256", "ecdsa-with-SHA256", NID_ecdsa_with_SHA256, 8, &so[5277]},
++ {"ecdsa-with-SHA384", "ecdsa-with-SHA384", NID_ecdsa_with_SHA384, 8, &so[5285]},
++ {"ecdsa-with-SHA512", "ecdsa-with-SHA512", NID_ecdsa_with_SHA512, 8, &so[5293]},
++ {"hmacWithMD5", "hmacWithMD5", NID_hmacWithMD5, 8, &so[5301]},
++ {"hmacWithSHA224", "hmacWithSHA224", NID_hmacWithSHA224, 8, &so[5309]},
++ {"hmacWithSHA256", "hmacWithSHA256", NID_hmacWithSHA256, 8, &so[5317]},
++ {"hmacWithSHA384", "hmacWithSHA384", NID_hmacWithSHA384, 8, &so[5325]},
++ {"hmacWithSHA512", "hmacWithSHA512", NID_hmacWithSHA512, 8, &so[5333]},
++ {"dsa_with_SHA224", "dsa_with_SHA224", NID_dsa_with_SHA224, 9, &so[5341]},
++ {"dsa_with_SHA256", "dsa_with_SHA256", NID_dsa_with_SHA256, 9, &so[5350]},
++ {"whirlpool", "whirlpool", NID_whirlpool, 6, &so[5359]},
++ {"cryptopro", "cryptopro", NID_cryptopro, 5, &so[5365]},
++ {"cryptocom", "cryptocom", NID_cryptocom, 5, &so[5370]},
++ {"id-GostR3411-94-with-GostR3410-2001", "GOST R 34.11-94 with GOST R 34.10-2001", NID_id_GostR3411_94_with_GostR3410_2001, 6, &so[5375]},
++ {"id-GostR3411-94-with-GostR3410-94", "GOST R 34.11-94 with GOST R 34.10-94", NID_id_GostR3411_94_with_GostR3410_94, 6, &so[5381]},
++ {"md_gost94", "GOST R 34.11-94", NID_id_GostR3411_94, 6, &so[5387]},
++ {"id-HMACGostR3411-94", "HMAC GOST 34.11-94", NID_id_HMACGostR3411_94, 6, &so[5393]},
++ {"gost2001", "GOST R 34.10-2001", NID_id_GostR3410_2001, 6, &so[5399]},
++ {"gost94", "GOST R 34.10-94", NID_id_GostR3410_94, 6, &so[5405]},
++ {"gost89", "GOST 28147-89", NID_id_Gost28147_89, 6, &so[5411]},
++ {"gost89-cnt", "gost89-cnt", NID_gost89_cnt},
++ {"gost-mac", "GOST 28147-89 MAC", NID_id_Gost28147_89_MAC, 6, &so[5417]},
++ {"prf-gostr3411-94", "GOST R 34.11-94 PRF", NID_id_GostR3411_94_prf, 6, &so[5423]},
++ {"id-GostR3410-2001DH", "GOST R 34.10-2001 DH", NID_id_GostR3410_2001DH, 6, &so[5429]},
++ {"id-GostR3410-94DH", "GOST R 34.10-94 DH", NID_id_GostR3410_94DH, 6, &so[5435]},
++ {"id-Gost28147-89-CryptoPro-KeyMeshing", "id-Gost28147-89-CryptoPro-KeyMeshing", NID_id_Gost28147_89_CryptoPro_KeyMeshing, 7, &so[5441]},
++ {"id-Gost28147-89-None-KeyMeshing", "id-Gost28147-89-None-KeyMeshing", NID_id_Gost28147_89_None_KeyMeshing, 7, &so[5448]},
++ {"id-GostR3411-94-TestParamSet", "id-GostR3411-94-TestParamSet", NID_id_GostR3411_94_TestParamSet, 7, &so[5455]},
++ {"id-GostR3411-94-CryptoProParamSet", "id-GostR3411-94-CryptoProParamSet", NID_id_GostR3411_94_CryptoProParamSet, 7, &so[5462]},
++ {"id-Gost28147-89-TestParamSet", "id-Gost28147-89-TestParamSet", NID_id_Gost28147_89_TestParamSet, 7, &so[5469]},
++ {"id-Gost28147-89-CryptoPro-A-ParamSet", "id-Gost28147-89-CryptoPro-A-ParamSet", NID_id_Gost28147_89_CryptoPro_A_ParamSet, 7, &so[5476]},
++ {"id-Gost28147-89-CryptoPro-B-ParamSet", "id-Gost28147-89-CryptoPro-B-ParamSet", NID_id_Gost28147_89_CryptoPro_B_ParamSet, 7, &so[5483]},
++ {"id-Gost28147-89-CryptoPro-C-ParamSet", "id-Gost28147-89-CryptoPro-C-ParamSet", NID_id_Gost28147_89_CryptoPro_C_ParamSet, 7, &so[5490]},
++ {"id-Gost28147-89-CryptoPro-D-ParamSet", "id-Gost28147-89-CryptoPro-D-ParamSet", NID_id_Gost28147_89_CryptoPro_D_ParamSet, 7, &so[5497]},
++ {"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet", "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet", NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet, 7, &so[5504]},
++ {"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet", "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet", NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet, 7, &so[5511]},
++ {"id-Gost28147-89-CryptoPro-RIC-1-ParamSet", "id-Gost28147-89-CryptoPro-RIC-1-ParamSet", NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet, 7, &so[5518]},
++ {"id-GostR3410-94-TestParamSet", "id-GostR3410-94-TestParamSet", NID_id_GostR3410_94_TestParamSet, 7, &so[5525]},
++ {"id-GostR3410-94-CryptoPro-A-ParamSet", "id-GostR3410-94-CryptoPro-A-ParamSet", NID_id_GostR3410_94_CryptoPro_A_ParamSet, 7, &so[5532]},
++ {"id-GostR3410-94-CryptoPro-B-ParamSet", "id-GostR3410-94-CryptoPro-B-ParamSet", NID_id_GostR3410_94_CryptoPro_B_ParamSet, 7, &so[5539]},
++ {"id-GostR3410-94-CryptoPro-C-ParamSet", "id-GostR3410-94-CryptoPro-C-ParamSet", NID_id_GostR3410_94_CryptoPro_C_ParamSet, 7, &so[5546]},
++ {"id-GostR3410-94-CryptoPro-D-ParamSet", "id-GostR3410-94-CryptoPro-D-ParamSet", NID_id_GostR3410_94_CryptoPro_D_ParamSet, 7, &so[5553]},
++ {"id-GostR3410-94-CryptoPro-XchA-ParamSet", "id-GostR3410-94-CryptoPro-XchA-ParamSet", NID_id_GostR3410_94_CryptoPro_XchA_ParamSet, 7, &so[5560]},
++ {"id-GostR3410-94-CryptoPro-XchB-ParamSet", "id-GostR3410-94-CryptoPro-XchB-ParamSet", NID_id_GostR3410_94_CryptoPro_XchB_ParamSet, 7, &so[5567]},
++ {"id-GostR3410-94-CryptoPro-XchC-ParamSet", "id-GostR3410-94-CryptoPro-XchC-ParamSet", NID_id_GostR3410_94_CryptoPro_XchC_ParamSet, 7, &so[5574]},
++ {"id-GostR3410-2001-TestParamSet", "id-GostR3410-2001-TestParamSet", NID_id_GostR3410_2001_TestParamSet, 7, &so[5581]},
++ {"id-GostR3410-2001-CryptoPro-A-ParamSet", "id-GostR3410-2001-CryptoPro-A-ParamSet", NID_id_GostR3410_2001_CryptoPro_A_ParamSet, 7, &so[5588]},
++ {"id-GostR3410-2001-CryptoPro-B-ParamSet", "id-GostR3410-2001-CryptoPro-B-ParamSet", NID_id_GostR3410_2001_CryptoPro_B_ParamSet, 7, &so[5595]},
++ {"id-GostR3410-2001-CryptoPro-C-ParamSet", "id-GostR3410-2001-CryptoPro-C-ParamSet", NID_id_GostR3410_2001_CryptoPro_C_ParamSet, 7, &so[5602]},
++ {"id-GostR3410-2001-CryptoPro-XchA-ParamSet", "id-GostR3410-2001-CryptoPro-XchA-ParamSet", NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet, 7, &so[5609]},
++ {"id-GostR3410-2001-CryptoPro-XchB-ParamSet", "id-GostR3410-2001-CryptoPro-XchB-ParamSet", NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet, 7, &so[5616]},
++ {"id-GostR3410-94-a", "id-GostR3410-94-a", NID_id_GostR3410_94_a, 7, &so[5623]},
++ {"id-GostR3410-94-aBis", "id-GostR3410-94-aBis", NID_id_GostR3410_94_aBis, 7, &so[5630]},
++ {"id-GostR3410-94-b", "id-GostR3410-94-b", NID_id_GostR3410_94_b, 7, &so[5637]},
++ {"id-GostR3410-94-bBis", "id-GostR3410-94-bBis", NID_id_GostR3410_94_bBis, 7, &so[5644]},
++ {"id-Gost28147-89-cc", "GOST 28147-89 Cryptocom ParamSet", NID_id_Gost28147_89_cc, 8, &so[5651]},
++ {"gost94cc", "GOST 34.10-94 Cryptocom", NID_id_GostR3410_94_cc, 8, &so[5659]},
++ {"gost2001cc", "GOST 34.10-2001 Cryptocom", NID_id_GostR3410_2001_cc, 8, &so[5667]},
++ {"id-GostR3411-94-with-GostR3410-94-cc", "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom", NID_id_GostR3411_94_with_GostR3410_94_cc, 8, &so[5675]},
++ {"id-GostR3411-94-with-GostR3410-2001-cc", "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom", NID_id_GostR3411_94_with_GostR3410_2001_cc, 8, &so[5683]},
++ {"id-GostR3410-2001-ParamSet-cc", "GOST R 3410-2001 Parameter Set Cryptocom", NID_id_GostR3410_2001_ParamSet_cc, 8, &so[5691]},
++ {"HMAC", "hmac", NID_hmac},
++ {"LocalKeySet", "Microsoft Local Key set", NID_LocalKeySet, 9, &so[5699]},
++ {"freshestCRL", "X509v3 Freshest CRL", NID_freshest_crl, 3, &so[5708]},
++ {"id-on-permanentIdentifier", "Permanent Identifier", NID_id_on_permanentIdentifier, 8, &so[5711]},
++ {"searchGuide", "searchGuide", NID_searchGuide, 3, &so[5719]},
++ {"businessCategory", "businessCategory", NID_businessCategory, 3, &so[5722]},
++ {"postalAddress", "postalAddress", NID_postalAddress, 3, &so[5725]},
++ {"postOfficeBox", "postOfficeBox", NID_postOfficeBox, 3, &so[5728]},
++ {"physicalDeliveryOfficeName", "physicalDeliveryOfficeName", NID_physicalDeliveryOfficeName, 3, &so[5731]},
++ {"telephoneNumber", "telephoneNumber", NID_telephoneNumber, 3, &so[5734]},
++ {"telexNumber", "telexNumber", NID_telexNumber, 3, &so[5737]},
++ {"teletexTerminalIdentifier", "teletexTerminalIdentifier", NID_teletexTerminalIdentifier, 3, &so[5740]},
++ {"facsimileTelephoneNumber", "facsimileTelephoneNumber", NID_facsimileTelephoneNumber, 3, &so[5743]},
++ {"x121Address", "x121Address", NID_x121Address, 3, &so[5746]},
++ {"internationaliSDNNumber", "internationaliSDNNumber", NID_internationaliSDNNumber, 3, &so[5749]},
++ {"registeredAddress", "registeredAddress", NID_registeredAddress, 3, &so[5752]},
++ {"destinationIndicator", "destinationIndicator", NID_destinationIndicator, 3, &so[5755]},
++ {"preferredDeliveryMethod", "preferredDeliveryMethod", NID_preferredDeliveryMethod, 3, &so[5758]},
++ {"presentationAddress", "presentationAddress", NID_presentationAddress, 3, &so[5761]},
++ {"supportedApplicationContext", "supportedApplicationContext", NID_supportedApplicationContext, 3, &so[5764]},
++ {"member", "member", NID_member, 3, &so[5767]},
++ {"owner", "owner", NID_owner, 3, &so[5770]},
++ {"roleOccupant", "roleOccupant", NID_roleOccupant, 3, &so[5773]},
++ {"seeAlso", "seeAlso", NID_seeAlso, 3, &so[5776]},
++ {"userPassword", "userPassword", NID_userPassword, 3, &so[5779]},
++ {"userCertificate", "userCertificate", NID_userCertificate, 3, &so[5782]},
++ {"cACertificate", "cACertificate", NID_cACertificate, 3, &so[5785]},
++ {"authorityRevocationList", "authorityRevocationList", NID_authorityRevocationList, 3, &so[5788]},
++ {"certificateRevocationList", "certificateRevocationList", NID_certificateRevocationList, 3, &so[5791]},
++ {"crossCertificatePair", "crossCertificatePair", NID_crossCertificatePair, 3, &so[5794]},
++ {"enhancedSearchGuide", "enhancedSearchGuide", NID_enhancedSearchGuide, 3, &so[5797]},
++ {"protocolInformation", "protocolInformation", NID_protocolInformation, 3, &so[5800]},
++ {"distinguishedName", "distinguishedName", NID_distinguishedName, 3, &so[5803]},
++ {"uniqueMember", "uniqueMember", NID_uniqueMember, 3, &so[5806]},
++ {"houseIdentifier", "houseIdentifier", NID_houseIdentifier, 3, &so[5809]},
++ {"supportedAlgorithms", "supportedAlgorithms", NID_supportedAlgorithms, 3, &so[5812]},
++ {"deltaRevocationList", "deltaRevocationList", NID_deltaRevocationList, 3, &so[5815]},
++ {"dmdName", "dmdName", NID_dmdName, 3, &so[5818]},
++ {"id-alg-PWRI-KEK", "id-alg-PWRI-KEK", NID_id_alg_PWRI_KEK, 11, &so[5821]},
++ {"CMAC", "cmac", NID_cmac},
++ {"id-aes128-GCM", "aes-128-gcm", NID_aes_128_gcm, 9, &so[5832]},
++ {"id-aes128-CCM", "aes-128-ccm", NID_aes_128_ccm, 9, &so[5841]},
++ {"id-aes128-wrap-pad", "id-aes128-wrap-pad", NID_id_aes128_wrap_pad, 9, &so[5850]},
++ {"id-aes192-GCM", "aes-192-gcm", NID_aes_192_gcm, 9, &so[5859]},
++ {"id-aes192-CCM", "aes-192-ccm", NID_aes_192_ccm, 9, &so[5868]},
++ {"id-aes192-wrap-pad", "id-aes192-wrap-pad", NID_id_aes192_wrap_pad, 9, &so[5877]},
++ {"id-aes256-GCM", "aes-256-gcm", NID_aes_256_gcm, 9, &so[5886]},
++ {"id-aes256-CCM", "aes-256-ccm", NID_aes_256_ccm, 9, &so[5895]},
++ {"id-aes256-wrap-pad", "id-aes256-wrap-pad", NID_id_aes256_wrap_pad, 9, &so[5904]},
++ {"AES-128-CTR", "aes-128-ctr", NID_aes_128_ctr},
++ {"AES-192-CTR", "aes-192-ctr", NID_aes_192_ctr},
++ {"AES-256-CTR", "aes-256-ctr", NID_aes_256_ctr},
++ {"id-camellia128-wrap", "id-camellia128-wrap", NID_id_camellia128_wrap, 11, &so[5913]},
++ {"id-camellia192-wrap", "id-camellia192-wrap", NID_id_camellia192_wrap, 11, &so[5924]},
++ {"id-camellia256-wrap", "id-camellia256-wrap", NID_id_camellia256_wrap, 11, &so[5935]},
++ {"anyExtendedKeyUsage", "Any Extended Key Usage", NID_anyExtendedKeyUsage, 4, &so[5946]},
++ {"MGF1", "mgf1", NID_mgf1, 9, &so[5950]},
++ {"RSASSA-PSS", "rsassaPss", NID_rsassaPss, 9, &so[5959]},
++ {"AES-128-XTS", "aes-128-xts", NID_aes_128_xts},
++ {"AES-256-XTS", "aes-256-xts", NID_aes_256_xts},
++ {"RC4-HMAC-MD5", "rc4-hmac-md5", NID_rc4_hmac_md5},
++ {"AES-128-CBC-HMAC-SHA1", "aes-128-cbc-hmac-sha1", NID_aes_128_cbc_hmac_sha1},
++ {"AES-192-CBC-HMAC-SHA1", "aes-192-cbc-hmac-sha1", NID_aes_192_cbc_hmac_sha1},
++ {"AES-256-CBC-HMAC-SHA1", "aes-256-cbc-hmac-sha1", NID_aes_256_cbc_hmac_sha1},
++ {"RSAES-OAEP", "rsaesOaep", NID_rsaesOaep, 9, &so[5968]},
++ {"dhpublicnumber", "X9.42 DH", NID_dhpublicnumber, 7, &so[5977]},
++ {"brainpoolP160r1", "brainpoolP160r1", NID_brainpoolP160r1, 9, &so[5984]},
++ {"brainpoolP160t1", "brainpoolP160t1", NID_brainpoolP160t1, 9, &so[5993]},
++ {"brainpoolP192r1", "brainpoolP192r1", NID_brainpoolP192r1, 9, &so[6002]},
++ {"brainpoolP192t1", "brainpoolP192t1", NID_brainpoolP192t1, 9, &so[6011]},
++ {"brainpoolP224r1", "brainpoolP224r1", NID_brainpoolP224r1, 9, &so[6020]},
++ {"brainpoolP224t1", "brainpoolP224t1", NID_brainpoolP224t1, 9, &so[6029]},
++ {"brainpoolP256r1", "brainpoolP256r1", NID_brainpoolP256r1, 9, &so[6038]},
++ {"brainpoolP256t1", "brainpoolP256t1", NID_brainpoolP256t1, 9, &so[6047]},
++ {"brainpoolP320r1", "brainpoolP320r1", NID_brainpoolP320r1, 9, &so[6056]},
++ {"brainpoolP320t1", "brainpoolP320t1", NID_brainpoolP320t1, 9, &so[6065]},
++ {"brainpoolP384r1", "brainpoolP384r1", NID_brainpoolP384r1, 9, &so[6074]},
++ {"brainpoolP384t1", "brainpoolP384t1", NID_brainpoolP384t1, 9, &so[6083]},
++ {"brainpoolP512r1", "brainpoolP512r1", NID_brainpoolP512r1, 9, &so[6092]},
++ {"brainpoolP512t1", "brainpoolP512t1", NID_brainpoolP512t1, 9, &so[6101]},
++ {"PSPECIFIED", "pSpecified", NID_pSpecified, 9, &so[6110]},
++ {"dhSinglePass-stdDH-sha1kdf-scheme", "dhSinglePass-stdDH-sha1kdf-scheme", NID_dhSinglePass_stdDH_sha1kdf_scheme, 9, &so[6119]},
++ {"dhSinglePass-stdDH-sha224kdf-scheme", "dhSinglePass-stdDH-sha224kdf-scheme", NID_dhSinglePass_stdDH_sha224kdf_scheme, 6, &so[6128]},
++ {"dhSinglePass-stdDH-sha256kdf-scheme", "dhSinglePass-stdDH-sha256kdf-scheme", NID_dhSinglePass_stdDH_sha256kdf_scheme, 6, &so[6134]},
++ {"dhSinglePass-stdDH-sha384kdf-scheme", "dhSinglePass-stdDH-sha384kdf-scheme", NID_dhSinglePass_stdDH_sha384kdf_scheme, 6, &so[6140]},
++ {"dhSinglePass-stdDH-sha512kdf-scheme", "dhSinglePass-stdDH-sha512kdf-scheme", NID_dhSinglePass_stdDH_sha512kdf_scheme, 6, &so[6146]},
++ {"dhSinglePass-cofactorDH-sha1kdf-scheme", "dhSinglePass-cofactorDH-sha1kdf-scheme", NID_dhSinglePass_cofactorDH_sha1kdf_scheme, 9, &so[6152]},
++ {"dhSinglePass-cofactorDH-sha224kdf-scheme", "dhSinglePass-cofactorDH-sha224kdf-scheme", NID_dhSinglePass_cofactorDH_sha224kdf_scheme, 6, &so[6161]},
++ {"dhSinglePass-cofactorDH-sha256kdf-scheme", "dhSinglePass-cofactorDH-sha256kdf-scheme", NID_dhSinglePass_cofactorDH_sha256kdf_scheme, 6, &so[6167]},
++ {"dhSinglePass-cofactorDH-sha384kdf-scheme", "dhSinglePass-cofactorDH-sha384kdf-scheme", NID_dhSinglePass_cofactorDH_sha384kdf_scheme, 6, &so[6173]},
++ {"dhSinglePass-cofactorDH-sha512kdf-scheme", "dhSinglePass-cofactorDH-sha512kdf-scheme", NID_dhSinglePass_cofactorDH_sha512kdf_scheme, 6, &so[6179]},
++ {"dh-std-kdf", "dh-std-kdf", NID_dh_std_kdf},
++ {"dh-cofactor-kdf", "dh-cofactor-kdf", NID_dh_cofactor_kdf},
++ {"AES-128-CBC-HMAC-SHA256", "aes-128-cbc-hmac-sha256", NID_aes_128_cbc_hmac_sha256},
++ {"AES-192-CBC-HMAC-SHA256", "aes-192-cbc-hmac-sha256", NID_aes_192_cbc_hmac_sha256},
++ {"AES-256-CBC-HMAC-SHA256", "aes-256-cbc-hmac-sha256", NID_aes_256_cbc_hmac_sha256},
++ {"ct_precert_scts", "CT Precertificate SCTs", NID_ct_precert_scts, 10, &so[6185]},
++ {"ct_precert_poison", "CT Precertificate Poison", NID_ct_precert_poison, 10, &so[6195]},
++ {"ct_precert_signer", "CT Precertificate Signer", NID_ct_precert_signer, 10, &so[6205]},
++ {"ct_cert_scts", "CT Certificate SCTs", NID_ct_cert_scts, 10, &so[6215]},
++ {"jurisdictionL", "jurisdictionLocalityName", NID_jurisdictionLocalityName, 11, &so[6225]},
++ {"jurisdictionST", "jurisdictionStateOrProvinceName", NID_jurisdictionStateOrProvinceName, 11, &so[6236]},
++ {"jurisdictionC", "jurisdictionCountryName", NID_jurisdictionCountryName, 11, &so[6247]},
++ {"AES-128-OCB", "aes-128-ocb", NID_aes_128_ocb},
++ {"AES-192-OCB", "aes-192-ocb", NID_aes_192_ocb},
++ {"AES-256-OCB", "aes-256-ocb", NID_aes_256_ocb},
++ {"CAMELLIA-128-GCM", "camellia-128-gcm", NID_camellia_128_gcm, 8, &so[6258]},
++ {"CAMELLIA-128-CCM", "camellia-128-ccm", NID_camellia_128_ccm, 8, &so[6266]},
++ {"CAMELLIA-128-CTR", "camellia-128-ctr", NID_camellia_128_ctr, 8, &so[6274]},
++ {"CAMELLIA-128-CMAC", "camellia-128-cmac", NID_camellia_128_cmac, 8, &so[6282]},
++ {"CAMELLIA-192-GCM", "camellia-192-gcm", NID_camellia_192_gcm, 8, &so[6290]},
++ {"CAMELLIA-192-CCM", "camellia-192-ccm", NID_camellia_192_ccm, 8, &so[6298]},
++ {"CAMELLIA-192-CTR", "camellia-192-ctr", NID_camellia_192_ctr, 8, &so[6306]},
++ {"CAMELLIA-192-CMAC", "camellia-192-cmac", NID_camellia_192_cmac, 8, &so[6314]},
++ {"CAMELLIA-256-GCM", "camellia-256-gcm", NID_camellia_256_gcm, 8, &so[6322]},
++ {"CAMELLIA-256-CCM", "camellia-256-ccm", NID_camellia_256_ccm, 8, &so[6330]},
++ {"CAMELLIA-256-CTR", "camellia-256-ctr", NID_camellia_256_ctr, 8, &so[6338]},
++ {"CAMELLIA-256-CMAC", "camellia-256-cmac", NID_camellia_256_cmac, 8, &so[6346]},
++ {"id-scrypt", "id-scrypt", NID_id_scrypt, 9, &so[6354]},
++ {"id-tc26", "id-tc26", NID_id_tc26, 5, &so[6363]},
++ {"gost89-cnt-12", "gost89-cnt-12", NID_gost89_cnt_12},
++ {"gost-mac-12", "gost-mac-12", NID_gost_mac_12},
++ {"id-tc26-algorithms", "id-tc26-algorithms", NID_id_tc26_algorithms, 6, &so[6368]},
++ {"id-tc26-sign", "id-tc26-sign", NID_id_tc26_sign, 7, &so[6374]},
++ {"gost2012_256", "GOST R 34.10-2012 with 256 bit modulus", NID_id_GostR3410_2012_256, 8, &so[6381]},
++ {"gost2012_512", "GOST R 34.10-2012 with 512 bit modulus", NID_id_GostR3410_2012_512, 8, &so[6389]},
++ {"id-tc26-digest", "id-tc26-digest", NID_id_tc26_digest, 7, &so[6397]},
++ {"md_gost12_256", "GOST R 34.11-2012 with 256 bit hash", NID_id_GostR3411_2012_256, 8, &so[6404]},
++ {"md_gost12_512", "GOST R 34.11-2012 with 512 bit hash", NID_id_GostR3411_2012_512, 8, &so[6412]},
++ {"id-tc26-signwithdigest", "id-tc26-signwithdigest", NID_id_tc26_signwithdigest, 7, &so[6420]},
++ {"id-tc26-signwithdigest-gost3410-2012-256", "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)", NID_id_tc26_signwithdigest_gost3410_2012_256, 8, &so[6427]},
++ {"id-tc26-signwithdigest-gost3410-2012-512", "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)", NID_id_tc26_signwithdigest_gost3410_2012_512, 8, &so[6435]},
++ {"id-tc26-mac", "id-tc26-mac", NID_id_tc26_mac, 7, &so[6443]},
++ {"id-tc26-hmac-gost-3411-2012-256", "HMAC GOST 34.11-2012 256 bit", NID_id_tc26_hmac_gost_3411_2012_256, 8, &so[6450]},
++ {"id-tc26-hmac-gost-3411-2012-512", "HMAC GOST 34.11-2012 512 bit", NID_id_tc26_hmac_gost_3411_2012_512, 8, &so[6458]},
++ {"id-tc26-cipher", "id-tc26-cipher", NID_id_tc26_cipher, 7, &so[6466]},
++ {"id-tc26-agreement", "id-tc26-agreement", NID_id_tc26_agreement, 7, &so[6473]},
++ {"id-tc26-agreement-gost-3410-2012-256", "id-tc26-agreement-gost-3410-2012-256", NID_id_tc26_agreement_gost_3410_2012_256, 8, &so[6480]},
++ {"id-tc26-agreement-gost-3410-2012-512", "id-tc26-agreement-gost-3410-2012-512", NID_id_tc26_agreement_gost_3410_2012_512, 8, &so[6488]},
++ {"id-tc26-constants", "id-tc26-constants", NID_id_tc26_constants, 6, &so[6496]},
++ {"id-tc26-sign-constants", "id-tc26-sign-constants", NID_id_tc26_sign_constants, 7, &so[6502]},
++ {"id-tc26-gost-3410-2012-512-constants", "id-tc26-gost-3410-2012-512-constants", NID_id_tc26_gost_3410_2012_512_constants, 8, &so[6509]},
++ {"id-tc26-gost-3410-2012-512-paramSetTest", "GOST R 34.10-2012 (512 bit) testing parameter set", NID_id_tc26_gost_3410_2012_512_paramSetTest, 9, &so[6517]},
++ {"id-tc26-gost-3410-2012-512-paramSetA", "GOST R 34.10-2012 (512 bit) ParamSet A", NID_id_tc26_gost_3410_2012_512_paramSetA, 9, &so[6526]},
++ {"id-tc26-gost-3410-2012-512-paramSetB", "GOST R 34.10-2012 (512 bit) ParamSet B", NID_id_tc26_gost_3410_2012_512_paramSetB, 9, &so[6535]},
++ {"id-tc26-digest-constants", "id-tc26-digest-constants", NID_id_tc26_digest_constants, 7, &so[6544]},
++ {"id-tc26-cipher-constants", "id-tc26-cipher-constants", NID_id_tc26_cipher_constants, 7, &so[6551]},
++ {"id-tc26-gost-28147-constants", "id-tc26-gost-28147-constants", NID_id_tc26_gost_28147_constants, 8, &so[6558]},
++ {"id-tc26-gost-28147-param-Z", "GOST 28147-89 TC26 parameter set", NID_id_tc26_gost_28147_param_Z, 9, &so[6566]},
++ {"INN", "INN", NID_INN, 8, &so[6575]},
++ {"OGRN", "OGRN", NID_OGRN, 5, &so[6583]},
++ {"SNILS", "SNILS", NID_SNILS, 5, &so[6588]},
++ {"subjectSignTool", "Signing Tool of Subject", NID_subjectSignTool, 5, &so[6593]},
++ {"issuerSignTool", "Signing Tool of Issuer", NID_issuerSignTool, 5, &so[6598]},
++ {"gost89-cbc", "gost89-cbc", NID_gost89_cbc},
++ {"gost89-ecb", "gost89-ecb", NID_gost89_ecb},
++ {"gost89-ctr", "gost89-ctr", NID_gost89_ctr},
++ {"grasshopper-ecb", "grasshopper-ecb", NID_grasshopper_ecb},
++ {"grasshopper-ctr", "grasshopper-ctr", NID_grasshopper_ctr},
++ {"grasshopper-ofb", "grasshopper-ofb", NID_grasshopper_ofb},
++ {"grasshopper-cbc", "grasshopper-cbc", NID_grasshopper_cbc},
++ {"grasshopper-cfb", "grasshopper-cfb", NID_grasshopper_cfb},
++ {"grasshopper-mac", "grasshopper-mac", NID_grasshopper_mac},
++ {"ChaCha20-Poly1305", "chacha20-poly1305", NID_chacha20_poly1305},
++ {"ChaCha20", "chacha20", NID_chacha20},
++ {"tlsfeature", "TLS Feature", NID_tlsfeature, 8, &so[6603]},
++ {"TLS1-PRF", "tls1-prf", NID_tls1_prf},
++ {"ipsecIKE", "ipsec Internet Key Exchange", NID_ipsec_IKE, 8, &so[6611]},
++ {"capwapAC", "Ctrl/provision WAP Access", NID_capwapAC, 8, &so[6619]},
++ {"capwapWTP", "Ctrl/Provision WAP Termination", NID_capwapWTP, 8, &so[6627]},
++ {"secureShellClient", "SSH Client", NID_sshClient, 8, &so[6635]},
++ {"secureShellServer", "SSH Server", NID_sshServer, 8, &so[6643]},
++ {"sendRouter", "Send Router", NID_sendRouter, 8, &so[6651]},
++ {"sendProxiedRouter", "Send Proxied Router", NID_sendProxiedRouter, 8, &so[6659]},
++ {"sendOwner", "Send Owner", NID_sendOwner, 8, &so[6667]},
++ {"sendProxiedOwner", "Send Proxied Owner", NID_sendProxiedOwner, 8, &so[6675]},
++ {"id-pkinit", "id-pkinit", NID_id_pkinit, 6, &so[6683]},
++ {"pkInitClientAuth", "PKINIT Client Auth", NID_pkInitClientAuth, 7, &so[6689]},
++ {"pkInitKDC", "Signing KDC Response", NID_pkInitKDC, 7, &so[6696]},
++ {"X25519", "X25519", NID_X25519, 9, &so[6703]},
++ {"X448", "X448", NID_X448, 9, &so[6712]},
++ {"HKDF", "hkdf", NID_hkdf},
++ {"KxRSA", "kx-rsa", NID_kx_rsa},
++ {"KxECDHE", "kx-ecdhe", NID_kx_ecdhe},
++ {"KxDHE", "kx-dhe", NID_kx_dhe},
++ {"KxECDHE-PSK", "kx-ecdhe-psk", NID_kx_ecdhe_psk},
++ {"KxDHE-PSK", "kx-dhe-psk", NID_kx_dhe_psk},
++ {"KxRSA_PSK", "kx-rsa-psk", NID_kx_rsa_psk},
++ {"KxPSK", "kx-psk", NID_kx_psk},
++ {"KxSRP", "kx-srp", NID_kx_srp},
++ {"KxGOST", "kx-gost", NID_kx_gost},
++ {"AuthRSA", "auth-rsa", NID_auth_rsa},
++ {"AuthECDSA", "auth-ecdsa", NID_auth_ecdsa},
++ {"AuthPSK", "auth-psk", NID_auth_psk},
++ {"AuthDSS", "auth-dss", NID_auth_dss},
++ {"AuthGOST01", "auth-gost01", NID_auth_gost01},
++ {"AuthGOST12", "auth-gost12", NID_auth_gost12},
++ {"AuthSRP", "auth-srp", NID_auth_srp},
++ {"AuthNULL", "auth-null", NID_auth_null},
++ { NULL, NULL, NID_undef },
++ { NULL, NULL, NID_undef },
++ {"BLAKE2b512", "blake2b512", NID_blake2b512, 11, &so[6721]},
++ {"BLAKE2s256", "blake2s256", NID_blake2s256, 11, &so[6732]},
+ };
+
+-static const unsigned int sn_objs[NUM_SN]={
+-364, /* "AD_DVCS" */
+-419, /* "AES-128-CBC" */
+-916, /* "AES-128-CBC-HMAC-SHA1" */
+-948, /* "AES-128-CBC-HMAC-SHA256" */
+-421, /* "AES-128-CFB" */
+-650, /* "AES-128-CFB1" */
+-653, /* "AES-128-CFB8" */
+-904, /* "AES-128-CTR" */
+-418, /* "AES-128-ECB" */
+-958, /* "AES-128-OCB" */
+-420, /* "AES-128-OFB" */
+-913, /* "AES-128-XTS" */
+-423, /* "AES-192-CBC" */
+-917, /* "AES-192-CBC-HMAC-SHA1" */
+-949, /* "AES-192-CBC-HMAC-SHA256" */
+-425, /* "AES-192-CFB" */
+-651, /* "AES-192-CFB1" */
+-654, /* "AES-192-CFB8" */
+-905, /* "AES-192-CTR" */
+-422, /* "AES-192-ECB" */
+-959, /* "AES-192-OCB" */
+-424, /* "AES-192-OFB" */
+-427, /* "AES-256-CBC" */
+-918, /* "AES-256-CBC-HMAC-SHA1" */
+-950, /* "AES-256-CBC-HMAC-SHA256" */
+-429, /* "AES-256-CFB" */
+-652, /* "AES-256-CFB1" */
+-655, /* "AES-256-CFB8" */
+-906, /* "AES-256-CTR" */
+-426, /* "AES-256-ECB" */
+-960, /* "AES-256-OCB" */
+-428, /* "AES-256-OFB" */
+-914, /* "AES-256-XTS" */
+-1049, /* "AuthDSS" */
+-1047, /* "AuthECDSA" */
+-1050, /* "AuthGOST01" */
+-1051, /* "AuthGOST12" */
+-1053, /* "AuthNULL" */
+-1048, /* "AuthPSK" */
+-1046, /* "AuthRSA" */
+-1052, /* "AuthSRP" */
+-91, /* "BF-CBC" */
+-93, /* "BF-CFB" */
+-92, /* "BF-ECB" */
+-94, /* "BF-OFB" */
+-1056, /* "BLAKE2b512" */
+-1057, /* "BLAKE2s256" */
+-14, /* "C" */
+-751, /* "CAMELLIA-128-CBC" */
+-962, /* "CAMELLIA-128-CCM" */
+-757, /* "CAMELLIA-128-CFB" */
+-760, /* "CAMELLIA-128-CFB1" */
+-763, /* "CAMELLIA-128-CFB8" */
+-964, /* "CAMELLIA-128-CMAC" */
+-963, /* "CAMELLIA-128-CTR" */
+-754, /* "CAMELLIA-128-ECB" */
+-961, /* "CAMELLIA-128-GCM" */
+-766, /* "CAMELLIA-128-OFB" */
+-752, /* "CAMELLIA-192-CBC" */
+-966, /* "CAMELLIA-192-CCM" */
+-758, /* "CAMELLIA-192-CFB" */
+-761, /* "CAMELLIA-192-CFB1" */
+-764, /* "CAMELLIA-192-CFB8" */
+-968, /* "CAMELLIA-192-CMAC" */
+-967, /* "CAMELLIA-192-CTR" */
+-755, /* "CAMELLIA-192-ECB" */
+-965, /* "CAMELLIA-192-GCM" */
+-767, /* "CAMELLIA-192-OFB" */
+-753, /* "CAMELLIA-256-CBC" */
+-970, /* "CAMELLIA-256-CCM" */
+-759, /* "CAMELLIA-256-CFB" */
+-762, /* "CAMELLIA-256-CFB1" */
+-765, /* "CAMELLIA-256-CFB8" */
+-972, /* "CAMELLIA-256-CMAC" */
+-971, /* "CAMELLIA-256-CTR" */
+-756, /* "CAMELLIA-256-ECB" */
+-969, /* "CAMELLIA-256-GCM" */
+-768, /* "CAMELLIA-256-OFB" */
+-108, /* "CAST5-CBC" */
+-110, /* "CAST5-CFB" */
+-109, /* "CAST5-ECB" */
+-111, /* "CAST5-OFB" */
+-894, /* "CMAC" */
+-13, /* "CN" */
+-141, /* "CRLReason" */
+-417, /* "CSPName" */
+-1019, /* "ChaCha20" */
+-1018, /* "ChaCha20-Poly1305" */
+-367, /* "CrlID" */
+-391, /* "DC" */
+-31, /* "DES-CBC" */
+-643, /* "DES-CDMF" */
+-30, /* "DES-CFB" */
+-656, /* "DES-CFB1" */
+-657, /* "DES-CFB8" */
+-29, /* "DES-ECB" */
+-32, /* "DES-EDE" */
+-43, /* "DES-EDE-CBC" */
+-60, /* "DES-EDE-CFB" */
+-62, /* "DES-EDE-OFB" */
+-33, /* "DES-EDE3" */
+-44, /* "DES-EDE3-CBC" */
+-61, /* "DES-EDE3-CFB" */
+-658, /* "DES-EDE3-CFB1" */
+-659, /* "DES-EDE3-CFB8" */
+-63, /* "DES-EDE3-OFB" */
+-45, /* "DES-OFB" */
+-80, /* "DESX-CBC" */
+-380, /* "DOD" */
+-116, /* "DSA" */
+-66, /* "DSA-SHA" */
+-113, /* "DSA-SHA1" */
+-70, /* "DSA-SHA1-old" */
+-67, /* "DSA-old" */
+-297, /* "DVCS" */
+-99, /* "GN" */
+-1036, /* "HKDF" */
+-855, /* "HMAC" */
+-780, /* "HMAC-MD5" */
+-781, /* "HMAC-SHA1" */
+-381, /* "IANA" */
+-34, /* "IDEA-CBC" */
+-35, /* "IDEA-CFB" */
+-36, /* "IDEA-ECB" */
+-46, /* "IDEA-OFB" */
+-1004, /* "INN" */
+-181, /* "ISO" */
+-183, /* "ISO-US" */
+-645, /* "ITU-T" */
+-646, /* "JOINT-ISO-ITU-T" */
+-773, /* "KISA" */
+-1039, /* "KxDHE" */
+-1041, /* "KxDHE-PSK" */
+-1038, /* "KxECDHE" */
+-1040, /* "KxECDHE-PSK" */
+-1045, /* "KxGOST" */
+-1043, /* "KxPSK" */
+-1037, /* "KxRSA" */
+-1042, /* "KxRSA_PSK" */
+-1044, /* "KxSRP" */
+-15, /* "L" */
+-856, /* "LocalKeySet" */
+- 3, /* "MD2" */
+-257, /* "MD4" */
+- 4, /* "MD5" */
+-114, /* "MD5-SHA1" */
+-95, /* "MDC2" */
+-911, /* "MGF1" */
+-388, /* "Mail" */
+-393, /* "NULL" */
+-404, /* "NULL" */
+-57, /* "Netscape" */
+-366, /* "Nonce" */
+-17, /* "O" */
+-178, /* "OCSP" */
+-180, /* "OCSPSigning" */
+-1005, /* "OGRN" */
+-379, /* "ORG" */
+-18, /* "OU" */
+-749, /* "Oakley-EC2N-3" */
+-750, /* "Oakley-EC2N-4" */
+- 9, /* "PBE-MD2-DES" */
+-168, /* "PBE-MD2-RC2-64" */
+-10, /* "PBE-MD5-DES" */
+-169, /* "PBE-MD5-RC2-64" */
+-147, /* "PBE-SHA1-2DES" */
+-146, /* "PBE-SHA1-3DES" */
+-170, /* "PBE-SHA1-DES" */
+-148, /* "PBE-SHA1-RC2-128" */
+-149, /* "PBE-SHA1-RC2-40" */
+-68, /* "PBE-SHA1-RC2-64" */
+-144, /* "PBE-SHA1-RC4-128" */
+-145, /* "PBE-SHA1-RC4-40" */
+-161, /* "PBES2" */
+-69, /* "PBKDF2" */
+-162, /* "PBMAC1" */
+-127, /* "PKIX" */
+-935, /* "PSPECIFIED" */
+-98, /* "RC2-40-CBC" */
+-166, /* "RC2-64-CBC" */
+-37, /* "RC2-CBC" */
+-39, /* "RC2-CFB" */
+-38, /* "RC2-ECB" */
+-40, /* "RC2-OFB" */
+- 5, /* "RC4" */
+-97, /* "RC4-40" */
+-915, /* "RC4-HMAC-MD5" */
+-120, /* "RC5-CBC" */
+-122, /* "RC5-CFB" */
+-121, /* "RC5-ECB" */
+-123, /* "RC5-OFB" */
+-117, /* "RIPEMD160" */
+-19, /* "RSA" */
+- 7, /* "RSA-MD2" */
+-396, /* "RSA-MD4" */
+- 8, /* "RSA-MD5" */
+-96, /* "RSA-MDC2" */
+-104, /* "RSA-NP-MD5" */
+-119, /* "RSA-RIPEMD160" */
+-42, /* "RSA-SHA" */
+-65, /* "RSA-SHA1" */
+-115, /* "RSA-SHA1-2" */
+-671, /* "RSA-SHA224" */
+-668, /* "RSA-SHA256" */
+-669, /* "RSA-SHA384" */
+-670, /* "RSA-SHA512" */
+-919, /* "RSAES-OAEP" */
+-912, /* "RSASSA-PSS" */
+-777, /* "SEED-CBC" */
+-779, /* "SEED-CFB" */
+-776, /* "SEED-ECB" */
+-778, /* "SEED-OFB" */
+-41, /* "SHA" */
+-64, /* "SHA1" */
+-675, /* "SHA224" */
+-672, /* "SHA256" */
+-673, /* "SHA384" */
+-674, /* "SHA512" */
+-188, /* "SMIME" */
+-167, /* "SMIME-CAPS" */
+-100, /* "SN" */
+-1006, /* "SNILS" */
+-16, /* "ST" */
+-143, /* "SXNetID" */
+-1021, /* "TLS1-PRF" */
+-458, /* "UID" */
+- 0, /* "UNDEF" */
+-1034, /* "X25519" */
+-1035, /* "X448" */
+-11, /* "X500" */
+-378, /* "X500algorithms" */
+-12, /* "X509" */
+-184, /* "X9-57" */
+-185, /* "X9cm" */
+-125, /* "ZLIB" */
+-478, /* "aRecord" */
+-289, /* "aaControls" */
+-287, /* "ac-auditEntity" */
+-397, /* "ac-proxying" */
+-288, /* "ac-targeting" */
+-368, /* "acceptableResponses" */
+-446, /* "account" */
+-363, /* "ad_timestamping" */
+-376, /* "algorithm" */
+-405, /* "ansi-X9-62" */
+-910, /* "anyExtendedKeyUsage" */
+-746, /* "anyPolicy" */
+-370, /* "archiveCutoff" */
+-484, /* "associatedDomain" */
+-485, /* "associatedName" */
+-501, /* "audio" */
+-177, /* "authorityInfoAccess" */
+-90, /* "authorityKeyIdentifier" */
+-882, /* "authorityRevocationList" */
+-87, /* "basicConstraints" */
+-365, /* "basicOCSPResponse" */
+-285, /* "biometricInfo" */
+-921, /* "brainpoolP160r1" */
+-922, /* "brainpoolP160t1" */
+-923, /* "brainpoolP192r1" */
+-924, /* "brainpoolP192t1" */
+-925, /* "brainpoolP224r1" */
+-926, /* "brainpoolP224t1" */
+-927, /* "brainpoolP256r1" */
+-928, /* "brainpoolP256t1" */
+-929, /* "brainpoolP320r1" */
+-930, /* "brainpoolP320t1" */
+-931, /* "brainpoolP384r1" */
+-932, /* "brainpoolP384t1" */
+-933, /* "brainpoolP512r1" */
+-934, /* "brainpoolP512t1" */
+-494, /* "buildingName" */
+-860, /* "businessCategory" */
+-691, /* "c2onb191v4" */
+-692, /* "c2onb191v5" */
+-697, /* "c2onb239v4" */
+-698, /* "c2onb239v5" */
+-684, /* "c2pnb163v1" */
+-685, /* "c2pnb163v2" */
+-686, /* "c2pnb163v3" */
+-687, /* "c2pnb176v1" */
+-693, /* "c2pnb208w1" */
+-699, /* "c2pnb272w1" */
+-700, /* "c2pnb304w1" */
+-702, /* "c2pnb368w1" */
+-688, /* "c2tnb191v1" */
+-689, /* "c2tnb191v2" */
+-690, /* "c2tnb191v3" */
+-694, /* "c2tnb239v1" */
+-695, /* "c2tnb239v2" */
+-696, /* "c2tnb239v3" */
+-701, /* "c2tnb359v1" */
+-703, /* "c2tnb431r1" */
+-881, /* "cACertificate" */
+-483, /* "cNAMERecord" */
+-179, /* "caIssuers" */
+-785, /* "caRepository" */
+-1023, /* "capwapAC" */
+-1024, /* "capwapWTP" */
+-443, /* "caseIgnoreIA5StringSyntax" */
+-152, /* "certBag" */
+-677, /* "certicom-arc" */
+-771, /* "certificateIssuer" */
+-89, /* "certificatePolicies" */
+-883, /* "certificateRevocationList" */
+-54, /* "challengePassword" */
+-407, /* "characteristic-two-field" */
+-395, /* "clearance" */
+-130, /* "clientAuth" */
+-131, /* "codeSigning" */
+-50, /* "contentType" */
+-53, /* "countersignature" */
+-153, /* "crlBag" */
+-103, /* "crlDistributionPoints" */
+-88, /* "crlNumber" */
+-884, /* "crossCertificatePair" */
+-806, /* "cryptocom" */
+-805, /* "cryptopro" */
+-954, /* "ct_cert_scts" */
+-952, /* "ct_precert_poison" */
+-951, /* "ct_precert_scts" */
+-953, /* "ct_precert_signer" */
+-500, /* "dITRedirect" */
+-451, /* "dNSDomain" */
+-495, /* "dSAQuality" */
+-434, /* "data" */
+-390, /* "dcobject" */
+-140, /* "deltaCRL" */
+-891, /* "deltaRevocationList" */
+-107, /* "description" */
+-871, /* "destinationIndicator" */
+-947, /* "dh-cofactor-kdf" */
+-946, /* "dh-std-kdf" */
+-28, /* "dhKeyAgreement" */
+-941, /* "dhSinglePass-cofactorDH-sha1kdf-scheme" */
+-942, /* "dhSinglePass-cofactorDH-sha224kdf-scheme" */
+-943, /* "dhSinglePass-cofactorDH-sha256kdf-scheme" */
+-944, /* "dhSinglePass-cofactorDH-sha384kdf-scheme" */
+-945, /* "dhSinglePass-cofactorDH-sha512kdf-scheme" */
+-936, /* "dhSinglePass-stdDH-sha1kdf-scheme" */
+-937, /* "dhSinglePass-stdDH-sha224kdf-scheme" */
+-938, /* "dhSinglePass-stdDH-sha256kdf-scheme" */
+-939, /* "dhSinglePass-stdDH-sha384kdf-scheme" */
+-940, /* "dhSinglePass-stdDH-sha512kdf-scheme" */
+-920, /* "dhpublicnumber" */
+-382, /* "directory" */
+-887, /* "distinguishedName" */
+-892, /* "dmdName" */
+-174, /* "dnQualifier" */
+-447, /* "document" */
+-471, /* "documentAuthor" */
+-468, /* "documentIdentifier" */
+-472, /* "documentLocation" */
+-502, /* "documentPublisher" */
+-449, /* "documentSeries" */
+-469, /* "documentTitle" */
+-470, /* "documentVersion" */
+-392, /* "domain" */
+-452, /* "domainRelatedObject" */
+-802, /* "dsa_with_SHA224" */
+-803, /* "dsa_with_SHA256" */
+-791, /* "ecdsa-with-Recommended" */
+-416, /* "ecdsa-with-SHA1" */
+-793, /* "ecdsa-with-SHA224" */
+-794, /* "ecdsa-with-SHA256" */
+-795, /* "ecdsa-with-SHA384" */
+-796, /* "ecdsa-with-SHA512" */
+-792, /* "ecdsa-with-Specified" */
+-48, /* "emailAddress" */
+-132, /* "emailProtection" */
+-885, /* "enhancedSearchGuide" */
+-389, /* "enterprises" */
+-384, /* "experimental" */
+-172, /* "extReq" */
+-56, /* "extendedCertificateAttributes" */
+-126, /* "extendedKeyUsage" */
+-372, /* "extendedStatus" */
+-867, /* "facsimileTelephoneNumber" */
+-462, /* "favouriteDrink" */
+-857, /* "freshestCRL" */
+-453, /* "friendlyCountry" */
+-490, /* "friendlyCountryName" */
+-156, /* "friendlyName" */
+-509, /* "generationQualifier" */
+-815, /* "gost-mac" */
+-976, /* "gost-mac-12" */
+-811, /* "gost2001" */
+-851, /* "gost2001cc" */
+-979, /* "gost2012_256" */
+-980, /* "gost2012_512" */
+-813, /* "gost89" */
+-1009, /* "gost89-cbc" */
+-814, /* "gost89-cnt" */
+-975, /* "gost89-cnt-12" */
+-1011, /* "gost89-ctr" */
+-1010, /* "gost89-ecb" */
+-812, /* "gost94" */
+-850, /* "gost94cc" */
+-1015, /* "grasshopper-cbc" */
+-1016, /* "grasshopper-cfb" */
+-1013, /* "grasshopper-ctr" */
+-1012, /* "grasshopper-ecb" */
+-1017, /* "grasshopper-mac" */
+-1014, /* "grasshopper-ofb" */
+-797, /* "hmacWithMD5" */
+-163, /* "hmacWithSHA1" */
+-798, /* "hmacWithSHA224" */
+-799, /* "hmacWithSHA256" */
+-800, /* "hmacWithSHA384" */
+-801, /* "hmacWithSHA512" */
+-432, /* "holdInstructionCallIssuer" */
+-430, /* "holdInstructionCode" */
+-431, /* "holdInstructionNone" */
+-433, /* "holdInstructionReject" */
+-486, /* "homePostalAddress" */
+-473, /* "homeTelephoneNumber" */
+-466, /* "host" */
+-889, /* "houseIdentifier" */
+-442, /* "iA5StringSyntax" */
+-783, /* "id-DHBasedMac" */
+-824, /* "id-Gost28147-89-CryptoPro-A-ParamSet" */
+-825, /* "id-Gost28147-89-CryptoPro-B-ParamSet" */
+-826, /* "id-Gost28147-89-CryptoPro-C-ParamSet" */
+-827, /* "id-Gost28147-89-CryptoPro-D-ParamSet" */
+-819, /* "id-Gost28147-89-CryptoPro-KeyMeshing" */
+-829, /* "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" */
+-828, /* "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" */
+-830, /* "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" */
+-820, /* "id-Gost28147-89-None-KeyMeshing" */
+-823, /* "id-Gost28147-89-TestParamSet" */
+-849, /* "id-Gost28147-89-cc" */
+-840, /* "id-GostR3410-2001-CryptoPro-A-ParamSet" */
+-841, /* "id-GostR3410-2001-CryptoPro-B-ParamSet" */
+-842, /* "id-GostR3410-2001-CryptoPro-C-ParamSet" */
+-843, /* "id-GostR3410-2001-CryptoPro-XchA-ParamSet" */
+-844, /* "id-GostR3410-2001-CryptoPro-XchB-ParamSet" */
+-854, /* "id-GostR3410-2001-ParamSet-cc" */
+-839, /* "id-GostR3410-2001-TestParamSet" */
+-817, /* "id-GostR3410-2001DH" */
+-832, /* "id-GostR3410-94-CryptoPro-A-ParamSet" */
+-833, /* "id-GostR3410-94-CryptoPro-B-ParamSet" */
+-834, /* "id-GostR3410-94-CryptoPro-C-ParamSet" */
+-835, /* "id-GostR3410-94-CryptoPro-D-ParamSet" */
+-836, /* "id-GostR3410-94-CryptoPro-XchA-ParamSet" */
+-837, /* "id-GostR3410-94-CryptoPro-XchB-ParamSet" */
+-838, /* "id-GostR3410-94-CryptoPro-XchC-ParamSet" */
+-831, /* "id-GostR3410-94-TestParamSet" */
+-845, /* "id-GostR3410-94-a" */
+-846, /* "id-GostR3410-94-aBis" */
+-847, /* "id-GostR3410-94-b" */
+-848, /* "id-GostR3410-94-bBis" */
+-818, /* "id-GostR3410-94DH" */
+-822, /* "id-GostR3411-94-CryptoProParamSet" */
+-821, /* "id-GostR3411-94-TestParamSet" */
+-807, /* "id-GostR3411-94-with-GostR3410-2001" */
+-853, /* "id-GostR3411-94-with-GostR3410-2001-cc" */
+-808, /* "id-GostR3411-94-with-GostR3410-94" */
+-852, /* "id-GostR3411-94-with-GostR3410-94-cc" */
+-810, /* "id-HMACGostR3411-94" */
+-782, /* "id-PasswordBasedMAC" */
+-266, /* "id-aca" */
+-355, /* "id-aca-accessIdentity" */
+-354, /* "id-aca-authenticationInfo" */
+-356, /* "id-aca-chargingIdentity" */
+-399, /* "id-aca-encAttrs" */
+-357, /* "id-aca-group" */
+-358, /* "id-aca-role" */
+-176, /* "id-ad" */
+-896, /* "id-aes128-CCM" */
+-895, /* "id-aes128-GCM" */
+-788, /* "id-aes128-wrap" */
+-897, /* "id-aes128-wrap-pad" */
+-899, /* "id-aes192-CCM" */
+-898, /* "id-aes192-GCM" */
+-789, /* "id-aes192-wrap" */
+-900, /* "id-aes192-wrap-pad" */
+-902, /* "id-aes256-CCM" */
+-901, /* "id-aes256-GCM" */
+-790, /* "id-aes256-wrap" */
+-903, /* "id-aes256-wrap-pad" */
+-262, /* "id-alg" */
+-893, /* "id-alg-PWRI-KEK" */
+-323, /* "id-alg-des40" */
+-326, /* "id-alg-dh-pop" */
+-325, /* "id-alg-dh-sig-hmac-sha1" */
+-324, /* "id-alg-noSignature" */
+-907, /* "id-camellia128-wrap" */
+-908, /* "id-camellia192-wrap" */
+-909, /* "id-camellia256-wrap" */
+-268, /* "id-cct" */
+-361, /* "id-cct-PKIData" */
+-362, /* "id-cct-PKIResponse" */
+-360, /* "id-cct-crs" */
+-81, /* "id-ce" */
+-680, /* "id-characteristic-two-basis" */
+-263, /* "id-cmc" */
+-334, /* "id-cmc-addExtensions" */
+-346, /* "id-cmc-confirmCertAcceptance" */
+-330, /* "id-cmc-dataReturn" */
+-336, /* "id-cmc-decryptedPOP" */
+-335, /* "id-cmc-encryptedPOP" */
+-339, /* "id-cmc-getCRL" */
+-338, /* "id-cmc-getCert" */
+-328, /* "id-cmc-identification" */
+-329, /* "id-cmc-identityProof" */
+-337, /* "id-cmc-lraPOPWitness" */
+-344, /* "id-cmc-popLinkRandom" */
+-345, /* "id-cmc-popLinkWitness" */
+-343, /* "id-cmc-queryPending" */
+-333, /* "id-cmc-recipientNonce" */
+-341, /* "id-cmc-regInfo" */
+-342, /* "id-cmc-responseInfo" */
+-340, /* "id-cmc-revokeRequest" */
+-332, /* "id-cmc-senderNonce" */
+-327, /* "id-cmc-statusInfo" */
+-331, /* "id-cmc-transactionId" */
+-787, /* "id-ct-asciiTextWithCRLF" */
+-408, /* "id-ecPublicKey" */
+-508, /* "id-hex-multipart-message" */
+-507, /* "id-hex-partial-message" */
+-260, /* "id-it" */
+-302, /* "id-it-caKeyUpdateInfo" */
+-298, /* "id-it-caProtEncCert" */
+-311, /* "id-it-confirmWaitTime" */
+-303, /* "id-it-currentCRL" */
+-300, /* "id-it-encKeyPairTypes" */
+-310, /* "id-it-implicitConfirm" */
+-308, /* "id-it-keyPairParamRep" */
+-307, /* "id-it-keyPairParamReq" */
+-312, /* "id-it-origPKIMessage" */
+-301, /* "id-it-preferredSymmAlg" */
+-309, /* "id-it-revPassphrase" */
+-299, /* "id-it-signKeyPairTypes" */
+-305, /* "id-it-subscriptionRequest" */
+-306, /* "id-it-subscriptionResponse" */
+-784, /* "id-it-suppLangTags" */
+-304, /* "id-it-unsupportedOIDs" */
+-128, /* "id-kp" */
+-280, /* "id-mod-attribute-cert" */
+-274, /* "id-mod-cmc" */
+-277, /* "id-mod-cmp" */
+-284, /* "id-mod-cmp2000" */
+-273, /* "id-mod-crmf" */
+-283, /* "id-mod-dvcs" */
+-275, /* "id-mod-kea-profile-88" */
+-276, /* "id-mod-kea-profile-93" */
+-282, /* "id-mod-ocsp" */
+-278, /* "id-mod-qualified-cert-88" */
+-279, /* "id-mod-qualified-cert-93" */
+-281, /* "id-mod-timestamp-protocol" */
+-264, /* "id-on" */
+-858, /* "id-on-permanentIdentifier" */
+-347, /* "id-on-personalData" */
+-265, /* "id-pda" */
+-352, /* "id-pda-countryOfCitizenship" */
+-353, /* "id-pda-countryOfResidence" */
+-348, /* "id-pda-dateOfBirth" */
+-351, /* "id-pda-gender" */
+-349, /* "id-pda-placeOfBirth" */
+-175, /* "id-pe" */
+-1031, /* "id-pkinit" */
+-261, /* "id-pkip" */
+-258, /* "id-pkix-mod" */
+-269, /* "id-pkix1-explicit-88" */
+-271, /* "id-pkix1-explicit-93" */
+-270, /* "id-pkix1-implicit-88" */
+-272, /* "id-pkix1-implicit-93" */
+-662, /* "id-ppl" */
+-664, /* "id-ppl-anyLanguage" */
+-667, /* "id-ppl-independent" */
+-665, /* "id-ppl-inheritAll" */
+-267, /* "id-qcs" */
+-359, /* "id-qcs-pkixQCSyntax-v1" */
+-259, /* "id-qt" */
+-164, /* "id-qt-cps" */
+-165, /* "id-qt-unotice" */
+-313, /* "id-regCtrl" */
+-316, /* "id-regCtrl-authenticator" */
+-319, /* "id-regCtrl-oldCertID" */
+-318, /* "id-regCtrl-pkiArchiveOptions" */
+-317, /* "id-regCtrl-pkiPublicationInfo" */
+-320, /* "id-regCtrl-protocolEncrKey" */
+-315, /* "id-regCtrl-regToken" */
+-314, /* "id-regInfo" */
+-322, /* "id-regInfo-certReq" */
+-321, /* "id-regInfo-utf8Pairs" */
+-973, /* "id-scrypt" */
+-512, /* "id-set" */
+-191, /* "id-smime-aa" */
+-215, /* "id-smime-aa-contentHint" */
+-218, /* "id-smime-aa-contentIdentifier" */
+-221, /* "id-smime-aa-contentReference" */
+-240, /* "id-smime-aa-dvcs-dvc" */
+-217, /* "id-smime-aa-encapContentType" */
+-222, /* "id-smime-aa-encrypKeyPref" */
+-220, /* "id-smime-aa-equivalentLabels" */
+-232, /* "id-smime-aa-ets-CertificateRefs" */
+-233, /* "id-smime-aa-ets-RevocationRefs" */
+-238, /* "id-smime-aa-ets-archiveTimeStamp" */
+-237, /* "id-smime-aa-ets-certCRLTimestamp" */
+-234, /* "id-smime-aa-ets-certValues" */
+-227, /* "id-smime-aa-ets-commitmentType" */
+-231, /* "id-smime-aa-ets-contentTimestamp" */
+-236, /* "id-smime-aa-ets-escTimeStamp" */
+-230, /* "id-smime-aa-ets-otherSigCert" */
+-235, /* "id-smime-aa-ets-revocationValues" */
+-226, /* "id-smime-aa-ets-sigPolicyId" */
+-229, /* "id-smime-aa-ets-signerAttr" */
+-228, /* "id-smime-aa-ets-signerLocation" */
+-219, /* "id-smime-aa-macValue" */
+-214, /* "id-smime-aa-mlExpandHistory" */
+-216, /* "id-smime-aa-msgSigDigest" */
+-212, /* "id-smime-aa-receiptRequest" */
+-213, /* "id-smime-aa-securityLabel" */
+-239, /* "id-smime-aa-signatureType" */
+-223, /* "id-smime-aa-signingCertificate" */
+-224, /* "id-smime-aa-smimeEncryptCerts" */
+-225, /* "id-smime-aa-timeStampToken" */
+-192, /* "id-smime-alg" */
+-243, /* "id-smime-alg-3DESwrap" */
+-246, /* "id-smime-alg-CMS3DESwrap" */
+-247, /* "id-smime-alg-CMSRC2wrap" */
+-245, /* "id-smime-alg-ESDH" */
+-241, /* "id-smime-alg-ESDHwith3DES" */
+-242, /* "id-smime-alg-ESDHwithRC2" */
+-244, /* "id-smime-alg-RC2wrap" */
+-193, /* "id-smime-cd" */
+-248, /* "id-smime-cd-ldap" */
+-190, /* "id-smime-ct" */
+-210, /* "id-smime-ct-DVCSRequestData" */
+-211, /* "id-smime-ct-DVCSResponseData" */
+-208, /* "id-smime-ct-TDTInfo" */
+-207, /* "id-smime-ct-TSTInfo" */
+-205, /* "id-smime-ct-authData" */
+-786, /* "id-smime-ct-compressedData" */
+-209, /* "id-smime-ct-contentInfo" */
+-206, /* "id-smime-ct-publishCert" */
+-204, /* "id-smime-ct-receipt" */
+-195, /* "id-smime-cti" */
+-255, /* "id-smime-cti-ets-proofOfApproval" */
+-256, /* "id-smime-cti-ets-proofOfCreation" */
+-253, /* "id-smime-cti-ets-proofOfDelivery" */
+-251, /* "id-smime-cti-ets-proofOfOrigin" */
+-252, /* "id-smime-cti-ets-proofOfReceipt" */
+-254, /* "id-smime-cti-ets-proofOfSender" */
+-189, /* "id-smime-mod" */
+-196, /* "id-smime-mod-cms" */
+-197, /* "id-smime-mod-ess" */
+-202, /* "id-smime-mod-ets-eSigPolicy-88" */
+-203, /* "id-smime-mod-ets-eSigPolicy-97" */
+-200, /* "id-smime-mod-ets-eSignature-88" */
+-201, /* "id-smime-mod-ets-eSignature-97" */
+-199, /* "id-smime-mod-msg-v3" */
+-198, /* "id-smime-mod-oid" */
+-194, /* "id-smime-spq" */
+-250, /* "id-smime-spq-ets-sqt-unotice" */
+-249, /* "id-smime-spq-ets-sqt-uri" */
+-974, /* "id-tc26" */
+-991, /* "id-tc26-agreement" */
+-992, /* "id-tc26-agreement-gost-3410-2012-256" */
+-993, /* "id-tc26-agreement-gost-3410-2012-512" */
+-977, /* "id-tc26-algorithms" */
+-990, /* "id-tc26-cipher" */
+-1001, /* "id-tc26-cipher-constants" */
+-994, /* "id-tc26-constants" */
+-981, /* "id-tc26-digest" */
+-1000, /* "id-tc26-digest-constants" */
+-1002, /* "id-tc26-gost-28147-constants" */
+-1003, /* "id-tc26-gost-28147-param-Z" */
+-996, /* "id-tc26-gost-3410-2012-512-constants" */
+-998, /* "id-tc26-gost-3410-2012-512-paramSetA" */
+-999, /* "id-tc26-gost-3410-2012-512-paramSetB" */
+-997, /* "id-tc26-gost-3410-2012-512-paramSetTest" */
+-988, /* "id-tc26-hmac-gost-3411-2012-256" */
+-989, /* "id-tc26-hmac-gost-3411-2012-512" */
+-987, /* "id-tc26-mac" */
+-978, /* "id-tc26-sign" */
+-995, /* "id-tc26-sign-constants" */
+-984, /* "id-tc26-signwithdigest" */
+-985, /* "id-tc26-signwithdigest-gost3410-2012-256" */
+-986, /* "id-tc26-signwithdigest-gost3410-2012-512" */
+-676, /* "identified-organization" */
+-461, /* "info" */
+-748, /* "inhibitAnyPolicy" */
+-101, /* "initials" */
+-647, /* "international-organizations" */
+-869, /* "internationaliSDNNumber" */
+-142, /* "invalidityDate" */
+-294, /* "ipsecEndSystem" */
+-1022, /* "ipsecIKE" */
+-295, /* "ipsecTunnel" */
+-296, /* "ipsecUser" */
+-86, /* "issuerAltName" */
+-1008, /* "issuerSignTool" */
+-770, /* "issuingDistributionPoint" */
+-492, /* "janetMailbox" */
+-957, /* "jurisdictionC" */
+-955, /* "jurisdictionL" */
+-956, /* "jurisdictionST" */
+-150, /* "keyBag" */
+-83, /* "keyUsage" */
+-477, /* "lastModifiedBy" */
+-476, /* "lastModifiedTime" */
+-157, /* "localKeyID" */
+-480, /* "mXRecord" */
+-460, /* "mail" */
+-493, /* "mailPreferenceOption" */
+-467, /* "manager" */
+-982, /* "md_gost12_256" */
+-983, /* "md_gost12_512" */
+-809, /* "md_gost94" */
+-875, /* "member" */
+-182, /* "member-body" */
+-51, /* "messageDigest" */
+-383, /* "mgmt" */
+-504, /* "mime-mhs" */
+-506, /* "mime-mhs-bodies" */
+-505, /* "mime-mhs-headings" */
+-488, /* "mobileTelephoneNumber" */
+-136, /* "msCTLSign" */
+-135, /* "msCodeCom" */
+-134, /* "msCodeInd" */
+-138, /* "msEFS" */
+-171, /* "msExtReq" */
+-137, /* "msSGC" */
+-648, /* "msSmartcardLogin" */
+-649, /* "msUPN" */
+-481, /* "nSRecord" */
+-173, /* "name" */
+-666, /* "nameConstraints" */
+-369, /* "noCheck" */
+-403, /* "noRevAvail" */
+-72, /* "nsBaseUrl" */
+-76, /* "nsCaPolicyUrl" */
+-74, /* "nsCaRevocationUrl" */
+-58, /* "nsCertExt" */
+-79, /* "nsCertSequence" */
+-71, /* "nsCertType" */
+-78, /* "nsComment" */
+-59, /* "nsDataType" */
+-75, /* "nsRenewalUrl" */
+-73, /* "nsRevocationUrl" */
+-139, /* "nsSGC" */
+-77, /* "nsSslServerName" */
+-681, /* "onBasis" */
+-491, /* "organizationalStatus" */
+-475, /* "otherMailbox" */
+-876, /* "owner" */
+-489, /* "pagerTelephoneNumber" */
+-374, /* "path" */
+-112, /* "pbeWithMD5AndCast5CBC" */
+-499, /* "personalSignature" */
+-487, /* "personalTitle" */
+-464, /* "photo" */
+-863, /* "physicalDeliveryOfficeName" */
+-437, /* "pilot" */
+-439, /* "pilotAttributeSyntax" */
+-438, /* "pilotAttributeType" */
+-479, /* "pilotAttributeType27" */
+-456, /* "pilotDSA" */
+-441, /* "pilotGroups" */
+-444, /* "pilotObject" */
+-440, /* "pilotObjectClass" */
+-455, /* "pilotOrganization" */
+-445, /* "pilotPerson" */
+-1032, /* "pkInitClientAuth" */
+-1033, /* "pkInitKDC" */
+- 2, /* "pkcs" */
+-186, /* "pkcs1" */
+-27, /* "pkcs3" */
+-187, /* "pkcs5" */
+-20, /* "pkcs7" */
+-21, /* "pkcs7-data" */
+-25, /* "pkcs7-digestData" */
+-26, /* "pkcs7-encryptedData" */
+-23, /* "pkcs7-envelopedData" */
+-24, /* "pkcs7-signedAndEnvelopedData" */
+-22, /* "pkcs7-signedData" */
+-151, /* "pkcs8ShroudedKeyBag" */
+-47, /* "pkcs9" */
+-401, /* "policyConstraints" */
+-747, /* "policyMappings" */
+-862, /* "postOfficeBox" */
+-861, /* "postalAddress" */
+-661, /* "postalCode" */
+-683, /* "ppBasis" */
+-872, /* "preferredDeliveryMethod" */
+-873, /* "presentationAddress" */
+-816, /* "prf-gostr3411-94" */
+-406, /* "prime-field" */
+-409, /* "prime192v1" */
+-410, /* "prime192v2" */
+-411, /* "prime192v3" */
+-412, /* "prime239v1" */
+-413, /* "prime239v2" */
+-414, /* "prime239v3" */
+-415, /* "prime256v1" */
+-385, /* "private" */
+-84, /* "privateKeyUsagePeriod" */
+-886, /* "protocolInformation" */
+-663, /* "proxyCertInfo" */
+-510, /* "pseudonym" */
+-435, /* "pss" */
+-286, /* "qcStatements" */
+-457, /* "qualityLabelledData" */
+-450, /* "rFC822localPart" */
+-870, /* "registeredAddress" */
+-400, /* "role" */
+-877, /* "roleOccupant" */
+-448, /* "room" */
+-463, /* "roomNumber" */
+- 6, /* "rsaEncryption" */
+-644, /* "rsaOAEPEncryptionSET" */
+-377, /* "rsaSignature" */
+- 1, /* "rsadsi" */
+-482, /* "sOARecord" */
+-155, /* "safeContentsBag" */
+-291, /* "sbgp-autonomousSysNum" */
+-290, /* "sbgp-ipAddrBlock" */
+-292, /* "sbgp-routerIdentifier" */
+-159, /* "sdsiCertificate" */
+-859, /* "searchGuide" */
+-704, /* "secp112r1" */
+-705, /* "secp112r2" */
+-706, /* "secp128r1" */
+-707, /* "secp128r2" */
+-708, /* "secp160k1" */
+-709, /* "secp160r1" */
+-710, /* "secp160r2" */
+-711, /* "secp192k1" */
+-712, /* "secp224k1" */
+-713, /* "secp224r1" */
+-714, /* "secp256k1" */
+-715, /* "secp384r1" */
+-716, /* "secp521r1" */
+-154, /* "secretBag" */
+-474, /* "secretary" */
+-717, /* "sect113r1" */
+-718, /* "sect113r2" */
+-719, /* "sect131r1" */
+-720, /* "sect131r2" */
+-721, /* "sect163k1" */
+-722, /* "sect163r1" */
+-723, /* "sect163r2" */
+-724, /* "sect193r1" */
+-725, /* "sect193r2" */
+-726, /* "sect233k1" */
+-727, /* "sect233r1" */
+-728, /* "sect239k1" */
+-729, /* "sect283k1" */
+-730, /* "sect283r1" */
+-731, /* "sect409k1" */
+-732, /* "sect409r1" */
+-733, /* "sect571k1" */
+-734, /* "sect571r1" */
+-1025, /* "secureShellClient" */
+-1026, /* "secureShellServer" */
+-386, /* "security" */
+-878, /* "seeAlso" */
+-394, /* "selected-attribute-types" */
+-1029, /* "sendOwner" */
+-1030, /* "sendProxiedOwner" */
+-1028, /* "sendProxiedRouter" */
+-1027, /* "sendRouter" */
+-105, /* "serialNumber" */
+-129, /* "serverAuth" */
+-371, /* "serviceLocator" */
+-625, /* "set-addPolicy" */
+-515, /* "set-attr" */
+-518, /* "set-brand" */
+-638, /* "set-brand-AmericanExpress" */
+-637, /* "set-brand-Diners" */
+-636, /* "set-brand-IATA-ATA" */
+-639, /* "set-brand-JCB" */
+-641, /* "set-brand-MasterCard" */
+-642, /* "set-brand-Novus" */
+-640, /* "set-brand-Visa" */
+-517, /* "set-certExt" */
+-513, /* "set-ctype" */
+-514, /* "set-msgExt" */
+-516, /* "set-policy" */
+-607, /* "set-policy-root" */
+-624, /* "set-rootKeyThumb" */
+-620, /* "setAttr-Cert" */
+-631, /* "setAttr-GenCryptgrm" */
+-623, /* "setAttr-IssCap" */
+-628, /* "setAttr-IssCap-CVM" */
+-630, /* "setAttr-IssCap-Sig" */
+-629, /* "setAttr-IssCap-T2" */
+-621, /* "setAttr-PGWYcap" */
+-635, /* "setAttr-SecDevSig" */
+-632, /* "setAttr-T2Enc" */
+-633, /* "setAttr-T2cleartxt" */
+-634, /* "setAttr-TokICCsig" */
+-627, /* "setAttr-Token-B0Prime" */
+-626, /* "setAttr-Token-EMV" */
+-622, /* "setAttr-TokenType" */
+-619, /* "setCext-IssuerCapabilities" */
+-615, /* "setCext-PGWYcapabilities" */
+-616, /* "setCext-TokenIdentifier" */
+-618, /* "setCext-TokenType" */
+-617, /* "setCext-Track2Data" */
+-611, /* "setCext-cCertRequired" */
+-609, /* "setCext-certType" */
+-608, /* "setCext-hashedRoot" */
+-610, /* "setCext-merchData" */
+-613, /* "setCext-setExt" */
+-614, /* "setCext-setQualf" */
+-612, /* "setCext-tunneling" */
+-540, /* "setct-AcqCardCodeMsg" */
+-576, /* "setct-AcqCardCodeMsgTBE" */
+-570, /* "setct-AuthReqTBE" */
+-534, /* "setct-AuthReqTBS" */
+-527, /* "setct-AuthResBaggage" */
+-571, /* "setct-AuthResTBE" */
+-572, /* "setct-AuthResTBEX" */
+-535, /* "setct-AuthResTBS" */
+-536, /* "setct-AuthResTBSX" */
+-528, /* "setct-AuthRevReqBaggage" */
+-577, /* "setct-AuthRevReqTBE" */
+-541, /* "setct-AuthRevReqTBS" */
+-529, /* "setct-AuthRevResBaggage" */
+-542, /* "setct-AuthRevResData" */
+-578, /* "setct-AuthRevResTBE" */
+-579, /* "setct-AuthRevResTBEB" */
+-543, /* "setct-AuthRevResTBS" */
+-573, /* "setct-AuthTokenTBE" */
+-537, /* "setct-AuthTokenTBS" */
+-600, /* "setct-BCIDistributionTBS" */
+-558, /* "setct-BatchAdminReqData" */
+-592, /* "setct-BatchAdminReqTBE" */
+-559, /* "setct-BatchAdminResData" */
+-593, /* "setct-BatchAdminResTBE" */
+-599, /* "setct-CRLNotificationResTBS" */
+-598, /* "setct-CRLNotificationTBS" */
+-580, /* "setct-CapReqTBE" */
+-581, /* "setct-CapReqTBEX" */
+-544, /* "setct-CapReqTBS" */
+-545, /* "setct-CapReqTBSX" */
+-546, /* "setct-CapResData" */
+-582, /* "setct-CapResTBE" */
+-583, /* "setct-CapRevReqTBE" */
+-584, /* "setct-CapRevReqTBEX" */
+-547, /* "setct-CapRevReqTBS" */
+-548, /* "setct-CapRevReqTBSX" */
+-549, /* "setct-CapRevResData" */
+-585, /* "setct-CapRevResTBE" */
+-538, /* "setct-CapTokenData" */
+-530, /* "setct-CapTokenSeq" */
+-574, /* "setct-CapTokenTBE" */
+-575, /* "setct-CapTokenTBEX" */
+-539, /* "setct-CapTokenTBS" */
+-560, /* "setct-CardCInitResTBS" */
+-566, /* "setct-CertInqReqTBS" */
+-563, /* "setct-CertReqData" */
+-595, /* "setct-CertReqTBE" */
+-596, /* "setct-CertReqTBEX" */
+-564, /* "setct-CertReqTBS" */
+-565, /* "setct-CertResData" */
+-597, /* "setct-CertResTBE" */
+-586, /* "setct-CredReqTBE" */
+-587, /* "setct-CredReqTBEX" */
+-550, /* "setct-CredReqTBS" */
+-551, /* "setct-CredReqTBSX" */
+-552, /* "setct-CredResData" */
+-588, /* "setct-CredResTBE" */
+-589, /* "setct-CredRevReqTBE" */
+-590, /* "setct-CredRevReqTBEX" */
+-553, /* "setct-CredRevReqTBS" */
+-554, /* "setct-CredRevReqTBSX" */
+-555, /* "setct-CredRevResData" */
+-591, /* "setct-CredRevResTBE" */
+-567, /* "setct-ErrorTBS" */
+-526, /* "setct-HODInput" */
+-561, /* "setct-MeAqCInitResTBS" */
+-522, /* "setct-OIData" */
+-519, /* "setct-PANData" */
+-521, /* "setct-PANOnly" */
+-520, /* "setct-PANToken" */
+-556, /* "setct-PCertReqData" */
+-557, /* "setct-PCertResTBS" */
+-523, /* "setct-PI" */
+-532, /* "setct-PI-TBS" */
+-524, /* "setct-PIData" */
+-525, /* "setct-PIDataUnsigned" */
+-568, /* "setct-PIDualSignedTBE" */
+-569, /* "setct-PIUnsignedTBE" */
+-531, /* "setct-PInitResData" */
+-533, /* "setct-PResData" */
+-594, /* "setct-RegFormReqTBE" */
+-562, /* "setct-RegFormResTBS" */
+-606, /* "setext-cv" */
+-601, /* "setext-genCrypt" */
+-602, /* "setext-miAuth" */
+-604, /* "setext-pinAny" */
+-603, /* "setext-pinSecure" */
+-605, /* "setext-track2" */
+-52, /* "signingTime" */
+-454, /* "simpleSecurityObject" */
+-496, /* "singleLevelQuality" */
+-387, /* "snmpv2" */
+-660, /* "street" */
+-85, /* "subjectAltName" */
+-769, /* "subjectDirectoryAttributes" */
+-398, /* "subjectInfoAccess" */
+-82, /* "subjectKeyIdentifier" */
+-1007, /* "subjectSignTool" */
+-498, /* "subtreeMaximumQuality" */
+-497, /* "subtreeMinimumQuality" */
+-890, /* "supportedAlgorithms" */
+-874, /* "supportedApplicationContext" */
+-402, /* "targetInformation" */
+-864, /* "telephoneNumber" */
+-866, /* "teletexTerminalIdentifier" */
+-865, /* "telexNumber" */
+-459, /* "textEncodedORAddress" */
+-293, /* "textNotice" */
+-133, /* "timeStamping" */
+-106, /* "title" */
+-1020, /* "tlsfeature" */
+-682, /* "tpBasis" */
+-375, /* "trustRoot" */
+-436, /* "ucl" */
+-102, /* "uid" */
+-888, /* "uniqueMember" */
+-55, /* "unstructuredAddress" */
+-49, /* "unstructuredName" */
+-880, /* "userCertificate" */
+-465, /* "userClass" */
+-879, /* "userPassword" */
+-373, /* "valid" */
+-678, /* "wap" */
+-679, /* "wap-wsg" */
+-735, /* "wap-wsg-idm-ecid-wtls1" */
+-743, /* "wap-wsg-idm-ecid-wtls10" */
+-744, /* "wap-wsg-idm-ecid-wtls11" */
+-745, /* "wap-wsg-idm-ecid-wtls12" */
+-736, /* "wap-wsg-idm-ecid-wtls3" */
+-737, /* "wap-wsg-idm-ecid-wtls4" */
+-738, /* "wap-wsg-idm-ecid-wtls5" */
+-739, /* "wap-wsg-idm-ecid-wtls6" */
+-740, /* "wap-wsg-idm-ecid-wtls7" */
+-741, /* "wap-wsg-idm-ecid-wtls8" */
+-742, /* "wap-wsg-idm-ecid-wtls9" */
+-804, /* "whirlpool" */
+-868, /* "x121Address" */
+-503, /* "x500UniqueIdentifier" */
+-158, /* "x509Certificate" */
+-160, /* "x509Crl" */
++#define NUM_SN 1049
++static const unsigned int sn_objs[NUM_SN] = {
++ 364, /* "AD_DVCS" */
++ 419, /* "AES-128-CBC" */
++ 916, /* "AES-128-CBC-HMAC-SHA1" */
++ 948, /* "AES-128-CBC-HMAC-SHA256" */
++ 421, /* "AES-128-CFB" */
++ 650, /* "AES-128-CFB1" */
++ 653, /* "AES-128-CFB8" */
++ 904, /* "AES-128-CTR" */
++ 418, /* "AES-128-ECB" */
++ 958, /* "AES-128-OCB" */
++ 420, /* "AES-128-OFB" */
++ 913, /* "AES-128-XTS" */
++ 423, /* "AES-192-CBC" */
++ 917, /* "AES-192-CBC-HMAC-SHA1" */
++ 949, /* "AES-192-CBC-HMAC-SHA256" */
++ 425, /* "AES-192-CFB" */
++ 651, /* "AES-192-CFB1" */
++ 654, /* "AES-192-CFB8" */
++ 905, /* "AES-192-CTR" */
++ 422, /* "AES-192-ECB" */
++ 959, /* "AES-192-OCB" */
++ 424, /* "AES-192-OFB" */
++ 427, /* "AES-256-CBC" */
++ 918, /* "AES-256-CBC-HMAC-SHA1" */
++ 950, /* "AES-256-CBC-HMAC-SHA256" */
++ 429, /* "AES-256-CFB" */
++ 652, /* "AES-256-CFB1" */
++ 655, /* "AES-256-CFB8" */
++ 906, /* "AES-256-CTR" */
++ 426, /* "AES-256-ECB" */
++ 960, /* "AES-256-OCB" */
++ 428, /* "AES-256-OFB" */
++ 914, /* "AES-256-XTS" */
++ 1049, /* "AuthDSS" */
++ 1047, /* "AuthECDSA" */
++ 1050, /* "AuthGOST01" */
++ 1051, /* "AuthGOST12" */
++ 1053, /* "AuthNULL" */
++ 1048, /* "AuthPSK" */
++ 1046, /* "AuthRSA" */
++ 1052, /* "AuthSRP" */
++ 91, /* "BF-CBC" */
++ 93, /* "BF-CFB" */
++ 92, /* "BF-ECB" */
++ 94, /* "BF-OFB" */
++ 1056, /* "BLAKE2b512" */
++ 1057, /* "BLAKE2s256" */
++ 14, /* "C" */
++ 751, /* "CAMELLIA-128-CBC" */
++ 962, /* "CAMELLIA-128-CCM" */
++ 757, /* "CAMELLIA-128-CFB" */
++ 760, /* "CAMELLIA-128-CFB1" */
++ 763, /* "CAMELLIA-128-CFB8" */
++ 964, /* "CAMELLIA-128-CMAC" */
++ 963, /* "CAMELLIA-128-CTR" */
++ 754, /* "CAMELLIA-128-ECB" */
++ 961, /* "CAMELLIA-128-GCM" */
++ 766, /* "CAMELLIA-128-OFB" */
++ 752, /* "CAMELLIA-192-CBC" */
++ 966, /* "CAMELLIA-192-CCM" */
++ 758, /* "CAMELLIA-192-CFB" */
++ 761, /* "CAMELLIA-192-CFB1" */
++ 764, /* "CAMELLIA-192-CFB8" */
++ 968, /* "CAMELLIA-192-CMAC" */
++ 967, /* "CAMELLIA-192-CTR" */
++ 755, /* "CAMELLIA-192-ECB" */
++ 965, /* "CAMELLIA-192-GCM" */
++ 767, /* "CAMELLIA-192-OFB" */
++ 753, /* "CAMELLIA-256-CBC" */
++ 970, /* "CAMELLIA-256-CCM" */
++ 759, /* "CAMELLIA-256-CFB" */
++ 762, /* "CAMELLIA-256-CFB1" */
++ 765, /* "CAMELLIA-256-CFB8" */
++ 972, /* "CAMELLIA-256-CMAC" */
++ 971, /* "CAMELLIA-256-CTR" */
++ 756, /* "CAMELLIA-256-ECB" */
++ 969, /* "CAMELLIA-256-GCM" */
++ 768, /* "CAMELLIA-256-OFB" */
++ 108, /* "CAST5-CBC" */
++ 110, /* "CAST5-CFB" */
++ 109, /* "CAST5-ECB" */
++ 111, /* "CAST5-OFB" */
++ 894, /* "CMAC" */
++ 13, /* "CN" */
++ 141, /* "CRLReason" */
++ 417, /* "CSPName" */
++ 1019, /* "ChaCha20" */
++ 1018, /* "ChaCha20-Poly1305" */
++ 367, /* "CrlID" */
++ 391, /* "DC" */
++ 31, /* "DES-CBC" */
++ 643, /* "DES-CDMF" */
++ 30, /* "DES-CFB" */
++ 656, /* "DES-CFB1" */
++ 657, /* "DES-CFB8" */
++ 29, /* "DES-ECB" */
++ 32, /* "DES-EDE" */
++ 43, /* "DES-EDE-CBC" */
++ 60, /* "DES-EDE-CFB" */
++ 62, /* "DES-EDE-OFB" */
++ 33, /* "DES-EDE3" */
++ 44, /* "DES-EDE3-CBC" */
++ 61, /* "DES-EDE3-CFB" */
++ 658, /* "DES-EDE3-CFB1" */
++ 659, /* "DES-EDE3-CFB8" */
++ 63, /* "DES-EDE3-OFB" */
++ 45, /* "DES-OFB" */
++ 80, /* "DESX-CBC" */
++ 380, /* "DOD" */
++ 116, /* "DSA" */
++ 66, /* "DSA-SHA" */
++ 113, /* "DSA-SHA1" */
++ 70, /* "DSA-SHA1-old" */
++ 67, /* "DSA-old" */
++ 297, /* "DVCS" */
++ 99, /* "GN" */
++ 1036, /* "HKDF" */
++ 855, /* "HMAC" */
++ 780, /* "HMAC-MD5" */
++ 781, /* "HMAC-SHA1" */
++ 381, /* "IANA" */
++ 34, /* "IDEA-CBC" */
++ 35, /* "IDEA-CFB" */
++ 36, /* "IDEA-ECB" */
++ 46, /* "IDEA-OFB" */
++ 1004, /* "INN" */
++ 181, /* "ISO" */
++ 183, /* "ISO-US" */
++ 645, /* "ITU-T" */
++ 646, /* "JOINT-ISO-ITU-T" */
++ 773, /* "KISA" */
++ 1039, /* "KxDHE" */
++ 1041, /* "KxDHE-PSK" */
++ 1038, /* "KxECDHE" */
++ 1040, /* "KxECDHE-PSK" */
++ 1045, /* "KxGOST" */
++ 1043, /* "KxPSK" */
++ 1037, /* "KxRSA" */
++ 1042, /* "KxRSA_PSK" */
++ 1044, /* "KxSRP" */
++ 15, /* "L" */
++ 856, /* "LocalKeySet" */
++ 3, /* "MD2" */
++ 257, /* "MD4" */
++ 4, /* "MD5" */
++ 114, /* "MD5-SHA1" */
++ 95, /* "MDC2" */
++ 911, /* "MGF1" */
++ 388, /* "Mail" */
++ 393, /* "NULL" */
++ 404, /* "NULL" */
++ 57, /* "Netscape" */
++ 366, /* "Nonce" */
++ 17, /* "O" */
++ 178, /* "OCSP" */
++ 180, /* "OCSPSigning" */
++ 1005, /* "OGRN" */
++ 379, /* "ORG" */
++ 18, /* "OU" */
++ 749, /* "Oakley-EC2N-3" */
++ 750, /* "Oakley-EC2N-4" */
++ 9, /* "PBE-MD2-DES" */
++ 168, /* "PBE-MD2-RC2-64" */
++ 10, /* "PBE-MD5-DES" */
++ 169, /* "PBE-MD5-RC2-64" */
++ 147, /* "PBE-SHA1-2DES" */
++ 146, /* "PBE-SHA1-3DES" */
++ 170, /* "PBE-SHA1-DES" */
++ 148, /* "PBE-SHA1-RC2-128" */
++ 149, /* "PBE-SHA1-RC2-40" */
++ 68, /* "PBE-SHA1-RC2-64" */
++ 144, /* "PBE-SHA1-RC4-128" */
++ 145, /* "PBE-SHA1-RC4-40" */
++ 161, /* "PBES2" */
++ 69, /* "PBKDF2" */
++ 162, /* "PBMAC1" */
++ 127, /* "PKIX" */
++ 935, /* "PSPECIFIED" */
++ 98, /* "RC2-40-CBC" */
++ 166, /* "RC2-64-CBC" */
++ 37, /* "RC2-CBC" */
++ 39, /* "RC2-CFB" */
++ 38, /* "RC2-ECB" */
++ 40, /* "RC2-OFB" */
++ 5, /* "RC4" */
++ 97, /* "RC4-40" */
++ 915, /* "RC4-HMAC-MD5" */
++ 120, /* "RC5-CBC" */
++ 122, /* "RC5-CFB" */
++ 121, /* "RC5-ECB" */
++ 123, /* "RC5-OFB" */
++ 117, /* "RIPEMD160" */
++ 19, /* "RSA" */
++ 7, /* "RSA-MD2" */
++ 396, /* "RSA-MD4" */
++ 8, /* "RSA-MD5" */
++ 96, /* "RSA-MDC2" */
++ 104, /* "RSA-NP-MD5" */
++ 119, /* "RSA-RIPEMD160" */
++ 42, /* "RSA-SHA" */
++ 65, /* "RSA-SHA1" */
++ 115, /* "RSA-SHA1-2" */
++ 671, /* "RSA-SHA224" */
++ 668, /* "RSA-SHA256" */
++ 669, /* "RSA-SHA384" */
++ 670, /* "RSA-SHA512" */
++ 919, /* "RSAES-OAEP" */
++ 912, /* "RSASSA-PSS" */
++ 777, /* "SEED-CBC" */
++ 779, /* "SEED-CFB" */
++ 776, /* "SEED-ECB" */
++ 778, /* "SEED-OFB" */
++ 41, /* "SHA" */
++ 64, /* "SHA1" */
++ 675, /* "SHA224" */
++ 672, /* "SHA256" */
++ 673, /* "SHA384" */
++ 674, /* "SHA512" */
++ 188, /* "SMIME" */
++ 167, /* "SMIME-CAPS" */
++ 100, /* "SN" */
++ 1006, /* "SNILS" */
++ 16, /* "ST" */
++ 143, /* "SXNetID" */
++ 1021, /* "TLS1-PRF" */
++ 458, /* "UID" */
++ 0, /* "UNDEF" */
++ 1034, /* "X25519" */
++ 1035, /* "X448" */
++ 11, /* "X500" */
++ 378, /* "X500algorithms" */
++ 12, /* "X509" */
++ 184, /* "X9-57" */
++ 185, /* "X9cm" */
++ 125, /* "ZLIB" */
++ 478, /* "aRecord" */
++ 289, /* "aaControls" */
++ 287, /* "ac-auditEntity" */
++ 397, /* "ac-proxying" */
++ 288, /* "ac-targeting" */
++ 368, /* "acceptableResponses" */
++ 446, /* "account" */
++ 363, /* "ad_timestamping" */
++ 376, /* "algorithm" */
++ 405, /* "ansi-X9-62" */
++ 910, /* "anyExtendedKeyUsage" */
++ 746, /* "anyPolicy" */
++ 370, /* "archiveCutoff" */
++ 484, /* "associatedDomain" */
++ 485, /* "associatedName" */
++ 501, /* "audio" */
++ 177, /* "authorityInfoAccess" */
++ 90, /* "authorityKeyIdentifier" */
++ 882, /* "authorityRevocationList" */
++ 87, /* "basicConstraints" */
++ 365, /* "basicOCSPResponse" */
++ 285, /* "biometricInfo" */
++ 921, /* "brainpoolP160r1" */
++ 922, /* "brainpoolP160t1" */
++ 923, /* "brainpoolP192r1" */
++ 924, /* "brainpoolP192t1" */
++ 925, /* "brainpoolP224r1" */
++ 926, /* "brainpoolP224t1" */
++ 927, /* "brainpoolP256r1" */
++ 928, /* "brainpoolP256t1" */
++ 929, /* "brainpoolP320r1" */
++ 930, /* "brainpoolP320t1" */
++ 931, /* "brainpoolP384r1" */
++ 932, /* "brainpoolP384t1" */
++ 933, /* "brainpoolP512r1" */
++ 934, /* "brainpoolP512t1" */
++ 494, /* "buildingName" */
++ 860, /* "businessCategory" */
++ 691, /* "c2onb191v4" */
++ 692, /* "c2onb191v5" */
++ 697, /* "c2onb239v4" */
++ 698, /* "c2onb239v5" */
++ 684, /* "c2pnb163v1" */
++ 685, /* "c2pnb163v2" */
++ 686, /* "c2pnb163v3" */
++ 687, /* "c2pnb176v1" */
++ 693, /* "c2pnb208w1" */
++ 699, /* "c2pnb272w1" */
++ 700, /* "c2pnb304w1" */
++ 702, /* "c2pnb368w1" */
++ 688, /* "c2tnb191v1" */
++ 689, /* "c2tnb191v2" */
++ 690, /* "c2tnb191v3" */
++ 694, /* "c2tnb239v1" */
++ 695, /* "c2tnb239v2" */
++ 696, /* "c2tnb239v3" */
++ 701, /* "c2tnb359v1" */
++ 703, /* "c2tnb431r1" */
++ 881, /* "cACertificate" */
++ 483, /* "cNAMERecord" */
++ 179, /* "caIssuers" */
++ 785, /* "caRepository" */
++ 1023, /* "capwapAC" */
++ 1024, /* "capwapWTP" */
++ 443, /* "caseIgnoreIA5StringSyntax" */
++ 152, /* "certBag" */
++ 677, /* "certicom-arc" */
++ 771, /* "certificateIssuer" */
++ 89, /* "certificatePolicies" */
++ 883, /* "certificateRevocationList" */
++ 54, /* "challengePassword" */
++ 407, /* "characteristic-two-field" */
++ 395, /* "clearance" */
++ 130, /* "clientAuth" */
++ 131, /* "codeSigning" */
++ 50, /* "contentType" */
++ 53, /* "countersignature" */
++ 153, /* "crlBag" */
++ 103, /* "crlDistributionPoints" */
++ 88, /* "crlNumber" */
++ 884, /* "crossCertificatePair" */
++ 806, /* "cryptocom" */
++ 805, /* "cryptopro" */
++ 954, /* "ct_cert_scts" */
++ 952, /* "ct_precert_poison" */
++ 951, /* "ct_precert_scts" */
++ 953, /* "ct_precert_signer" */
++ 500, /* "dITRedirect" */
++ 451, /* "dNSDomain" */
++ 495, /* "dSAQuality" */
++ 434, /* "data" */
++ 390, /* "dcobject" */
++ 140, /* "deltaCRL" */
++ 891, /* "deltaRevocationList" */
++ 107, /* "description" */
++ 871, /* "destinationIndicator" */
++ 947, /* "dh-cofactor-kdf" */
++ 946, /* "dh-std-kdf" */
++ 28, /* "dhKeyAgreement" */
++ 941, /* "dhSinglePass-cofactorDH-sha1kdf-scheme" */
++ 942, /* "dhSinglePass-cofactorDH-sha224kdf-scheme" */
++ 943, /* "dhSinglePass-cofactorDH-sha256kdf-scheme" */
++ 944, /* "dhSinglePass-cofactorDH-sha384kdf-scheme" */
++ 945, /* "dhSinglePass-cofactorDH-sha512kdf-scheme" */
++ 936, /* "dhSinglePass-stdDH-sha1kdf-scheme" */
++ 937, /* "dhSinglePass-stdDH-sha224kdf-scheme" */
++ 938, /* "dhSinglePass-stdDH-sha256kdf-scheme" */
++ 939, /* "dhSinglePass-stdDH-sha384kdf-scheme" */
++ 940, /* "dhSinglePass-stdDH-sha512kdf-scheme" */
++ 920, /* "dhpublicnumber" */
++ 382, /* "directory" */
++ 887, /* "distinguishedName" */
++ 892, /* "dmdName" */
++ 174, /* "dnQualifier" */
++ 447, /* "document" */
++ 471, /* "documentAuthor" */
++ 468, /* "documentIdentifier" */
++ 472, /* "documentLocation" */
++ 502, /* "documentPublisher" */
++ 449, /* "documentSeries" */
++ 469, /* "documentTitle" */
++ 470, /* "documentVersion" */
++ 392, /* "domain" */
++ 452, /* "domainRelatedObject" */
++ 802, /* "dsa_with_SHA224" */
++ 803, /* "dsa_with_SHA256" */
++ 791, /* "ecdsa-with-Recommended" */
++ 416, /* "ecdsa-with-SHA1" */
++ 793, /* "ecdsa-with-SHA224" */
++ 794, /* "ecdsa-with-SHA256" */
++ 795, /* "ecdsa-with-SHA384" */
++ 796, /* "ecdsa-with-SHA512" */
++ 792, /* "ecdsa-with-Specified" */
++ 48, /* "emailAddress" */
++ 132, /* "emailProtection" */
++ 885, /* "enhancedSearchGuide" */
++ 389, /* "enterprises" */
++ 384, /* "experimental" */
++ 172, /* "extReq" */
++ 56, /* "extendedCertificateAttributes" */
++ 126, /* "extendedKeyUsage" */
++ 372, /* "extendedStatus" */
++ 867, /* "facsimileTelephoneNumber" */
++ 462, /* "favouriteDrink" */
++ 857, /* "freshestCRL" */
++ 453, /* "friendlyCountry" */
++ 490, /* "friendlyCountryName" */
++ 156, /* "friendlyName" */
++ 509, /* "generationQualifier" */
++ 815, /* "gost-mac" */
++ 976, /* "gost-mac-12" */
++ 811, /* "gost2001" */
++ 851, /* "gost2001cc" */
++ 979, /* "gost2012_256" */
++ 980, /* "gost2012_512" */
++ 813, /* "gost89" */
++ 1009, /* "gost89-cbc" */
++ 814, /* "gost89-cnt" */
++ 975, /* "gost89-cnt-12" */
++ 1011, /* "gost89-ctr" */
++ 1010, /* "gost89-ecb" */
++ 812, /* "gost94" */
++ 850, /* "gost94cc" */
++ 1015, /* "grasshopper-cbc" */
++ 1016, /* "grasshopper-cfb" */
++ 1013, /* "grasshopper-ctr" */
++ 1012, /* "grasshopper-ecb" */
++ 1017, /* "grasshopper-mac" */
++ 1014, /* "grasshopper-ofb" */
++ 797, /* "hmacWithMD5" */
++ 163, /* "hmacWithSHA1" */
++ 798, /* "hmacWithSHA224" */
++ 799, /* "hmacWithSHA256" */
++ 800, /* "hmacWithSHA384" */
++ 801, /* "hmacWithSHA512" */
++ 432, /* "holdInstructionCallIssuer" */
++ 430, /* "holdInstructionCode" */
++ 431, /* "holdInstructionNone" */
++ 433, /* "holdInstructionReject" */
++ 486, /* "homePostalAddress" */
++ 473, /* "homeTelephoneNumber" */
++ 466, /* "host" */
++ 889, /* "houseIdentifier" */
++ 442, /* "iA5StringSyntax" */
++ 783, /* "id-DHBasedMac" */
++ 824, /* "id-Gost28147-89-CryptoPro-A-ParamSet" */
++ 825, /* "id-Gost28147-89-CryptoPro-B-ParamSet" */
++ 826, /* "id-Gost28147-89-CryptoPro-C-ParamSet" */
++ 827, /* "id-Gost28147-89-CryptoPro-D-ParamSet" */
++ 819, /* "id-Gost28147-89-CryptoPro-KeyMeshing" */
++ 829, /* "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" */
++ 828, /* "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" */
++ 830, /* "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" */
++ 820, /* "id-Gost28147-89-None-KeyMeshing" */
++ 823, /* "id-Gost28147-89-TestParamSet" */
++ 849, /* "id-Gost28147-89-cc" */
++ 840, /* "id-GostR3410-2001-CryptoPro-A-ParamSet" */
++ 841, /* "id-GostR3410-2001-CryptoPro-B-ParamSet" */
++ 842, /* "id-GostR3410-2001-CryptoPro-C-ParamSet" */
++ 843, /* "id-GostR3410-2001-CryptoPro-XchA-ParamSet" */
++ 844, /* "id-GostR3410-2001-CryptoPro-XchB-ParamSet" */
++ 854, /* "id-GostR3410-2001-ParamSet-cc" */
++ 839, /* "id-GostR3410-2001-TestParamSet" */
++ 817, /* "id-GostR3410-2001DH" */
++ 832, /* "id-GostR3410-94-CryptoPro-A-ParamSet" */
++ 833, /* "id-GostR3410-94-CryptoPro-B-ParamSet" */
++ 834, /* "id-GostR3410-94-CryptoPro-C-ParamSet" */
++ 835, /* "id-GostR3410-94-CryptoPro-D-ParamSet" */
++ 836, /* "id-GostR3410-94-CryptoPro-XchA-ParamSet" */
++ 837, /* "id-GostR3410-94-CryptoPro-XchB-ParamSet" */
++ 838, /* "id-GostR3410-94-CryptoPro-XchC-ParamSet" */
++ 831, /* "id-GostR3410-94-TestParamSet" */
++ 845, /* "id-GostR3410-94-a" */
++ 846, /* "id-GostR3410-94-aBis" */
++ 847, /* "id-GostR3410-94-b" */
++ 848, /* "id-GostR3410-94-bBis" */
++ 818, /* "id-GostR3410-94DH" */
++ 822, /* "id-GostR3411-94-CryptoProParamSet" */
++ 821, /* "id-GostR3411-94-TestParamSet" */
++ 807, /* "id-GostR3411-94-with-GostR3410-2001" */
++ 853, /* "id-GostR3411-94-with-GostR3410-2001-cc" */
++ 808, /* "id-GostR3411-94-with-GostR3410-94" */
++ 852, /* "id-GostR3411-94-with-GostR3410-94-cc" */
++ 810, /* "id-HMACGostR3411-94" */
++ 782, /* "id-PasswordBasedMAC" */
++ 266, /* "id-aca" */
++ 355, /* "id-aca-accessIdentity" */
++ 354, /* "id-aca-authenticationInfo" */
++ 356, /* "id-aca-chargingIdentity" */
++ 399, /* "id-aca-encAttrs" */
++ 357, /* "id-aca-group" */
++ 358, /* "id-aca-role" */
++ 176, /* "id-ad" */
++ 896, /* "id-aes128-CCM" */
++ 895, /* "id-aes128-GCM" */
++ 788, /* "id-aes128-wrap" */
++ 897, /* "id-aes128-wrap-pad" */
++ 899, /* "id-aes192-CCM" */
++ 898, /* "id-aes192-GCM" */
++ 789, /* "id-aes192-wrap" */
++ 900, /* "id-aes192-wrap-pad" */
++ 902, /* "id-aes256-CCM" */
++ 901, /* "id-aes256-GCM" */
++ 790, /* "id-aes256-wrap" */
++ 903, /* "id-aes256-wrap-pad" */
++ 262, /* "id-alg" */
++ 893, /* "id-alg-PWRI-KEK" */
++ 323, /* "id-alg-des40" */
++ 326, /* "id-alg-dh-pop" */
++ 325, /* "id-alg-dh-sig-hmac-sha1" */
++ 324, /* "id-alg-noSignature" */
++ 907, /* "id-camellia128-wrap" */
++ 908, /* "id-camellia192-wrap" */
++ 909, /* "id-camellia256-wrap" */
++ 268, /* "id-cct" */
++ 361, /* "id-cct-PKIData" */
++ 362, /* "id-cct-PKIResponse" */
++ 360, /* "id-cct-crs" */
++ 81, /* "id-ce" */
++ 680, /* "id-characteristic-two-basis" */
++ 263, /* "id-cmc" */
++ 334, /* "id-cmc-addExtensions" */
++ 346, /* "id-cmc-confirmCertAcceptance" */
++ 330, /* "id-cmc-dataReturn" */
++ 336, /* "id-cmc-decryptedPOP" */
++ 335, /* "id-cmc-encryptedPOP" */
++ 339, /* "id-cmc-getCRL" */
++ 338, /* "id-cmc-getCert" */
++ 328, /* "id-cmc-identification" */
++ 329, /* "id-cmc-identityProof" */
++ 337, /* "id-cmc-lraPOPWitness" */
++ 344, /* "id-cmc-popLinkRandom" */
++ 345, /* "id-cmc-popLinkWitness" */
++ 343, /* "id-cmc-queryPending" */
++ 333, /* "id-cmc-recipientNonce" */
++ 341, /* "id-cmc-regInfo" */
++ 342, /* "id-cmc-responseInfo" */
++ 340, /* "id-cmc-revokeRequest" */
++ 332, /* "id-cmc-senderNonce" */
++ 327, /* "id-cmc-statusInfo" */
++ 331, /* "id-cmc-transactionId" */
++ 787, /* "id-ct-asciiTextWithCRLF" */
++ 408, /* "id-ecPublicKey" */
++ 508, /* "id-hex-multipart-message" */
++ 507, /* "id-hex-partial-message" */
++ 260, /* "id-it" */
++ 302, /* "id-it-caKeyUpdateInfo" */
++ 298, /* "id-it-caProtEncCert" */
++ 311, /* "id-it-confirmWaitTime" */
++ 303, /* "id-it-currentCRL" */
++ 300, /* "id-it-encKeyPairTypes" */
++ 310, /* "id-it-implicitConfirm" */
++ 308, /* "id-it-keyPairParamRep" */
++ 307, /* "id-it-keyPairParamReq" */
++ 312, /* "id-it-origPKIMessage" */
++ 301, /* "id-it-preferredSymmAlg" */
++ 309, /* "id-it-revPassphrase" */
++ 299, /* "id-it-signKeyPairTypes" */
++ 305, /* "id-it-subscriptionRequest" */
++ 306, /* "id-it-subscriptionResponse" */
++ 784, /* "id-it-suppLangTags" */
++ 304, /* "id-it-unsupportedOIDs" */
++ 128, /* "id-kp" */
++ 280, /* "id-mod-attribute-cert" */
++ 274, /* "id-mod-cmc" */
++ 277, /* "id-mod-cmp" */
++ 284, /* "id-mod-cmp2000" */
++ 273, /* "id-mod-crmf" */
++ 283, /* "id-mod-dvcs" */
++ 275, /* "id-mod-kea-profile-88" */
++ 276, /* "id-mod-kea-profile-93" */
++ 282, /* "id-mod-ocsp" */
++ 278, /* "id-mod-qualified-cert-88" */
++ 279, /* "id-mod-qualified-cert-93" */
++ 281, /* "id-mod-timestamp-protocol" */
++ 264, /* "id-on" */
++ 858, /* "id-on-permanentIdentifier" */
++ 347, /* "id-on-personalData" */
++ 265, /* "id-pda" */
++ 352, /* "id-pda-countryOfCitizenship" */
++ 353, /* "id-pda-countryOfResidence" */
++ 348, /* "id-pda-dateOfBirth" */
++ 351, /* "id-pda-gender" */
++ 349, /* "id-pda-placeOfBirth" */
++ 175, /* "id-pe" */
++ 1031, /* "id-pkinit" */
++ 261, /* "id-pkip" */
++ 258, /* "id-pkix-mod" */
++ 269, /* "id-pkix1-explicit-88" */
++ 271, /* "id-pkix1-explicit-93" */
++ 270, /* "id-pkix1-implicit-88" */
++ 272, /* "id-pkix1-implicit-93" */
++ 662, /* "id-ppl" */
++ 664, /* "id-ppl-anyLanguage" */
++ 667, /* "id-ppl-independent" */
++ 665, /* "id-ppl-inheritAll" */
++ 267, /* "id-qcs" */
++ 359, /* "id-qcs-pkixQCSyntax-v1" */
++ 259, /* "id-qt" */
++ 164, /* "id-qt-cps" */
++ 165, /* "id-qt-unotice" */
++ 313, /* "id-regCtrl" */
++ 316, /* "id-regCtrl-authenticator" */
++ 319, /* "id-regCtrl-oldCertID" */
++ 318, /* "id-regCtrl-pkiArchiveOptions" */
++ 317, /* "id-regCtrl-pkiPublicationInfo" */
++ 320, /* "id-regCtrl-protocolEncrKey" */
++ 315, /* "id-regCtrl-regToken" */
++ 314, /* "id-regInfo" */
++ 322, /* "id-regInfo-certReq" */
++ 321, /* "id-regInfo-utf8Pairs" */
++ 973, /* "id-scrypt" */
++ 512, /* "id-set" */
++ 191, /* "id-smime-aa" */
++ 215, /* "id-smime-aa-contentHint" */
++ 218, /* "id-smime-aa-contentIdentifier" */
++ 221, /* "id-smime-aa-contentReference" */
++ 240, /* "id-smime-aa-dvcs-dvc" */
++ 217, /* "id-smime-aa-encapContentType" */
++ 222, /* "id-smime-aa-encrypKeyPref" */
++ 220, /* "id-smime-aa-equivalentLabels" */
++ 232, /* "id-smime-aa-ets-CertificateRefs" */
++ 233, /* "id-smime-aa-ets-RevocationRefs" */
++ 238, /* "id-smime-aa-ets-archiveTimeStamp" */
++ 237, /* "id-smime-aa-ets-certCRLTimestamp" */
++ 234, /* "id-smime-aa-ets-certValues" */
++ 227, /* "id-smime-aa-ets-commitmentType" */
++ 231, /* "id-smime-aa-ets-contentTimestamp" */
++ 236, /* "id-smime-aa-ets-escTimeStamp" */
++ 230, /* "id-smime-aa-ets-otherSigCert" */
++ 235, /* "id-smime-aa-ets-revocationValues" */
++ 226, /* "id-smime-aa-ets-sigPolicyId" */
++ 229, /* "id-smime-aa-ets-signerAttr" */
++ 228, /* "id-smime-aa-ets-signerLocation" */
++ 219, /* "id-smime-aa-macValue" */
++ 214, /* "id-smime-aa-mlExpandHistory" */
++ 216, /* "id-smime-aa-msgSigDigest" */
++ 212, /* "id-smime-aa-receiptRequest" */
++ 213, /* "id-smime-aa-securityLabel" */
++ 239, /* "id-smime-aa-signatureType" */
++ 223, /* "id-smime-aa-signingCertificate" */
++ 224, /* "id-smime-aa-smimeEncryptCerts" */
++ 225, /* "id-smime-aa-timeStampToken" */
++ 192, /* "id-smime-alg" */
++ 243, /* "id-smime-alg-3DESwrap" */
++ 246, /* "id-smime-alg-CMS3DESwrap" */
++ 247, /* "id-smime-alg-CMSRC2wrap" */
++ 245, /* "id-smime-alg-ESDH" */
++ 241, /* "id-smime-alg-ESDHwith3DES" */
++ 242, /* "id-smime-alg-ESDHwithRC2" */
++ 244, /* "id-smime-alg-RC2wrap" */
++ 193, /* "id-smime-cd" */
++ 248, /* "id-smime-cd-ldap" */
++ 190, /* "id-smime-ct" */
++ 210, /* "id-smime-ct-DVCSRequestData" */
++ 211, /* "id-smime-ct-DVCSResponseData" */
++ 208, /* "id-smime-ct-TDTInfo" */
++ 207, /* "id-smime-ct-TSTInfo" */
++ 205, /* "id-smime-ct-authData" */
++ 786, /* "id-smime-ct-compressedData" */
++ 209, /* "id-smime-ct-contentInfo" */
++ 206, /* "id-smime-ct-publishCert" */
++ 204, /* "id-smime-ct-receipt" */
++ 195, /* "id-smime-cti" */
++ 255, /* "id-smime-cti-ets-proofOfApproval" */
++ 256, /* "id-smime-cti-ets-proofOfCreation" */
++ 253, /* "id-smime-cti-ets-proofOfDelivery" */
++ 251, /* "id-smime-cti-ets-proofOfOrigin" */
++ 252, /* "id-smime-cti-ets-proofOfReceipt" */
++ 254, /* "id-smime-cti-ets-proofOfSender" */
++ 189, /* "id-smime-mod" */
++ 196, /* "id-smime-mod-cms" */
++ 197, /* "id-smime-mod-ess" */
++ 202, /* "id-smime-mod-ets-eSigPolicy-88" */
++ 203, /* "id-smime-mod-ets-eSigPolicy-97" */
++ 200, /* "id-smime-mod-ets-eSignature-88" */
++ 201, /* "id-smime-mod-ets-eSignature-97" */
++ 199, /* "id-smime-mod-msg-v3" */
++ 198, /* "id-smime-mod-oid" */
++ 194, /* "id-smime-spq" */
++ 250, /* "id-smime-spq-ets-sqt-unotice" */
++ 249, /* "id-smime-spq-ets-sqt-uri" */
++ 974, /* "id-tc26" */
++ 991, /* "id-tc26-agreement" */
++ 992, /* "id-tc26-agreement-gost-3410-2012-256" */
++ 993, /* "id-tc26-agreement-gost-3410-2012-512" */
++ 977, /* "id-tc26-algorithms" */
++ 990, /* "id-tc26-cipher" */
++ 1001, /* "id-tc26-cipher-constants" */
++ 994, /* "id-tc26-constants" */
++ 981, /* "id-tc26-digest" */
++ 1000, /* "id-tc26-digest-constants" */
++ 1002, /* "id-tc26-gost-28147-constants" */
++ 1003, /* "id-tc26-gost-28147-param-Z" */
++ 996, /* "id-tc26-gost-3410-2012-512-constants" */
++ 998, /* "id-tc26-gost-3410-2012-512-paramSetA" */
++ 999, /* "id-tc26-gost-3410-2012-512-paramSetB" */
++ 997, /* "id-tc26-gost-3410-2012-512-paramSetTest" */
++ 988, /* "id-tc26-hmac-gost-3411-2012-256" */
++ 989, /* "id-tc26-hmac-gost-3411-2012-512" */
++ 987, /* "id-tc26-mac" */
++ 978, /* "id-tc26-sign" */
++ 995, /* "id-tc26-sign-constants" */
++ 984, /* "id-tc26-signwithdigest" */
++ 985, /* "id-tc26-signwithdigest-gost3410-2012-256" */
++ 986, /* "id-tc26-signwithdigest-gost3410-2012-512" */
++ 676, /* "identified-organization" */
++ 461, /* "info" */
++ 748, /* "inhibitAnyPolicy" */
++ 101, /* "initials" */
++ 647, /* "international-organizations" */
++ 869, /* "internationaliSDNNumber" */
++ 142, /* "invalidityDate" */
++ 294, /* "ipsecEndSystem" */
++ 1022, /* "ipsecIKE" */
++ 295, /* "ipsecTunnel" */
++ 296, /* "ipsecUser" */
++ 86, /* "issuerAltName" */
++ 1008, /* "issuerSignTool" */
++ 770, /* "issuingDistributionPoint" */
++ 492, /* "janetMailbox" */
++ 957, /* "jurisdictionC" */
++ 955, /* "jurisdictionL" */
++ 956, /* "jurisdictionST" */
++ 150, /* "keyBag" */
++ 83, /* "keyUsage" */
++ 477, /* "lastModifiedBy" */
++ 476, /* "lastModifiedTime" */
++ 157, /* "localKeyID" */
++ 480, /* "mXRecord" */
++ 460, /* "mail" */
++ 493, /* "mailPreferenceOption" */
++ 467, /* "manager" */
++ 982, /* "md_gost12_256" */
++ 983, /* "md_gost12_512" */
++ 809, /* "md_gost94" */
++ 875, /* "member" */
++ 182, /* "member-body" */
++ 51, /* "messageDigest" */
++ 383, /* "mgmt" */
++ 504, /* "mime-mhs" */
++ 506, /* "mime-mhs-bodies" */
++ 505, /* "mime-mhs-headings" */
++ 488, /* "mobileTelephoneNumber" */
++ 136, /* "msCTLSign" */
++ 135, /* "msCodeCom" */
++ 134, /* "msCodeInd" */
++ 138, /* "msEFS" */
++ 171, /* "msExtReq" */
++ 137, /* "msSGC" */
++ 648, /* "msSmartcardLogin" */
++ 649, /* "msUPN" */
++ 481, /* "nSRecord" */
++ 173, /* "name" */
++ 666, /* "nameConstraints" */
++ 369, /* "noCheck" */
++ 403, /* "noRevAvail" */
++ 72, /* "nsBaseUrl" */
++ 76, /* "nsCaPolicyUrl" */
++ 74, /* "nsCaRevocationUrl" */
++ 58, /* "nsCertExt" */
++ 79, /* "nsCertSequence" */
++ 71, /* "nsCertType" */
++ 78, /* "nsComment" */
++ 59, /* "nsDataType" */
++ 75, /* "nsRenewalUrl" */
++ 73, /* "nsRevocationUrl" */
++ 139, /* "nsSGC" */
++ 77, /* "nsSslServerName" */
++ 681, /* "onBasis" */
++ 491, /* "organizationalStatus" */
++ 475, /* "otherMailbox" */
++ 876, /* "owner" */
++ 489, /* "pagerTelephoneNumber" */
++ 374, /* "path" */
++ 112, /* "pbeWithMD5AndCast5CBC" */
++ 499, /* "personalSignature" */
++ 487, /* "personalTitle" */
++ 464, /* "photo" */
++ 863, /* "physicalDeliveryOfficeName" */
++ 437, /* "pilot" */
++ 439, /* "pilotAttributeSyntax" */
++ 438, /* "pilotAttributeType" */
++ 479, /* "pilotAttributeType27" */
++ 456, /* "pilotDSA" */
++ 441, /* "pilotGroups" */
++ 444, /* "pilotObject" */
++ 440, /* "pilotObjectClass" */
++ 455, /* "pilotOrganization" */
++ 445, /* "pilotPerson" */
++ 1032, /* "pkInitClientAuth" */
++ 1033, /* "pkInitKDC" */
++ 2, /* "pkcs" */
++ 186, /* "pkcs1" */
++ 27, /* "pkcs3" */
++ 187, /* "pkcs5" */
++ 20, /* "pkcs7" */
++ 21, /* "pkcs7-data" */
++ 25, /* "pkcs7-digestData" */
++ 26, /* "pkcs7-encryptedData" */
++ 23, /* "pkcs7-envelopedData" */
++ 24, /* "pkcs7-signedAndEnvelopedData" */
++ 22, /* "pkcs7-signedData" */
++ 151, /* "pkcs8ShroudedKeyBag" */
++ 47, /* "pkcs9" */
++ 401, /* "policyConstraints" */
++ 747, /* "policyMappings" */
++ 862, /* "postOfficeBox" */
++ 861, /* "postalAddress" */
++ 661, /* "postalCode" */
++ 683, /* "ppBasis" */
++ 872, /* "preferredDeliveryMethod" */
++ 873, /* "presentationAddress" */
++ 816, /* "prf-gostr3411-94" */
++ 406, /* "prime-field" */
++ 409, /* "prime192v1" */
++ 410, /* "prime192v2" */
++ 411, /* "prime192v3" */
++ 412, /* "prime239v1" */
++ 413, /* "prime239v2" */
++ 414, /* "prime239v3" */
++ 415, /* "prime256v1" */
++ 385, /* "private" */
++ 84, /* "privateKeyUsagePeriod" */
++ 886, /* "protocolInformation" */
++ 663, /* "proxyCertInfo" */
++ 510, /* "pseudonym" */
++ 435, /* "pss" */
++ 286, /* "qcStatements" */
++ 457, /* "qualityLabelledData" */
++ 450, /* "rFC822localPart" */
++ 870, /* "registeredAddress" */
++ 400, /* "role" */
++ 877, /* "roleOccupant" */
++ 448, /* "room" */
++ 463, /* "roomNumber" */
++ 6, /* "rsaEncryption" */
++ 644, /* "rsaOAEPEncryptionSET" */
++ 377, /* "rsaSignature" */
++ 1, /* "rsadsi" */
++ 482, /* "sOARecord" */
++ 155, /* "safeContentsBag" */
++ 291, /* "sbgp-autonomousSysNum" */
++ 290, /* "sbgp-ipAddrBlock" */
++ 292, /* "sbgp-routerIdentifier" */
++ 159, /* "sdsiCertificate" */
++ 859, /* "searchGuide" */
++ 704, /* "secp112r1" */
++ 705, /* "secp112r2" */
++ 706, /* "secp128r1" */
++ 707, /* "secp128r2" */
++ 708, /* "secp160k1" */
++ 709, /* "secp160r1" */
++ 710, /* "secp160r2" */
++ 711, /* "secp192k1" */
++ 712, /* "secp224k1" */
++ 713, /* "secp224r1" */
++ 714, /* "secp256k1" */
++ 715, /* "secp384r1" */
++ 716, /* "secp521r1" */
++ 154, /* "secretBag" */
++ 474, /* "secretary" */
++ 717, /* "sect113r1" */
++ 718, /* "sect113r2" */
++ 719, /* "sect131r1" */
++ 720, /* "sect131r2" */
++ 721, /* "sect163k1" */
++ 722, /* "sect163r1" */
++ 723, /* "sect163r2" */
++ 724, /* "sect193r1" */
++ 725, /* "sect193r2" */
++ 726, /* "sect233k1" */
++ 727, /* "sect233r1" */
++ 728, /* "sect239k1" */
++ 729, /* "sect283k1" */
++ 730, /* "sect283r1" */
++ 731, /* "sect409k1" */
++ 732, /* "sect409r1" */
++ 733, /* "sect571k1" */
++ 734, /* "sect571r1" */
++ 1025, /* "secureShellClient" */
++ 1026, /* "secureShellServer" */
++ 386, /* "security" */
++ 878, /* "seeAlso" */
++ 394, /* "selected-attribute-types" */
++ 1029, /* "sendOwner" */
++ 1030, /* "sendProxiedOwner" */
++ 1028, /* "sendProxiedRouter" */
++ 1027, /* "sendRouter" */
++ 105, /* "serialNumber" */
++ 129, /* "serverAuth" */
++ 371, /* "serviceLocator" */
++ 625, /* "set-addPolicy" */
++ 515, /* "set-attr" */
++ 518, /* "set-brand" */
++ 638, /* "set-brand-AmericanExpress" */
++ 637, /* "set-brand-Diners" */
++ 636, /* "set-brand-IATA-ATA" */
++ 639, /* "set-brand-JCB" */
++ 641, /* "set-brand-MasterCard" */
++ 642, /* "set-brand-Novus" */
++ 640, /* "set-brand-Visa" */
++ 517, /* "set-certExt" */
++ 513, /* "set-ctype" */
++ 514, /* "set-msgExt" */
++ 516, /* "set-policy" */
++ 607, /* "set-policy-root" */
++ 624, /* "set-rootKeyThumb" */
++ 620, /* "setAttr-Cert" */
++ 631, /* "setAttr-GenCryptgrm" */
++ 623, /* "setAttr-IssCap" */
++ 628, /* "setAttr-IssCap-CVM" */
++ 630, /* "setAttr-IssCap-Sig" */
++ 629, /* "setAttr-IssCap-T2" */
++ 621, /* "setAttr-PGWYcap" */
++ 635, /* "setAttr-SecDevSig" */
++ 632, /* "setAttr-T2Enc" */
++ 633, /* "setAttr-T2cleartxt" */
++ 634, /* "setAttr-TokICCsig" */
++ 627, /* "setAttr-Token-B0Prime" */
++ 626, /* "setAttr-Token-EMV" */
++ 622, /* "setAttr-TokenType" */
++ 619, /* "setCext-IssuerCapabilities" */
++ 615, /* "setCext-PGWYcapabilities" */
++ 616, /* "setCext-TokenIdentifier" */
++ 618, /* "setCext-TokenType" */
++ 617, /* "setCext-Track2Data" */
++ 611, /* "setCext-cCertRequired" */
++ 609, /* "setCext-certType" */
++ 608, /* "setCext-hashedRoot" */
++ 610, /* "setCext-merchData" */
++ 613, /* "setCext-setExt" */
++ 614, /* "setCext-setQualf" */
++ 612, /* "setCext-tunneling" */
++ 540, /* "setct-AcqCardCodeMsg" */
++ 576, /* "setct-AcqCardCodeMsgTBE" */
++ 570, /* "setct-AuthReqTBE" */
++ 534, /* "setct-AuthReqTBS" */
++ 527, /* "setct-AuthResBaggage" */
++ 571, /* "setct-AuthResTBE" */
++ 572, /* "setct-AuthResTBEX" */
++ 535, /* "setct-AuthResTBS" */
++ 536, /* "setct-AuthResTBSX" */
++ 528, /* "setct-AuthRevReqBaggage" */
++ 577, /* "setct-AuthRevReqTBE" */
++ 541, /* "setct-AuthRevReqTBS" */
++ 529, /* "setct-AuthRevResBaggage" */
++ 542, /* "setct-AuthRevResData" */
++ 578, /* "setct-AuthRevResTBE" */
++ 579, /* "setct-AuthRevResTBEB" */
++ 543, /* "setct-AuthRevResTBS" */
++ 573, /* "setct-AuthTokenTBE" */
++ 537, /* "setct-AuthTokenTBS" */
++ 600, /* "setct-BCIDistributionTBS" */
++ 558, /* "setct-BatchAdminReqData" */
++ 592, /* "setct-BatchAdminReqTBE" */
++ 559, /* "setct-BatchAdminResData" */
++ 593, /* "setct-BatchAdminResTBE" */
++ 599, /* "setct-CRLNotificationResTBS" */
++ 598, /* "setct-CRLNotificationTBS" */
++ 580, /* "setct-CapReqTBE" */
++ 581, /* "setct-CapReqTBEX" */
++ 544, /* "setct-CapReqTBS" */
++ 545, /* "setct-CapReqTBSX" */
++ 546, /* "setct-CapResData" */
++ 582, /* "setct-CapResTBE" */
++ 583, /* "setct-CapRevReqTBE" */
++ 584, /* "setct-CapRevReqTBEX" */
++ 547, /* "setct-CapRevReqTBS" */
++ 548, /* "setct-CapRevReqTBSX" */
++ 549, /* "setct-CapRevResData" */
++ 585, /* "setct-CapRevResTBE" */
++ 538, /* "setct-CapTokenData" */
++ 530, /* "setct-CapTokenSeq" */
++ 574, /* "setct-CapTokenTBE" */
++ 575, /* "setct-CapTokenTBEX" */
++ 539, /* "setct-CapTokenTBS" */
++ 560, /* "setct-CardCInitResTBS" */
++ 566, /* "setct-CertInqReqTBS" */
++ 563, /* "setct-CertReqData" */
++ 595, /* "setct-CertReqTBE" */
++ 596, /* "setct-CertReqTBEX" */
++ 564, /* "setct-CertReqTBS" */
++ 565, /* "setct-CertResData" */
++ 597, /* "setct-CertResTBE" */
++ 586, /* "setct-CredReqTBE" */
++ 587, /* "setct-CredReqTBEX" */
++ 550, /* "setct-CredReqTBS" */
++ 551, /* "setct-CredReqTBSX" */
++ 552, /* "setct-CredResData" */
++ 588, /* "setct-CredResTBE" */
++ 589, /* "setct-CredRevReqTBE" */
++ 590, /* "setct-CredRevReqTBEX" */
++ 553, /* "setct-CredRevReqTBS" */
++ 554, /* "setct-CredRevReqTBSX" */
++ 555, /* "setct-CredRevResData" */
++ 591, /* "setct-CredRevResTBE" */
++ 567, /* "setct-ErrorTBS" */
++ 526, /* "setct-HODInput" */
++ 561, /* "setct-MeAqCInitResTBS" */
++ 522, /* "setct-OIData" */
++ 519, /* "setct-PANData" */
++ 521, /* "setct-PANOnly" */
++ 520, /* "setct-PANToken" */
++ 556, /* "setct-PCertReqData" */
++ 557, /* "setct-PCertResTBS" */
++ 523, /* "setct-PI" */
++ 532, /* "setct-PI-TBS" */
++ 524, /* "setct-PIData" */
++ 525, /* "setct-PIDataUnsigned" */
++ 568, /* "setct-PIDualSignedTBE" */
++ 569, /* "setct-PIUnsignedTBE" */
++ 531, /* "setct-PInitResData" */
++ 533, /* "setct-PResData" */
++ 594, /* "setct-RegFormReqTBE" */
++ 562, /* "setct-RegFormResTBS" */
++ 606, /* "setext-cv" */
++ 601, /* "setext-genCrypt" */
++ 602, /* "setext-miAuth" */
++ 604, /* "setext-pinAny" */
++ 603, /* "setext-pinSecure" */
++ 605, /* "setext-track2" */
++ 52, /* "signingTime" */
++ 454, /* "simpleSecurityObject" */
++ 496, /* "singleLevelQuality" */
++ 387, /* "snmpv2" */
++ 660, /* "street" */
++ 85, /* "subjectAltName" */
++ 769, /* "subjectDirectoryAttributes" */
++ 398, /* "subjectInfoAccess" */
++ 82, /* "subjectKeyIdentifier" */
++ 1007, /* "subjectSignTool" */
++ 498, /* "subtreeMaximumQuality" */
++ 497, /* "subtreeMinimumQuality" */
++ 890, /* "supportedAlgorithms" */
++ 874, /* "supportedApplicationContext" */
++ 402, /* "targetInformation" */
++ 864, /* "telephoneNumber" */
++ 866, /* "teletexTerminalIdentifier" */
++ 865, /* "telexNumber" */
++ 459, /* "textEncodedORAddress" */
++ 293, /* "textNotice" */
++ 133, /* "timeStamping" */
++ 106, /* "title" */
++ 1020, /* "tlsfeature" */
++ 682, /* "tpBasis" */
++ 375, /* "trustRoot" */
++ 436, /* "ucl" */
++ 102, /* "uid" */
++ 888, /* "uniqueMember" */
++ 55, /* "unstructuredAddress" */
++ 49, /* "unstructuredName" */
++ 880, /* "userCertificate" */
++ 465, /* "userClass" */
++ 879, /* "userPassword" */
++ 373, /* "valid" */
++ 678, /* "wap" */
++ 679, /* "wap-wsg" */
++ 735, /* "wap-wsg-idm-ecid-wtls1" */
++ 743, /* "wap-wsg-idm-ecid-wtls10" */
++ 744, /* "wap-wsg-idm-ecid-wtls11" */
++ 745, /* "wap-wsg-idm-ecid-wtls12" */
++ 736, /* "wap-wsg-idm-ecid-wtls3" */
++ 737, /* "wap-wsg-idm-ecid-wtls4" */
++ 738, /* "wap-wsg-idm-ecid-wtls5" */
++ 739, /* "wap-wsg-idm-ecid-wtls6" */
++ 740, /* "wap-wsg-idm-ecid-wtls7" */
++ 741, /* "wap-wsg-idm-ecid-wtls8" */
++ 742, /* "wap-wsg-idm-ecid-wtls9" */
++ 804, /* "whirlpool" */
++ 868, /* "x121Address" */
++ 503, /* "x500UniqueIdentifier" */
++ 158, /* "x509Certificate" */
++ 160, /* "x509Crl" */
+ };
+
+-static const unsigned int ln_objs[NUM_LN]={
+-363, /* "AD Time Stamping" */
+-405, /* "ANSI X9.62" */
+-368, /* "Acceptable OCSP Responses" */
+-910, /* "Any Extended Key Usage" */
+-664, /* "Any language" */
+-177, /* "Authority Information Access" */
+-365, /* "Basic OCSP Response" */
+-285, /* "Biometric Info" */
+-179, /* "CA Issuers" */
+-785, /* "CA Repository" */
+-954, /* "CT Certificate SCTs" */
+-952, /* "CT Precertificate Poison" */
+-951, /* "CT Precertificate SCTs" */
+-953, /* "CT Precertificate Signer" */
+-131, /* "Code Signing" */
+-1024, /* "Ctrl/Provision WAP Termination" */
+-1023, /* "Ctrl/provision WAP Access" */
+-783, /* "Diffie-Hellman based MAC" */
+-382, /* "Directory" */
+-392, /* "Domain" */
+-132, /* "E-mail Protection" */
+-389, /* "Enterprises" */
+-384, /* "Experimental" */
+-372, /* "Extended OCSP Status" */
+-172, /* "Extension Request" */
+-813, /* "GOST 28147-89" */
+-849, /* "GOST 28147-89 Cryptocom ParamSet" */
+-815, /* "GOST 28147-89 MAC" */
+-1003, /* "GOST 28147-89 TC26 parameter set" */
+-851, /* "GOST 34.10-2001 Cryptocom" */
+-850, /* "GOST 34.10-94 Cryptocom" */
+-811, /* "GOST R 34.10-2001" */
+-817, /* "GOST R 34.10-2001 DH" */
+-998, /* "GOST R 34.10-2012 (512 bit) ParamSet A" */
+-999, /* "GOST R 34.10-2012 (512 bit) ParamSet B" */
+-997, /* "GOST R 34.10-2012 (512 bit) testing parameter set" */
+-979, /* "GOST R 34.10-2012 with 256 bit modulus" */
+-980, /* "GOST R 34.10-2012 with 512 bit modulus" */
+-985, /* "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)" */
+-986, /* "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)" */
+-812, /* "GOST R 34.10-94" */
+-818, /* "GOST R 34.10-94 DH" */
+-982, /* "GOST R 34.11-2012 with 256 bit hash" */
+-983, /* "GOST R 34.11-2012 with 512 bit hash" */
+-809, /* "GOST R 34.11-94" */
+-816, /* "GOST R 34.11-94 PRF" */
+-807, /* "GOST R 34.11-94 with GOST R 34.10-2001" */
+-853, /* "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom" */
+-808, /* "GOST R 34.11-94 with GOST R 34.10-94" */
+-852, /* "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom" */
+-854, /* "GOST R 3410-2001 Parameter Set Cryptocom" */
+-988, /* "HMAC GOST 34.11-2012 256 bit" */
+-989, /* "HMAC GOST 34.11-2012 512 bit" */
+-810, /* "HMAC GOST 34.11-94" */
+-432, /* "Hold Instruction Call Issuer" */
+-430, /* "Hold Instruction Code" */
+-431, /* "Hold Instruction None" */
+-433, /* "Hold Instruction Reject" */
+-634, /* "ICC or token signature" */
+-1004, /* "INN" */
+-294, /* "IPSec End System" */
+-295, /* "IPSec Tunnel" */
+-296, /* "IPSec User" */
+-182, /* "ISO Member Body" */
+-183, /* "ISO US Member Body" */
+-667, /* "Independent" */
+-665, /* "Inherit all" */
+-647, /* "International Organizations" */
+-142, /* "Invalidity Date" */
+-504, /* "MIME MHS" */
+-388, /* "Mail" */
+-383, /* "Management" */
+-417, /* "Microsoft CSP Name" */
+-135, /* "Microsoft Commercial Code Signing" */
+-138, /* "Microsoft Encrypted File System" */
+-171, /* "Microsoft Extension Request" */
+-134, /* "Microsoft Individual Code Signing" */
+-856, /* "Microsoft Local Key set" */
+-137, /* "Microsoft Server Gated Crypto" */
+-648, /* "Microsoft Smartcardlogin" */
+-136, /* "Microsoft Trust List Signing" */
+-649, /* "Microsoft Universal Principal Name" */
+-393, /* "NULL" */
+-404, /* "NULL" */
+-72, /* "Netscape Base Url" */
+-76, /* "Netscape CA Policy Url" */
+-74, /* "Netscape CA Revocation Url" */
+-71, /* "Netscape Cert Type" */
+-58, /* "Netscape Certificate Extension" */
+-79, /* "Netscape Certificate Sequence" */
+-78, /* "Netscape Comment" */
+-57, /* "Netscape Communications Corp." */
+-59, /* "Netscape Data Type" */
+-75, /* "Netscape Renewal Url" */
+-73, /* "Netscape Revocation Url" */
+-77, /* "Netscape SSL Server Name" */
+-139, /* "Netscape Server Gated Crypto" */
+-178, /* "OCSP" */
+-370, /* "OCSP Archive Cutoff" */
+-367, /* "OCSP CRL ID" */
+-369, /* "OCSP No Check" */
+-366, /* "OCSP Nonce" */
+-371, /* "OCSP Service Locator" */
+-180, /* "OCSP Signing" */
+-1005, /* "OGRN" */
+-161, /* "PBES2" */
+-69, /* "PBKDF2" */
+-162, /* "PBMAC1" */
+-1032, /* "PKINIT Client Auth" */
+-127, /* "PKIX" */
+-858, /* "Permanent Identifier" */
+-164, /* "Policy Qualifier CPS" */
+-165, /* "Policy Qualifier User Notice" */
+-385, /* "Private" */
+-663, /* "Proxy Certificate Information" */
+- 1, /* "RSA Data Security, Inc." */
+- 2, /* "RSA Data Security, Inc. PKCS" */
+-188, /* "S/MIME" */
+-167, /* "S/MIME Capabilities" */
+-1006, /* "SNILS" */
+-387, /* "SNMPv2" */
+-1025, /* "SSH Client" */
+-1026, /* "SSH Server" */
+-512, /* "Secure Electronic Transactions" */
+-386, /* "Security" */
+-394, /* "Selected Attribute Types" */
+-1029, /* "Send Owner" */
+-1030, /* "Send Proxied Owner" */
+-1028, /* "Send Proxied Router" */
+-1027, /* "Send Router" */
+-1033, /* "Signing KDC Response" */
+-1008, /* "Signing Tool of Issuer" */
+-1007, /* "Signing Tool of Subject" */
+-143, /* "Strong Extranet ID" */
+-398, /* "Subject Information Access" */
+-1020, /* "TLS Feature" */
+-130, /* "TLS Web Client Authentication" */
+-129, /* "TLS Web Server Authentication" */
+-133, /* "Time Stamping" */
+-375, /* "Trust Root" */
+-1034, /* "X25519" */
+-1035, /* "X448" */
+-12, /* "X509" */
+-402, /* "X509v3 AC Targeting" */
+-746, /* "X509v3 Any Policy" */
+-90, /* "X509v3 Authority Key Identifier" */
+-87, /* "X509v3 Basic Constraints" */
+-103, /* "X509v3 CRL Distribution Points" */
+-88, /* "X509v3 CRL Number" */
+-141, /* "X509v3 CRL Reason Code" */
+-771, /* "X509v3 Certificate Issuer" */
+-89, /* "X509v3 Certificate Policies" */
+-140, /* "X509v3 Delta CRL Indicator" */
+-126, /* "X509v3 Extended Key Usage" */
+-857, /* "X509v3 Freshest CRL" */
+-748, /* "X509v3 Inhibit Any Policy" */
+-86, /* "X509v3 Issuer Alternative Name" */
+-770, /* "X509v3 Issuing Distribution Point" */
+-83, /* "X509v3 Key Usage" */
+-666, /* "X509v3 Name Constraints" */
+-403, /* "X509v3 No Revocation Available" */
+-401, /* "X509v3 Policy Constraints" */
+-747, /* "X509v3 Policy Mappings" */
+-84, /* "X509v3 Private Key Usage Period" */
+-85, /* "X509v3 Subject Alternative Name" */
+-769, /* "X509v3 Subject Directory Attributes" */
+-82, /* "X509v3 Subject Key Identifier" */
+-920, /* "X9.42 DH" */
+-184, /* "X9.57" */
+-185, /* "X9.57 CM ?" */
+-478, /* "aRecord" */
+-289, /* "aaControls" */
+-287, /* "ac-auditEntity" */
+-397, /* "ac-proxying" */
+-288, /* "ac-targeting" */
+-446, /* "account" */
+-364, /* "ad dvcs" */
+-606, /* "additional verification" */
+-419, /* "aes-128-cbc" */
+-916, /* "aes-128-cbc-hmac-sha1" */
+-948, /* "aes-128-cbc-hmac-sha256" */
+-896, /* "aes-128-ccm" */
+-421, /* "aes-128-cfb" */
+-650, /* "aes-128-cfb1" */
+-653, /* "aes-128-cfb8" */
+-904, /* "aes-128-ctr" */
+-418, /* "aes-128-ecb" */
+-895, /* "aes-128-gcm" */
+-958, /* "aes-128-ocb" */
+-420, /* "aes-128-ofb" */
+-913, /* "aes-128-xts" */
+-423, /* "aes-192-cbc" */
+-917, /* "aes-192-cbc-hmac-sha1" */
+-949, /* "aes-192-cbc-hmac-sha256" */
+-899, /* "aes-192-ccm" */
+-425, /* "aes-192-cfb" */
+-651, /* "aes-192-cfb1" */
+-654, /* "aes-192-cfb8" */
+-905, /* "aes-192-ctr" */
+-422, /* "aes-192-ecb" */
+-898, /* "aes-192-gcm" */
+-959, /* "aes-192-ocb" */
+-424, /* "aes-192-ofb" */
+-427, /* "aes-256-cbc" */
+-918, /* "aes-256-cbc-hmac-sha1" */
+-950, /* "aes-256-cbc-hmac-sha256" */
+-902, /* "aes-256-ccm" */
+-429, /* "aes-256-cfb" */
+-652, /* "aes-256-cfb1" */
+-655, /* "aes-256-cfb8" */
+-906, /* "aes-256-ctr" */
+-426, /* "aes-256-ecb" */
+-901, /* "aes-256-gcm" */
+-960, /* "aes-256-ocb" */
+-428, /* "aes-256-ofb" */
+-914, /* "aes-256-xts" */
+-376, /* "algorithm" */
+-484, /* "associatedDomain" */
+-485, /* "associatedName" */
+-501, /* "audio" */
+-1049, /* "auth-dss" */
+-1047, /* "auth-ecdsa" */
+-1050, /* "auth-gost01" */
+-1051, /* "auth-gost12" */
+-1053, /* "auth-null" */
+-1048, /* "auth-psk" */
+-1046, /* "auth-rsa" */
+-1052, /* "auth-srp" */
+-882, /* "authorityRevocationList" */
+-91, /* "bf-cbc" */
+-93, /* "bf-cfb" */
+-92, /* "bf-ecb" */
+-94, /* "bf-ofb" */
+-1056, /* "blake2b512" */
+-1057, /* "blake2s256" */
+-921, /* "brainpoolP160r1" */
+-922, /* "brainpoolP160t1" */
+-923, /* "brainpoolP192r1" */
+-924, /* "brainpoolP192t1" */
+-925, /* "brainpoolP224r1" */
+-926, /* "brainpoolP224t1" */
+-927, /* "brainpoolP256r1" */
+-928, /* "brainpoolP256t1" */
+-929, /* "brainpoolP320r1" */
+-930, /* "brainpoolP320t1" */
+-931, /* "brainpoolP384r1" */
+-932, /* "brainpoolP384t1" */
+-933, /* "brainpoolP512r1" */
+-934, /* "brainpoolP512t1" */
+-494, /* "buildingName" */
+-860, /* "businessCategory" */
+-691, /* "c2onb191v4" */
+-692, /* "c2onb191v5" */
+-697, /* "c2onb239v4" */
+-698, /* "c2onb239v5" */
+-684, /* "c2pnb163v1" */
+-685, /* "c2pnb163v2" */
+-686, /* "c2pnb163v3" */
+-687, /* "c2pnb176v1" */
+-693, /* "c2pnb208w1" */
+-699, /* "c2pnb272w1" */
+-700, /* "c2pnb304w1" */
+-702, /* "c2pnb368w1" */
+-688, /* "c2tnb191v1" */
+-689, /* "c2tnb191v2" */
+-690, /* "c2tnb191v3" */
+-694, /* "c2tnb239v1" */
+-695, /* "c2tnb239v2" */
+-696, /* "c2tnb239v3" */
+-701, /* "c2tnb359v1" */
+-703, /* "c2tnb431r1" */
+-881, /* "cACertificate" */
+-483, /* "cNAMERecord" */
+-751, /* "camellia-128-cbc" */
+-962, /* "camellia-128-ccm" */
+-757, /* "camellia-128-cfb" */
+-760, /* "camellia-128-cfb1" */
+-763, /* "camellia-128-cfb8" */
+-964, /* "camellia-128-cmac" */
+-963, /* "camellia-128-ctr" */
+-754, /* "camellia-128-ecb" */
+-961, /* "camellia-128-gcm" */
+-766, /* "camellia-128-ofb" */
+-752, /* "camellia-192-cbc" */
+-966, /* "camellia-192-ccm" */
+-758, /* "camellia-192-cfb" */
+-761, /* "camellia-192-cfb1" */
+-764, /* "camellia-192-cfb8" */
+-968, /* "camellia-192-cmac" */
+-967, /* "camellia-192-ctr" */
+-755, /* "camellia-192-ecb" */
+-965, /* "camellia-192-gcm" */
+-767, /* "camellia-192-ofb" */
+-753, /* "camellia-256-cbc" */
+-970, /* "camellia-256-ccm" */
+-759, /* "camellia-256-cfb" */
+-762, /* "camellia-256-cfb1" */
+-765, /* "camellia-256-cfb8" */
+-972, /* "camellia-256-cmac" */
+-971, /* "camellia-256-ctr" */
+-756, /* "camellia-256-ecb" */
+-969, /* "camellia-256-gcm" */
+-768, /* "camellia-256-ofb" */
+-443, /* "caseIgnoreIA5StringSyntax" */
+-108, /* "cast5-cbc" */
+-110, /* "cast5-cfb" */
+-109, /* "cast5-ecb" */
+-111, /* "cast5-ofb" */
+-152, /* "certBag" */
+-677, /* "certicom-arc" */
+-517, /* "certificate extensions" */
+-883, /* "certificateRevocationList" */
+-1019, /* "chacha20" */
+-1018, /* "chacha20-poly1305" */
+-54, /* "challengePassword" */
+-407, /* "characteristic-two-field" */
+-395, /* "clearance" */
+-633, /* "cleartext track 2" */
+-894, /* "cmac" */
+-13, /* "commonName" */
+-513, /* "content types" */
+-50, /* "contentType" */
+-53, /* "countersignature" */
+-14, /* "countryName" */
+-153, /* "crlBag" */
+-884, /* "crossCertificatePair" */
+-806, /* "cryptocom" */
+-805, /* "cryptopro" */
+-500, /* "dITRedirect" */
+-451, /* "dNSDomain" */
+-495, /* "dSAQuality" */
+-434, /* "data" */
+-390, /* "dcObject" */
+-891, /* "deltaRevocationList" */
+-31, /* "des-cbc" */
+-643, /* "des-cdmf" */
+-30, /* "des-cfb" */
+-656, /* "des-cfb1" */
+-657, /* "des-cfb8" */
+-29, /* "des-ecb" */
+-32, /* "des-ede" */
+-43, /* "des-ede-cbc" */
+-60, /* "des-ede-cfb" */
+-62, /* "des-ede-ofb" */
+-33, /* "des-ede3" */
+-44, /* "des-ede3-cbc" */
+-61, /* "des-ede3-cfb" */
+-658, /* "des-ede3-cfb1" */
+-659, /* "des-ede3-cfb8" */
+-63, /* "des-ede3-ofb" */
+-45, /* "des-ofb" */
+-107, /* "description" */
+-871, /* "destinationIndicator" */
+-80, /* "desx-cbc" */
+-947, /* "dh-cofactor-kdf" */
+-946, /* "dh-std-kdf" */
+-28, /* "dhKeyAgreement" */
+-941, /* "dhSinglePass-cofactorDH-sha1kdf-scheme" */
+-942, /* "dhSinglePass-cofactorDH-sha224kdf-scheme" */
+-943, /* "dhSinglePass-cofactorDH-sha256kdf-scheme" */
+-944, /* "dhSinglePass-cofactorDH-sha384kdf-scheme" */
+-945, /* "dhSinglePass-cofactorDH-sha512kdf-scheme" */
+-936, /* "dhSinglePass-stdDH-sha1kdf-scheme" */
+-937, /* "dhSinglePass-stdDH-sha224kdf-scheme" */
+-938, /* "dhSinglePass-stdDH-sha256kdf-scheme" */
+-939, /* "dhSinglePass-stdDH-sha384kdf-scheme" */
+-940, /* "dhSinglePass-stdDH-sha512kdf-scheme" */
+-11, /* "directory services (X.500)" */
+-378, /* "directory services - algorithms" */
+-887, /* "distinguishedName" */
+-892, /* "dmdName" */
+-174, /* "dnQualifier" */
+-447, /* "document" */
+-471, /* "documentAuthor" */
+-468, /* "documentIdentifier" */
+-472, /* "documentLocation" */
+-502, /* "documentPublisher" */
+-449, /* "documentSeries" */
+-469, /* "documentTitle" */
+-470, /* "documentVersion" */
+-380, /* "dod" */
+-391, /* "domainComponent" */
+-452, /* "domainRelatedObject" */
+-116, /* "dsaEncryption" */
+-67, /* "dsaEncryption-old" */
+-66, /* "dsaWithSHA" */
+-113, /* "dsaWithSHA1" */
+-70, /* "dsaWithSHA1-old" */
+-802, /* "dsa_with_SHA224" */
+-803, /* "dsa_with_SHA256" */
+-297, /* "dvcs" */
+-791, /* "ecdsa-with-Recommended" */
+-416, /* "ecdsa-with-SHA1" */
+-793, /* "ecdsa-with-SHA224" */
+-794, /* "ecdsa-with-SHA256" */
+-795, /* "ecdsa-with-SHA384" */
+-796, /* "ecdsa-with-SHA512" */
+-792, /* "ecdsa-with-Specified" */
+-48, /* "emailAddress" */
+-632, /* "encrypted track 2" */
+-885, /* "enhancedSearchGuide" */
+-56, /* "extendedCertificateAttributes" */
+-867, /* "facsimileTelephoneNumber" */
+-462, /* "favouriteDrink" */
+-453, /* "friendlyCountry" */
+-490, /* "friendlyCountryName" */
+-156, /* "friendlyName" */
+-631, /* "generate cryptogram" */
+-509, /* "generationQualifier" */
+-601, /* "generic cryptogram" */
+-99, /* "givenName" */
+-976, /* "gost-mac-12" */
+-1009, /* "gost89-cbc" */
+-814, /* "gost89-cnt" */
+-975, /* "gost89-cnt-12" */
+-1011, /* "gost89-ctr" */
+-1010, /* "gost89-ecb" */
+-1015, /* "grasshopper-cbc" */
+-1016, /* "grasshopper-cfb" */
+-1013, /* "grasshopper-ctr" */
+-1012, /* "grasshopper-ecb" */
+-1017, /* "grasshopper-mac" */
+-1014, /* "grasshopper-ofb" */
+-1036, /* "hkdf" */
+-855, /* "hmac" */
+-780, /* "hmac-md5" */
+-781, /* "hmac-sha1" */
+-797, /* "hmacWithMD5" */
+-163, /* "hmacWithSHA1" */
+-798, /* "hmacWithSHA224" */
+-799, /* "hmacWithSHA256" */
+-800, /* "hmacWithSHA384" */
+-801, /* "hmacWithSHA512" */
+-486, /* "homePostalAddress" */
+-473, /* "homeTelephoneNumber" */
+-466, /* "host" */
+-889, /* "houseIdentifier" */
+-442, /* "iA5StringSyntax" */
+-381, /* "iana" */
+-824, /* "id-Gost28147-89-CryptoPro-A-ParamSet" */
+-825, /* "id-Gost28147-89-CryptoPro-B-ParamSet" */
+-826, /* "id-Gost28147-89-CryptoPro-C-ParamSet" */
+-827, /* "id-Gost28147-89-CryptoPro-D-ParamSet" */
+-819, /* "id-Gost28147-89-CryptoPro-KeyMeshing" */
+-829, /* "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" */
+-828, /* "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" */
+-830, /* "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" */
+-820, /* "id-Gost28147-89-None-KeyMeshing" */
+-823, /* "id-Gost28147-89-TestParamSet" */
+-840, /* "id-GostR3410-2001-CryptoPro-A-ParamSet" */
+-841, /* "id-GostR3410-2001-CryptoPro-B-ParamSet" */
+-842, /* "id-GostR3410-2001-CryptoPro-C-ParamSet" */
+-843, /* "id-GostR3410-2001-CryptoPro-XchA-ParamSet" */
+-844, /* "id-GostR3410-2001-CryptoPro-XchB-ParamSet" */
+-839, /* "id-GostR3410-2001-TestParamSet" */
+-832, /* "id-GostR3410-94-CryptoPro-A-ParamSet" */
+-833, /* "id-GostR3410-94-CryptoPro-B-ParamSet" */
+-834, /* "id-GostR3410-94-CryptoPro-C-ParamSet" */
+-835, /* "id-GostR3410-94-CryptoPro-D-ParamSet" */
+-836, /* "id-GostR3410-94-CryptoPro-XchA-ParamSet" */
+-837, /* "id-GostR3410-94-CryptoPro-XchB-ParamSet" */
+-838, /* "id-GostR3410-94-CryptoPro-XchC-ParamSet" */
+-831, /* "id-GostR3410-94-TestParamSet" */
+-845, /* "id-GostR3410-94-a" */
+-846, /* "id-GostR3410-94-aBis" */
+-847, /* "id-GostR3410-94-b" */
+-848, /* "id-GostR3410-94-bBis" */
+-822, /* "id-GostR3411-94-CryptoProParamSet" */
+-821, /* "id-GostR3411-94-TestParamSet" */
+-266, /* "id-aca" */
+-355, /* "id-aca-accessIdentity" */
+-354, /* "id-aca-authenticationInfo" */
+-356, /* "id-aca-chargingIdentity" */
+-399, /* "id-aca-encAttrs" */
+-357, /* "id-aca-group" */
+-358, /* "id-aca-role" */
+-176, /* "id-ad" */
+-788, /* "id-aes128-wrap" */
+-897, /* "id-aes128-wrap-pad" */
+-789, /* "id-aes192-wrap" */
+-900, /* "id-aes192-wrap-pad" */
+-790, /* "id-aes256-wrap" */
+-903, /* "id-aes256-wrap-pad" */
+-262, /* "id-alg" */
+-893, /* "id-alg-PWRI-KEK" */
+-323, /* "id-alg-des40" */
+-326, /* "id-alg-dh-pop" */
+-325, /* "id-alg-dh-sig-hmac-sha1" */
+-324, /* "id-alg-noSignature" */
+-907, /* "id-camellia128-wrap" */
+-908, /* "id-camellia192-wrap" */
+-909, /* "id-camellia256-wrap" */
+-268, /* "id-cct" */
+-361, /* "id-cct-PKIData" */
+-362, /* "id-cct-PKIResponse" */
+-360, /* "id-cct-crs" */
+-81, /* "id-ce" */
+-680, /* "id-characteristic-two-basis" */
+-263, /* "id-cmc" */
+-334, /* "id-cmc-addExtensions" */
+-346, /* "id-cmc-confirmCertAcceptance" */
+-330, /* "id-cmc-dataReturn" */
+-336, /* "id-cmc-decryptedPOP" */
+-335, /* "id-cmc-encryptedPOP" */
+-339, /* "id-cmc-getCRL" */
+-338, /* "id-cmc-getCert" */
+-328, /* "id-cmc-identification" */
+-329, /* "id-cmc-identityProof" */
+-337, /* "id-cmc-lraPOPWitness" */
+-344, /* "id-cmc-popLinkRandom" */
+-345, /* "id-cmc-popLinkWitness" */
+-343, /* "id-cmc-queryPending" */
+-333, /* "id-cmc-recipientNonce" */
+-341, /* "id-cmc-regInfo" */
+-342, /* "id-cmc-responseInfo" */
+-340, /* "id-cmc-revokeRequest" */
+-332, /* "id-cmc-senderNonce" */
+-327, /* "id-cmc-statusInfo" */
+-331, /* "id-cmc-transactionId" */
+-787, /* "id-ct-asciiTextWithCRLF" */
+-408, /* "id-ecPublicKey" */
+-508, /* "id-hex-multipart-message" */
+-507, /* "id-hex-partial-message" */
+-260, /* "id-it" */
+-302, /* "id-it-caKeyUpdateInfo" */
+-298, /* "id-it-caProtEncCert" */
+-311, /* "id-it-confirmWaitTime" */
+-303, /* "id-it-currentCRL" */
+-300, /* "id-it-encKeyPairTypes" */
+-310, /* "id-it-implicitConfirm" */
+-308, /* "id-it-keyPairParamRep" */
+-307, /* "id-it-keyPairParamReq" */
+-312, /* "id-it-origPKIMessage" */
+-301, /* "id-it-preferredSymmAlg" */
+-309, /* "id-it-revPassphrase" */
+-299, /* "id-it-signKeyPairTypes" */
+-305, /* "id-it-subscriptionRequest" */
+-306, /* "id-it-subscriptionResponse" */
+-784, /* "id-it-suppLangTags" */
+-304, /* "id-it-unsupportedOIDs" */
+-128, /* "id-kp" */
+-280, /* "id-mod-attribute-cert" */
+-274, /* "id-mod-cmc" */
+-277, /* "id-mod-cmp" */
+-284, /* "id-mod-cmp2000" */
+-273, /* "id-mod-crmf" */
+-283, /* "id-mod-dvcs" */
+-275, /* "id-mod-kea-profile-88" */
+-276, /* "id-mod-kea-profile-93" */
+-282, /* "id-mod-ocsp" */
+-278, /* "id-mod-qualified-cert-88" */
+-279, /* "id-mod-qualified-cert-93" */
+-281, /* "id-mod-timestamp-protocol" */
+-264, /* "id-on" */
+-347, /* "id-on-personalData" */
+-265, /* "id-pda" */
+-352, /* "id-pda-countryOfCitizenship" */
+-353, /* "id-pda-countryOfResidence" */
+-348, /* "id-pda-dateOfBirth" */
+-351, /* "id-pda-gender" */
+-349, /* "id-pda-placeOfBirth" */
+-175, /* "id-pe" */
+-1031, /* "id-pkinit" */
+-261, /* "id-pkip" */
+-258, /* "id-pkix-mod" */
+-269, /* "id-pkix1-explicit-88" */
+-271, /* "id-pkix1-explicit-93" */
+-270, /* "id-pkix1-implicit-88" */
+-272, /* "id-pkix1-implicit-93" */
+-662, /* "id-ppl" */
+-267, /* "id-qcs" */
+-359, /* "id-qcs-pkixQCSyntax-v1" */
+-259, /* "id-qt" */
+-313, /* "id-regCtrl" */
+-316, /* "id-regCtrl-authenticator" */
+-319, /* "id-regCtrl-oldCertID" */
+-318, /* "id-regCtrl-pkiArchiveOptions" */
+-317, /* "id-regCtrl-pkiPublicationInfo" */
+-320, /* "id-regCtrl-protocolEncrKey" */
+-315, /* "id-regCtrl-regToken" */
+-314, /* "id-regInfo" */
+-322, /* "id-regInfo-certReq" */
+-321, /* "id-regInfo-utf8Pairs" */
+-973, /* "id-scrypt" */
+-191, /* "id-smime-aa" */
+-215, /* "id-smime-aa-contentHint" */
+-218, /* "id-smime-aa-contentIdentifier" */
+-221, /* "id-smime-aa-contentReference" */
+-240, /* "id-smime-aa-dvcs-dvc" */
+-217, /* "id-smime-aa-encapContentType" */
+-222, /* "id-smime-aa-encrypKeyPref" */
+-220, /* "id-smime-aa-equivalentLabels" */
+-232, /* "id-smime-aa-ets-CertificateRefs" */
+-233, /* "id-smime-aa-ets-RevocationRefs" */
+-238, /* "id-smime-aa-ets-archiveTimeStamp" */
+-237, /* "id-smime-aa-ets-certCRLTimestamp" */
+-234, /* "id-smime-aa-ets-certValues" */
+-227, /* "id-smime-aa-ets-commitmentType" */
+-231, /* "id-smime-aa-ets-contentTimestamp" */
+-236, /* "id-smime-aa-ets-escTimeStamp" */
+-230, /* "id-smime-aa-ets-otherSigCert" */
+-235, /* "id-smime-aa-ets-revocationValues" */
+-226, /* "id-smime-aa-ets-sigPolicyId" */
+-229, /* "id-smime-aa-ets-signerAttr" */
+-228, /* "id-smime-aa-ets-signerLocation" */
+-219, /* "id-smime-aa-macValue" */
+-214, /* "id-smime-aa-mlExpandHistory" */
+-216, /* "id-smime-aa-msgSigDigest" */
+-212, /* "id-smime-aa-receiptRequest" */
+-213, /* "id-smime-aa-securityLabel" */
+-239, /* "id-smime-aa-signatureType" */
+-223, /* "id-smime-aa-signingCertificate" */
+-224, /* "id-smime-aa-smimeEncryptCerts" */
+-225, /* "id-smime-aa-timeStampToken" */
+-192, /* "id-smime-alg" */
+-243, /* "id-smime-alg-3DESwrap" */
+-246, /* "id-smime-alg-CMS3DESwrap" */
+-247, /* "id-smime-alg-CMSRC2wrap" */
+-245, /* "id-smime-alg-ESDH" */
+-241, /* "id-smime-alg-ESDHwith3DES" */
+-242, /* "id-smime-alg-ESDHwithRC2" */
+-244, /* "id-smime-alg-RC2wrap" */
+-193, /* "id-smime-cd" */
+-248, /* "id-smime-cd-ldap" */
+-190, /* "id-smime-ct" */
+-210, /* "id-smime-ct-DVCSRequestData" */
+-211, /* "id-smime-ct-DVCSResponseData" */
+-208, /* "id-smime-ct-TDTInfo" */
+-207, /* "id-smime-ct-TSTInfo" */
+-205, /* "id-smime-ct-authData" */
+-786, /* "id-smime-ct-compressedData" */
+-209, /* "id-smime-ct-contentInfo" */
+-206, /* "id-smime-ct-publishCert" */
+-204, /* "id-smime-ct-receipt" */
+-195, /* "id-smime-cti" */
+-255, /* "id-smime-cti-ets-proofOfApproval" */
+-256, /* "id-smime-cti-ets-proofOfCreation" */
+-253, /* "id-smime-cti-ets-proofOfDelivery" */
+-251, /* "id-smime-cti-ets-proofOfOrigin" */
+-252, /* "id-smime-cti-ets-proofOfReceipt" */
+-254, /* "id-smime-cti-ets-proofOfSender" */
+-189, /* "id-smime-mod" */
+-196, /* "id-smime-mod-cms" */
+-197, /* "id-smime-mod-ess" */
+-202, /* "id-smime-mod-ets-eSigPolicy-88" */
+-203, /* "id-smime-mod-ets-eSigPolicy-97" */
+-200, /* "id-smime-mod-ets-eSignature-88" */
+-201, /* "id-smime-mod-ets-eSignature-97" */
+-199, /* "id-smime-mod-msg-v3" */
+-198, /* "id-smime-mod-oid" */
+-194, /* "id-smime-spq" */
+-250, /* "id-smime-spq-ets-sqt-unotice" */
+-249, /* "id-smime-spq-ets-sqt-uri" */
+-974, /* "id-tc26" */
+-991, /* "id-tc26-agreement" */
+-992, /* "id-tc26-agreement-gost-3410-2012-256" */
+-993, /* "id-tc26-agreement-gost-3410-2012-512" */
+-977, /* "id-tc26-algorithms" */
+-990, /* "id-tc26-cipher" */
+-1001, /* "id-tc26-cipher-constants" */
+-994, /* "id-tc26-constants" */
+-981, /* "id-tc26-digest" */
+-1000, /* "id-tc26-digest-constants" */
+-1002, /* "id-tc26-gost-28147-constants" */
+-996, /* "id-tc26-gost-3410-2012-512-constants" */
+-987, /* "id-tc26-mac" */
+-978, /* "id-tc26-sign" */
+-995, /* "id-tc26-sign-constants" */
+-984, /* "id-tc26-signwithdigest" */
+-34, /* "idea-cbc" */
+-35, /* "idea-cfb" */
+-36, /* "idea-ecb" */
+-46, /* "idea-ofb" */
+-676, /* "identified-organization" */
+-461, /* "info" */
+-101, /* "initials" */
+-869, /* "internationaliSDNNumber" */
+-1022, /* "ipsec Internet Key Exchange" */
+-749, /* "ipsec3" */
+-750, /* "ipsec4" */
+-181, /* "iso" */
+-623, /* "issuer capabilities" */
+-645, /* "itu-t" */
+-492, /* "janetMailbox" */
+-646, /* "joint-iso-itu-t" */
+-957, /* "jurisdictionCountryName" */
+-955, /* "jurisdictionLocalityName" */
+-956, /* "jurisdictionStateOrProvinceName" */
+-150, /* "keyBag" */
+-773, /* "kisa" */
+-1039, /* "kx-dhe" */
+-1041, /* "kx-dhe-psk" */
+-1038, /* "kx-ecdhe" */
+-1040, /* "kx-ecdhe-psk" */
+-1045, /* "kx-gost" */
+-1043, /* "kx-psk" */
+-1037, /* "kx-rsa" */
+-1042, /* "kx-rsa-psk" */
+-1044, /* "kx-srp" */
+-477, /* "lastModifiedBy" */
+-476, /* "lastModifiedTime" */
+-157, /* "localKeyID" */
+-15, /* "localityName" */
+-480, /* "mXRecord" */
+-493, /* "mailPreferenceOption" */
+-467, /* "manager" */
+- 3, /* "md2" */
+- 7, /* "md2WithRSAEncryption" */
+-257, /* "md4" */
+-396, /* "md4WithRSAEncryption" */
+- 4, /* "md5" */
+-114, /* "md5-sha1" */
+-104, /* "md5WithRSA" */
+- 8, /* "md5WithRSAEncryption" */
+-95, /* "mdc2" */
+-96, /* "mdc2WithRSA" */
+-875, /* "member" */
+-602, /* "merchant initiated auth" */
+-514, /* "message extensions" */
+-51, /* "messageDigest" */
+-911, /* "mgf1" */
+-506, /* "mime-mhs-bodies" */
+-505, /* "mime-mhs-headings" */
+-488, /* "mobileTelephoneNumber" */
+-481, /* "nSRecord" */
+-173, /* "name" */
+-681, /* "onBasis" */
+-379, /* "org" */
+-17, /* "organizationName" */
+-491, /* "organizationalStatus" */
+-18, /* "organizationalUnitName" */
+-475, /* "otherMailbox" */
+-876, /* "owner" */
+-935, /* "pSpecified" */
+-489, /* "pagerTelephoneNumber" */
+-782, /* "password based MAC" */
+-374, /* "path" */
+-621, /* "payment gateway capabilities" */
+- 9, /* "pbeWithMD2AndDES-CBC" */
+-168, /* "pbeWithMD2AndRC2-CBC" */
+-112, /* "pbeWithMD5AndCast5CBC" */
+-10, /* "pbeWithMD5AndDES-CBC" */
+-169, /* "pbeWithMD5AndRC2-CBC" */
+-148, /* "pbeWithSHA1And128BitRC2-CBC" */
+-144, /* "pbeWithSHA1And128BitRC4" */
+-147, /* "pbeWithSHA1And2-KeyTripleDES-CBC" */
+-146, /* "pbeWithSHA1And3-KeyTripleDES-CBC" */
+-149, /* "pbeWithSHA1And40BitRC2-CBC" */
+-145, /* "pbeWithSHA1And40BitRC4" */
+-170, /* "pbeWithSHA1AndDES-CBC" */
+-68, /* "pbeWithSHA1AndRC2-CBC" */
+-499, /* "personalSignature" */
+-487, /* "personalTitle" */
+-464, /* "photo" */
+-863, /* "physicalDeliveryOfficeName" */
+-437, /* "pilot" */
+-439, /* "pilotAttributeSyntax" */
+-438, /* "pilotAttributeType" */
+-479, /* "pilotAttributeType27" */
+-456, /* "pilotDSA" */
+-441, /* "pilotGroups" */
+-444, /* "pilotObject" */
+-440, /* "pilotObjectClass" */
+-455, /* "pilotOrganization" */
+-445, /* "pilotPerson" */
+-186, /* "pkcs1" */
+-27, /* "pkcs3" */
+-187, /* "pkcs5" */
+-20, /* "pkcs7" */
+-21, /* "pkcs7-data" */
+-25, /* "pkcs7-digestData" */
+-26, /* "pkcs7-encryptedData" */
+-23, /* "pkcs7-envelopedData" */
+-24, /* "pkcs7-signedAndEnvelopedData" */
+-22, /* "pkcs7-signedData" */
+-151, /* "pkcs8ShroudedKeyBag" */
+-47, /* "pkcs9" */
+-862, /* "postOfficeBox" */
+-861, /* "postalAddress" */
+-661, /* "postalCode" */
+-683, /* "ppBasis" */
+-872, /* "preferredDeliveryMethod" */
+-873, /* "presentationAddress" */
+-406, /* "prime-field" */
+-409, /* "prime192v1" */
+-410, /* "prime192v2" */
+-411, /* "prime192v3" */
+-412, /* "prime239v1" */
+-413, /* "prime239v2" */
+-414, /* "prime239v3" */
+-415, /* "prime256v1" */
+-886, /* "protocolInformation" */
+-510, /* "pseudonym" */
+-435, /* "pss" */
+-286, /* "qcStatements" */
+-457, /* "qualityLabelledData" */
+-450, /* "rFC822localPart" */
+-98, /* "rc2-40-cbc" */
+-166, /* "rc2-64-cbc" */
+-37, /* "rc2-cbc" */
+-39, /* "rc2-cfb" */
+-38, /* "rc2-ecb" */
+-40, /* "rc2-ofb" */
+- 5, /* "rc4" */
+-97, /* "rc4-40" */
+-915, /* "rc4-hmac-md5" */
+-120, /* "rc5-cbc" */
+-122, /* "rc5-cfb" */
+-121, /* "rc5-ecb" */
+-123, /* "rc5-ofb" */
+-870, /* "registeredAddress" */
+-460, /* "rfc822Mailbox" */
+-117, /* "ripemd160" */
+-119, /* "ripemd160WithRSA" */
+-400, /* "role" */
+-877, /* "roleOccupant" */
+-448, /* "room" */
+-463, /* "roomNumber" */
+-19, /* "rsa" */
+- 6, /* "rsaEncryption" */
+-644, /* "rsaOAEPEncryptionSET" */
+-377, /* "rsaSignature" */
+-919, /* "rsaesOaep" */
+-912, /* "rsassaPss" */
+-482, /* "sOARecord" */
+-155, /* "safeContentsBag" */
+-291, /* "sbgp-autonomousSysNum" */
+-290, /* "sbgp-ipAddrBlock" */
+-292, /* "sbgp-routerIdentifier" */
+-159, /* "sdsiCertificate" */
+-859, /* "searchGuide" */
+-704, /* "secp112r1" */
+-705, /* "secp112r2" */
+-706, /* "secp128r1" */
+-707, /* "secp128r2" */
+-708, /* "secp160k1" */
+-709, /* "secp160r1" */
+-710, /* "secp160r2" */
+-711, /* "secp192k1" */
+-712, /* "secp224k1" */
+-713, /* "secp224r1" */
+-714, /* "secp256k1" */
+-715, /* "secp384r1" */
+-716, /* "secp521r1" */
+-154, /* "secretBag" */
+-474, /* "secretary" */
+-717, /* "sect113r1" */
+-718, /* "sect113r2" */
+-719, /* "sect131r1" */
+-720, /* "sect131r2" */
+-721, /* "sect163k1" */
+-722, /* "sect163r1" */
+-723, /* "sect163r2" */
+-724, /* "sect193r1" */
+-725, /* "sect193r2" */
+-726, /* "sect233k1" */
+-727, /* "sect233r1" */
+-728, /* "sect239k1" */
+-729, /* "sect283k1" */
+-730, /* "sect283r1" */
+-731, /* "sect409k1" */
+-732, /* "sect409r1" */
+-733, /* "sect571k1" */
+-734, /* "sect571r1" */
+-635, /* "secure device signature" */
+-878, /* "seeAlso" */
+-777, /* "seed-cbc" */
+-779, /* "seed-cfb" */
+-776, /* "seed-ecb" */
+-778, /* "seed-ofb" */
+-105, /* "serialNumber" */
+-625, /* "set-addPolicy" */
+-515, /* "set-attr" */
+-518, /* "set-brand" */
+-638, /* "set-brand-AmericanExpress" */
+-637, /* "set-brand-Diners" */
+-636, /* "set-brand-IATA-ATA" */
+-639, /* "set-brand-JCB" */
+-641, /* "set-brand-MasterCard" */
+-642, /* "set-brand-Novus" */
+-640, /* "set-brand-Visa" */
+-516, /* "set-policy" */
+-607, /* "set-policy-root" */
+-624, /* "set-rootKeyThumb" */
+-620, /* "setAttr-Cert" */
+-628, /* "setAttr-IssCap-CVM" */
+-630, /* "setAttr-IssCap-Sig" */
+-629, /* "setAttr-IssCap-T2" */
+-627, /* "setAttr-Token-B0Prime" */
+-626, /* "setAttr-Token-EMV" */
+-622, /* "setAttr-TokenType" */
+-619, /* "setCext-IssuerCapabilities" */
+-615, /* "setCext-PGWYcapabilities" */
+-616, /* "setCext-TokenIdentifier" */
+-618, /* "setCext-TokenType" */
+-617, /* "setCext-Track2Data" */
+-611, /* "setCext-cCertRequired" */
+-609, /* "setCext-certType" */
+-608, /* "setCext-hashedRoot" */
+-610, /* "setCext-merchData" */
+-613, /* "setCext-setExt" */
+-614, /* "setCext-setQualf" */
+-612, /* "setCext-tunneling" */
+-540, /* "setct-AcqCardCodeMsg" */
+-576, /* "setct-AcqCardCodeMsgTBE" */
+-570, /* "setct-AuthReqTBE" */
+-534, /* "setct-AuthReqTBS" */
+-527, /* "setct-AuthResBaggage" */
+-571, /* "setct-AuthResTBE" */
+-572, /* "setct-AuthResTBEX" */
+-535, /* "setct-AuthResTBS" */
+-536, /* "setct-AuthResTBSX" */
+-528, /* "setct-AuthRevReqBaggage" */
+-577, /* "setct-AuthRevReqTBE" */
+-541, /* "setct-AuthRevReqTBS" */
+-529, /* "setct-AuthRevResBaggage" */
+-542, /* "setct-AuthRevResData" */
+-578, /* "setct-AuthRevResTBE" */
+-579, /* "setct-AuthRevResTBEB" */
+-543, /* "setct-AuthRevResTBS" */
+-573, /* "setct-AuthTokenTBE" */
+-537, /* "setct-AuthTokenTBS" */
+-600, /* "setct-BCIDistributionTBS" */
+-558, /* "setct-BatchAdminReqData" */
+-592, /* "setct-BatchAdminReqTBE" */
+-559, /* "setct-BatchAdminResData" */
+-593, /* "setct-BatchAdminResTBE" */
+-599, /* "setct-CRLNotificationResTBS" */
+-598, /* "setct-CRLNotificationTBS" */
+-580, /* "setct-CapReqTBE" */
+-581, /* "setct-CapReqTBEX" */
+-544, /* "setct-CapReqTBS" */
+-545, /* "setct-CapReqTBSX" */
+-546, /* "setct-CapResData" */
+-582, /* "setct-CapResTBE" */
+-583, /* "setct-CapRevReqTBE" */
+-584, /* "setct-CapRevReqTBEX" */
+-547, /* "setct-CapRevReqTBS" */
+-548, /* "setct-CapRevReqTBSX" */
+-549, /* "setct-CapRevResData" */
+-585, /* "setct-CapRevResTBE" */
+-538, /* "setct-CapTokenData" */
+-530, /* "setct-CapTokenSeq" */
+-574, /* "setct-CapTokenTBE" */
+-575, /* "setct-CapTokenTBEX" */
+-539, /* "setct-CapTokenTBS" */
+-560, /* "setct-CardCInitResTBS" */
+-566, /* "setct-CertInqReqTBS" */
+-563, /* "setct-CertReqData" */
+-595, /* "setct-CertReqTBE" */
+-596, /* "setct-CertReqTBEX" */
+-564, /* "setct-CertReqTBS" */
+-565, /* "setct-CertResData" */
+-597, /* "setct-CertResTBE" */
+-586, /* "setct-CredReqTBE" */
+-587, /* "setct-CredReqTBEX" */
+-550, /* "setct-CredReqTBS" */
+-551, /* "setct-CredReqTBSX" */
+-552, /* "setct-CredResData" */
+-588, /* "setct-CredResTBE" */
+-589, /* "setct-CredRevReqTBE" */
+-590, /* "setct-CredRevReqTBEX" */
+-553, /* "setct-CredRevReqTBS" */
+-554, /* "setct-CredRevReqTBSX" */
+-555, /* "setct-CredRevResData" */
+-591, /* "setct-CredRevResTBE" */
+-567, /* "setct-ErrorTBS" */
+-526, /* "setct-HODInput" */
+-561, /* "setct-MeAqCInitResTBS" */
+-522, /* "setct-OIData" */
+-519, /* "setct-PANData" */
+-521, /* "setct-PANOnly" */
+-520, /* "setct-PANToken" */
+-556, /* "setct-PCertReqData" */
+-557, /* "setct-PCertResTBS" */
+-523, /* "setct-PI" */
+-532, /* "setct-PI-TBS" */
+-524, /* "setct-PIData" */
+-525, /* "setct-PIDataUnsigned" */
+-568, /* "setct-PIDualSignedTBE" */
+-569, /* "setct-PIUnsignedTBE" */
+-531, /* "setct-PInitResData" */
+-533, /* "setct-PResData" */
+-594, /* "setct-RegFormReqTBE" */
+-562, /* "setct-RegFormResTBS" */
+-604, /* "setext-pinAny" */
+-603, /* "setext-pinSecure" */
+-605, /* "setext-track2" */
+-41, /* "sha" */
+-64, /* "sha1" */
+-115, /* "sha1WithRSA" */
+-65, /* "sha1WithRSAEncryption" */
+-675, /* "sha224" */
+-671, /* "sha224WithRSAEncryption" */
+-672, /* "sha256" */
+-668, /* "sha256WithRSAEncryption" */
+-673, /* "sha384" */
+-669, /* "sha384WithRSAEncryption" */
+-674, /* "sha512" */
+-670, /* "sha512WithRSAEncryption" */
+-42, /* "shaWithRSAEncryption" */
+-52, /* "signingTime" */
+-454, /* "simpleSecurityObject" */
+-496, /* "singleLevelQuality" */
+-16, /* "stateOrProvinceName" */
+-660, /* "streetAddress" */
+-498, /* "subtreeMaximumQuality" */
+-497, /* "subtreeMinimumQuality" */
+-890, /* "supportedAlgorithms" */
+-874, /* "supportedApplicationContext" */
+-100, /* "surname" */
+-864, /* "telephoneNumber" */
+-866, /* "teletexTerminalIdentifier" */
+-865, /* "telexNumber" */
+-459, /* "textEncodedORAddress" */
+-293, /* "textNotice" */
+-106, /* "title" */
+-1021, /* "tls1-prf" */
+-682, /* "tpBasis" */
+-436, /* "ucl" */
+- 0, /* "undefined" */
+-102, /* "uniqueIdentifier" */
+-888, /* "uniqueMember" */
+-55, /* "unstructuredAddress" */
+-49, /* "unstructuredName" */
+-880, /* "userCertificate" */
+-465, /* "userClass" */
+-458, /* "userId" */
+-879, /* "userPassword" */
+-373, /* "valid" */
+-678, /* "wap" */
+-679, /* "wap-wsg" */
+-735, /* "wap-wsg-idm-ecid-wtls1" */
+-743, /* "wap-wsg-idm-ecid-wtls10" */
+-744, /* "wap-wsg-idm-ecid-wtls11" */
+-745, /* "wap-wsg-idm-ecid-wtls12" */
+-736, /* "wap-wsg-idm-ecid-wtls3" */
+-737, /* "wap-wsg-idm-ecid-wtls4" */
+-738, /* "wap-wsg-idm-ecid-wtls5" */
+-739, /* "wap-wsg-idm-ecid-wtls6" */
+-740, /* "wap-wsg-idm-ecid-wtls7" */
+-741, /* "wap-wsg-idm-ecid-wtls8" */
+-742, /* "wap-wsg-idm-ecid-wtls9" */
+-804, /* "whirlpool" */
+-868, /* "x121Address" */
+-503, /* "x500UniqueIdentifier" */
+-158, /* "x509Certificate" */
+-160, /* "x509Crl" */
+-125, /* "zlib compression" */
++#define NUM_LN 1049
++static const unsigned int ln_objs[NUM_LN] = {
++ 363, /* "AD Time Stamping" */
++ 405, /* "ANSI X9.62" */
++ 368, /* "Acceptable OCSP Responses" */
++ 910, /* "Any Extended Key Usage" */
++ 664, /* "Any language" */
++ 177, /* "Authority Information Access" */
++ 365, /* "Basic OCSP Response" */
++ 285, /* "Biometric Info" */
++ 179, /* "CA Issuers" */
++ 785, /* "CA Repository" */
++ 954, /* "CT Certificate SCTs" */
++ 952, /* "CT Precertificate Poison" */
++ 951, /* "CT Precertificate SCTs" */
++ 953, /* "CT Precertificate Signer" */
++ 131, /* "Code Signing" */
++ 1024, /* "Ctrl/Provision WAP Termination" */
++ 1023, /* "Ctrl/provision WAP Access" */
++ 783, /* "Diffie-Hellman based MAC" */
++ 382, /* "Directory" */
++ 392, /* "Domain" */
++ 132, /* "E-mail Protection" */
++ 389, /* "Enterprises" */
++ 384, /* "Experimental" */
++ 372, /* "Extended OCSP Status" */
++ 172, /* "Extension Request" */
++ 813, /* "GOST 28147-89" */
++ 849, /* "GOST 28147-89 Cryptocom ParamSet" */
++ 815, /* "GOST 28147-89 MAC" */
++ 1003, /* "GOST 28147-89 TC26 parameter set" */
++ 851, /* "GOST 34.10-2001 Cryptocom" */
++ 850, /* "GOST 34.10-94 Cryptocom" */
++ 811, /* "GOST R 34.10-2001" */
++ 817, /* "GOST R 34.10-2001 DH" */
++ 998, /* "GOST R 34.10-2012 (512 bit) ParamSet A" */
++ 999, /* "GOST R 34.10-2012 (512 bit) ParamSet B" */
++ 997, /* "GOST R 34.10-2012 (512 bit) testing parameter set" */
++ 979, /* "GOST R 34.10-2012 with 256 bit modulus" */
++ 980, /* "GOST R 34.10-2012 with 512 bit modulus" */
++ 985, /* "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)" */
++ 986, /* "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)" */
++ 812, /* "GOST R 34.10-94" */
++ 818, /* "GOST R 34.10-94 DH" */
++ 982, /* "GOST R 34.11-2012 with 256 bit hash" */
++ 983, /* "GOST R 34.11-2012 with 512 bit hash" */
++ 809, /* "GOST R 34.11-94" */
++ 816, /* "GOST R 34.11-94 PRF" */
++ 807, /* "GOST R 34.11-94 with GOST R 34.10-2001" */
++ 853, /* "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom" */
++ 808, /* "GOST R 34.11-94 with GOST R 34.10-94" */
++ 852, /* "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom" */
++ 854, /* "GOST R 3410-2001 Parameter Set Cryptocom" */
++ 988, /* "HMAC GOST 34.11-2012 256 bit" */
++ 989, /* "HMAC GOST 34.11-2012 512 bit" */
++ 810, /* "HMAC GOST 34.11-94" */
++ 432, /* "Hold Instruction Call Issuer" */
++ 430, /* "Hold Instruction Code" */
++ 431, /* "Hold Instruction None" */
++ 433, /* "Hold Instruction Reject" */
++ 634, /* "ICC or token signature" */
++ 1004, /* "INN" */
++ 294, /* "IPSec End System" */
++ 295, /* "IPSec Tunnel" */
++ 296, /* "IPSec User" */
++ 182, /* "ISO Member Body" */
++ 183, /* "ISO US Member Body" */
++ 667, /* "Independent" */
++ 665, /* "Inherit all" */
++ 647, /* "International Organizations" */
++ 142, /* "Invalidity Date" */
++ 504, /* "MIME MHS" */
++ 388, /* "Mail" */
++ 383, /* "Management" */
++ 417, /* "Microsoft CSP Name" */
++ 135, /* "Microsoft Commercial Code Signing" */
++ 138, /* "Microsoft Encrypted File System" */
++ 171, /* "Microsoft Extension Request" */
++ 134, /* "Microsoft Individual Code Signing" */
++ 856, /* "Microsoft Local Key set" */
++ 137, /* "Microsoft Server Gated Crypto" */
++ 648, /* "Microsoft Smartcardlogin" */
++ 136, /* "Microsoft Trust List Signing" */
++ 649, /* "Microsoft Universal Principal Name" */
++ 393, /* "NULL" */
++ 404, /* "NULL" */
++ 72, /* "Netscape Base Url" */
++ 76, /* "Netscape CA Policy Url" */
++ 74, /* "Netscape CA Revocation Url" */
++ 71, /* "Netscape Cert Type" */
++ 58, /* "Netscape Certificate Extension" */
++ 79, /* "Netscape Certificate Sequence" */
++ 78, /* "Netscape Comment" */
++ 57, /* "Netscape Communications Corp." */
++ 59, /* "Netscape Data Type" */
++ 75, /* "Netscape Renewal Url" */
++ 73, /* "Netscape Revocation Url" */
++ 77, /* "Netscape SSL Server Name" */
++ 139, /* "Netscape Server Gated Crypto" */
++ 178, /* "OCSP" */
++ 370, /* "OCSP Archive Cutoff" */
++ 367, /* "OCSP CRL ID" */
++ 369, /* "OCSP No Check" */
++ 366, /* "OCSP Nonce" */
++ 371, /* "OCSP Service Locator" */
++ 180, /* "OCSP Signing" */
++ 1005, /* "OGRN" */
++ 161, /* "PBES2" */
++ 69, /* "PBKDF2" */
++ 162, /* "PBMAC1" */
++ 1032, /* "PKINIT Client Auth" */
++ 127, /* "PKIX" */
++ 858, /* "Permanent Identifier" */
++ 164, /* "Policy Qualifier CPS" */
++ 165, /* "Policy Qualifier User Notice" */
++ 385, /* "Private" */
++ 663, /* "Proxy Certificate Information" */
++ 1, /* "RSA Data Security, Inc." */
++ 2, /* "RSA Data Security, Inc. PKCS" */
++ 188, /* "S/MIME" */
++ 167, /* "S/MIME Capabilities" */
++ 1006, /* "SNILS" */
++ 387, /* "SNMPv2" */
++ 1025, /* "SSH Client" */
++ 1026, /* "SSH Server" */
++ 512, /* "Secure Electronic Transactions" */
++ 386, /* "Security" */
++ 394, /* "Selected Attribute Types" */
++ 1029, /* "Send Owner" */
++ 1030, /* "Send Proxied Owner" */
++ 1028, /* "Send Proxied Router" */
++ 1027, /* "Send Router" */
++ 1033, /* "Signing KDC Response" */
++ 1008, /* "Signing Tool of Issuer" */
++ 1007, /* "Signing Tool of Subject" */
++ 143, /* "Strong Extranet ID" */
++ 398, /* "Subject Information Access" */
++ 1020, /* "TLS Feature" */
++ 130, /* "TLS Web Client Authentication" */
++ 129, /* "TLS Web Server Authentication" */
++ 133, /* "Time Stamping" */
++ 375, /* "Trust Root" */
++ 1034, /* "X25519" */
++ 1035, /* "X448" */
++ 12, /* "X509" */
++ 402, /* "X509v3 AC Targeting" */
++ 746, /* "X509v3 Any Policy" */
++ 90, /* "X509v3 Authority Key Identifier" */
++ 87, /* "X509v3 Basic Constraints" */
++ 103, /* "X509v3 CRL Distribution Points" */
++ 88, /* "X509v3 CRL Number" */
++ 141, /* "X509v3 CRL Reason Code" */
++ 771, /* "X509v3 Certificate Issuer" */
++ 89, /* "X509v3 Certificate Policies" */
++ 140, /* "X509v3 Delta CRL Indicator" */
++ 126, /* "X509v3 Extended Key Usage" */
++ 857, /* "X509v3 Freshest CRL" */
++ 748, /* "X509v3 Inhibit Any Policy" */
++ 86, /* "X509v3 Issuer Alternative Name" */
++ 770, /* "X509v3 Issuing Distribution Point" */
++ 83, /* "X509v3 Key Usage" */
++ 666, /* "X509v3 Name Constraints" */
++ 403, /* "X509v3 No Revocation Available" */
++ 401, /* "X509v3 Policy Constraints" */
++ 747, /* "X509v3 Policy Mappings" */
++ 84, /* "X509v3 Private Key Usage Period" */
++ 85, /* "X509v3 Subject Alternative Name" */
++ 769, /* "X509v3 Subject Directory Attributes" */
++ 82, /* "X509v3 Subject Key Identifier" */
++ 920, /* "X9.42 DH" */
++ 184, /* "X9.57" */
++ 185, /* "X9.57 CM ?" */
++ 478, /* "aRecord" */
++ 289, /* "aaControls" */
++ 287, /* "ac-auditEntity" */
++ 397, /* "ac-proxying" */
++ 288, /* "ac-targeting" */
++ 446, /* "account" */
++ 364, /* "ad dvcs" */
++ 606, /* "additional verification" */
++ 419, /* "aes-128-cbc" */
++ 916, /* "aes-128-cbc-hmac-sha1" */
++ 948, /* "aes-128-cbc-hmac-sha256" */
++ 896, /* "aes-128-ccm" */
++ 421, /* "aes-128-cfb" */
++ 650, /* "aes-128-cfb1" */
++ 653, /* "aes-128-cfb8" */
++ 904, /* "aes-128-ctr" */
++ 418, /* "aes-128-ecb" */
++ 895, /* "aes-128-gcm" */
++ 958, /* "aes-128-ocb" */
++ 420, /* "aes-128-ofb" */
++ 913, /* "aes-128-xts" */
++ 423, /* "aes-192-cbc" */
++ 917, /* "aes-192-cbc-hmac-sha1" */
++ 949, /* "aes-192-cbc-hmac-sha256" */
++ 899, /* "aes-192-ccm" */
++ 425, /* "aes-192-cfb" */
++ 651, /* "aes-192-cfb1" */
++ 654, /* "aes-192-cfb8" */
++ 905, /* "aes-192-ctr" */
++ 422, /* "aes-192-ecb" */
++ 898, /* "aes-192-gcm" */
++ 959, /* "aes-192-ocb" */
++ 424, /* "aes-192-ofb" */
++ 427, /* "aes-256-cbc" */
++ 918, /* "aes-256-cbc-hmac-sha1" */
++ 950, /* "aes-256-cbc-hmac-sha256" */
++ 902, /* "aes-256-ccm" */
++ 429, /* "aes-256-cfb" */
++ 652, /* "aes-256-cfb1" */
++ 655, /* "aes-256-cfb8" */
++ 906, /* "aes-256-ctr" */
++ 426, /* "aes-256-ecb" */
++ 901, /* "aes-256-gcm" */
++ 960, /* "aes-256-ocb" */
++ 428, /* "aes-256-ofb" */
++ 914, /* "aes-256-xts" */
++ 376, /* "algorithm" */
++ 484, /* "associatedDomain" */
++ 485, /* "associatedName" */
++ 501, /* "audio" */
++ 1049, /* "auth-dss" */
++ 1047, /* "auth-ecdsa" */
++ 1050, /* "auth-gost01" */
++ 1051, /* "auth-gost12" */
++ 1053, /* "auth-null" */
++ 1048, /* "auth-psk" */
++ 1046, /* "auth-rsa" */
++ 1052, /* "auth-srp" */
++ 882, /* "authorityRevocationList" */
++ 91, /* "bf-cbc" */
++ 93, /* "bf-cfb" */
++ 92, /* "bf-ecb" */
++ 94, /* "bf-ofb" */
++ 1056, /* "blake2b512" */
++ 1057, /* "blake2s256" */
++ 921, /* "brainpoolP160r1" */
++ 922, /* "brainpoolP160t1" */
++ 923, /* "brainpoolP192r1" */
++ 924, /* "brainpoolP192t1" */
++ 925, /* "brainpoolP224r1" */
++ 926, /* "brainpoolP224t1" */
++ 927, /* "brainpoolP256r1" */
++ 928, /* "brainpoolP256t1" */
++ 929, /* "brainpoolP320r1" */
++ 930, /* "brainpoolP320t1" */
++ 931, /* "brainpoolP384r1" */
++ 932, /* "brainpoolP384t1" */
++ 933, /* "brainpoolP512r1" */
++ 934, /* "brainpoolP512t1" */
++ 494, /* "buildingName" */
++ 860, /* "businessCategory" */
++ 691, /* "c2onb191v4" */
++ 692, /* "c2onb191v5" */
++ 697, /* "c2onb239v4" */
++ 698, /* "c2onb239v5" */
++ 684, /* "c2pnb163v1" */
++ 685, /* "c2pnb163v2" */
++ 686, /* "c2pnb163v3" */
++ 687, /* "c2pnb176v1" */
++ 693, /* "c2pnb208w1" */
++ 699, /* "c2pnb272w1" */
++ 700, /* "c2pnb304w1" */
++ 702, /* "c2pnb368w1" */
++ 688, /* "c2tnb191v1" */
++ 689, /* "c2tnb191v2" */
++ 690, /* "c2tnb191v3" */
++ 694, /* "c2tnb239v1" */
++ 695, /* "c2tnb239v2" */
++ 696, /* "c2tnb239v3" */
++ 701, /* "c2tnb359v1" */
++ 703, /* "c2tnb431r1" */
++ 881, /* "cACertificate" */
++ 483, /* "cNAMERecord" */
++ 751, /* "camellia-128-cbc" */
++ 962, /* "camellia-128-ccm" */
++ 757, /* "camellia-128-cfb" */
++ 760, /* "camellia-128-cfb1" */
++ 763, /* "camellia-128-cfb8" */
++ 964, /* "camellia-128-cmac" */
++ 963, /* "camellia-128-ctr" */
++ 754, /* "camellia-128-ecb" */
++ 961, /* "camellia-128-gcm" */
++ 766, /* "camellia-128-ofb" */
++ 752, /* "camellia-192-cbc" */
++ 966, /* "camellia-192-ccm" */
++ 758, /* "camellia-192-cfb" */
++ 761, /* "camellia-192-cfb1" */
++ 764, /* "camellia-192-cfb8" */
++ 968, /* "camellia-192-cmac" */
++ 967, /* "camellia-192-ctr" */
++ 755, /* "camellia-192-ecb" */
++ 965, /* "camellia-192-gcm" */
++ 767, /* "camellia-192-ofb" */
++ 753, /* "camellia-256-cbc" */
++ 970, /* "camellia-256-ccm" */
++ 759, /* "camellia-256-cfb" */
++ 762, /* "camellia-256-cfb1" */
++ 765, /* "camellia-256-cfb8" */
++ 972, /* "camellia-256-cmac" */
++ 971, /* "camellia-256-ctr" */
++ 756, /* "camellia-256-ecb" */
++ 969, /* "camellia-256-gcm" */
++ 768, /* "camellia-256-ofb" */
++ 443, /* "caseIgnoreIA5StringSyntax" */
++ 108, /* "cast5-cbc" */
++ 110, /* "cast5-cfb" */
++ 109, /* "cast5-ecb" */
++ 111, /* "cast5-ofb" */
++ 152, /* "certBag" */
++ 677, /* "certicom-arc" */
++ 517, /* "certificate extensions" */
++ 883, /* "certificateRevocationList" */
++ 1019, /* "chacha20" */
++ 1018, /* "chacha20-poly1305" */
++ 54, /* "challengePassword" */
++ 407, /* "characteristic-two-field" */
++ 395, /* "clearance" */
++ 633, /* "cleartext track 2" */
++ 894, /* "cmac" */
++ 13, /* "commonName" */
++ 513, /* "content types" */
++ 50, /* "contentType" */
++ 53, /* "countersignature" */
++ 14, /* "countryName" */
++ 153, /* "crlBag" */
++ 884, /* "crossCertificatePair" */
++ 806, /* "cryptocom" */
++ 805, /* "cryptopro" */
++ 500, /* "dITRedirect" */
++ 451, /* "dNSDomain" */
++ 495, /* "dSAQuality" */
++ 434, /* "data" */
++ 390, /* "dcObject" */
++ 891, /* "deltaRevocationList" */
++ 31, /* "des-cbc" */
++ 643, /* "des-cdmf" */
++ 30, /* "des-cfb" */
++ 656, /* "des-cfb1" */
++ 657, /* "des-cfb8" */
++ 29, /* "des-ecb" */
++ 32, /* "des-ede" */
++ 43, /* "des-ede-cbc" */
++ 60, /* "des-ede-cfb" */
++ 62, /* "des-ede-ofb" */
++ 33, /* "des-ede3" */
++ 44, /* "des-ede3-cbc" */
++ 61, /* "des-ede3-cfb" */
++ 658, /* "des-ede3-cfb1" */
++ 659, /* "des-ede3-cfb8" */
++ 63, /* "des-ede3-ofb" */
++ 45, /* "des-ofb" */
++ 107, /* "description" */
++ 871, /* "destinationIndicator" */
++ 80, /* "desx-cbc" */
++ 947, /* "dh-cofactor-kdf" */
++ 946, /* "dh-std-kdf" */
++ 28, /* "dhKeyAgreement" */
++ 941, /* "dhSinglePass-cofactorDH-sha1kdf-scheme" */
++ 942, /* "dhSinglePass-cofactorDH-sha224kdf-scheme" */
++ 943, /* "dhSinglePass-cofactorDH-sha256kdf-scheme" */
++ 944, /* "dhSinglePass-cofactorDH-sha384kdf-scheme" */
++ 945, /* "dhSinglePass-cofactorDH-sha512kdf-scheme" */
++ 936, /* "dhSinglePass-stdDH-sha1kdf-scheme" */
++ 937, /* "dhSinglePass-stdDH-sha224kdf-scheme" */
++ 938, /* "dhSinglePass-stdDH-sha256kdf-scheme" */
++ 939, /* "dhSinglePass-stdDH-sha384kdf-scheme" */
++ 940, /* "dhSinglePass-stdDH-sha512kdf-scheme" */
++ 11, /* "directory services (X.500)" */
++ 378, /* "directory services - algorithms" */
++ 887, /* "distinguishedName" */
++ 892, /* "dmdName" */
++ 174, /* "dnQualifier" */
++ 447, /* "document" */
++ 471, /* "documentAuthor" */
++ 468, /* "documentIdentifier" */
++ 472, /* "documentLocation" */
++ 502, /* "documentPublisher" */
++ 449, /* "documentSeries" */
++ 469, /* "documentTitle" */
++ 470, /* "documentVersion" */
++ 380, /* "dod" */
++ 391, /* "domainComponent" */
++ 452, /* "domainRelatedObject" */
++ 116, /* "dsaEncryption" */
++ 67, /* "dsaEncryption-old" */
++ 66, /* "dsaWithSHA" */
++ 113, /* "dsaWithSHA1" */
++ 70, /* "dsaWithSHA1-old" */
++ 802, /* "dsa_with_SHA224" */
++ 803, /* "dsa_with_SHA256" */
++ 297, /* "dvcs" */
++ 791, /* "ecdsa-with-Recommended" */
++ 416, /* "ecdsa-with-SHA1" */
++ 793, /* "ecdsa-with-SHA224" */
++ 794, /* "ecdsa-with-SHA256" */
++ 795, /* "ecdsa-with-SHA384" */
++ 796, /* "ecdsa-with-SHA512" */
++ 792, /* "ecdsa-with-Specified" */
++ 48, /* "emailAddress" */
++ 632, /* "encrypted track 2" */
++ 885, /* "enhancedSearchGuide" */
++ 56, /* "extendedCertificateAttributes" */
++ 867, /* "facsimileTelephoneNumber" */
++ 462, /* "favouriteDrink" */
++ 453, /* "friendlyCountry" */
++ 490, /* "friendlyCountryName" */
++ 156, /* "friendlyName" */
++ 631, /* "generate cryptogram" */
++ 509, /* "generationQualifier" */
++ 601, /* "generic cryptogram" */
++ 99, /* "givenName" */
++ 976, /* "gost-mac-12" */
++ 1009, /* "gost89-cbc" */
++ 814, /* "gost89-cnt" */
++ 975, /* "gost89-cnt-12" */
++ 1011, /* "gost89-ctr" */
++ 1010, /* "gost89-ecb" */
++ 1015, /* "grasshopper-cbc" */
++ 1016, /* "grasshopper-cfb" */
++ 1013, /* "grasshopper-ctr" */
++ 1012, /* "grasshopper-ecb" */
++ 1017, /* "grasshopper-mac" */
++ 1014, /* "grasshopper-ofb" */
++ 1036, /* "hkdf" */
++ 855, /* "hmac" */
++ 780, /* "hmac-md5" */
++ 781, /* "hmac-sha1" */
++ 797, /* "hmacWithMD5" */
++ 163, /* "hmacWithSHA1" */
++ 798, /* "hmacWithSHA224" */
++ 799, /* "hmacWithSHA256" */
++ 800, /* "hmacWithSHA384" */
++ 801, /* "hmacWithSHA512" */
++ 486, /* "homePostalAddress" */
++ 473, /* "homeTelephoneNumber" */
++ 466, /* "host" */
++ 889, /* "houseIdentifier" */
++ 442, /* "iA5StringSyntax" */
++ 381, /* "iana" */
++ 824, /* "id-Gost28147-89-CryptoPro-A-ParamSet" */
++ 825, /* "id-Gost28147-89-CryptoPro-B-ParamSet" */
++ 826, /* "id-Gost28147-89-CryptoPro-C-ParamSet" */
++ 827, /* "id-Gost28147-89-CryptoPro-D-ParamSet" */
++ 819, /* "id-Gost28147-89-CryptoPro-KeyMeshing" */
++ 829, /* "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" */
++ 828, /* "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" */
++ 830, /* "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" */
++ 820, /* "id-Gost28147-89-None-KeyMeshing" */
++ 823, /* "id-Gost28147-89-TestParamSet" */
++ 840, /* "id-GostR3410-2001-CryptoPro-A-ParamSet" */
++ 841, /* "id-GostR3410-2001-CryptoPro-B-ParamSet" */
++ 842, /* "id-GostR3410-2001-CryptoPro-C-ParamSet" */
++ 843, /* "id-GostR3410-2001-CryptoPro-XchA-ParamSet" */
++ 844, /* "id-GostR3410-2001-CryptoPro-XchB-ParamSet" */
++ 839, /* "id-GostR3410-2001-TestParamSet" */
++ 832, /* "id-GostR3410-94-CryptoPro-A-ParamSet" */
++ 833, /* "id-GostR3410-94-CryptoPro-B-ParamSet" */
++ 834, /* "id-GostR3410-94-CryptoPro-C-ParamSet" */
++ 835, /* "id-GostR3410-94-CryptoPro-D-ParamSet" */
++ 836, /* "id-GostR3410-94-CryptoPro-XchA-ParamSet" */
++ 837, /* "id-GostR3410-94-CryptoPro-XchB-ParamSet" */
++ 838, /* "id-GostR3410-94-CryptoPro-XchC-ParamSet" */
++ 831, /* "id-GostR3410-94-TestParamSet" */
++ 845, /* "id-GostR3410-94-a" */
++ 846, /* "id-GostR3410-94-aBis" */
++ 847, /* "id-GostR3410-94-b" */
++ 848, /* "id-GostR3410-94-bBis" */
++ 822, /* "id-GostR3411-94-CryptoProParamSet" */
++ 821, /* "id-GostR3411-94-TestParamSet" */
++ 266, /* "id-aca" */
++ 355, /* "id-aca-accessIdentity" */
++ 354, /* "id-aca-authenticationInfo" */
++ 356, /* "id-aca-chargingIdentity" */
++ 399, /* "id-aca-encAttrs" */
++ 357, /* "id-aca-group" */
++ 358, /* "id-aca-role" */
++ 176, /* "id-ad" */
++ 788, /* "id-aes128-wrap" */
++ 897, /* "id-aes128-wrap-pad" */
++ 789, /* "id-aes192-wrap" */
++ 900, /* "id-aes192-wrap-pad" */
++ 790, /* "id-aes256-wrap" */
++ 903, /* "id-aes256-wrap-pad" */
++ 262, /* "id-alg" */
++ 893, /* "id-alg-PWRI-KEK" */
++ 323, /* "id-alg-des40" */
++ 326, /* "id-alg-dh-pop" */
++ 325, /* "id-alg-dh-sig-hmac-sha1" */
++ 324, /* "id-alg-noSignature" */
++ 907, /* "id-camellia128-wrap" */
++ 908, /* "id-camellia192-wrap" */
++ 909, /* "id-camellia256-wrap" */
++ 268, /* "id-cct" */
++ 361, /* "id-cct-PKIData" */
++ 362, /* "id-cct-PKIResponse" */
++ 360, /* "id-cct-crs" */
++ 81, /* "id-ce" */
++ 680, /* "id-characteristic-two-basis" */
++ 263, /* "id-cmc" */
++ 334, /* "id-cmc-addExtensions" */
++ 346, /* "id-cmc-confirmCertAcceptance" */
++ 330, /* "id-cmc-dataReturn" */
++ 336, /* "id-cmc-decryptedPOP" */
++ 335, /* "id-cmc-encryptedPOP" */
++ 339, /* "id-cmc-getCRL" */
++ 338, /* "id-cmc-getCert" */
++ 328, /* "id-cmc-identification" */
++ 329, /* "id-cmc-identityProof" */
++ 337, /* "id-cmc-lraPOPWitness" */
++ 344, /* "id-cmc-popLinkRandom" */
++ 345, /* "id-cmc-popLinkWitness" */
++ 343, /* "id-cmc-queryPending" */
++ 333, /* "id-cmc-recipientNonce" */
++ 341, /* "id-cmc-regInfo" */
++ 342, /* "id-cmc-responseInfo" */
++ 340, /* "id-cmc-revokeRequest" */
++ 332, /* "id-cmc-senderNonce" */
++ 327, /* "id-cmc-statusInfo" */
++ 331, /* "id-cmc-transactionId" */
++ 787, /* "id-ct-asciiTextWithCRLF" */
++ 408, /* "id-ecPublicKey" */
++ 508, /* "id-hex-multipart-message" */
++ 507, /* "id-hex-partial-message" */
++ 260, /* "id-it" */
++ 302, /* "id-it-caKeyUpdateInfo" */
++ 298, /* "id-it-caProtEncCert" */
++ 311, /* "id-it-confirmWaitTime" */
++ 303, /* "id-it-currentCRL" */
++ 300, /* "id-it-encKeyPairTypes" */
++ 310, /* "id-it-implicitConfirm" */
++ 308, /* "id-it-keyPairParamRep" */
++ 307, /* "id-it-keyPairParamReq" */
++ 312, /* "id-it-origPKIMessage" */
++ 301, /* "id-it-preferredSymmAlg" */
++ 309, /* "id-it-revPassphrase" */
++ 299, /* "id-it-signKeyPairTypes" */
++ 305, /* "id-it-subscriptionRequest" */
++ 306, /* "id-it-subscriptionResponse" */
++ 784, /* "id-it-suppLangTags" */
++ 304, /* "id-it-unsupportedOIDs" */
++ 128, /* "id-kp" */
++ 280, /* "id-mod-attribute-cert" */
++ 274, /* "id-mod-cmc" */
++ 277, /* "id-mod-cmp" */
++ 284, /* "id-mod-cmp2000" */
++ 273, /* "id-mod-crmf" */
++ 283, /* "id-mod-dvcs" */
++ 275, /* "id-mod-kea-profile-88" */
++ 276, /* "id-mod-kea-profile-93" */
++ 282, /* "id-mod-ocsp" */
++ 278, /* "id-mod-qualified-cert-88" */
++ 279, /* "id-mod-qualified-cert-93" */
++ 281, /* "id-mod-timestamp-protocol" */
++ 264, /* "id-on" */
++ 347, /* "id-on-personalData" */
++ 265, /* "id-pda" */
++ 352, /* "id-pda-countryOfCitizenship" */
++ 353, /* "id-pda-countryOfResidence" */
++ 348, /* "id-pda-dateOfBirth" */
++ 351, /* "id-pda-gender" */
++ 349, /* "id-pda-placeOfBirth" */
++ 175, /* "id-pe" */
++ 1031, /* "id-pkinit" */
++ 261, /* "id-pkip" */
++ 258, /* "id-pkix-mod" */
++ 269, /* "id-pkix1-explicit-88" */
++ 271, /* "id-pkix1-explicit-93" */
++ 270, /* "id-pkix1-implicit-88" */
++ 272, /* "id-pkix1-implicit-93" */
++ 662, /* "id-ppl" */
++ 267, /* "id-qcs" */
++ 359, /* "id-qcs-pkixQCSyntax-v1" */
++ 259, /* "id-qt" */
++ 313, /* "id-regCtrl" */
++ 316, /* "id-regCtrl-authenticator" */
++ 319, /* "id-regCtrl-oldCertID" */
++ 318, /* "id-regCtrl-pkiArchiveOptions" */
++ 317, /* "id-regCtrl-pkiPublicationInfo" */
++ 320, /* "id-regCtrl-protocolEncrKey" */
++ 315, /* "id-regCtrl-regToken" */
++ 314, /* "id-regInfo" */
++ 322, /* "id-regInfo-certReq" */
++ 321, /* "id-regInfo-utf8Pairs" */
++ 973, /* "id-scrypt" */
++ 191, /* "id-smime-aa" */
++ 215, /* "id-smime-aa-contentHint" */
++ 218, /* "id-smime-aa-contentIdentifier" */
++ 221, /* "id-smime-aa-contentReference" */
++ 240, /* "id-smime-aa-dvcs-dvc" */
++ 217, /* "id-smime-aa-encapContentType" */
++ 222, /* "id-smime-aa-encrypKeyPref" */
++ 220, /* "id-smime-aa-equivalentLabels" */
++ 232, /* "id-smime-aa-ets-CertificateRefs" */
++ 233, /* "id-smime-aa-ets-RevocationRefs" */
++ 238, /* "id-smime-aa-ets-archiveTimeStamp" */
++ 237, /* "id-smime-aa-ets-certCRLTimestamp" */
++ 234, /* "id-smime-aa-ets-certValues" */
++ 227, /* "id-smime-aa-ets-commitmentType" */
++ 231, /* "id-smime-aa-ets-contentTimestamp" */
++ 236, /* "id-smime-aa-ets-escTimeStamp" */
++ 230, /* "id-smime-aa-ets-otherSigCert" */
++ 235, /* "id-smime-aa-ets-revocationValues" */
++ 226, /* "id-smime-aa-ets-sigPolicyId" */
++ 229, /* "id-smime-aa-ets-signerAttr" */
++ 228, /* "id-smime-aa-ets-signerLocation" */
++ 219, /* "id-smime-aa-macValue" */
++ 214, /* "id-smime-aa-mlExpandHistory" */
++ 216, /* "id-smime-aa-msgSigDigest" */
++ 212, /* "id-smime-aa-receiptRequest" */
++ 213, /* "id-smime-aa-securityLabel" */
++ 239, /* "id-smime-aa-signatureType" */
++ 223, /* "id-smime-aa-signingCertificate" */
++ 224, /* "id-smime-aa-smimeEncryptCerts" */
++ 225, /* "id-smime-aa-timeStampToken" */
++ 192, /* "id-smime-alg" */
++ 243, /* "id-smime-alg-3DESwrap" */
++ 246, /* "id-smime-alg-CMS3DESwrap" */
++ 247, /* "id-smime-alg-CMSRC2wrap" */
++ 245, /* "id-smime-alg-ESDH" */
++ 241, /* "id-smime-alg-ESDHwith3DES" */
++ 242, /* "id-smime-alg-ESDHwithRC2" */
++ 244, /* "id-smime-alg-RC2wrap" */
++ 193, /* "id-smime-cd" */
++ 248, /* "id-smime-cd-ldap" */
++ 190, /* "id-smime-ct" */
++ 210, /* "id-smime-ct-DVCSRequestData" */
++ 211, /* "id-smime-ct-DVCSResponseData" */
++ 208, /* "id-smime-ct-TDTInfo" */
++ 207, /* "id-smime-ct-TSTInfo" */
++ 205, /* "id-smime-ct-authData" */
++ 786, /* "id-smime-ct-compressedData" */
++ 209, /* "id-smime-ct-contentInfo" */
++ 206, /* "id-smime-ct-publishCert" */
++ 204, /* "id-smime-ct-receipt" */
++ 195, /* "id-smime-cti" */
++ 255, /* "id-smime-cti-ets-proofOfApproval" */
++ 256, /* "id-smime-cti-ets-proofOfCreation" */
++ 253, /* "id-smime-cti-ets-proofOfDelivery" */
++ 251, /* "id-smime-cti-ets-proofOfOrigin" */
++ 252, /* "id-smime-cti-ets-proofOfReceipt" */
++ 254, /* "id-smime-cti-ets-proofOfSender" */
++ 189, /* "id-smime-mod" */
++ 196, /* "id-smime-mod-cms" */
++ 197, /* "id-smime-mod-ess" */
++ 202, /* "id-smime-mod-ets-eSigPolicy-88" */
++ 203, /* "id-smime-mod-ets-eSigPolicy-97" */
++ 200, /* "id-smime-mod-ets-eSignature-88" */
++ 201, /* "id-smime-mod-ets-eSignature-97" */
++ 199, /* "id-smime-mod-msg-v3" */
++ 198, /* "id-smime-mod-oid" */
++ 194, /* "id-smime-spq" */
++ 250, /* "id-smime-spq-ets-sqt-unotice" */
++ 249, /* "id-smime-spq-ets-sqt-uri" */
++ 974, /* "id-tc26" */
++ 991, /* "id-tc26-agreement" */
++ 992, /* "id-tc26-agreement-gost-3410-2012-256" */
++ 993, /* "id-tc26-agreement-gost-3410-2012-512" */
++ 977, /* "id-tc26-algorithms" */
++ 990, /* "id-tc26-cipher" */
++ 1001, /* "id-tc26-cipher-constants" */
++ 994, /* "id-tc26-constants" */
++ 981, /* "id-tc26-digest" */
++ 1000, /* "id-tc26-digest-constants" */
++ 1002, /* "id-tc26-gost-28147-constants" */
++ 996, /* "id-tc26-gost-3410-2012-512-constants" */
++ 987, /* "id-tc26-mac" */
++ 978, /* "id-tc26-sign" */
++ 995, /* "id-tc26-sign-constants" */
++ 984, /* "id-tc26-signwithdigest" */
++ 34, /* "idea-cbc" */
++ 35, /* "idea-cfb" */
++ 36, /* "idea-ecb" */
++ 46, /* "idea-ofb" */
++ 676, /* "identified-organization" */
++ 461, /* "info" */
++ 101, /* "initials" */
++ 869, /* "internationaliSDNNumber" */
++ 1022, /* "ipsec Internet Key Exchange" */
++ 749, /* "ipsec3" */
++ 750, /* "ipsec4" */
++ 181, /* "iso" */
++ 623, /* "issuer capabilities" */
++ 645, /* "itu-t" */
++ 492, /* "janetMailbox" */
++ 646, /* "joint-iso-itu-t" */
++ 957, /* "jurisdictionCountryName" */
++ 955, /* "jurisdictionLocalityName" */
++ 956, /* "jurisdictionStateOrProvinceName" */
++ 150, /* "keyBag" */
++ 773, /* "kisa" */
++ 1039, /* "kx-dhe" */
++ 1041, /* "kx-dhe-psk" */
++ 1038, /* "kx-ecdhe" */
++ 1040, /* "kx-ecdhe-psk" */
++ 1045, /* "kx-gost" */
++ 1043, /* "kx-psk" */
++ 1037, /* "kx-rsa" */
++ 1042, /* "kx-rsa-psk" */
++ 1044, /* "kx-srp" */
++ 477, /* "lastModifiedBy" */
++ 476, /* "lastModifiedTime" */
++ 157, /* "localKeyID" */
++ 15, /* "localityName" */
++ 480, /* "mXRecord" */
++ 493, /* "mailPreferenceOption" */
++ 467, /* "manager" */
++ 3, /* "md2" */
++ 7, /* "md2WithRSAEncryption" */
++ 257, /* "md4" */
++ 396, /* "md4WithRSAEncryption" */
++ 4, /* "md5" */
++ 114, /* "md5-sha1" */
++ 104, /* "md5WithRSA" */
++ 8, /* "md5WithRSAEncryption" */
++ 95, /* "mdc2" */
++ 96, /* "mdc2WithRSA" */
++ 875, /* "member" */
++ 602, /* "merchant initiated auth" */
++ 514, /* "message extensions" */
++ 51, /* "messageDigest" */
++ 911, /* "mgf1" */
++ 506, /* "mime-mhs-bodies" */
++ 505, /* "mime-mhs-headings" */
++ 488, /* "mobileTelephoneNumber" */
++ 481, /* "nSRecord" */
++ 173, /* "name" */
++ 681, /* "onBasis" */
++ 379, /* "org" */
++ 17, /* "organizationName" */
++ 491, /* "organizationalStatus" */
++ 18, /* "organizationalUnitName" */
++ 475, /* "otherMailbox" */
++ 876, /* "owner" */
++ 935, /* "pSpecified" */
++ 489, /* "pagerTelephoneNumber" */
++ 782, /* "password based MAC" */
++ 374, /* "path" */
++ 621, /* "payment gateway capabilities" */
++ 9, /* "pbeWithMD2AndDES-CBC" */
++ 168, /* "pbeWithMD2AndRC2-CBC" */
++ 112, /* "pbeWithMD5AndCast5CBC" */
++ 10, /* "pbeWithMD5AndDES-CBC" */
++ 169, /* "pbeWithMD5AndRC2-CBC" */
++ 148, /* "pbeWithSHA1And128BitRC2-CBC" */
++ 144, /* "pbeWithSHA1And128BitRC4" */
++ 147, /* "pbeWithSHA1And2-KeyTripleDES-CBC" */
++ 146, /* "pbeWithSHA1And3-KeyTripleDES-CBC" */
++ 149, /* "pbeWithSHA1And40BitRC2-CBC" */
++ 145, /* "pbeWithSHA1And40BitRC4" */
++ 170, /* "pbeWithSHA1AndDES-CBC" */
++ 68, /* "pbeWithSHA1AndRC2-CBC" */
++ 499, /* "personalSignature" */
++ 487, /* "personalTitle" */
++ 464, /* "photo" */
++ 863, /* "physicalDeliveryOfficeName" */
++ 437, /* "pilot" */
++ 439, /* "pilotAttributeSyntax" */
++ 438, /* "pilotAttributeType" */
++ 479, /* "pilotAttributeType27" */
++ 456, /* "pilotDSA" */
++ 441, /* "pilotGroups" */
++ 444, /* "pilotObject" */
++ 440, /* "pilotObjectClass" */
++ 455, /* "pilotOrganization" */
++ 445, /* "pilotPerson" */
++ 186, /* "pkcs1" */
++ 27, /* "pkcs3" */
++ 187, /* "pkcs5" */
++ 20, /* "pkcs7" */
++ 21, /* "pkcs7-data" */
++ 25, /* "pkcs7-digestData" */
++ 26, /* "pkcs7-encryptedData" */
++ 23, /* "pkcs7-envelopedData" */
++ 24, /* "pkcs7-signedAndEnvelopedData" */
++ 22, /* "pkcs7-signedData" */
++ 151, /* "pkcs8ShroudedKeyBag" */
++ 47, /* "pkcs9" */
++ 862, /* "postOfficeBox" */
++ 861, /* "postalAddress" */
++ 661, /* "postalCode" */
++ 683, /* "ppBasis" */
++ 872, /* "preferredDeliveryMethod" */
++ 873, /* "presentationAddress" */
++ 406, /* "prime-field" */
++ 409, /* "prime192v1" */
++ 410, /* "prime192v2" */
++ 411, /* "prime192v3" */
++ 412, /* "prime239v1" */
++ 413, /* "prime239v2" */
++ 414, /* "prime239v3" */
++ 415, /* "prime256v1" */
++ 886, /* "protocolInformation" */
++ 510, /* "pseudonym" */
++ 435, /* "pss" */
++ 286, /* "qcStatements" */
++ 457, /* "qualityLabelledData" */
++ 450, /* "rFC822localPart" */
++ 98, /* "rc2-40-cbc" */
++ 166, /* "rc2-64-cbc" */
++ 37, /* "rc2-cbc" */
++ 39, /* "rc2-cfb" */
++ 38, /* "rc2-ecb" */
++ 40, /* "rc2-ofb" */
++ 5, /* "rc4" */
++ 97, /* "rc4-40" */
++ 915, /* "rc4-hmac-md5" */
++ 120, /* "rc5-cbc" */
++ 122, /* "rc5-cfb" */
++ 121, /* "rc5-ecb" */
++ 123, /* "rc5-ofb" */
++ 870, /* "registeredAddress" */
++ 460, /* "rfc822Mailbox" */
++ 117, /* "ripemd160" */
++ 119, /* "ripemd160WithRSA" */
++ 400, /* "role" */
++ 877, /* "roleOccupant" */
++ 448, /* "room" */
++ 463, /* "roomNumber" */
++ 19, /* "rsa" */
++ 6, /* "rsaEncryption" */
++ 644, /* "rsaOAEPEncryptionSET" */
++ 377, /* "rsaSignature" */
++ 919, /* "rsaesOaep" */
++ 912, /* "rsassaPss" */
++ 482, /* "sOARecord" */
++ 155, /* "safeContentsBag" */
++ 291, /* "sbgp-autonomousSysNum" */
++ 290, /* "sbgp-ipAddrBlock" */
++ 292, /* "sbgp-routerIdentifier" */
++ 159, /* "sdsiCertificate" */
++ 859, /* "searchGuide" */
++ 704, /* "secp112r1" */
++ 705, /* "secp112r2" */
++ 706, /* "secp128r1" */
++ 707, /* "secp128r2" */
++ 708, /* "secp160k1" */
++ 709, /* "secp160r1" */
++ 710, /* "secp160r2" */
++ 711, /* "secp192k1" */
++ 712, /* "secp224k1" */
++ 713, /* "secp224r1" */
++ 714, /* "secp256k1" */
++ 715, /* "secp384r1" */
++ 716, /* "secp521r1" */
++ 154, /* "secretBag" */
++ 474, /* "secretary" */
++ 717, /* "sect113r1" */
++ 718, /* "sect113r2" */
++ 719, /* "sect131r1" */
++ 720, /* "sect131r2" */
++ 721, /* "sect163k1" */
++ 722, /* "sect163r1" */
++ 723, /* "sect163r2" */
++ 724, /* "sect193r1" */
++ 725, /* "sect193r2" */
++ 726, /* "sect233k1" */
++ 727, /* "sect233r1" */
++ 728, /* "sect239k1" */
++ 729, /* "sect283k1" */
++ 730, /* "sect283r1" */
++ 731, /* "sect409k1" */
++ 732, /* "sect409r1" */
++ 733, /* "sect571k1" */
++ 734, /* "sect571r1" */
++ 635, /* "secure device signature" */
++ 878, /* "seeAlso" */
++ 777, /* "seed-cbc" */
++ 779, /* "seed-cfb" */
++ 776, /* "seed-ecb" */
++ 778, /* "seed-ofb" */
++ 105, /* "serialNumber" */
++ 625, /* "set-addPolicy" */
++ 515, /* "set-attr" */
++ 518, /* "set-brand" */
++ 638, /* "set-brand-AmericanExpress" */
++ 637, /* "set-brand-Diners" */
++ 636, /* "set-brand-IATA-ATA" */
++ 639, /* "set-brand-JCB" */
++ 641, /* "set-brand-MasterCard" */
++ 642, /* "set-brand-Novus" */
++ 640, /* "set-brand-Visa" */
++ 516, /* "set-policy" */
++ 607, /* "set-policy-root" */
++ 624, /* "set-rootKeyThumb" */
++ 620, /* "setAttr-Cert" */
++ 628, /* "setAttr-IssCap-CVM" */
++ 630, /* "setAttr-IssCap-Sig" */
++ 629, /* "setAttr-IssCap-T2" */
++ 627, /* "setAttr-Token-B0Prime" */
++ 626, /* "setAttr-Token-EMV" */
++ 622, /* "setAttr-TokenType" */
++ 619, /* "setCext-IssuerCapabilities" */
++ 615, /* "setCext-PGWYcapabilities" */
++ 616, /* "setCext-TokenIdentifier" */
++ 618, /* "setCext-TokenType" */
++ 617, /* "setCext-Track2Data" */
++ 611, /* "setCext-cCertRequired" */
++ 609, /* "setCext-certType" */
++ 608, /* "setCext-hashedRoot" */
++ 610, /* "setCext-merchData" */
++ 613, /* "setCext-setExt" */
++ 614, /* "setCext-setQualf" */
++ 612, /* "setCext-tunneling" */
++ 540, /* "setct-AcqCardCodeMsg" */
++ 576, /* "setct-AcqCardCodeMsgTBE" */
++ 570, /* "setct-AuthReqTBE" */
++ 534, /* "setct-AuthReqTBS" */
++ 527, /* "setct-AuthResBaggage" */
++ 571, /* "setct-AuthResTBE" */
++ 572, /* "setct-AuthResTBEX" */
++ 535, /* "setct-AuthResTBS" */
++ 536, /* "setct-AuthResTBSX" */
++ 528, /* "setct-AuthRevReqBaggage" */
++ 577, /* "setct-AuthRevReqTBE" */
++ 541, /* "setct-AuthRevReqTBS" */
++ 529, /* "setct-AuthRevResBaggage" */
++ 542, /* "setct-AuthRevResData" */
++ 578, /* "setct-AuthRevResTBE" */
++ 579, /* "setct-AuthRevResTBEB" */
++ 543, /* "setct-AuthRevResTBS" */
++ 573, /* "setct-AuthTokenTBE" */
++ 537, /* "setct-AuthTokenTBS" */
++ 600, /* "setct-BCIDistributionTBS" */
++ 558, /* "setct-BatchAdminReqData" */
++ 592, /* "setct-BatchAdminReqTBE" */
++ 559, /* "setct-BatchAdminResData" */
++ 593, /* "setct-BatchAdminResTBE" */
++ 599, /* "setct-CRLNotificationResTBS" */
++ 598, /* "setct-CRLNotificationTBS" */
++ 580, /* "setct-CapReqTBE" */
++ 581, /* "setct-CapReqTBEX" */
++ 544, /* "setct-CapReqTBS" */
++ 545, /* "setct-CapReqTBSX" */
++ 546, /* "setct-CapResData" */
++ 582, /* "setct-CapResTBE" */
++ 583, /* "setct-CapRevReqTBE" */
++ 584, /* "setct-CapRevReqTBEX" */
++ 547, /* "setct-CapRevReqTBS" */
++ 548, /* "setct-CapRevReqTBSX" */
++ 549, /* "setct-CapRevResData" */
++ 585, /* "setct-CapRevResTBE" */
++ 538, /* "setct-CapTokenData" */
++ 530, /* "setct-CapTokenSeq" */
++ 574, /* "setct-CapTokenTBE" */
++ 575, /* "setct-CapTokenTBEX" */
++ 539, /* "setct-CapTokenTBS" */
++ 560, /* "setct-CardCInitResTBS" */
++ 566, /* "setct-CertInqReqTBS" */
++ 563, /* "setct-CertReqData" */
++ 595, /* "setct-CertReqTBE" */
++ 596, /* "setct-CertReqTBEX" */
++ 564, /* "setct-CertReqTBS" */
++ 565, /* "setct-CertResData" */
++ 597, /* "setct-CertResTBE" */
++ 586, /* "setct-CredReqTBE" */
++ 587, /* "setct-CredReqTBEX" */
++ 550, /* "setct-CredReqTBS" */
++ 551, /* "setct-CredReqTBSX" */
++ 552, /* "setct-CredResData" */
++ 588, /* "setct-CredResTBE" */
++ 589, /* "setct-CredRevReqTBE" */
++ 590, /* "setct-CredRevReqTBEX" */
++ 553, /* "setct-CredRevReqTBS" */
++ 554, /* "setct-CredRevReqTBSX" */
++ 555, /* "setct-CredRevResData" */
++ 591, /* "setct-CredRevResTBE" */
++ 567, /* "setct-ErrorTBS" */
++ 526, /* "setct-HODInput" */
++ 561, /* "setct-MeAqCInitResTBS" */
++ 522, /* "setct-OIData" */
++ 519, /* "setct-PANData" */
++ 521, /* "setct-PANOnly" */
++ 520, /* "setct-PANToken" */
++ 556, /* "setct-PCertReqData" */
++ 557, /* "setct-PCertResTBS" */
++ 523, /* "setct-PI" */
++ 532, /* "setct-PI-TBS" */
++ 524, /* "setct-PIData" */
++ 525, /* "setct-PIDataUnsigned" */
++ 568, /* "setct-PIDualSignedTBE" */
++ 569, /* "setct-PIUnsignedTBE" */
++ 531, /* "setct-PInitResData" */
++ 533, /* "setct-PResData" */
++ 594, /* "setct-RegFormReqTBE" */
++ 562, /* "setct-RegFormResTBS" */
++ 604, /* "setext-pinAny" */
++ 603, /* "setext-pinSecure" */
++ 605, /* "setext-track2" */
++ 41, /* "sha" */
++ 64, /* "sha1" */
++ 115, /* "sha1WithRSA" */
++ 65, /* "sha1WithRSAEncryption" */
++ 675, /* "sha224" */
++ 671, /* "sha224WithRSAEncryption" */
++ 672, /* "sha256" */
++ 668, /* "sha256WithRSAEncryption" */
++ 673, /* "sha384" */
++ 669, /* "sha384WithRSAEncryption" */
++ 674, /* "sha512" */
++ 670, /* "sha512WithRSAEncryption" */
++ 42, /* "shaWithRSAEncryption" */
++ 52, /* "signingTime" */
++ 454, /* "simpleSecurityObject" */
++ 496, /* "singleLevelQuality" */
++ 16, /* "stateOrProvinceName" */
++ 660, /* "streetAddress" */
++ 498, /* "subtreeMaximumQuality" */
++ 497, /* "subtreeMinimumQuality" */
++ 890, /* "supportedAlgorithms" */
++ 874, /* "supportedApplicationContext" */
++ 100, /* "surname" */
++ 864, /* "telephoneNumber" */
++ 866, /* "teletexTerminalIdentifier" */
++ 865, /* "telexNumber" */
++ 459, /* "textEncodedORAddress" */
++ 293, /* "textNotice" */
++ 106, /* "title" */
++ 1021, /* "tls1-prf" */
++ 682, /* "tpBasis" */
++ 436, /* "ucl" */
++ 0, /* "undefined" */
++ 102, /* "uniqueIdentifier" */
++ 888, /* "uniqueMember" */
++ 55, /* "unstructuredAddress" */
++ 49, /* "unstructuredName" */
++ 880, /* "userCertificate" */
++ 465, /* "userClass" */
++ 458, /* "userId" */
++ 879, /* "userPassword" */
++ 373, /* "valid" */
++ 678, /* "wap" */
++ 679, /* "wap-wsg" */
++ 735, /* "wap-wsg-idm-ecid-wtls1" */
++ 743, /* "wap-wsg-idm-ecid-wtls10" */
++ 744, /* "wap-wsg-idm-ecid-wtls11" */
++ 745, /* "wap-wsg-idm-ecid-wtls12" */
++ 736, /* "wap-wsg-idm-ecid-wtls3" */
++ 737, /* "wap-wsg-idm-ecid-wtls4" */
++ 738, /* "wap-wsg-idm-ecid-wtls5" */
++ 739, /* "wap-wsg-idm-ecid-wtls6" */
++ 740, /* "wap-wsg-idm-ecid-wtls7" */
++ 741, /* "wap-wsg-idm-ecid-wtls8" */
++ 742, /* "wap-wsg-idm-ecid-wtls9" */
++ 804, /* "whirlpool" */
++ 868, /* "x121Address" */
++ 503, /* "x500UniqueIdentifier" */
++ 158, /* "x509Certificate" */
++ 160, /* "x509Crl" */
++ 125, /* "zlib compression" */
+ };
+
+-static const unsigned int obj_objs[NUM_OBJ]={
+- 0, /* OBJ_undef 0 */
+-181, /* OBJ_iso 1 */
+-393, /* OBJ_joint_iso_ccitt OBJ_joint_iso_itu_t */
+-404, /* OBJ_ccitt OBJ_itu_t */
+-645, /* OBJ_itu_t 0 */
+-646, /* OBJ_joint_iso_itu_t 2 */
+-434, /* OBJ_data 0 9 */
+-182, /* OBJ_member_body 1 2 */
+-379, /* OBJ_org 1 3 */
+-676, /* OBJ_identified_organization 1 3 */
+-11, /* OBJ_X500 2 5 */
+-647, /* OBJ_international_organizations 2 23 */
+-380, /* OBJ_dod 1 3 6 */
+-12, /* OBJ_X509 2 5 4 */
+-378, /* OBJ_X500algorithms 2 5 8 */
+-81, /* OBJ_id_ce 2 5 29 */
+-512, /* OBJ_id_set 2 23 42 */
+-678, /* OBJ_wap 2 23 43 */
+-435, /* OBJ_pss 0 9 2342 */
+-183, /* OBJ_ISO_US 1 2 840 */
+-381, /* OBJ_iana 1 3 6 1 */
+-677, /* OBJ_certicom_arc 1 3 132 */
+-394, /* OBJ_selected_attribute_types 2 5 1 5 */
+-13, /* OBJ_commonName 2 5 4 3 */
+-100, /* OBJ_surname 2 5 4 4 */
+-105, /* OBJ_serialNumber 2 5 4 5 */
+-14, /* OBJ_countryName 2 5 4 6 */
+-15, /* OBJ_localityName 2 5 4 7 */
+-16, /* OBJ_stateOrProvinceName 2 5 4 8 */
+-660, /* OBJ_streetAddress 2 5 4 9 */
+-17, /* OBJ_organizationName 2 5 4 10 */
+-18, /* OBJ_organizationalUnitName 2 5 4 11 */
+-106, /* OBJ_title 2 5 4 12 */
+-107, /* OBJ_description 2 5 4 13 */
+-859, /* OBJ_searchGuide 2 5 4 14 */
+-860, /* OBJ_businessCategory 2 5 4 15 */
+-861, /* OBJ_postalAddress 2 5 4 16 */
+-661, /* OBJ_postalCode 2 5 4 17 */
+-862, /* OBJ_postOfficeBox 2 5 4 18 */
+-863, /* OBJ_physicalDeliveryOfficeName 2 5 4 19 */
+-864, /* OBJ_telephoneNumber 2 5 4 20 */
+-865, /* OBJ_telexNumber 2 5 4 21 */
+-866, /* OBJ_teletexTerminalIdentifier 2 5 4 22 */
+-867, /* OBJ_facsimileTelephoneNumber 2 5 4 23 */
+-868, /* OBJ_x121Address 2 5 4 24 */
+-869, /* OBJ_internationaliSDNNumber 2 5 4 25 */
+-870, /* OBJ_registeredAddress 2 5 4 26 */
+-871, /* OBJ_destinationIndicator 2 5 4 27 */
+-872, /* OBJ_preferredDeliveryMethod 2 5 4 28 */
+-873, /* OBJ_presentationAddress 2 5 4 29 */
+-874, /* OBJ_supportedApplicationContext 2 5 4 30 */
+-875, /* OBJ_member 2 5 4 31 */
+-876, /* OBJ_owner 2 5 4 32 */
+-877, /* OBJ_roleOccupant 2 5 4 33 */
+-878, /* OBJ_seeAlso 2 5 4 34 */
+-879, /* OBJ_userPassword 2 5 4 35 */
+-880, /* OBJ_userCertificate 2 5 4 36 */
+-881, /* OBJ_cACertificate 2 5 4 37 */
+-882, /* OBJ_authorityRevocationList 2 5 4 38 */
+-883, /* OBJ_certificateRevocationList 2 5 4 39 */
+-884, /* OBJ_crossCertificatePair 2 5 4 40 */
+-173, /* OBJ_name 2 5 4 41 */
+-99, /* OBJ_givenName 2 5 4 42 */
+-101, /* OBJ_initials 2 5 4 43 */
+-509, /* OBJ_generationQualifier 2 5 4 44 */
+-503, /* OBJ_x500UniqueIdentifier 2 5 4 45 */
+-174, /* OBJ_dnQualifier 2 5 4 46 */
+-885, /* OBJ_enhancedSearchGuide 2 5 4 47 */
+-886, /* OBJ_protocolInformation 2 5 4 48 */
+-887, /* OBJ_distinguishedName 2 5 4 49 */
+-888, /* OBJ_uniqueMember 2 5 4 50 */
+-889, /* OBJ_houseIdentifier 2 5 4 51 */
+-890, /* OBJ_supportedAlgorithms 2 5 4 52 */
+-891, /* OBJ_deltaRevocationList 2 5 4 53 */
+-892, /* OBJ_dmdName 2 5 4 54 */
+-510, /* OBJ_pseudonym 2 5 4 65 */
+-400, /* OBJ_role 2 5 4 72 */
+-769, /* OBJ_subject_directory_attributes 2 5 29 9 */
+-82, /* OBJ_subject_key_identifier 2 5 29 14 */
+-83, /* OBJ_key_usage 2 5 29 15 */
+-84, /* OBJ_private_key_usage_period 2 5 29 16 */
+-85, /* OBJ_subject_alt_name 2 5 29 17 */
+-86, /* OBJ_issuer_alt_name 2 5 29 18 */
+-87, /* OBJ_basic_constraints 2 5 29 19 */
+-88, /* OBJ_crl_number 2 5 29 20 */
+-141, /* OBJ_crl_reason 2 5 29 21 */
+-430, /* OBJ_hold_instruction_code 2 5 29 23 */
+-142, /* OBJ_invalidity_date 2 5 29 24 */
+-140, /* OBJ_delta_crl 2 5 29 27 */
+-770, /* OBJ_issuing_distribution_point 2 5 29 28 */
+-771, /* OBJ_certificate_issuer 2 5 29 29 */
+-666, /* OBJ_name_constraints 2 5 29 30 */
+-103, /* OBJ_crl_distribution_points 2 5 29 31 */
+-89, /* OBJ_certificate_policies 2 5 29 32 */
+-747, /* OBJ_policy_mappings 2 5 29 33 */
+-90, /* OBJ_authority_key_identifier 2 5 29 35 */
+-401, /* OBJ_policy_constraints 2 5 29 36 */
+-126, /* OBJ_ext_key_usage 2 5 29 37 */
+-857, /* OBJ_freshest_crl 2 5 29 46 */
+-748, /* OBJ_inhibit_any_policy 2 5 29 54 */
+-402, /* OBJ_target_information 2 5 29 55 */
+-403, /* OBJ_no_rev_avail 2 5 29 56 */
+-513, /* OBJ_set_ctype 2 23 42 0 */
+-514, /* OBJ_set_msgExt 2 23 42 1 */
+-515, /* OBJ_set_attr 2 23 42 3 */
+-516, /* OBJ_set_policy 2 23 42 5 */
+-517, /* OBJ_set_certExt 2 23 42 7 */
+-518, /* OBJ_set_brand 2 23 42 8 */
+-679, /* OBJ_wap_wsg 2 23 43 1 */
+-382, /* OBJ_Directory 1 3 6 1 1 */
+-383, /* OBJ_Management 1 3 6 1 2 */
+-384, /* OBJ_Experimental 1 3 6 1 3 */
+-385, /* OBJ_Private 1 3 6 1 4 */
+-386, /* OBJ_Security 1 3 6 1 5 */
+-387, /* OBJ_SNMPv2 1 3 6 1 6 */
+-388, /* OBJ_Mail 1 3 6 1 7 */
+-376, /* OBJ_algorithm 1 3 14 3 2 */
+-395, /* OBJ_clearance 2 5 1 5 55 */
+-19, /* OBJ_rsa 2 5 8 1 1 */
+-96, /* OBJ_mdc2WithRSA 2 5 8 3 100 */
+-95, /* OBJ_mdc2 2 5 8 3 101 */
+-746, /* OBJ_any_policy 2 5 29 32 0 */
+-910, /* OBJ_anyExtendedKeyUsage 2 5 29 37 0 */
+-519, /* OBJ_setct_PANData 2 23 42 0 0 */
+-520, /* OBJ_setct_PANToken 2 23 42 0 1 */
+-521, /* OBJ_setct_PANOnly 2 23 42 0 2 */
+-522, /* OBJ_setct_OIData 2 23 42 0 3 */
+-523, /* OBJ_setct_PI 2 23 42 0 4 */
+-524, /* OBJ_setct_PIData 2 23 42 0 5 */
+-525, /* OBJ_setct_PIDataUnsigned 2 23 42 0 6 */
+-526, /* OBJ_setct_HODInput 2 23 42 0 7 */
+-527, /* OBJ_setct_AuthResBaggage 2 23 42 0 8 */
+-528, /* OBJ_setct_AuthRevReqBaggage 2 23 42 0 9 */
+-529, /* OBJ_setct_AuthRevResBaggage 2 23 42 0 10 */
+-530, /* OBJ_setct_CapTokenSeq 2 23 42 0 11 */
+-531, /* OBJ_setct_PInitResData 2 23 42 0 12 */
+-532, /* OBJ_setct_PI_TBS 2 23 42 0 13 */
+-533, /* OBJ_setct_PResData 2 23 42 0 14 */
+-534, /* OBJ_setct_AuthReqTBS 2 23 42 0 16 */
+-535, /* OBJ_setct_AuthResTBS 2 23 42 0 17 */
+-536, /* OBJ_setct_AuthResTBSX 2 23 42 0 18 */
+-537, /* OBJ_setct_AuthTokenTBS 2 23 42 0 19 */
+-538, /* OBJ_setct_CapTokenData 2 23 42 0 20 */
+-539, /* OBJ_setct_CapTokenTBS 2 23 42 0 21 */
+-540, /* OBJ_setct_AcqCardCodeMsg 2 23 42 0 22 */
+-541, /* OBJ_setct_AuthRevReqTBS 2 23 42 0 23 */
+-542, /* OBJ_setct_AuthRevResData 2 23 42 0 24 */
+-543, /* OBJ_setct_AuthRevResTBS 2 23 42 0 25 */
+-544, /* OBJ_setct_CapReqTBS 2 23 42 0 26 */
+-545, /* OBJ_setct_CapReqTBSX 2 23 42 0 27 */
+-546, /* OBJ_setct_CapResData 2 23 42 0 28 */
+-547, /* OBJ_setct_CapRevReqTBS 2 23 42 0 29 */
+-548, /* OBJ_setct_CapRevReqTBSX 2 23 42 0 30 */
+-549, /* OBJ_setct_CapRevResData 2 23 42 0 31 */
+-550, /* OBJ_setct_CredReqTBS 2 23 42 0 32 */
+-551, /* OBJ_setct_CredReqTBSX 2 23 42 0 33 */
+-552, /* OBJ_setct_CredResData 2 23 42 0 34 */
+-553, /* OBJ_setct_CredRevReqTBS 2 23 42 0 35 */
+-554, /* OBJ_setct_CredRevReqTBSX 2 23 42 0 36 */
+-555, /* OBJ_setct_CredRevResData 2 23 42 0 37 */
+-556, /* OBJ_setct_PCertReqData 2 23 42 0 38 */
+-557, /* OBJ_setct_PCertResTBS 2 23 42 0 39 */
+-558, /* OBJ_setct_BatchAdminReqData 2 23 42 0 40 */
+-559, /* OBJ_setct_BatchAdminResData 2 23 42 0 41 */
+-560, /* OBJ_setct_CardCInitResTBS 2 23 42 0 42 */
+-561, /* OBJ_setct_MeAqCInitResTBS 2 23 42 0 43 */
+-562, /* OBJ_setct_RegFormResTBS 2 23 42 0 44 */
+-563, /* OBJ_setct_CertReqData 2 23 42 0 45 */
+-564, /* OBJ_setct_CertReqTBS 2 23 42 0 46 */
+-565, /* OBJ_setct_CertResData 2 23 42 0 47 */
+-566, /* OBJ_setct_CertInqReqTBS 2 23 42 0 48 */
+-567, /* OBJ_setct_ErrorTBS 2 23 42 0 49 */
+-568, /* OBJ_setct_PIDualSignedTBE 2 23 42 0 50 */
+-569, /* OBJ_setct_PIUnsignedTBE 2 23 42 0 51 */
+-570, /* OBJ_setct_AuthReqTBE 2 23 42 0 52 */
+-571, /* OBJ_setct_AuthResTBE 2 23 42 0 53 */
+-572, /* OBJ_setct_AuthResTBEX 2 23 42 0 54 */
+-573, /* OBJ_setct_AuthTokenTBE 2 23 42 0 55 */
+-574, /* OBJ_setct_CapTokenTBE 2 23 42 0 56 */
+-575, /* OBJ_setct_CapTokenTBEX 2 23 42 0 57 */
+-576, /* OBJ_setct_AcqCardCodeMsgTBE 2 23 42 0 58 */
+-577, /* OBJ_setct_AuthRevReqTBE 2 23 42 0 59 */
+-578, /* OBJ_setct_AuthRevResTBE 2 23 42 0 60 */
+-579, /* OBJ_setct_AuthRevResTBEB 2 23 42 0 61 */
+-580, /* OBJ_setct_CapReqTBE 2 23 42 0 62 */
+-581, /* OBJ_setct_CapReqTBEX 2 23 42 0 63 */
+-582, /* OBJ_setct_CapResTBE 2 23 42 0 64 */
+-583, /* OBJ_setct_CapRevReqTBE 2 23 42 0 65 */
+-584, /* OBJ_setct_CapRevReqTBEX 2 23 42 0 66 */
+-585, /* OBJ_setct_CapRevResTBE 2 23 42 0 67 */
+-586, /* OBJ_setct_CredReqTBE 2 23 42 0 68 */
+-587, /* OBJ_setct_CredReqTBEX 2 23 42 0 69 */
+-588, /* OBJ_setct_CredResTBE 2 23 42 0 70 */
+-589, /* OBJ_setct_CredRevReqTBE 2 23 42 0 71 */
+-590, /* OBJ_setct_CredRevReqTBEX 2 23 42 0 72 */
+-591, /* OBJ_setct_CredRevResTBE 2 23 42 0 73 */
+-592, /* OBJ_setct_BatchAdminReqTBE 2 23 42 0 74 */
+-593, /* OBJ_setct_BatchAdminResTBE 2 23 42 0 75 */
+-594, /* OBJ_setct_RegFormReqTBE 2 23 42 0 76 */
+-595, /* OBJ_setct_CertReqTBE 2 23 42 0 77 */
+-596, /* OBJ_setct_CertReqTBEX 2 23 42 0 78 */
+-597, /* OBJ_setct_CertResTBE 2 23 42 0 79 */
+-598, /* OBJ_setct_CRLNotificationTBS 2 23 42 0 80 */
+-599, /* OBJ_setct_CRLNotificationResTBS 2 23 42 0 81 */
+-600, /* OBJ_setct_BCIDistributionTBS 2 23 42 0 82 */
+-601, /* OBJ_setext_genCrypt 2 23 42 1 1 */
+-602, /* OBJ_setext_miAuth 2 23 42 1 3 */
+-603, /* OBJ_setext_pinSecure 2 23 42 1 4 */
+-604, /* OBJ_setext_pinAny 2 23 42 1 5 */
+-605, /* OBJ_setext_track2 2 23 42 1 7 */
+-606, /* OBJ_setext_cv 2 23 42 1 8 */
+-620, /* OBJ_setAttr_Cert 2 23 42 3 0 */
+-621, /* OBJ_setAttr_PGWYcap 2 23 42 3 1 */
+-622, /* OBJ_setAttr_TokenType 2 23 42 3 2 */
+-623, /* OBJ_setAttr_IssCap 2 23 42 3 3 */
+-607, /* OBJ_set_policy_root 2 23 42 5 0 */
+-608, /* OBJ_setCext_hashedRoot 2 23 42 7 0 */
+-609, /* OBJ_setCext_certType 2 23 42 7 1 */
+-610, /* OBJ_setCext_merchData 2 23 42 7 2 */
+-611, /* OBJ_setCext_cCertRequired 2 23 42 7 3 */
+-612, /* OBJ_setCext_tunneling 2 23 42 7 4 */
+-613, /* OBJ_setCext_setExt 2 23 42 7 5 */
+-614, /* OBJ_setCext_setQualf 2 23 42 7 6 */
+-615, /* OBJ_setCext_PGWYcapabilities 2 23 42 7 7 */
+-616, /* OBJ_setCext_TokenIdentifier 2 23 42 7 8 */
+-617, /* OBJ_setCext_Track2Data 2 23 42 7 9 */
+-618, /* OBJ_setCext_TokenType 2 23 42 7 10 */
+-619, /* OBJ_setCext_IssuerCapabilities 2 23 42 7 11 */
+-636, /* OBJ_set_brand_IATA_ATA 2 23 42 8 1 */
+-640, /* OBJ_set_brand_Visa 2 23 42 8 4 */
+-641, /* OBJ_set_brand_MasterCard 2 23 42 8 5 */
+-637, /* OBJ_set_brand_Diners 2 23 42 8 30 */
+-638, /* OBJ_set_brand_AmericanExpress 2 23 42 8 34 */
+-639, /* OBJ_set_brand_JCB 2 23 42 8 35 */
+-805, /* OBJ_cryptopro 1 2 643 2 2 */
+-806, /* OBJ_cryptocom 1 2 643 2 9 */
+-974, /* OBJ_id_tc26 1 2 643 7 1 */
+-1005, /* OBJ_OGRN 1 2 643 100 1 */
+-1006, /* OBJ_SNILS 1 2 643 100 3 */
+-1007, /* OBJ_subjectSignTool 1 2 643 100 111 */
+-1008, /* OBJ_issuerSignTool 1 2 643 100 112 */
+-184, /* OBJ_X9_57 1 2 840 10040 */
+-405, /* OBJ_ansi_X9_62 1 2 840 10045 */
+-389, /* OBJ_Enterprises 1 3 6 1 4 1 */
+-504, /* OBJ_mime_mhs 1 3 6 1 7 1 */
+-104, /* OBJ_md5WithRSA 1 3 14 3 2 3 */
+-29, /* OBJ_des_ecb 1 3 14 3 2 6 */
+-31, /* OBJ_des_cbc 1 3 14 3 2 7 */
+-45, /* OBJ_des_ofb64 1 3 14 3 2 8 */
+-30, /* OBJ_des_cfb64 1 3 14 3 2 9 */
+-377, /* OBJ_rsaSignature 1 3 14 3 2 11 */
+-67, /* OBJ_dsa_2 1 3 14 3 2 12 */
+-66, /* OBJ_dsaWithSHA 1 3 14 3 2 13 */
+-42, /* OBJ_shaWithRSAEncryption 1 3 14 3 2 15 */
+-32, /* OBJ_des_ede_ecb 1 3 14 3 2 17 */
+-41, /* OBJ_sha 1 3 14 3 2 18 */
+-64, /* OBJ_sha1 1 3 14 3 2 26 */
+-70, /* OBJ_dsaWithSHA1_2 1 3 14 3 2 27 */
+-115, /* OBJ_sha1WithRSA 1 3 14 3 2 29 */
+-117, /* OBJ_ripemd160 1 3 36 3 2 1 */
+-143, /* OBJ_sxnet 1 3 101 1 4 1 */
+-721, /* OBJ_sect163k1 1 3 132 0 1 */
+-722, /* OBJ_sect163r1 1 3 132 0 2 */
+-728, /* OBJ_sect239k1 1 3 132 0 3 */
+-717, /* OBJ_sect113r1 1 3 132 0 4 */
+-718, /* OBJ_sect113r2 1 3 132 0 5 */
+-704, /* OBJ_secp112r1 1 3 132 0 6 */
+-705, /* OBJ_secp112r2 1 3 132 0 7 */
+-709, /* OBJ_secp160r1 1 3 132 0 8 */
+-708, /* OBJ_secp160k1 1 3 132 0 9 */
+-714, /* OBJ_secp256k1 1 3 132 0 10 */
+-723, /* OBJ_sect163r2 1 3 132 0 15 */
+-729, /* OBJ_sect283k1 1 3 132 0 16 */
+-730, /* OBJ_sect283r1 1 3 132 0 17 */
+-719, /* OBJ_sect131r1 1 3 132 0 22 */
+-720, /* OBJ_sect131r2 1 3 132 0 23 */
+-724, /* OBJ_sect193r1 1 3 132 0 24 */
+-725, /* OBJ_sect193r2 1 3 132 0 25 */
+-726, /* OBJ_sect233k1 1 3 132 0 26 */
+-727, /* OBJ_sect233r1 1 3 132 0 27 */
+-706, /* OBJ_secp128r1 1 3 132 0 28 */
+-707, /* OBJ_secp128r2 1 3 132 0 29 */
+-710, /* OBJ_secp160r2 1 3 132 0 30 */
+-711, /* OBJ_secp192k1 1 3 132 0 31 */
+-712, /* OBJ_secp224k1 1 3 132 0 32 */
+-713, /* OBJ_secp224r1 1 3 132 0 33 */
+-715, /* OBJ_secp384r1 1 3 132 0 34 */
+-716, /* OBJ_secp521r1 1 3 132 0 35 */
+-731, /* OBJ_sect409k1 1 3 132 0 36 */
+-732, /* OBJ_sect409r1 1 3 132 0 37 */
+-733, /* OBJ_sect571k1 1 3 132 0 38 */
+-734, /* OBJ_sect571r1 1 3 132 0 39 */
+-624, /* OBJ_set_rootKeyThumb 2 23 42 3 0 0 */
+-625, /* OBJ_set_addPolicy 2 23 42 3 0 1 */
+-626, /* OBJ_setAttr_Token_EMV 2 23 42 3 2 1 */
+-627, /* OBJ_setAttr_Token_B0Prime 2 23 42 3 2 2 */
+-628, /* OBJ_setAttr_IssCap_CVM 2 23 42 3 3 3 */
+-629, /* OBJ_setAttr_IssCap_T2 2 23 42 3 3 4 */
+-630, /* OBJ_setAttr_IssCap_Sig 2 23 42 3 3 5 */
+-642, /* OBJ_set_brand_Novus 2 23 42 8 6011 */
+-735, /* OBJ_wap_wsg_idm_ecid_wtls1 2 23 43 1 4 1 */
+-736, /* OBJ_wap_wsg_idm_ecid_wtls3 2 23 43 1 4 3 */
+-737, /* OBJ_wap_wsg_idm_ecid_wtls4 2 23 43 1 4 4 */
+-738, /* OBJ_wap_wsg_idm_ecid_wtls5 2 23 43 1 4 5 */
+-739, /* OBJ_wap_wsg_idm_ecid_wtls6 2 23 43 1 4 6 */
+-740, /* OBJ_wap_wsg_idm_ecid_wtls7 2 23 43 1 4 7 */
+-741, /* OBJ_wap_wsg_idm_ecid_wtls8 2 23 43 1 4 8 */
+-742, /* OBJ_wap_wsg_idm_ecid_wtls9 2 23 43 1 4 9 */
+-743, /* OBJ_wap_wsg_idm_ecid_wtls10 2 23 43 1 4 10 */
+-744, /* OBJ_wap_wsg_idm_ecid_wtls11 2 23 43 1 4 11 */
+-745, /* OBJ_wap_wsg_idm_ecid_wtls12 2 23 43 1 4 12 */
+-804, /* OBJ_whirlpool 1 0 10118 3 0 55 */
+-773, /* OBJ_kisa 1 2 410 200004 */
+-807, /* OBJ_id_GostR3411_94_with_GostR3410_2001 1 2 643 2 2 3 */
+-808, /* OBJ_id_GostR3411_94_with_GostR3410_94 1 2 643 2 2 4 */
+-809, /* OBJ_id_GostR3411_94 1 2 643 2 2 9 */
+-810, /* OBJ_id_HMACGostR3411_94 1 2 643 2 2 10 */
+-811, /* OBJ_id_GostR3410_2001 1 2 643 2 2 19 */
+-812, /* OBJ_id_GostR3410_94 1 2 643 2 2 20 */
+-813, /* OBJ_id_Gost28147_89 1 2 643 2 2 21 */
+-815, /* OBJ_id_Gost28147_89_MAC 1 2 643 2 2 22 */
+-816, /* OBJ_id_GostR3411_94_prf 1 2 643 2 2 23 */
+-817, /* OBJ_id_GostR3410_2001DH 1 2 643 2 2 98 */
+-818, /* OBJ_id_GostR3410_94DH 1 2 643 2 2 99 */
+-977, /* OBJ_id_tc26_algorithms 1 2 643 7 1 1 */
+-994, /* OBJ_id_tc26_constants 1 2 643 7 1 2 */
+- 1, /* OBJ_rsadsi 1 2 840 113549 */
+-185, /* OBJ_X9cm 1 2 840 10040 4 */
+-1031, /* OBJ_id_pkinit 1 3 6 1 5 2 3 */
+-127, /* OBJ_id_pkix 1 3 6 1 5 5 7 */
+-505, /* OBJ_mime_mhs_headings 1 3 6 1 7 1 1 */
+-506, /* OBJ_mime_mhs_bodies 1 3 6 1 7 1 2 */
+-119, /* OBJ_ripemd160WithRSA 1 3 36 3 3 1 2 */
+-937, /* OBJ_dhSinglePass_stdDH_sha224kdf_scheme 1 3 132 1 11 0 */
+-938, /* OBJ_dhSinglePass_stdDH_sha256kdf_scheme 1 3 132 1 11 1 */
+-939, /* OBJ_dhSinglePass_stdDH_sha384kdf_scheme 1 3 132 1 11 2 */
+-940, /* OBJ_dhSinglePass_stdDH_sha512kdf_scheme 1 3 132 1 11 3 */
+-942, /* OBJ_dhSinglePass_cofactorDH_sha224kdf_scheme 1 3 132 1 14 0 */
+-943, /* OBJ_dhSinglePass_cofactorDH_sha256kdf_scheme 1 3 132 1 14 1 */
+-944, /* OBJ_dhSinglePass_cofactorDH_sha384kdf_scheme 1 3 132 1 14 2 */
+-945, /* OBJ_dhSinglePass_cofactorDH_sha512kdf_scheme 1 3 132 1 14 3 */
+-631, /* OBJ_setAttr_GenCryptgrm 2 23 42 3 3 3 1 */
+-632, /* OBJ_setAttr_T2Enc 2 23 42 3 3 4 1 */
+-633, /* OBJ_setAttr_T2cleartxt 2 23 42 3 3 4 2 */
+-634, /* OBJ_setAttr_TokICCsig 2 23 42 3 3 5 1 */
+-635, /* OBJ_setAttr_SecDevSig 2 23 42 3 3 5 2 */
+-436, /* OBJ_ucl 0 9 2342 19200300 */
+-820, /* OBJ_id_Gost28147_89_None_KeyMeshing 1 2 643 2 2 14 0 */
+-819, /* OBJ_id_Gost28147_89_CryptoPro_KeyMeshing 1 2 643 2 2 14 1 */
+-845, /* OBJ_id_GostR3410_94_a 1 2 643 2 2 20 1 */
+-846, /* OBJ_id_GostR3410_94_aBis 1 2 643 2 2 20 2 */
+-847, /* OBJ_id_GostR3410_94_b 1 2 643 2 2 20 3 */
+-848, /* OBJ_id_GostR3410_94_bBis 1 2 643 2 2 20 4 */
+-821, /* OBJ_id_GostR3411_94_TestParamSet 1 2 643 2 2 30 0 */
+-822, /* OBJ_id_GostR3411_94_CryptoProParamSet 1 2 643 2 2 30 1 */
+-823, /* OBJ_id_Gost28147_89_TestParamSet 1 2 643 2 2 31 0 */
+-824, /* OBJ_id_Gost28147_89_CryptoPro_A_ParamSet 1 2 643 2 2 31 1 */
+-825, /* OBJ_id_Gost28147_89_CryptoPro_B_ParamSet 1 2 643 2 2 31 2 */
+-826, /* OBJ_id_Gost28147_89_CryptoPro_C_ParamSet 1 2 643 2 2 31 3 */
+-827, /* OBJ_id_Gost28147_89_CryptoPro_D_ParamSet 1 2 643 2 2 31 4 */
+-828, /* OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet 1 2 643 2 2 31 5 */
+-829, /* OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet 1 2 643 2 2 31 6 */
+-830, /* OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet 1 2 643 2 2 31 7 */
+-831, /* OBJ_id_GostR3410_94_TestParamSet 1 2 643 2 2 32 0 */
+-832, /* OBJ_id_GostR3410_94_CryptoPro_A_ParamSet 1 2 643 2 2 32 2 */
+-833, /* OBJ_id_GostR3410_94_CryptoPro_B_ParamSet 1 2 643 2 2 32 3 */
+-834, /* OBJ_id_GostR3410_94_CryptoPro_C_ParamSet 1 2 643 2 2 32 4 */
+-835, /* OBJ_id_GostR3410_94_CryptoPro_D_ParamSet 1 2 643 2 2 32 5 */
+-836, /* OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet 1 2 643 2 2 33 1 */
+-837, /* OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet 1 2 643 2 2 33 2 */
+-838, /* OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet 1 2 643 2 2 33 3 */
+-839, /* OBJ_id_GostR3410_2001_TestParamSet 1 2 643 2 2 35 0 */
+-840, /* OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet 1 2 643 2 2 35 1 */
+-841, /* OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet 1 2 643 2 2 35 2 */
+-842, /* OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet 1 2 643 2 2 35 3 */
+-843, /* OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet 1 2 643 2 2 36 0 */
+-844, /* OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet 1 2 643 2 2 36 1 */
+-978, /* OBJ_id_tc26_sign 1 2 643 7 1 1 1 */
+-981, /* OBJ_id_tc26_digest 1 2 643 7 1 1 2 */
+-984, /* OBJ_id_tc26_signwithdigest 1 2 643 7 1 1 3 */
+-987, /* OBJ_id_tc26_mac 1 2 643 7 1 1 4 */
+-990, /* OBJ_id_tc26_cipher 1 2 643 7 1 1 5 */
+-991, /* OBJ_id_tc26_agreement 1 2 643 7 1 1 6 */
+-995, /* OBJ_id_tc26_sign_constants 1 2 643 7 1 2 1 */
+-1000, /* OBJ_id_tc26_digest_constants 1 2 643 7 1 2 2 */
+-1001, /* OBJ_id_tc26_cipher_constants 1 2 643 7 1 2 5 */
+- 2, /* OBJ_pkcs 1 2 840 113549 1 */
+-431, /* OBJ_hold_instruction_none 1 2 840 10040 2 1 */
+-432, /* OBJ_hold_instruction_call_issuer 1 2 840 10040 2 2 */
+-433, /* OBJ_hold_instruction_reject 1 2 840 10040 2 3 */
+-116, /* OBJ_dsa 1 2 840 10040 4 1 */
+-113, /* OBJ_dsaWithSHA1 1 2 840 10040 4 3 */
+-406, /* OBJ_X9_62_prime_field 1 2 840 10045 1 1 */
+-407, /* OBJ_X9_62_characteristic_two_field 1 2 840 10045 1 2 */
+-408, /* OBJ_X9_62_id_ecPublicKey 1 2 840 10045 2 1 */
+-416, /* OBJ_ecdsa_with_SHA1 1 2 840 10045 4 1 */
+-791, /* OBJ_ecdsa_with_Recommended 1 2 840 10045 4 2 */
+-792, /* OBJ_ecdsa_with_Specified 1 2 840 10045 4 3 */
+-920, /* OBJ_dhpublicnumber 1 2 840 10046 2 1 */
+-1032, /* OBJ_pkInitClientAuth 1 3 6 1 5 2 3 4 */
+-1033, /* OBJ_pkInitKDC 1 3 6 1 5 2 3 5 */
+-258, /* OBJ_id_pkix_mod 1 3 6 1 5 5 7 0 */
+-175, /* OBJ_id_pe 1 3 6 1 5 5 7 1 */
+-259, /* OBJ_id_qt 1 3 6 1 5 5 7 2 */
+-128, /* OBJ_id_kp 1 3 6 1 5 5 7 3 */
+-260, /* OBJ_id_it 1 3 6 1 5 5 7 4 */
+-261, /* OBJ_id_pkip 1 3 6 1 5 5 7 5 */
+-262, /* OBJ_id_alg 1 3 6 1 5 5 7 6 */
+-263, /* OBJ_id_cmc 1 3 6 1 5 5 7 7 */
+-264, /* OBJ_id_on 1 3 6 1 5 5 7 8 */
+-265, /* OBJ_id_pda 1 3 6 1 5 5 7 9 */
+-266, /* OBJ_id_aca 1 3 6 1 5 5 7 10 */
+-267, /* OBJ_id_qcs 1 3 6 1 5 5 7 11 */
+-268, /* OBJ_id_cct 1 3 6 1 5 5 7 12 */
+-662, /* OBJ_id_ppl 1 3 6 1 5 5 7 21 */
+-176, /* OBJ_id_ad 1 3 6 1 5 5 7 48 */
+-507, /* OBJ_id_hex_partial_message 1 3 6 1 7 1 1 1 */
+-508, /* OBJ_id_hex_multipart_message 1 3 6 1 7 1 1 2 */
+-57, /* OBJ_netscape 2 16 840 1 113730 */
+-754, /* OBJ_camellia_128_ecb 0 3 4401 5 3 1 9 1 */
+-766, /* OBJ_camellia_128_ofb128 0 3 4401 5 3 1 9 3 */
+-757, /* OBJ_camellia_128_cfb128 0 3 4401 5 3 1 9 4 */
+-961, /* OBJ_camellia_128_gcm 0 3 4401 5 3 1 9 6 */
+-962, /* OBJ_camellia_128_ccm 0 3 4401 5 3 1 9 7 */
+-963, /* OBJ_camellia_128_ctr 0 3 4401 5 3 1 9 9 */
+-964, /* OBJ_camellia_128_cmac 0 3 4401 5 3 1 9 10 */
+-755, /* OBJ_camellia_192_ecb 0 3 4401 5 3 1 9 21 */
+-767, /* OBJ_camellia_192_ofb128 0 3 4401 5 3 1 9 23 */
+-758, /* OBJ_camellia_192_cfb128 0 3 4401 5 3 1 9 24 */
+-965, /* OBJ_camellia_192_gcm 0 3 4401 5 3 1 9 26 */
+-966, /* OBJ_camellia_192_ccm 0 3 4401 5 3 1 9 27 */
+-967, /* OBJ_camellia_192_ctr 0 3 4401 5 3 1 9 29 */
+-968, /* OBJ_camellia_192_cmac 0 3 4401 5 3 1 9 30 */
+-756, /* OBJ_camellia_256_ecb 0 3 4401 5 3 1 9 41 */
+-768, /* OBJ_camellia_256_ofb128 0 3 4401 5 3 1 9 43 */
+-759, /* OBJ_camellia_256_cfb128 0 3 4401 5 3 1 9 44 */
+-969, /* OBJ_camellia_256_gcm 0 3 4401 5 3 1 9 46 */
+-970, /* OBJ_camellia_256_ccm 0 3 4401 5 3 1 9 47 */
+-971, /* OBJ_camellia_256_ctr 0 3 4401 5 3 1 9 49 */
+-972, /* OBJ_camellia_256_cmac 0 3 4401 5 3 1 9 50 */
+-437, /* OBJ_pilot 0 9 2342 19200300 100 */
+-776, /* OBJ_seed_ecb 1 2 410 200004 1 3 */
+-777, /* OBJ_seed_cbc 1 2 410 200004 1 4 */
+-779, /* OBJ_seed_cfb128 1 2 410 200004 1 5 */
+-778, /* OBJ_seed_ofb128 1 2 410 200004 1 6 */
+-852, /* OBJ_id_GostR3411_94_with_GostR3410_94_cc 1 2 643 2 9 1 3 3 */
+-853, /* OBJ_id_GostR3411_94_with_GostR3410_2001_cc 1 2 643 2 9 1 3 4 */
+-850, /* OBJ_id_GostR3410_94_cc 1 2 643 2 9 1 5 3 */
+-851, /* OBJ_id_GostR3410_2001_cc 1 2 643 2 9 1 5 4 */
+-849, /* OBJ_id_Gost28147_89_cc 1 2 643 2 9 1 6 1 */
+-854, /* OBJ_id_GostR3410_2001_ParamSet_cc 1 2 643 2 9 1 8 1 */
+-1004, /* OBJ_INN 1 2 643 3 131 1 1 */
+-979, /* OBJ_id_GostR3410_2012_256 1 2 643 7 1 1 1 1 */
+-980, /* OBJ_id_GostR3410_2012_512 1 2 643 7 1 1 1 2 */
+-982, /* OBJ_id_GostR3411_2012_256 1 2 643 7 1 1 2 2 */
+-983, /* OBJ_id_GostR3411_2012_512 1 2 643 7 1 1 2 3 */
+-985, /* OBJ_id_tc26_signwithdigest_gost3410_2012_256 1 2 643 7 1 1 3 2 */
+-986, /* OBJ_id_tc26_signwithdigest_gost3410_2012_512 1 2 643 7 1 1 3 3 */
+-988, /* OBJ_id_tc26_hmac_gost_3411_2012_256 1 2 643 7 1 1 4 1 */
+-989, /* OBJ_id_tc26_hmac_gost_3411_2012_512 1 2 643 7 1 1 4 2 */
+-992, /* OBJ_id_tc26_agreement_gost_3410_2012_256 1 2 643 7 1 1 6 1 */
+-993, /* OBJ_id_tc26_agreement_gost_3410_2012_512 1 2 643 7 1 1 6 2 */
+-996, /* OBJ_id_tc26_gost_3410_2012_512_constants 1 2 643 7 1 2 1 2 */
+-1002, /* OBJ_id_tc26_gost_28147_constants 1 2 643 7 1 2 5 1 */
+-186, /* OBJ_pkcs1 1 2 840 113549 1 1 */
+-27, /* OBJ_pkcs3 1 2 840 113549 1 3 */
+-187, /* OBJ_pkcs5 1 2 840 113549 1 5 */
+-20, /* OBJ_pkcs7 1 2 840 113549 1 7 */
+-47, /* OBJ_pkcs9 1 2 840 113549 1 9 */
+- 3, /* OBJ_md2 1 2 840 113549 2 2 */
+-257, /* OBJ_md4 1 2 840 113549 2 4 */
+- 4, /* OBJ_md5 1 2 840 113549 2 5 */
+-797, /* OBJ_hmacWithMD5 1 2 840 113549 2 6 */
+-163, /* OBJ_hmacWithSHA1 1 2 840 113549 2 7 */
+-798, /* OBJ_hmacWithSHA224 1 2 840 113549 2 8 */
+-799, /* OBJ_hmacWithSHA256 1 2 840 113549 2 9 */
+-800, /* OBJ_hmacWithSHA384 1 2 840 113549 2 10 */
+-801, /* OBJ_hmacWithSHA512 1 2 840 113549 2 11 */
+-37, /* OBJ_rc2_cbc 1 2 840 113549 3 2 */
+- 5, /* OBJ_rc4 1 2 840 113549 3 4 */
+-44, /* OBJ_des_ede3_cbc 1 2 840 113549 3 7 */
+-120, /* OBJ_rc5_cbc 1 2 840 113549 3 8 */
+-643, /* OBJ_des_cdmf 1 2 840 113549 3 10 */
+-680, /* OBJ_X9_62_id_characteristic_two_basis 1 2 840 10045 1 2 3 */
+-684, /* OBJ_X9_62_c2pnb163v1 1 2 840 10045 3 0 1 */
+-685, /* OBJ_X9_62_c2pnb163v2 1 2 840 10045 3 0 2 */
+-686, /* OBJ_X9_62_c2pnb163v3 1 2 840 10045 3 0 3 */
+-687, /* OBJ_X9_62_c2pnb176v1 1 2 840 10045 3 0 4 */
+-688, /* OBJ_X9_62_c2tnb191v1 1 2 840 10045 3 0 5 */
+-689, /* OBJ_X9_62_c2tnb191v2 1 2 840 10045 3 0 6 */
+-690, /* OBJ_X9_62_c2tnb191v3 1 2 840 10045 3 0 7 */
+-691, /* OBJ_X9_62_c2onb191v4 1 2 840 10045 3 0 8 */
+-692, /* OBJ_X9_62_c2onb191v5 1 2 840 10045 3 0 9 */
+-693, /* OBJ_X9_62_c2pnb208w1 1 2 840 10045 3 0 10 */
+-694, /* OBJ_X9_62_c2tnb239v1 1 2 840 10045 3 0 11 */
+-695, /* OBJ_X9_62_c2tnb239v2 1 2 840 10045 3 0 12 */
+-696, /* OBJ_X9_62_c2tnb239v3 1 2 840 10045 3 0 13 */
+-697, /* OBJ_X9_62_c2onb239v4 1 2 840 10045 3 0 14 */
+-698, /* OBJ_X9_62_c2onb239v5 1 2 840 10045 3 0 15 */
+-699, /* OBJ_X9_62_c2pnb272w1 1 2 840 10045 3 0 16 */
+-700, /* OBJ_X9_62_c2pnb304w1 1 2 840 10045 3 0 17 */
+-701, /* OBJ_X9_62_c2tnb359v1 1 2 840 10045 3 0 18 */
+-702, /* OBJ_X9_62_c2pnb368w1 1 2 840 10045 3 0 19 */
+-703, /* OBJ_X9_62_c2tnb431r1 1 2 840 10045 3 0 20 */
+-409, /* OBJ_X9_62_prime192v1 1 2 840 10045 3 1 1 */
+-410, /* OBJ_X9_62_prime192v2 1 2 840 10045 3 1 2 */
+-411, /* OBJ_X9_62_prime192v3 1 2 840 10045 3 1 3 */
+-412, /* OBJ_X9_62_prime239v1 1 2 840 10045 3 1 4 */
+-413, /* OBJ_X9_62_prime239v2 1 2 840 10045 3 1 5 */
+-414, /* OBJ_X9_62_prime239v3 1 2 840 10045 3 1 6 */
+-415, /* OBJ_X9_62_prime256v1 1 2 840 10045 3 1 7 */
+-793, /* OBJ_ecdsa_with_SHA224 1 2 840 10045 4 3 1 */
+-794, /* OBJ_ecdsa_with_SHA256 1 2 840 10045 4 3 2 */
+-795, /* OBJ_ecdsa_with_SHA384 1 2 840 10045 4 3 3 */
+-796, /* OBJ_ecdsa_with_SHA512 1 2 840 10045 4 3 4 */
+-269, /* OBJ_id_pkix1_explicit_88 1 3 6 1 5 5 7 0 1 */
+-270, /* OBJ_id_pkix1_implicit_88 1 3 6 1 5 5 7 0 2 */
+-271, /* OBJ_id_pkix1_explicit_93 1 3 6 1 5 5 7 0 3 */
+-272, /* OBJ_id_pkix1_implicit_93 1 3 6 1 5 5 7 0 4 */
+-273, /* OBJ_id_mod_crmf 1 3 6 1 5 5 7 0 5 */
+-274, /* OBJ_id_mod_cmc 1 3 6 1 5 5 7 0 6 */
+-275, /* OBJ_id_mod_kea_profile_88 1 3 6 1 5 5 7 0 7 */
+-276, /* OBJ_id_mod_kea_profile_93 1 3 6 1 5 5 7 0 8 */
+-277, /* OBJ_id_mod_cmp 1 3 6 1 5 5 7 0 9 */
+-278, /* OBJ_id_mod_qualified_cert_88 1 3 6 1 5 5 7 0 10 */
+-279, /* OBJ_id_mod_qualified_cert_93 1 3 6 1 5 5 7 0 11 */
+-280, /* OBJ_id_mod_attribute_cert 1 3 6 1 5 5 7 0 12 */
+-281, /* OBJ_id_mod_timestamp_protocol 1 3 6 1 5 5 7 0 13 */
+-282, /* OBJ_id_mod_ocsp 1 3 6 1 5 5 7 0 14 */
+-283, /* OBJ_id_mod_dvcs 1 3 6 1 5 5 7 0 15 */
+-284, /* OBJ_id_mod_cmp2000 1 3 6 1 5 5 7 0 16 */
+-177, /* OBJ_info_access 1 3 6 1 5 5 7 1 1 */
+-285, /* OBJ_biometricInfo 1 3 6 1 5 5 7 1 2 */
+-286, /* OBJ_qcStatements 1 3 6 1 5 5 7 1 3 */
+-287, /* OBJ_ac_auditEntity 1 3 6 1 5 5 7 1 4 */
+-288, /* OBJ_ac_targeting 1 3 6 1 5 5 7 1 5 */
+-289, /* OBJ_aaControls 1 3 6 1 5 5 7 1 6 */
+-290, /* OBJ_sbgp_ipAddrBlock 1 3 6 1 5 5 7 1 7 */
+-291, /* OBJ_sbgp_autonomousSysNum 1 3 6 1 5 5 7 1 8 */
+-292, /* OBJ_sbgp_routerIdentifier 1 3 6 1 5 5 7 1 9 */
+-397, /* OBJ_ac_proxying 1 3 6 1 5 5 7 1 10 */
+-398, /* OBJ_sinfo_access 1 3 6 1 5 5 7 1 11 */
+-663, /* OBJ_proxyCertInfo 1 3 6 1 5 5 7 1 14 */
+-1020, /* OBJ_tlsfeature 1 3 6 1 5 5 7 1 24 */
+-164, /* OBJ_id_qt_cps 1 3 6 1 5 5 7 2 1 */
+-165, /* OBJ_id_qt_unotice 1 3 6 1 5 5 7 2 2 */
+-293, /* OBJ_textNotice 1 3 6 1 5 5 7 2 3 */
+-129, /* OBJ_server_auth 1 3 6 1 5 5 7 3 1 */
+-130, /* OBJ_client_auth 1 3 6 1 5 5 7 3 2 */
+-131, /* OBJ_code_sign 1 3 6 1 5 5 7 3 3 */
+-132, /* OBJ_email_protect 1 3 6 1 5 5 7 3 4 */
+-294, /* OBJ_ipsecEndSystem 1 3 6 1 5 5 7 3 5 */
+-295, /* OBJ_ipsecTunnel 1 3 6 1 5 5 7 3 6 */
+-296, /* OBJ_ipsecUser 1 3 6 1 5 5 7 3 7 */
+-133, /* OBJ_time_stamp 1 3 6 1 5 5 7 3 8 */
+-180, /* OBJ_OCSP_sign 1 3 6 1 5 5 7 3 9 */
+-297, /* OBJ_dvcs 1 3 6 1 5 5 7 3 10 */
+-1022, /* OBJ_ipsec_IKE 1 3 6 1 5 5 7 3 17 */
+-1023, /* OBJ_capwapAC 1 3 6 1 5 5 7 3 18 */
+-1024, /* OBJ_capwapWTP 1 3 6 1 5 5 7 3 19 */
+-1025, /* OBJ_sshClient 1 3 6 1 5 5 7 3 21 */
+-1026, /* OBJ_sshServer 1 3 6 1 5 5 7 3 22 */
+-1027, /* OBJ_sendRouter 1 3 6 1 5 5 7 3 23 */
+-1028, /* OBJ_sendProxiedRouter 1 3 6 1 5 5 7 3 24 */
+-1029, /* OBJ_sendOwner 1 3 6 1 5 5 7 3 25 */
+-1030, /* OBJ_sendProxiedOwner 1 3 6 1 5 5 7 3 26 */
+-298, /* OBJ_id_it_caProtEncCert 1 3 6 1 5 5 7 4 1 */
+-299, /* OBJ_id_it_signKeyPairTypes 1 3 6 1 5 5 7 4 2 */
+-300, /* OBJ_id_it_encKeyPairTypes 1 3 6 1 5 5 7 4 3 */
+-301, /* OBJ_id_it_preferredSymmAlg 1 3 6 1 5 5 7 4 4 */
+-302, /* OBJ_id_it_caKeyUpdateInfo 1 3 6 1 5 5 7 4 5 */
+-303, /* OBJ_id_it_currentCRL 1 3 6 1 5 5 7 4 6 */
+-304, /* OBJ_id_it_unsupportedOIDs 1 3 6 1 5 5 7 4 7 */
+-305, /* OBJ_id_it_subscriptionRequest 1 3 6 1 5 5 7 4 8 */
+-306, /* OBJ_id_it_subscriptionResponse 1 3 6 1 5 5 7 4 9 */
+-307, /* OBJ_id_it_keyPairParamReq 1 3 6 1 5 5 7 4 10 */
+-308, /* OBJ_id_it_keyPairParamRep 1 3 6 1 5 5 7 4 11 */
+-309, /* OBJ_id_it_revPassphrase 1 3 6 1 5 5 7 4 12 */
+-310, /* OBJ_id_it_implicitConfirm 1 3 6 1 5 5 7 4 13 */
+-311, /* OBJ_id_it_confirmWaitTime 1 3 6 1 5 5 7 4 14 */
+-312, /* OBJ_id_it_origPKIMessage 1 3 6 1 5 5 7 4 15 */
+-784, /* OBJ_id_it_suppLangTags 1 3 6 1 5 5 7 4 16 */
+-313, /* OBJ_id_regCtrl 1 3 6 1 5 5 7 5 1 */
+-314, /* OBJ_id_regInfo 1 3 6 1 5 5 7 5 2 */
+-323, /* OBJ_id_alg_des40 1 3 6 1 5 5 7 6 1 */
+-324, /* OBJ_id_alg_noSignature 1 3 6 1 5 5 7 6 2 */
+-325, /* OBJ_id_alg_dh_sig_hmac_sha1 1 3 6 1 5 5 7 6 3 */
+-326, /* OBJ_id_alg_dh_pop 1 3 6 1 5 5 7 6 4 */
+-327, /* OBJ_id_cmc_statusInfo 1 3 6 1 5 5 7 7 1 */
+-328, /* OBJ_id_cmc_identification 1 3 6 1 5 5 7 7 2 */
+-329, /* OBJ_id_cmc_identityProof 1 3 6 1 5 5 7 7 3 */
+-330, /* OBJ_id_cmc_dataReturn 1 3 6 1 5 5 7 7 4 */
+-331, /* OBJ_id_cmc_transactionId 1 3 6 1 5 5 7 7 5 */
+-332, /* OBJ_id_cmc_senderNonce 1 3 6 1 5 5 7 7 6 */
+-333, /* OBJ_id_cmc_recipientNonce 1 3 6 1 5 5 7 7 7 */
+-334, /* OBJ_id_cmc_addExtensions 1 3 6 1 5 5 7 7 8 */
+-335, /* OBJ_id_cmc_encryptedPOP 1 3 6 1 5 5 7 7 9 */
+-336, /* OBJ_id_cmc_decryptedPOP 1 3 6 1 5 5 7 7 10 */
+-337, /* OBJ_id_cmc_lraPOPWitness 1 3 6 1 5 5 7 7 11 */
+-338, /* OBJ_id_cmc_getCert 1 3 6 1 5 5 7 7 15 */
+-339, /* OBJ_id_cmc_getCRL 1 3 6 1 5 5 7 7 16 */
+-340, /* OBJ_id_cmc_revokeRequest 1 3 6 1 5 5 7 7 17 */
+-341, /* OBJ_id_cmc_regInfo 1 3 6 1 5 5 7 7 18 */
+-342, /* OBJ_id_cmc_responseInfo 1 3 6 1 5 5 7 7 19 */
+-343, /* OBJ_id_cmc_queryPending 1 3 6 1 5 5 7 7 21 */
+-344, /* OBJ_id_cmc_popLinkRandom 1 3 6 1 5 5 7 7 22 */
+-345, /* OBJ_id_cmc_popLinkWitness 1 3 6 1 5 5 7 7 23 */
+-346, /* OBJ_id_cmc_confirmCertAcceptance 1 3 6 1 5 5 7 7 24 */
+-347, /* OBJ_id_on_personalData 1 3 6 1 5 5 7 8 1 */
+-858, /* OBJ_id_on_permanentIdentifier 1 3 6 1 5 5 7 8 3 */
+-348, /* OBJ_id_pda_dateOfBirth 1 3 6 1 5 5 7 9 1 */
+-349, /* OBJ_id_pda_placeOfBirth 1 3 6 1 5 5 7 9 2 */
+-351, /* OBJ_id_pda_gender 1 3 6 1 5 5 7 9 3 */
+-352, /* OBJ_id_pda_countryOfCitizenship 1 3 6 1 5 5 7 9 4 */
+-353, /* OBJ_id_pda_countryOfResidence 1 3 6 1 5 5 7 9 5 */
+-354, /* OBJ_id_aca_authenticationInfo 1 3 6 1 5 5 7 10 1 */
+-355, /* OBJ_id_aca_accessIdentity 1 3 6 1 5 5 7 10 2 */
+-356, /* OBJ_id_aca_chargingIdentity 1 3 6 1 5 5 7 10 3 */
+-357, /* OBJ_id_aca_group 1 3 6 1 5 5 7 10 4 */
+-358, /* OBJ_id_aca_role 1 3 6 1 5 5 7 10 5 */
+-399, /* OBJ_id_aca_encAttrs 1 3 6 1 5 5 7 10 6 */
+-359, /* OBJ_id_qcs_pkixQCSyntax_v1 1 3 6 1 5 5 7 11 1 */
+-360, /* OBJ_id_cct_crs 1 3 6 1 5 5 7 12 1 */
+-361, /* OBJ_id_cct_PKIData 1 3 6 1 5 5 7 12 2 */
+-362, /* OBJ_id_cct_PKIResponse 1 3 6 1 5 5 7 12 3 */
+-664, /* OBJ_id_ppl_anyLanguage 1 3 6 1 5 5 7 21 0 */
+-665, /* OBJ_id_ppl_inheritAll 1 3 6 1 5 5 7 21 1 */
+-667, /* OBJ_Independent 1 3 6 1 5 5 7 21 2 */
+-178, /* OBJ_ad_OCSP 1 3 6 1 5 5 7 48 1 */
+-179, /* OBJ_ad_ca_issuers 1 3 6 1 5 5 7 48 2 */
+-363, /* OBJ_ad_timeStamping 1 3 6 1 5 5 7 48 3 */
+-364, /* OBJ_ad_dvcs 1 3 6 1 5 5 7 48 4 */
+-785, /* OBJ_caRepository 1 3 6 1 5 5 7 48 5 */
+-780, /* OBJ_hmac_md5 1 3 6 1 5 5 8 1 1 */
+-781, /* OBJ_hmac_sha1 1 3 6 1 5 5 8 1 2 */
+-58, /* OBJ_netscape_cert_extension 2 16 840 1 113730 1 */
+-59, /* OBJ_netscape_data_type 2 16 840 1 113730 2 */
+-438, /* OBJ_pilotAttributeType 0 9 2342 19200300 100 1 */
+-439, /* OBJ_pilotAttributeSyntax 0 9 2342 19200300 100 3 */
+-440, /* OBJ_pilotObjectClass 0 9 2342 19200300 100 4 */
+-441, /* OBJ_pilotGroups 0 9 2342 19200300 100 10 */
+-997, /* OBJ_id_tc26_gost_3410_2012_512_paramSetTest 1 2 643 7 1 2 1 2 0 */
+-998, /* OBJ_id_tc26_gost_3410_2012_512_paramSetA 1 2 643 7 1 2 1 2 1 */
+-999, /* OBJ_id_tc26_gost_3410_2012_512_paramSetB 1 2 643 7 1 2 1 2 2 */
+-1003, /* OBJ_id_tc26_gost_28147_param_Z 1 2 643 7 1 2 5 1 1 */
+-108, /* OBJ_cast5_cbc 1 2 840 113533 7 66 10 */
+-112, /* OBJ_pbeWithMD5AndCast5_CBC 1 2 840 113533 7 66 12 */
+-782, /* OBJ_id_PasswordBasedMAC 1 2 840 113533 7 66 13 */
+-783, /* OBJ_id_DHBasedMac 1 2 840 113533 7 66 30 */
+- 6, /* OBJ_rsaEncryption 1 2 840 113549 1 1 1 */
+- 7, /* OBJ_md2WithRSAEncryption 1 2 840 113549 1 1 2 */
+-396, /* OBJ_md4WithRSAEncryption 1 2 840 113549 1 1 3 */
+- 8, /* OBJ_md5WithRSAEncryption 1 2 840 113549 1 1 4 */
+-65, /* OBJ_sha1WithRSAEncryption 1 2 840 113549 1 1 5 */
+-644, /* OBJ_rsaOAEPEncryptionSET 1 2 840 113549 1 1 6 */
+-919, /* OBJ_rsaesOaep 1 2 840 113549 1 1 7 */
+-911, /* OBJ_mgf1 1 2 840 113549 1 1 8 */
+-935, /* OBJ_pSpecified 1 2 840 113549 1 1 9 */
+-912, /* OBJ_rsassaPss 1 2 840 113549 1 1 10 */
+-668, /* OBJ_sha256WithRSAEncryption 1 2 840 113549 1 1 11 */
+-669, /* OBJ_sha384WithRSAEncryption 1 2 840 113549 1 1 12 */
+-670, /* OBJ_sha512WithRSAEncryption 1 2 840 113549 1 1 13 */
+-671, /* OBJ_sha224WithRSAEncryption 1 2 840 113549 1 1 14 */
+-28, /* OBJ_dhKeyAgreement 1 2 840 113549 1 3 1 */
+- 9, /* OBJ_pbeWithMD2AndDES_CBC 1 2 840 113549 1 5 1 */
+-10, /* OBJ_pbeWithMD5AndDES_CBC 1 2 840 113549 1 5 3 */
+-168, /* OBJ_pbeWithMD2AndRC2_CBC 1 2 840 113549 1 5 4 */
+-169, /* OBJ_pbeWithMD5AndRC2_CBC 1 2 840 113549 1 5 6 */
+-170, /* OBJ_pbeWithSHA1AndDES_CBC 1 2 840 113549 1 5 10 */
+-68, /* OBJ_pbeWithSHA1AndRC2_CBC 1 2 840 113549 1 5 11 */
+-69, /* OBJ_id_pbkdf2 1 2 840 113549 1 5 12 */
+-161, /* OBJ_pbes2 1 2 840 113549 1 5 13 */
+-162, /* OBJ_pbmac1 1 2 840 113549 1 5 14 */
+-21, /* OBJ_pkcs7_data 1 2 840 113549 1 7 1 */
+-22, /* OBJ_pkcs7_signed 1 2 840 113549 1 7 2 */
+-23, /* OBJ_pkcs7_enveloped 1 2 840 113549 1 7 3 */
+-24, /* OBJ_pkcs7_signedAndEnveloped 1 2 840 113549 1 7 4 */
+-25, /* OBJ_pkcs7_digest 1 2 840 113549 1 7 5 */
+-26, /* OBJ_pkcs7_encrypted 1 2 840 113549 1 7 6 */
+-48, /* OBJ_pkcs9_emailAddress 1 2 840 113549 1 9 1 */
+-49, /* OBJ_pkcs9_unstructuredName 1 2 840 113549 1 9 2 */
+-50, /* OBJ_pkcs9_contentType 1 2 840 113549 1 9 3 */
+-51, /* OBJ_pkcs9_messageDigest 1 2 840 113549 1 9 4 */
+-52, /* OBJ_pkcs9_signingTime 1 2 840 113549 1 9 5 */
+-53, /* OBJ_pkcs9_countersignature 1 2 840 113549 1 9 6 */
+-54, /* OBJ_pkcs9_challengePassword 1 2 840 113549 1 9 7 */
+-55, /* OBJ_pkcs9_unstructuredAddress 1 2 840 113549 1 9 8 */
+-56, /* OBJ_pkcs9_extCertAttributes 1 2 840 113549 1 9 9 */
+-172, /* OBJ_ext_req 1 2 840 113549 1 9 14 */
+-167, /* OBJ_SMIMECapabilities 1 2 840 113549 1 9 15 */
+-188, /* OBJ_SMIME 1 2 840 113549 1 9 16 */
+-156, /* OBJ_friendlyName 1 2 840 113549 1 9 20 */
+-157, /* OBJ_localKeyID 1 2 840 113549 1 9 21 */
+-681, /* OBJ_X9_62_onBasis 1 2 840 10045 1 2 3 1 */
+-682, /* OBJ_X9_62_tpBasis 1 2 840 10045 1 2 3 2 */
+-683, /* OBJ_X9_62_ppBasis 1 2 840 10045 1 2 3 3 */
+-417, /* OBJ_ms_csp_name 1 3 6 1 4 1 311 17 1 */
+-856, /* OBJ_LocalKeySet 1 3 6 1 4 1 311 17 2 */
+-390, /* OBJ_dcObject 1 3 6 1 4 1 1466 344 */
+-91, /* OBJ_bf_cbc 1 3 6 1 4 1 3029 1 2 */
+-973, /* OBJ_id_scrypt 1 3 6 1 4 1 11591 4 11 */
+-1034, /* OBJ_X25519 1 3 6 1 4 1 11591 15 1 */
+-1035, /* OBJ_X448 1 3 6 1 4 1 11591 15 2 */
+-315, /* OBJ_id_regCtrl_regToken 1 3 6 1 5 5 7 5 1 1 */
+-316, /* OBJ_id_regCtrl_authenticator 1 3 6 1 5 5 7 5 1 2 */
+-317, /* OBJ_id_regCtrl_pkiPublicationInfo 1 3 6 1 5 5 7 5 1 3 */
+-318, /* OBJ_id_regCtrl_pkiArchiveOptions 1 3 6 1 5 5 7 5 1 4 */
+-319, /* OBJ_id_regCtrl_oldCertID 1 3 6 1 5 5 7 5 1 5 */
+-320, /* OBJ_id_regCtrl_protocolEncrKey 1 3 6 1 5 5 7 5 1 6 */
+-321, /* OBJ_id_regInfo_utf8Pairs 1 3 6 1 5 5 7 5 2 1 */
+-322, /* OBJ_id_regInfo_certReq 1 3 6 1 5 5 7 5 2 2 */
+-365, /* OBJ_id_pkix_OCSP_basic 1 3 6 1 5 5 7 48 1 1 */
+-366, /* OBJ_id_pkix_OCSP_Nonce 1 3 6 1 5 5 7 48 1 2 */
+-367, /* OBJ_id_pkix_OCSP_CrlID 1 3 6 1 5 5 7 48 1 3 */
+-368, /* OBJ_id_pkix_OCSP_acceptableResponses 1 3 6 1 5 5 7 48 1 4 */
+-369, /* OBJ_id_pkix_OCSP_noCheck 1 3 6 1 5 5 7 48 1 5 */
+-370, /* OBJ_id_pkix_OCSP_archiveCutoff 1 3 6 1 5 5 7 48 1 6 */
+-371, /* OBJ_id_pkix_OCSP_serviceLocator 1 3 6 1 5 5 7 48 1 7 */
+-372, /* OBJ_id_pkix_OCSP_extendedStatus 1 3 6 1 5 5 7 48 1 8 */
+-373, /* OBJ_id_pkix_OCSP_valid 1 3 6 1 5 5 7 48 1 9 */
+-374, /* OBJ_id_pkix_OCSP_path 1 3 6 1 5 5 7 48 1 10 */
+-375, /* OBJ_id_pkix_OCSP_trustRoot 1 3 6 1 5 5 7 48 1 11 */
+-921, /* OBJ_brainpoolP160r1 1 3 36 3 3 2 8 1 1 1 */
+-922, /* OBJ_brainpoolP160t1 1 3 36 3 3 2 8 1 1 2 */
+-923, /* OBJ_brainpoolP192r1 1 3 36 3 3 2 8 1 1 3 */
+-924, /* OBJ_brainpoolP192t1 1 3 36 3 3 2 8 1 1 4 */
+-925, /* OBJ_brainpoolP224r1 1 3 36 3 3 2 8 1 1 5 */
+-926, /* OBJ_brainpoolP224t1 1 3 36 3 3 2 8 1 1 6 */
+-927, /* OBJ_brainpoolP256r1 1 3 36 3 3 2 8 1 1 7 */
+-928, /* OBJ_brainpoolP256t1 1 3 36 3 3 2 8 1 1 8 */
+-929, /* OBJ_brainpoolP320r1 1 3 36 3 3 2 8 1 1 9 */
+-930, /* OBJ_brainpoolP320t1 1 3 36 3 3 2 8 1 1 10 */
+-931, /* OBJ_brainpoolP384r1 1 3 36 3 3 2 8 1 1 11 */
+-932, /* OBJ_brainpoolP384t1 1 3 36 3 3 2 8 1 1 12 */
+-933, /* OBJ_brainpoolP512r1 1 3 36 3 3 2 8 1 1 13 */
+-934, /* OBJ_brainpoolP512t1 1 3 36 3 3 2 8 1 1 14 */
+-936, /* OBJ_dhSinglePass_stdDH_sha1kdf_scheme 1 3 133 16 840 63 0 2 */
+-941, /* OBJ_dhSinglePass_cofactorDH_sha1kdf_scheme 1 3 133 16 840 63 0 3 */
+-418, /* OBJ_aes_128_ecb 2 16 840 1 101 3 4 1 1 */
+-419, /* OBJ_aes_128_cbc 2 16 840 1 101 3 4 1 2 */
+-420, /* OBJ_aes_128_ofb128 2 16 840 1 101 3 4 1 3 */
+-421, /* OBJ_aes_128_cfb128 2 16 840 1 101 3 4 1 4 */
+-788, /* OBJ_id_aes128_wrap 2 16 840 1 101 3 4 1 5 */
+-895, /* OBJ_aes_128_gcm 2 16 840 1 101 3 4 1 6 */
+-896, /* OBJ_aes_128_ccm 2 16 840 1 101 3 4 1 7 */
+-897, /* OBJ_id_aes128_wrap_pad 2 16 840 1 101 3 4 1 8 */
+-422, /* OBJ_aes_192_ecb 2 16 840 1 101 3 4 1 21 */
+-423, /* OBJ_aes_192_cbc 2 16 840 1 101 3 4 1 22 */
+-424, /* OBJ_aes_192_ofb128 2 16 840 1 101 3 4 1 23 */
+-425, /* OBJ_aes_192_cfb128 2 16 840 1 101 3 4 1 24 */
+-789, /* OBJ_id_aes192_wrap 2 16 840 1 101 3 4 1 25 */
+-898, /* OBJ_aes_192_gcm 2 16 840 1 101 3 4 1 26 */
+-899, /* OBJ_aes_192_ccm 2 16 840 1 101 3 4 1 27 */
+-900, /* OBJ_id_aes192_wrap_pad 2 16 840 1 101 3 4 1 28 */
+-426, /* OBJ_aes_256_ecb 2 16 840 1 101 3 4 1 41 */
+-427, /* OBJ_aes_256_cbc 2 16 840 1 101 3 4 1 42 */
+-428, /* OBJ_aes_256_ofb128 2 16 840 1 101 3 4 1 43 */
+-429, /* OBJ_aes_256_cfb128 2 16 840 1 101 3 4 1 44 */
+-790, /* OBJ_id_aes256_wrap 2 16 840 1 101 3 4 1 45 */
+-901, /* OBJ_aes_256_gcm 2 16 840 1 101 3 4 1 46 */
+-902, /* OBJ_aes_256_ccm 2 16 840 1 101 3 4 1 47 */
+-903, /* OBJ_id_aes256_wrap_pad 2 16 840 1 101 3 4 1 48 */
+-672, /* OBJ_sha256 2 16 840 1 101 3 4 2 1 */
+-673, /* OBJ_sha384 2 16 840 1 101 3 4 2 2 */
+-674, /* OBJ_sha512 2 16 840 1 101 3 4 2 3 */
+-675, /* OBJ_sha224 2 16 840 1 101 3 4 2 4 */
+-802, /* OBJ_dsa_with_SHA224 2 16 840 1 101 3 4 3 1 */
+-803, /* OBJ_dsa_with_SHA256 2 16 840 1 101 3 4 3 2 */
+-71, /* OBJ_netscape_cert_type 2 16 840 1 113730 1 1 */
+-72, /* OBJ_netscape_base_url 2 16 840 1 113730 1 2 */
+-73, /* OBJ_netscape_revocation_url 2 16 840 1 113730 1 3 */
+-74, /* OBJ_netscape_ca_revocation_url 2 16 840 1 113730 1 4 */
+-75, /* OBJ_netscape_renewal_url 2 16 840 1 113730 1 7 */
+-76, /* OBJ_netscape_ca_policy_url 2 16 840 1 113730 1 8 */
+-77, /* OBJ_netscape_ssl_server_name 2 16 840 1 113730 1 12 */
+-78, /* OBJ_netscape_comment 2 16 840 1 113730 1 13 */
+-79, /* OBJ_netscape_cert_sequence 2 16 840 1 113730 2 5 */
+-139, /* OBJ_ns_sgc 2 16 840 1 113730 4 1 */
+-458, /* OBJ_userId 0 9 2342 19200300 100 1 1 */
+-459, /* OBJ_textEncodedORAddress 0 9 2342 19200300 100 1 2 */
+-460, /* OBJ_rfc822Mailbox 0 9 2342 19200300 100 1 3 */
+-461, /* OBJ_info 0 9 2342 19200300 100 1 4 */
+-462, /* OBJ_favouriteDrink 0 9 2342 19200300 100 1 5 */
+-463, /* OBJ_roomNumber 0 9 2342 19200300 100 1 6 */
+-464, /* OBJ_photo 0 9 2342 19200300 100 1 7 */
+-465, /* OBJ_userClass 0 9 2342 19200300 100 1 8 */
+-466, /* OBJ_host 0 9 2342 19200300 100 1 9 */
+-467, /* OBJ_manager 0 9 2342 19200300 100 1 10 */
+-468, /* OBJ_documentIdentifier 0 9 2342 19200300 100 1 11 */
+-469, /* OBJ_documentTitle 0 9 2342 19200300 100 1 12 */
+-470, /* OBJ_documentVersion 0 9 2342 19200300 100 1 13 */
+-471, /* OBJ_documentAuthor 0 9 2342 19200300 100 1 14 */
+-472, /* OBJ_documentLocation 0 9 2342 19200300 100 1 15 */
+-473, /* OBJ_homeTelephoneNumber 0 9 2342 19200300 100 1 20 */
+-474, /* OBJ_secretary 0 9 2342 19200300 100 1 21 */
+-475, /* OBJ_otherMailbox 0 9 2342 19200300 100 1 22 */
+-476, /* OBJ_lastModifiedTime 0 9 2342 19200300 100 1 23 */
+-477, /* OBJ_lastModifiedBy 0 9 2342 19200300 100 1 24 */
+-391, /* OBJ_domainComponent 0 9 2342 19200300 100 1 25 */
+-478, /* OBJ_aRecord 0 9 2342 19200300 100 1 26 */
+-479, /* OBJ_pilotAttributeType27 0 9 2342 19200300 100 1 27 */
+-480, /* OBJ_mXRecord 0 9 2342 19200300 100 1 28 */
+-481, /* OBJ_nSRecord 0 9 2342 19200300 100 1 29 */
+-482, /* OBJ_sOARecord 0 9 2342 19200300 100 1 30 */
+-483, /* OBJ_cNAMERecord 0 9 2342 19200300 100 1 31 */
+-484, /* OBJ_associatedDomain 0 9 2342 19200300 100 1 37 */
+-485, /* OBJ_associatedName 0 9 2342 19200300 100 1 38 */
+-486, /* OBJ_homePostalAddress 0 9 2342 19200300 100 1 39 */
+-487, /* OBJ_personalTitle 0 9 2342 19200300 100 1 40 */
+-488, /* OBJ_mobileTelephoneNumber 0 9 2342 19200300 100 1 41 */
+-489, /* OBJ_pagerTelephoneNumber 0 9 2342 19200300 100 1 42 */
+-490, /* OBJ_friendlyCountryName 0 9 2342 19200300 100 1 43 */
+-102, /* OBJ_uniqueIdentifier 0 9 2342 19200300 100 1 44 */
+-491, /* OBJ_organizationalStatus 0 9 2342 19200300 100 1 45 */
+-492, /* OBJ_janetMailbox 0 9 2342 19200300 100 1 46 */
+-493, /* OBJ_mailPreferenceOption 0 9 2342 19200300 100 1 47 */
+-494, /* OBJ_buildingName 0 9 2342 19200300 100 1 48 */
+-495, /* OBJ_dSAQuality 0 9 2342 19200300 100 1 49 */
+-496, /* OBJ_singleLevelQuality 0 9 2342 19200300 100 1 50 */
+-497, /* OBJ_subtreeMinimumQuality 0 9 2342 19200300 100 1 51 */
+-498, /* OBJ_subtreeMaximumQuality 0 9 2342 19200300 100 1 52 */
+-499, /* OBJ_personalSignature 0 9 2342 19200300 100 1 53 */
+-500, /* OBJ_dITRedirect 0 9 2342 19200300 100 1 54 */
+-501, /* OBJ_audio 0 9 2342 19200300 100 1 55 */
+-502, /* OBJ_documentPublisher 0 9 2342 19200300 100 1 56 */
+-442, /* OBJ_iA5StringSyntax 0 9 2342 19200300 100 3 4 */
+-443, /* OBJ_caseIgnoreIA5StringSyntax 0 9 2342 19200300 100 3 5 */
+-444, /* OBJ_pilotObject 0 9 2342 19200300 100 4 3 */
+-445, /* OBJ_pilotPerson 0 9 2342 19200300 100 4 4 */
+-446, /* OBJ_account 0 9 2342 19200300 100 4 5 */
+-447, /* OBJ_document 0 9 2342 19200300 100 4 6 */
+-448, /* OBJ_room 0 9 2342 19200300 100 4 7 */
+-449, /* OBJ_documentSeries 0 9 2342 19200300 100 4 9 */
+-392, /* OBJ_Domain 0 9 2342 19200300 100 4 13 */
+-450, /* OBJ_rFC822localPart 0 9 2342 19200300 100 4 14 */
+-451, /* OBJ_dNSDomain 0 9 2342 19200300 100 4 15 */
+-452, /* OBJ_domainRelatedObject 0 9 2342 19200300 100 4 17 */
+-453, /* OBJ_friendlyCountry 0 9 2342 19200300 100 4 18 */
+-454, /* OBJ_simpleSecurityObject 0 9 2342 19200300 100 4 19 */
+-455, /* OBJ_pilotOrganization 0 9 2342 19200300 100 4 20 */
+-456, /* OBJ_pilotDSA 0 9 2342 19200300 100 4 21 */
+-457, /* OBJ_qualityLabelledData 0 9 2342 19200300 100 4 22 */
+-189, /* OBJ_id_smime_mod 1 2 840 113549 1 9 16 0 */
+-190, /* OBJ_id_smime_ct 1 2 840 113549 1 9 16 1 */
+-191, /* OBJ_id_smime_aa 1 2 840 113549 1 9 16 2 */
+-192, /* OBJ_id_smime_alg 1 2 840 113549 1 9 16 3 */
+-193, /* OBJ_id_smime_cd 1 2 840 113549 1 9 16 4 */
+-194, /* OBJ_id_smime_spq 1 2 840 113549 1 9 16 5 */
+-195, /* OBJ_id_smime_cti 1 2 840 113549 1 9 16 6 */
+-158, /* OBJ_x509Certificate 1 2 840 113549 1 9 22 1 */
+-159, /* OBJ_sdsiCertificate 1 2 840 113549 1 9 22 2 */
+-160, /* OBJ_x509Crl 1 2 840 113549 1 9 23 1 */
+-144, /* OBJ_pbe_WithSHA1And128BitRC4 1 2 840 113549 1 12 1 1 */
+-145, /* OBJ_pbe_WithSHA1And40BitRC4 1 2 840 113549 1 12 1 2 */
+-146, /* OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC 1 2 840 113549 1 12 1 3 */
+-147, /* OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC 1 2 840 113549 1 12 1 4 */
+-148, /* OBJ_pbe_WithSHA1And128BitRC2_CBC 1 2 840 113549 1 12 1 5 */
+-149, /* OBJ_pbe_WithSHA1And40BitRC2_CBC 1 2 840 113549 1 12 1 6 */
+-171, /* OBJ_ms_ext_req 1 3 6 1 4 1 311 2 1 14 */
+-134, /* OBJ_ms_code_ind 1 3 6 1 4 1 311 2 1 21 */
+-135, /* OBJ_ms_code_com 1 3 6 1 4 1 311 2 1 22 */
+-136, /* OBJ_ms_ctl_sign 1 3 6 1 4 1 311 10 3 1 */
+-137, /* OBJ_ms_sgc 1 3 6 1 4 1 311 10 3 3 */
+-138, /* OBJ_ms_efs 1 3 6 1 4 1 311 10 3 4 */
+-648, /* OBJ_ms_smartcard_login 1 3 6 1 4 1 311 20 2 2 */
+-649, /* OBJ_ms_upn 1 3 6 1 4 1 311 20 2 3 */
+-951, /* OBJ_ct_precert_scts 1 3 6 1 4 1 11129 2 4 2 */
+-952, /* OBJ_ct_precert_poison 1 3 6 1 4 1 11129 2 4 3 */
+-953, /* OBJ_ct_precert_signer 1 3 6 1 4 1 11129 2 4 4 */
+-954, /* OBJ_ct_cert_scts 1 3 6 1 4 1 11129 2 4 5 */
+-751, /* OBJ_camellia_128_cbc 1 2 392 200011 61 1 1 1 2 */
+-752, /* OBJ_camellia_192_cbc 1 2 392 200011 61 1 1 1 3 */
+-753, /* OBJ_camellia_256_cbc 1 2 392 200011 61 1 1 1 4 */
+-907, /* OBJ_id_camellia128_wrap 1 2 392 200011 61 1 1 3 2 */
+-908, /* OBJ_id_camellia192_wrap 1 2 392 200011 61 1 1 3 3 */
+-909, /* OBJ_id_camellia256_wrap 1 2 392 200011 61 1 1 3 4 */
+-196, /* OBJ_id_smime_mod_cms 1 2 840 113549 1 9 16 0 1 */
+-197, /* OBJ_id_smime_mod_ess 1 2 840 113549 1 9 16 0 2 */
+-198, /* OBJ_id_smime_mod_oid 1 2 840 113549 1 9 16 0 3 */
+-199, /* OBJ_id_smime_mod_msg_v3 1 2 840 113549 1 9 16 0 4 */
+-200, /* OBJ_id_smime_mod_ets_eSignature_88 1 2 840 113549 1 9 16 0 5 */
+-201, /* OBJ_id_smime_mod_ets_eSignature_97 1 2 840 113549 1 9 16 0 6 */
+-202, /* OBJ_id_smime_mod_ets_eSigPolicy_88 1 2 840 113549 1 9 16 0 7 */
+-203, /* OBJ_id_smime_mod_ets_eSigPolicy_97 1 2 840 113549 1 9 16 0 8 */
+-204, /* OBJ_id_smime_ct_receipt 1 2 840 113549 1 9 16 1 1 */
+-205, /* OBJ_id_smime_ct_authData 1 2 840 113549 1 9 16 1 2 */
+-206, /* OBJ_id_smime_ct_publishCert 1 2 840 113549 1 9 16 1 3 */
+-207, /* OBJ_id_smime_ct_TSTInfo 1 2 840 113549 1 9 16 1 4 */
+-208, /* OBJ_id_smime_ct_TDTInfo 1 2 840 113549 1 9 16 1 5 */
+-209, /* OBJ_id_smime_ct_contentInfo 1 2 840 113549 1 9 16 1 6 */
+-210, /* OBJ_id_smime_ct_DVCSRequestData 1 2 840 113549 1 9 16 1 7 */
+-211, /* OBJ_id_smime_ct_DVCSResponseData 1 2 840 113549 1 9 16 1 8 */
+-786, /* OBJ_id_smime_ct_compressedData 1 2 840 113549 1 9 16 1 9 */
+-787, /* OBJ_id_ct_asciiTextWithCRLF 1 2 840 113549 1 9 16 1 27 */
+-212, /* OBJ_id_smime_aa_receiptRequest 1 2 840 113549 1 9 16 2 1 */
+-213, /* OBJ_id_smime_aa_securityLabel 1 2 840 113549 1 9 16 2 2 */
+-214, /* OBJ_id_smime_aa_mlExpandHistory 1 2 840 113549 1 9 16 2 3 */
+-215, /* OBJ_id_smime_aa_contentHint 1 2 840 113549 1 9 16 2 4 */
+-216, /* OBJ_id_smime_aa_msgSigDigest 1 2 840 113549 1 9 16 2 5 */
+-217, /* OBJ_id_smime_aa_encapContentType 1 2 840 113549 1 9 16 2 6 */
+-218, /* OBJ_id_smime_aa_contentIdentifier 1 2 840 113549 1 9 16 2 7 */
+-219, /* OBJ_id_smime_aa_macValue 1 2 840 113549 1 9 16 2 8 */
+-220, /* OBJ_id_smime_aa_equivalentLabels 1 2 840 113549 1 9 16 2 9 */
+-221, /* OBJ_id_smime_aa_contentReference 1 2 840 113549 1 9 16 2 10 */
+-222, /* OBJ_id_smime_aa_encrypKeyPref 1 2 840 113549 1 9 16 2 11 */
+-223, /* OBJ_id_smime_aa_signingCertificate 1 2 840 113549 1 9 16 2 12 */
+-224, /* OBJ_id_smime_aa_smimeEncryptCerts 1 2 840 113549 1 9 16 2 13 */
+-225, /* OBJ_id_smime_aa_timeStampToken 1 2 840 113549 1 9 16 2 14 */
+-226, /* OBJ_id_smime_aa_ets_sigPolicyId 1 2 840 113549 1 9 16 2 15 */
+-227, /* OBJ_id_smime_aa_ets_commitmentType 1 2 840 113549 1 9 16 2 16 */
+-228, /* OBJ_id_smime_aa_ets_signerLocation 1 2 840 113549 1 9 16 2 17 */
+-229, /* OBJ_id_smime_aa_ets_signerAttr 1 2 840 113549 1 9 16 2 18 */
+-230, /* OBJ_id_smime_aa_ets_otherSigCert 1 2 840 113549 1 9 16 2 19 */
+-231, /* OBJ_id_smime_aa_ets_contentTimestamp 1 2 840 113549 1 9 16 2 20 */
+-232, /* OBJ_id_smime_aa_ets_CertificateRefs 1 2 840 113549 1 9 16 2 21 */
+-233, /* OBJ_id_smime_aa_ets_RevocationRefs 1 2 840 113549 1 9 16 2 22 */
+-234, /* OBJ_id_smime_aa_ets_certValues 1 2 840 113549 1 9 16 2 23 */
+-235, /* OBJ_id_smime_aa_ets_revocationValues 1 2 840 113549 1 9 16 2 24 */
+-236, /* OBJ_id_smime_aa_ets_escTimeStamp 1 2 840 113549 1 9 16 2 25 */
+-237, /* OBJ_id_smime_aa_ets_certCRLTimestamp 1 2 840 113549 1 9 16 2 26 */
+-238, /* OBJ_id_smime_aa_ets_archiveTimeStamp 1 2 840 113549 1 9 16 2 27 */
+-239, /* OBJ_id_smime_aa_signatureType 1 2 840 113549 1 9 16 2 28 */
+-240, /* OBJ_id_smime_aa_dvcs_dvc 1 2 840 113549 1 9 16 2 29 */
+-241, /* OBJ_id_smime_alg_ESDHwith3DES 1 2 840 113549 1 9 16 3 1 */
+-242, /* OBJ_id_smime_alg_ESDHwithRC2 1 2 840 113549 1 9 16 3 2 */
+-243, /* OBJ_id_smime_alg_3DESwrap 1 2 840 113549 1 9 16 3 3 */
+-244, /* OBJ_id_smime_alg_RC2wrap 1 2 840 113549 1 9 16 3 4 */
+-245, /* OBJ_id_smime_alg_ESDH 1 2 840 113549 1 9 16 3 5 */
+-246, /* OBJ_id_smime_alg_CMS3DESwrap 1 2 840 113549 1 9 16 3 6 */
+-247, /* OBJ_id_smime_alg_CMSRC2wrap 1 2 840 113549 1 9 16 3 7 */
+-125, /* OBJ_zlib_compression 1 2 840 113549 1 9 16 3 8 */
+-893, /* OBJ_id_alg_PWRI_KEK 1 2 840 113549 1 9 16 3 9 */
+-248, /* OBJ_id_smime_cd_ldap 1 2 840 113549 1 9 16 4 1 */
+-249, /* OBJ_id_smime_spq_ets_sqt_uri 1 2 840 113549 1 9 16 5 1 */
+-250, /* OBJ_id_smime_spq_ets_sqt_unotice 1 2 840 113549 1 9 16 5 2 */
+-251, /* OBJ_id_smime_cti_ets_proofOfOrigin 1 2 840 113549 1 9 16 6 1 */
+-252, /* OBJ_id_smime_cti_ets_proofOfReceipt 1 2 840 113549 1 9 16 6 2 */
+-253, /* OBJ_id_smime_cti_ets_proofOfDelivery 1 2 840 113549 1 9 16 6 3 */
+-254, /* OBJ_id_smime_cti_ets_proofOfSender 1 2 840 113549 1 9 16 6 4 */
+-255, /* OBJ_id_smime_cti_ets_proofOfApproval 1 2 840 113549 1 9 16 6 5 */
+-256, /* OBJ_id_smime_cti_ets_proofOfCreation 1 2 840 113549 1 9 16 6 6 */
+-150, /* OBJ_keyBag 1 2 840 113549 1 12 10 1 1 */
+-151, /* OBJ_pkcs8ShroudedKeyBag 1 2 840 113549 1 12 10 1 2 */
+-152, /* OBJ_certBag 1 2 840 113549 1 12 10 1 3 */
+-153, /* OBJ_crlBag 1 2 840 113549 1 12 10 1 4 */
+-154, /* OBJ_secretBag 1 2 840 113549 1 12 10 1 5 */
+-155, /* OBJ_safeContentsBag 1 2 840 113549 1 12 10 1 6 */
+-34, /* OBJ_idea_cbc 1 3 6 1 4 1 188 7 1 1 2 */
+-955, /* OBJ_jurisdictionLocalityName 1 3 6 1 4 1 311 60 2 1 1 */
+-956, /* OBJ_jurisdictionStateOrProvinceName 1 3 6 1 4 1 311 60 2 1 2 */
+-957, /* OBJ_jurisdictionCountryName 1 3 6 1 4 1 311 60 2 1 3 */
+-1056, /* OBJ_blake2b512 1 3 6 1 4 1 1722 12 2 1 16 */
+-1057, /* OBJ_blake2s256 1 3 6 1 4 1 1722 12 2 2 8 */
++#define NUM_OBJ 953
++static const unsigned int obj_objs[NUM_OBJ] = {
++ 0, /* OBJ_undef 0 */
++ 181, /* OBJ_iso 1 */
++ 393, /* OBJ_joint_iso_ccitt OBJ_joint_iso_itu_t */
++ 404, /* OBJ_ccitt OBJ_itu_t */
++ 645, /* OBJ_itu_t 0 */
++ 646, /* OBJ_joint_iso_itu_t 2 */
++ 434, /* OBJ_data 0 9 */
++ 182, /* OBJ_member_body 1 2 */
++ 379, /* OBJ_org 1 3 */
++ 676, /* OBJ_identified_organization 1 3 */
++ 11, /* OBJ_X500 2 5 */
++ 647, /* OBJ_international_organizations 2 23 */
++ 380, /* OBJ_dod 1 3 6 */
++ 12, /* OBJ_X509 2 5 4 */
++ 378, /* OBJ_X500algorithms 2 5 8 */
++ 81, /* OBJ_id_ce 2 5 29 */
++ 512, /* OBJ_id_set 2 23 42 */
++ 678, /* OBJ_wap 2 23 43 */
++ 435, /* OBJ_pss 0 9 2342 */
++ 183, /* OBJ_ISO_US 1 2 840 */
++ 381, /* OBJ_iana 1 3 6 1 */
++ 677, /* OBJ_certicom_arc 1 3 132 */
++ 394, /* OBJ_selected_attribute_types 2 5 1 5 */
++ 13, /* OBJ_commonName 2 5 4 3 */
++ 100, /* OBJ_surname 2 5 4 4 */
++ 105, /* OBJ_serialNumber 2 5 4 5 */
++ 14, /* OBJ_countryName 2 5 4 6 */
++ 15, /* OBJ_localityName 2 5 4 7 */
++ 16, /* OBJ_stateOrProvinceName 2 5 4 8 */
++ 660, /* OBJ_streetAddress 2 5 4 9 */
++ 17, /* OBJ_organizationName 2 5 4 10 */
++ 18, /* OBJ_organizationalUnitName 2 5 4 11 */
++ 106, /* OBJ_title 2 5 4 12 */
++ 107, /* OBJ_description 2 5 4 13 */
++ 859, /* OBJ_searchGuide 2 5 4 14 */
++ 860, /* OBJ_businessCategory 2 5 4 15 */
++ 861, /* OBJ_postalAddress 2 5 4 16 */
++ 661, /* OBJ_postalCode 2 5 4 17 */
++ 862, /* OBJ_postOfficeBox 2 5 4 18 */
++ 863, /* OBJ_physicalDeliveryOfficeName 2 5 4 19 */
++ 864, /* OBJ_telephoneNumber 2 5 4 20 */
++ 865, /* OBJ_telexNumber 2 5 4 21 */
++ 866, /* OBJ_teletexTerminalIdentifier 2 5 4 22 */
++ 867, /* OBJ_facsimileTelephoneNumber 2 5 4 23 */
++ 868, /* OBJ_x121Address 2 5 4 24 */
++ 869, /* OBJ_internationaliSDNNumber 2 5 4 25 */
++ 870, /* OBJ_registeredAddress 2 5 4 26 */
++ 871, /* OBJ_destinationIndicator 2 5 4 27 */
++ 872, /* OBJ_preferredDeliveryMethod 2 5 4 28 */
++ 873, /* OBJ_presentationAddress 2 5 4 29 */
++ 874, /* OBJ_supportedApplicationContext 2 5 4 30 */
++ 875, /* OBJ_member 2 5 4 31 */
++ 876, /* OBJ_owner 2 5 4 32 */
++ 877, /* OBJ_roleOccupant 2 5 4 33 */
++ 878, /* OBJ_seeAlso 2 5 4 34 */
++ 879, /* OBJ_userPassword 2 5 4 35 */
++ 880, /* OBJ_userCertificate 2 5 4 36 */
++ 881, /* OBJ_cACertificate 2 5 4 37 */
++ 882, /* OBJ_authorityRevocationList 2 5 4 38 */
++ 883, /* OBJ_certificateRevocationList 2 5 4 39 */
++ 884, /* OBJ_crossCertificatePair 2 5 4 40 */
++ 173, /* OBJ_name 2 5 4 41 */
++ 99, /* OBJ_givenName 2 5 4 42 */
++ 101, /* OBJ_initials 2 5 4 43 */
++ 509, /* OBJ_generationQualifier 2 5 4 44 */
++ 503, /* OBJ_x500UniqueIdentifier 2 5 4 45 */
++ 174, /* OBJ_dnQualifier 2 5 4 46 */
++ 885, /* OBJ_enhancedSearchGuide 2 5 4 47 */
++ 886, /* OBJ_protocolInformation 2 5 4 48 */
++ 887, /* OBJ_distinguishedName 2 5 4 49 */
++ 888, /* OBJ_uniqueMember 2 5 4 50 */
++ 889, /* OBJ_houseIdentifier 2 5 4 51 */
++ 890, /* OBJ_supportedAlgorithms 2 5 4 52 */
++ 891, /* OBJ_deltaRevocationList 2 5 4 53 */
++ 892, /* OBJ_dmdName 2 5 4 54 */
++ 510, /* OBJ_pseudonym 2 5 4 65 */
++ 400, /* OBJ_role 2 5 4 72 */
++ 769, /* OBJ_subject_directory_attributes 2 5 29 9 */
++ 82, /* OBJ_subject_key_identifier 2 5 29 14 */
++ 83, /* OBJ_key_usage 2 5 29 15 */
++ 84, /* OBJ_private_key_usage_period 2 5 29 16 */
++ 85, /* OBJ_subject_alt_name 2 5 29 17 */
++ 86, /* OBJ_issuer_alt_name 2 5 29 18 */
++ 87, /* OBJ_basic_constraints 2 5 29 19 */
++ 88, /* OBJ_crl_number 2 5 29 20 */
++ 141, /* OBJ_crl_reason 2 5 29 21 */
++ 430, /* OBJ_hold_instruction_code 2 5 29 23 */
++ 142, /* OBJ_invalidity_date 2 5 29 24 */
++ 140, /* OBJ_delta_crl 2 5 29 27 */
++ 770, /* OBJ_issuing_distribution_point 2 5 29 28 */
++ 771, /* OBJ_certificate_issuer 2 5 29 29 */
++ 666, /* OBJ_name_constraints 2 5 29 30 */
++ 103, /* OBJ_crl_distribution_points 2 5 29 31 */
++ 89, /* OBJ_certificate_policies 2 5 29 32 */
++ 747, /* OBJ_policy_mappings 2 5 29 33 */
++ 90, /* OBJ_authority_key_identifier 2 5 29 35 */
++ 401, /* OBJ_policy_constraints 2 5 29 36 */
++ 126, /* OBJ_ext_key_usage 2 5 29 37 */
++ 857, /* OBJ_freshest_crl 2 5 29 46 */
++ 748, /* OBJ_inhibit_any_policy 2 5 29 54 */
++ 402, /* OBJ_target_information 2 5 29 55 */
++ 403, /* OBJ_no_rev_avail 2 5 29 56 */
++ 513, /* OBJ_set_ctype 2 23 42 0 */
++ 514, /* OBJ_set_msgExt 2 23 42 1 */
++ 515, /* OBJ_set_attr 2 23 42 3 */
++ 516, /* OBJ_set_policy 2 23 42 5 */
++ 517, /* OBJ_set_certExt 2 23 42 7 */
++ 518, /* OBJ_set_brand 2 23 42 8 */
++ 679, /* OBJ_wap_wsg 2 23 43 1 */
++ 382, /* OBJ_Directory 1 3 6 1 1 */
++ 383, /* OBJ_Management 1 3 6 1 2 */
++ 384, /* OBJ_Experimental 1 3 6 1 3 */
++ 385, /* OBJ_Private 1 3 6 1 4 */
++ 386, /* OBJ_Security 1 3 6 1 5 */
++ 387, /* OBJ_SNMPv2 1 3 6 1 6 */
++ 388, /* OBJ_Mail 1 3 6 1 7 */
++ 376, /* OBJ_algorithm 1 3 14 3 2 */
++ 395, /* OBJ_clearance 2 5 1 5 55 */
++ 19, /* OBJ_rsa 2 5 8 1 1 */
++ 96, /* OBJ_mdc2WithRSA 2 5 8 3 100 */
++ 95, /* OBJ_mdc2 2 5 8 3 101 */
++ 746, /* OBJ_any_policy 2 5 29 32 0 */
++ 910, /* OBJ_anyExtendedKeyUsage 2 5 29 37 0 */
++ 519, /* OBJ_setct_PANData 2 23 42 0 0 */
++ 520, /* OBJ_setct_PANToken 2 23 42 0 1 */
++ 521, /* OBJ_setct_PANOnly 2 23 42 0 2 */
++ 522, /* OBJ_setct_OIData 2 23 42 0 3 */
++ 523, /* OBJ_setct_PI 2 23 42 0 4 */
++ 524, /* OBJ_setct_PIData 2 23 42 0 5 */
++ 525, /* OBJ_setct_PIDataUnsigned 2 23 42 0 6 */
++ 526, /* OBJ_setct_HODInput 2 23 42 0 7 */
++ 527, /* OBJ_setct_AuthResBaggage 2 23 42 0 8 */
++ 528, /* OBJ_setct_AuthRevReqBaggage 2 23 42 0 9 */
++ 529, /* OBJ_setct_AuthRevResBaggage 2 23 42 0 10 */
++ 530, /* OBJ_setct_CapTokenSeq 2 23 42 0 11 */
++ 531, /* OBJ_setct_PInitResData 2 23 42 0 12 */
++ 532, /* OBJ_setct_PI_TBS 2 23 42 0 13 */
++ 533, /* OBJ_setct_PResData 2 23 42 0 14 */
++ 534, /* OBJ_setct_AuthReqTBS 2 23 42 0 16 */
++ 535, /* OBJ_setct_AuthResTBS 2 23 42 0 17 */
++ 536, /* OBJ_setct_AuthResTBSX 2 23 42 0 18 */
++ 537, /* OBJ_setct_AuthTokenTBS 2 23 42 0 19 */
++ 538, /* OBJ_setct_CapTokenData 2 23 42 0 20 */
++ 539, /* OBJ_setct_CapTokenTBS 2 23 42 0 21 */
++ 540, /* OBJ_setct_AcqCardCodeMsg 2 23 42 0 22 */
++ 541, /* OBJ_setct_AuthRevReqTBS 2 23 42 0 23 */
++ 542, /* OBJ_setct_AuthRevResData 2 23 42 0 24 */
++ 543, /* OBJ_setct_AuthRevResTBS 2 23 42 0 25 */
++ 544, /* OBJ_setct_CapReqTBS 2 23 42 0 26 */
++ 545, /* OBJ_setct_CapReqTBSX 2 23 42 0 27 */
++ 546, /* OBJ_setct_CapResData 2 23 42 0 28 */
++ 547, /* OBJ_setct_CapRevReqTBS 2 23 42 0 29 */
++ 548, /* OBJ_setct_CapRevReqTBSX 2 23 42 0 30 */
++ 549, /* OBJ_setct_CapRevResData 2 23 42 0 31 */
++ 550, /* OBJ_setct_CredReqTBS 2 23 42 0 32 */
++ 551, /* OBJ_setct_CredReqTBSX 2 23 42 0 33 */
++ 552, /* OBJ_setct_CredResData 2 23 42 0 34 */
++ 553, /* OBJ_setct_CredRevReqTBS 2 23 42 0 35 */
++ 554, /* OBJ_setct_CredRevReqTBSX 2 23 42 0 36 */
++ 555, /* OBJ_setct_CredRevResData 2 23 42 0 37 */
++ 556, /* OBJ_setct_PCertReqData 2 23 42 0 38 */
++ 557, /* OBJ_setct_PCertResTBS 2 23 42 0 39 */
++ 558, /* OBJ_setct_BatchAdminReqData 2 23 42 0 40 */
++ 559, /* OBJ_setct_BatchAdminResData 2 23 42 0 41 */
++ 560, /* OBJ_setct_CardCInitResTBS 2 23 42 0 42 */
++ 561, /* OBJ_setct_MeAqCInitResTBS 2 23 42 0 43 */
++ 562, /* OBJ_setct_RegFormResTBS 2 23 42 0 44 */
++ 563, /* OBJ_setct_CertReqData 2 23 42 0 45 */
++ 564, /* OBJ_setct_CertReqTBS 2 23 42 0 46 */
++ 565, /* OBJ_setct_CertResData 2 23 42 0 47 */
++ 566, /* OBJ_setct_CertInqReqTBS 2 23 42 0 48 */
++ 567, /* OBJ_setct_ErrorTBS 2 23 42 0 49 */
++ 568, /* OBJ_setct_PIDualSignedTBE 2 23 42 0 50 */
++ 569, /* OBJ_setct_PIUnsignedTBE 2 23 42 0 51 */
++ 570, /* OBJ_setct_AuthReqTBE 2 23 42 0 52 */
++ 571, /* OBJ_setct_AuthResTBE 2 23 42 0 53 */
++ 572, /* OBJ_setct_AuthResTBEX 2 23 42 0 54 */
++ 573, /* OBJ_setct_AuthTokenTBE 2 23 42 0 55 */
++ 574, /* OBJ_setct_CapTokenTBE 2 23 42 0 56 */
++ 575, /* OBJ_setct_CapTokenTBEX 2 23 42 0 57 */
++ 576, /* OBJ_setct_AcqCardCodeMsgTBE 2 23 42 0 58 */
++ 577, /* OBJ_setct_AuthRevReqTBE 2 23 42 0 59 */
++ 578, /* OBJ_setct_AuthRevResTBE 2 23 42 0 60 */
++ 579, /* OBJ_setct_AuthRevResTBEB 2 23 42 0 61 */
++ 580, /* OBJ_setct_CapReqTBE 2 23 42 0 62 */
++ 581, /* OBJ_setct_CapReqTBEX 2 23 42 0 63 */
++ 582, /* OBJ_setct_CapResTBE 2 23 42 0 64 */
++ 583, /* OBJ_setct_CapRevReqTBE 2 23 42 0 65 */
++ 584, /* OBJ_setct_CapRevReqTBEX 2 23 42 0 66 */
++ 585, /* OBJ_setct_CapRevResTBE 2 23 42 0 67 */
++ 586, /* OBJ_setct_CredReqTBE 2 23 42 0 68 */
++ 587, /* OBJ_setct_CredReqTBEX 2 23 42 0 69 */
++ 588, /* OBJ_setct_CredResTBE 2 23 42 0 70 */
++ 589, /* OBJ_setct_CredRevReqTBE 2 23 42 0 71 */
++ 590, /* OBJ_setct_CredRevReqTBEX 2 23 42 0 72 */
++ 591, /* OBJ_setct_CredRevResTBE 2 23 42 0 73 */
++ 592, /* OBJ_setct_BatchAdminReqTBE 2 23 42 0 74 */
++ 593, /* OBJ_setct_BatchAdminResTBE 2 23 42 0 75 */
++ 594, /* OBJ_setct_RegFormReqTBE 2 23 42 0 76 */
++ 595, /* OBJ_setct_CertReqTBE 2 23 42 0 77 */
++ 596, /* OBJ_setct_CertReqTBEX 2 23 42 0 78 */
++ 597, /* OBJ_setct_CertResTBE 2 23 42 0 79 */
++ 598, /* OBJ_setct_CRLNotificationTBS 2 23 42 0 80 */
++ 599, /* OBJ_setct_CRLNotificationResTBS 2 23 42 0 81 */
++ 600, /* OBJ_setct_BCIDistributionTBS 2 23 42 0 82 */
++ 601, /* OBJ_setext_genCrypt 2 23 42 1 1 */
++ 602, /* OBJ_setext_miAuth 2 23 42 1 3 */
++ 603, /* OBJ_setext_pinSecure 2 23 42 1 4 */
++ 604, /* OBJ_setext_pinAny 2 23 42 1 5 */
++ 605, /* OBJ_setext_track2 2 23 42 1 7 */
++ 606, /* OBJ_setext_cv 2 23 42 1 8 */
++ 620, /* OBJ_setAttr_Cert 2 23 42 3 0 */
++ 621, /* OBJ_setAttr_PGWYcap 2 23 42 3 1 */
++ 622, /* OBJ_setAttr_TokenType 2 23 42 3 2 */
++ 623, /* OBJ_setAttr_IssCap 2 23 42 3 3 */
++ 607, /* OBJ_set_policy_root 2 23 42 5 0 */
++ 608, /* OBJ_setCext_hashedRoot 2 23 42 7 0 */
++ 609, /* OBJ_setCext_certType 2 23 42 7 1 */
++ 610, /* OBJ_setCext_merchData 2 23 42 7 2 */
++ 611, /* OBJ_setCext_cCertRequired 2 23 42 7 3 */
++ 612, /* OBJ_setCext_tunneling 2 23 42 7 4 */
++ 613, /* OBJ_setCext_setExt 2 23 42 7 5 */
++ 614, /* OBJ_setCext_setQualf 2 23 42 7 6 */
++ 615, /* OBJ_setCext_PGWYcapabilities 2 23 42 7 7 */
++ 616, /* OBJ_setCext_TokenIdentifier 2 23 42 7 8 */
++ 617, /* OBJ_setCext_Track2Data 2 23 42 7 9 */
++ 618, /* OBJ_setCext_TokenType 2 23 42 7 10 */
++ 619, /* OBJ_setCext_IssuerCapabilities 2 23 42 7 11 */
++ 636, /* OBJ_set_brand_IATA_ATA 2 23 42 8 1 */
++ 640, /* OBJ_set_brand_Visa 2 23 42 8 4 */
++ 641, /* OBJ_set_brand_MasterCard 2 23 42 8 5 */
++ 637, /* OBJ_set_brand_Diners 2 23 42 8 30 */
++ 638, /* OBJ_set_brand_AmericanExpress 2 23 42 8 34 */
++ 639, /* OBJ_set_brand_JCB 2 23 42 8 35 */
++ 805, /* OBJ_cryptopro 1 2 643 2 2 */
++ 806, /* OBJ_cryptocom 1 2 643 2 9 */
++ 974, /* OBJ_id_tc26 1 2 643 7 1 */
++ 1005, /* OBJ_OGRN 1 2 643 100 1 */
++ 1006, /* OBJ_SNILS 1 2 643 100 3 */
++ 1007, /* OBJ_subjectSignTool 1 2 643 100 111 */
++ 1008, /* OBJ_issuerSignTool 1 2 643 100 112 */
++ 184, /* OBJ_X9_57 1 2 840 10040 */
++ 405, /* OBJ_ansi_X9_62 1 2 840 10045 */
++ 389, /* OBJ_Enterprises 1 3 6 1 4 1 */
++ 504, /* OBJ_mime_mhs 1 3 6 1 7 1 */
++ 104, /* OBJ_md5WithRSA 1 3 14 3 2 3 */
++ 29, /* OBJ_des_ecb 1 3 14 3 2 6 */
++ 31, /* OBJ_des_cbc 1 3 14 3 2 7 */
++ 45, /* OBJ_des_ofb64 1 3 14 3 2 8 */
++ 30, /* OBJ_des_cfb64 1 3 14 3 2 9 */
++ 377, /* OBJ_rsaSignature 1 3 14 3 2 11 */
++ 67, /* OBJ_dsa_2 1 3 14 3 2 12 */
++ 66, /* OBJ_dsaWithSHA 1 3 14 3 2 13 */
++ 42, /* OBJ_shaWithRSAEncryption 1 3 14 3 2 15 */
++ 32, /* OBJ_des_ede_ecb 1 3 14 3 2 17 */
++ 41, /* OBJ_sha 1 3 14 3 2 18 */
++ 64, /* OBJ_sha1 1 3 14 3 2 26 */
++ 70, /* OBJ_dsaWithSHA1_2 1 3 14 3 2 27 */
++ 115, /* OBJ_sha1WithRSA 1 3 14 3 2 29 */
++ 117, /* OBJ_ripemd160 1 3 36 3 2 1 */
++ 143, /* OBJ_sxnet 1 3 101 1 4 1 */
++ 721, /* OBJ_sect163k1 1 3 132 0 1 */
++ 722, /* OBJ_sect163r1 1 3 132 0 2 */
++ 728, /* OBJ_sect239k1 1 3 132 0 3 */
++ 717, /* OBJ_sect113r1 1 3 132 0 4 */
++ 718, /* OBJ_sect113r2 1 3 132 0 5 */
++ 704, /* OBJ_secp112r1 1 3 132 0 6 */
++ 705, /* OBJ_secp112r2 1 3 132 0 7 */
++ 709, /* OBJ_secp160r1 1 3 132 0 8 */
++ 708, /* OBJ_secp160k1 1 3 132 0 9 */
++ 714, /* OBJ_secp256k1 1 3 132 0 10 */
++ 723, /* OBJ_sect163r2 1 3 132 0 15 */
++ 729, /* OBJ_sect283k1 1 3 132 0 16 */
++ 730, /* OBJ_sect283r1 1 3 132 0 17 */
++ 719, /* OBJ_sect131r1 1 3 132 0 22 */
++ 720, /* OBJ_sect131r2 1 3 132 0 23 */
++ 724, /* OBJ_sect193r1 1 3 132 0 24 */
++ 725, /* OBJ_sect193r2 1 3 132 0 25 */
++ 726, /* OBJ_sect233k1 1 3 132 0 26 */
++ 727, /* OBJ_sect233r1 1 3 132 0 27 */
++ 706, /* OBJ_secp128r1 1 3 132 0 28 */
++ 707, /* OBJ_secp128r2 1 3 132 0 29 */
++ 710, /* OBJ_secp160r2 1 3 132 0 30 */
++ 711, /* OBJ_secp192k1 1 3 132 0 31 */
++ 712, /* OBJ_secp224k1 1 3 132 0 32 */
++ 713, /* OBJ_secp224r1 1 3 132 0 33 */
++ 715, /* OBJ_secp384r1 1 3 132 0 34 */
++ 716, /* OBJ_secp521r1 1 3 132 0 35 */
++ 731, /* OBJ_sect409k1 1 3 132 0 36 */
++ 732, /* OBJ_sect409r1 1 3 132 0 37 */
++ 733, /* OBJ_sect571k1 1 3 132 0 38 */
++ 734, /* OBJ_sect571r1 1 3 132 0 39 */
++ 624, /* OBJ_set_rootKeyThumb 2 23 42 3 0 0 */
++ 625, /* OBJ_set_addPolicy 2 23 42 3 0 1 */
++ 626, /* OBJ_setAttr_Token_EMV 2 23 42 3 2 1 */
++ 627, /* OBJ_setAttr_Token_B0Prime 2 23 42 3 2 2 */
++ 628, /* OBJ_setAttr_IssCap_CVM 2 23 42 3 3 3 */
++ 629, /* OBJ_setAttr_IssCap_T2 2 23 42 3 3 4 */
++ 630, /* OBJ_setAttr_IssCap_Sig 2 23 42 3 3 5 */
++ 642, /* OBJ_set_brand_Novus 2 23 42 8 6011 */
++ 735, /* OBJ_wap_wsg_idm_ecid_wtls1 2 23 43 1 4 1 */
++ 736, /* OBJ_wap_wsg_idm_ecid_wtls3 2 23 43 1 4 3 */
++ 737, /* OBJ_wap_wsg_idm_ecid_wtls4 2 23 43 1 4 4 */
++ 738, /* OBJ_wap_wsg_idm_ecid_wtls5 2 23 43 1 4 5 */
++ 739, /* OBJ_wap_wsg_idm_ecid_wtls6 2 23 43 1 4 6 */
++ 740, /* OBJ_wap_wsg_idm_ecid_wtls7 2 23 43 1 4 7 */
++ 741, /* OBJ_wap_wsg_idm_ecid_wtls8 2 23 43 1 4 8 */
++ 742, /* OBJ_wap_wsg_idm_ecid_wtls9 2 23 43 1 4 9 */
++ 743, /* OBJ_wap_wsg_idm_ecid_wtls10 2 23 43 1 4 10 */
++ 744, /* OBJ_wap_wsg_idm_ecid_wtls11 2 23 43 1 4 11 */
++ 745, /* OBJ_wap_wsg_idm_ecid_wtls12 2 23 43 1 4 12 */
++ 804, /* OBJ_whirlpool 1 0 10118 3 0 55 */
++ 773, /* OBJ_kisa 1 2 410 200004 */
++ 807, /* OBJ_id_GostR3411_94_with_GostR3410_2001 1 2 643 2 2 3 */
++ 808, /* OBJ_id_GostR3411_94_with_GostR3410_94 1 2 643 2 2 4 */
++ 809, /* OBJ_id_GostR3411_94 1 2 643 2 2 9 */
++ 810, /* OBJ_id_HMACGostR3411_94 1 2 643 2 2 10 */
++ 811, /* OBJ_id_GostR3410_2001 1 2 643 2 2 19 */
++ 812, /* OBJ_id_GostR3410_94 1 2 643 2 2 20 */
++ 813, /* OBJ_id_Gost28147_89 1 2 643 2 2 21 */
++ 815, /* OBJ_id_Gost28147_89_MAC 1 2 643 2 2 22 */
++ 816, /* OBJ_id_GostR3411_94_prf 1 2 643 2 2 23 */
++ 817, /* OBJ_id_GostR3410_2001DH 1 2 643 2 2 98 */
++ 818, /* OBJ_id_GostR3410_94DH 1 2 643 2 2 99 */
++ 977, /* OBJ_id_tc26_algorithms 1 2 643 7 1 1 */
++ 994, /* OBJ_id_tc26_constants 1 2 643 7 1 2 */
++ 1, /* OBJ_rsadsi 1 2 840 113549 */
++ 185, /* OBJ_X9cm 1 2 840 10040 4 */
++ 1031, /* OBJ_id_pkinit 1 3 6 1 5 2 3 */
++ 127, /* OBJ_id_pkix 1 3 6 1 5 5 7 */
++ 505, /* OBJ_mime_mhs_headings 1 3 6 1 7 1 1 */
++ 506, /* OBJ_mime_mhs_bodies 1 3 6 1 7 1 2 */
++ 119, /* OBJ_ripemd160WithRSA 1 3 36 3 3 1 2 */
++ 937, /* OBJ_dhSinglePass_stdDH_sha224kdf_scheme 1 3 132 1 11 0 */
++ 938, /* OBJ_dhSinglePass_stdDH_sha256kdf_scheme 1 3 132 1 11 1 */
++ 939, /* OBJ_dhSinglePass_stdDH_sha384kdf_scheme 1 3 132 1 11 2 */
++ 940, /* OBJ_dhSinglePass_stdDH_sha512kdf_scheme 1 3 132 1 11 3 */
++ 942, /* OBJ_dhSinglePass_cofactorDH_sha224kdf_scheme 1 3 132 1 14 0 */
++ 943, /* OBJ_dhSinglePass_cofactorDH_sha256kdf_scheme 1 3 132 1 14 1 */
++ 944, /* OBJ_dhSinglePass_cofactorDH_sha384kdf_scheme 1 3 132 1 14 2 */
++ 945, /* OBJ_dhSinglePass_cofactorDH_sha512kdf_scheme 1 3 132 1 14 3 */
++ 631, /* OBJ_setAttr_GenCryptgrm 2 23 42 3 3 3 1 */
++ 632, /* OBJ_setAttr_T2Enc 2 23 42 3 3 4 1 */
++ 633, /* OBJ_setAttr_T2cleartxt 2 23 42 3 3 4 2 */
++ 634, /* OBJ_setAttr_TokICCsig 2 23 42 3 3 5 1 */
++ 635, /* OBJ_setAttr_SecDevSig 2 23 42 3 3 5 2 */
++ 436, /* OBJ_ucl 0 9 2342 19200300 */
++ 820, /* OBJ_id_Gost28147_89_None_KeyMeshing 1 2 643 2 2 14 0 */
++ 819, /* OBJ_id_Gost28147_89_CryptoPro_KeyMeshing 1 2 643 2 2 14 1 */
++ 845, /* OBJ_id_GostR3410_94_a 1 2 643 2 2 20 1 */
++ 846, /* OBJ_id_GostR3410_94_aBis 1 2 643 2 2 20 2 */
++ 847, /* OBJ_id_GostR3410_94_b 1 2 643 2 2 20 3 */
++ 848, /* OBJ_id_GostR3410_94_bBis 1 2 643 2 2 20 4 */
++ 821, /* OBJ_id_GostR3411_94_TestParamSet 1 2 643 2 2 30 0 */
++ 822, /* OBJ_id_GostR3411_94_CryptoProParamSet 1 2 643 2 2 30 1 */
++ 823, /* OBJ_id_Gost28147_89_TestParamSet 1 2 643 2 2 31 0 */
++ 824, /* OBJ_id_Gost28147_89_CryptoPro_A_ParamSet 1 2 643 2 2 31 1 */
++ 825, /* OBJ_id_Gost28147_89_CryptoPro_B_ParamSet 1 2 643 2 2 31 2 */
++ 826, /* OBJ_id_Gost28147_89_CryptoPro_C_ParamSet 1 2 643 2 2 31 3 */
++ 827, /* OBJ_id_Gost28147_89_CryptoPro_D_ParamSet 1 2 643 2 2 31 4 */
++ 828, /* OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet 1 2 643 2 2 31 5 */
++ 829, /* OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet 1 2 643 2 2 31 6 */
++ 830, /* OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet 1 2 643 2 2 31 7 */
++ 831, /* OBJ_id_GostR3410_94_TestParamSet 1 2 643 2 2 32 0 */
++ 832, /* OBJ_id_GostR3410_94_CryptoPro_A_ParamSet 1 2 643 2 2 32 2 */
++ 833, /* OBJ_id_GostR3410_94_CryptoPro_B_ParamSet 1 2 643 2 2 32 3 */
++ 834, /* OBJ_id_GostR3410_94_CryptoPro_C_ParamSet 1 2 643 2 2 32 4 */
++ 835, /* OBJ_id_GostR3410_94_CryptoPro_D_ParamSet 1 2 643 2 2 32 5 */
++ 836, /* OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet 1 2 643 2 2 33 1 */
++ 837, /* OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet 1 2 643 2 2 33 2 */
++ 838, /* OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet 1 2 643 2 2 33 3 */
++ 839, /* OBJ_id_GostR3410_2001_TestParamSet 1 2 643 2 2 35 0 */
++ 840, /* OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet 1 2 643 2 2 35 1 */
++ 841, /* OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet 1 2 643 2 2 35 2 */
++ 842, /* OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet 1 2 643 2 2 35 3 */
++ 843, /* OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet 1 2 643 2 2 36 0 */
++ 844, /* OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet 1 2 643 2 2 36 1 */
++ 978, /* OBJ_id_tc26_sign 1 2 643 7 1 1 1 */
++ 981, /* OBJ_id_tc26_digest 1 2 643 7 1 1 2 */
++ 984, /* OBJ_id_tc26_signwithdigest 1 2 643 7 1 1 3 */
++ 987, /* OBJ_id_tc26_mac 1 2 643 7 1 1 4 */
++ 990, /* OBJ_id_tc26_cipher 1 2 643 7 1 1 5 */
++ 991, /* OBJ_id_tc26_agreement 1 2 643 7 1 1 6 */
++ 995, /* OBJ_id_tc26_sign_constants 1 2 643 7 1 2 1 */
++ 1000, /* OBJ_id_tc26_digest_constants 1 2 643 7 1 2 2 */
++ 1001, /* OBJ_id_tc26_cipher_constants 1 2 643 7 1 2 5 */
++ 2, /* OBJ_pkcs 1 2 840 113549 1 */
++ 431, /* OBJ_hold_instruction_none 1 2 840 10040 2 1 */
++ 432, /* OBJ_hold_instruction_call_issuer 1 2 840 10040 2 2 */
++ 433, /* OBJ_hold_instruction_reject 1 2 840 10040 2 3 */
++ 116, /* OBJ_dsa 1 2 840 10040 4 1 */
++ 113, /* OBJ_dsaWithSHA1 1 2 840 10040 4 3 */
++ 406, /* OBJ_X9_62_prime_field 1 2 840 10045 1 1 */
++ 407, /* OBJ_X9_62_characteristic_two_field 1 2 840 10045 1 2 */
++ 408, /* OBJ_X9_62_id_ecPublicKey 1 2 840 10045 2 1 */
++ 416, /* OBJ_ecdsa_with_SHA1 1 2 840 10045 4 1 */
++ 791, /* OBJ_ecdsa_with_Recommended 1 2 840 10045 4 2 */
++ 792, /* OBJ_ecdsa_with_Specified 1 2 840 10045 4 3 */
++ 920, /* OBJ_dhpublicnumber 1 2 840 10046 2 1 */
++ 1032, /* OBJ_pkInitClientAuth 1 3 6 1 5 2 3 4 */
++ 1033, /* OBJ_pkInitKDC 1 3 6 1 5 2 3 5 */
++ 258, /* OBJ_id_pkix_mod 1 3 6 1 5 5 7 0 */
++ 175, /* OBJ_id_pe 1 3 6 1 5 5 7 1 */
++ 259, /* OBJ_id_qt 1 3 6 1 5 5 7 2 */
++ 128, /* OBJ_id_kp 1 3 6 1 5 5 7 3 */
++ 260, /* OBJ_id_it 1 3 6 1 5 5 7 4 */
++ 261, /* OBJ_id_pkip 1 3 6 1 5 5 7 5 */
++ 262, /* OBJ_id_alg 1 3 6 1 5 5 7 6 */
++ 263, /* OBJ_id_cmc 1 3 6 1 5 5 7 7 */
++ 264, /* OBJ_id_on 1 3 6 1 5 5 7 8 */
++ 265, /* OBJ_id_pda 1 3 6 1 5 5 7 9 */
++ 266, /* OBJ_id_aca 1 3 6 1 5 5 7 10 */
++ 267, /* OBJ_id_qcs 1 3 6 1 5 5 7 11 */
++ 268, /* OBJ_id_cct 1 3 6 1 5 5 7 12 */
++ 662, /* OBJ_id_ppl 1 3 6 1 5 5 7 21 */
++ 176, /* OBJ_id_ad 1 3 6 1 5 5 7 48 */
++ 507, /* OBJ_id_hex_partial_message 1 3 6 1 7 1 1 1 */
++ 508, /* OBJ_id_hex_multipart_message 1 3 6 1 7 1 1 2 */
++ 57, /* OBJ_netscape 2 16 840 1 113730 */
++ 754, /* OBJ_camellia_128_ecb 0 3 4401 5 3 1 9 1 */
++ 766, /* OBJ_camellia_128_ofb128 0 3 4401 5 3 1 9 3 */
++ 757, /* OBJ_camellia_128_cfb128 0 3 4401 5 3 1 9 4 */
++ 961, /* OBJ_camellia_128_gcm 0 3 4401 5 3 1 9 6 */
++ 962, /* OBJ_camellia_128_ccm 0 3 4401 5 3 1 9 7 */
++ 963, /* OBJ_camellia_128_ctr 0 3 4401 5 3 1 9 9 */
++ 964, /* OBJ_camellia_128_cmac 0 3 4401 5 3 1 9 10 */
++ 755, /* OBJ_camellia_192_ecb 0 3 4401 5 3 1 9 21 */
++ 767, /* OBJ_camellia_192_ofb128 0 3 4401 5 3 1 9 23 */
++ 758, /* OBJ_camellia_192_cfb128 0 3 4401 5 3 1 9 24 */
++ 965, /* OBJ_camellia_192_gcm 0 3 4401 5 3 1 9 26 */
++ 966, /* OBJ_camellia_192_ccm 0 3 4401 5 3 1 9 27 */
++ 967, /* OBJ_camellia_192_ctr 0 3 4401 5 3 1 9 29 */
++ 968, /* OBJ_camellia_192_cmac 0 3 4401 5 3 1 9 30 */
++ 756, /* OBJ_camellia_256_ecb 0 3 4401 5 3 1 9 41 */
++ 768, /* OBJ_camellia_256_ofb128 0 3 4401 5 3 1 9 43 */
++ 759, /* OBJ_camellia_256_cfb128 0 3 4401 5 3 1 9 44 */
++ 969, /* OBJ_camellia_256_gcm 0 3 4401 5 3 1 9 46 */
++ 970, /* OBJ_camellia_256_ccm 0 3 4401 5 3 1 9 47 */
++ 971, /* OBJ_camellia_256_ctr 0 3 4401 5 3 1 9 49 */
++ 972, /* OBJ_camellia_256_cmac 0 3 4401 5 3 1 9 50 */
++ 437, /* OBJ_pilot 0 9 2342 19200300 100 */
++ 776, /* OBJ_seed_ecb 1 2 410 200004 1 3 */
++ 777, /* OBJ_seed_cbc 1 2 410 200004 1 4 */
++ 779, /* OBJ_seed_cfb128 1 2 410 200004 1 5 */
++ 778, /* OBJ_seed_ofb128 1 2 410 200004 1 6 */
++ 852, /* OBJ_id_GostR3411_94_with_GostR3410_94_cc 1 2 643 2 9 1 3 3 */
++ 853, /* OBJ_id_GostR3411_94_with_GostR3410_2001_cc 1 2 643 2 9 1 3 4 */
++ 850, /* OBJ_id_GostR3410_94_cc 1 2 643 2 9 1 5 3 */
++ 851, /* OBJ_id_GostR3410_2001_cc 1 2 643 2 9 1 5 4 */
++ 849, /* OBJ_id_Gost28147_89_cc 1 2 643 2 9 1 6 1 */
++ 854, /* OBJ_id_GostR3410_2001_ParamSet_cc 1 2 643 2 9 1 8 1 */
++ 1004, /* OBJ_INN 1 2 643 3 131 1 1 */
++ 979, /* OBJ_id_GostR3410_2012_256 1 2 643 7 1 1 1 1 */
++ 980, /* OBJ_id_GostR3410_2012_512 1 2 643 7 1 1 1 2 */
++ 982, /* OBJ_id_GostR3411_2012_256 1 2 643 7 1 1 2 2 */
++ 983, /* OBJ_id_GostR3411_2012_512 1 2 643 7 1 1 2 3 */
++ 985, /* OBJ_id_tc26_signwithdigest_gost3410_2012_256 1 2 643 7 1 1 3 2 */
++ 986, /* OBJ_id_tc26_signwithdigest_gost3410_2012_512 1 2 643 7 1 1 3 3 */
++ 988, /* OBJ_id_tc26_hmac_gost_3411_2012_256 1 2 643 7 1 1 4 1 */
++ 989, /* OBJ_id_tc26_hmac_gost_3411_2012_512 1 2 643 7 1 1 4 2 */
++ 992, /* OBJ_id_tc26_agreement_gost_3410_2012_256 1 2 643 7 1 1 6 1 */
++ 993, /* OBJ_id_tc26_agreement_gost_3410_2012_512 1 2 643 7 1 1 6 2 */
++ 996, /* OBJ_id_tc26_gost_3410_2012_512_constants 1 2 643 7 1 2 1 2 */
++ 1002, /* OBJ_id_tc26_gost_28147_constants 1 2 643 7 1 2 5 1 */
++ 186, /* OBJ_pkcs1 1 2 840 113549 1 1 */
++ 27, /* OBJ_pkcs3 1 2 840 113549 1 3 */
++ 187, /* OBJ_pkcs5 1 2 840 113549 1 5 */
++ 20, /* OBJ_pkcs7 1 2 840 113549 1 7 */
++ 47, /* OBJ_pkcs9 1 2 840 113549 1 9 */
++ 3, /* OBJ_md2 1 2 840 113549 2 2 */
++ 257, /* OBJ_md4 1 2 840 113549 2 4 */
++ 4, /* OBJ_md5 1 2 840 113549 2 5 */
++ 797, /* OBJ_hmacWithMD5 1 2 840 113549 2 6 */
++ 163, /* OBJ_hmacWithSHA1 1 2 840 113549 2 7 */
++ 798, /* OBJ_hmacWithSHA224 1 2 840 113549 2 8 */
++ 799, /* OBJ_hmacWithSHA256 1 2 840 113549 2 9 */
++ 800, /* OBJ_hmacWithSHA384 1 2 840 113549 2 10 */
++ 801, /* OBJ_hmacWithSHA512 1 2 840 113549 2 11 */
++ 37, /* OBJ_rc2_cbc 1 2 840 113549 3 2 */
++ 5, /* OBJ_rc4 1 2 840 113549 3 4 */
++ 44, /* OBJ_des_ede3_cbc 1 2 840 113549 3 7 */
++ 120, /* OBJ_rc5_cbc 1 2 840 113549 3 8 */
++ 643, /* OBJ_des_cdmf 1 2 840 113549 3 10 */
++ 680, /* OBJ_X9_62_id_characteristic_two_basis 1 2 840 10045 1 2 3 */
++ 684, /* OBJ_X9_62_c2pnb163v1 1 2 840 10045 3 0 1 */
++ 685, /* OBJ_X9_62_c2pnb163v2 1 2 840 10045 3 0 2 */
++ 686, /* OBJ_X9_62_c2pnb163v3 1 2 840 10045 3 0 3 */
++ 687, /* OBJ_X9_62_c2pnb176v1 1 2 840 10045 3 0 4 */
++ 688, /* OBJ_X9_62_c2tnb191v1 1 2 840 10045 3 0 5 */
++ 689, /* OBJ_X9_62_c2tnb191v2 1 2 840 10045 3 0 6 */
++ 690, /* OBJ_X9_62_c2tnb191v3 1 2 840 10045 3 0 7 */
++ 691, /* OBJ_X9_62_c2onb191v4 1 2 840 10045 3 0 8 */
++ 692, /* OBJ_X9_62_c2onb191v5 1 2 840 10045 3 0 9 */
++ 693, /* OBJ_X9_62_c2pnb208w1 1 2 840 10045 3 0 10 */
++ 694, /* OBJ_X9_62_c2tnb239v1 1 2 840 10045 3 0 11 */
++ 695, /* OBJ_X9_62_c2tnb239v2 1 2 840 10045 3 0 12 */
++ 696, /* OBJ_X9_62_c2tnb239v3 1 2 840 10045 3 0 13 */
++ 697, /* OBJ_X9_62_c2onb239v4 1 2 840 10045 3 0 14 */
++ 698, /* OBJ_X9_62_c2onb239v5 1 2 840 10045 3 0 15 */
++ 699, /* OBJ_X9_62_c2pnb272w1 1 2 840 10045 3 0 16 */
++ 700, /* OBJ_X9_62_c2pnb304w1 1 2 840 10045 3 0 17 */
++ 701, /* OBJ_X9_62_c2tnb359v1 1 2 840 10045 3 0 18 */
++ 702, /* OBJ_X9_62_c2pnb368w1 1 2 840 10045 3 0 19 */
++ 703, /* OBJ_X9_62_c2tnb431r1 1 2 840 10045 3 0 20 */
++ 409, /* OBJ_X9_62_prime192v1 1 2 840 10045 3 1 1 */
++ 410, /* OBJ_X9_62_prime192v2 1 2 840 10045 3 1 2 */
++ 411, /* OBJ_X9_62_prime192v3 1 2 840 10045 3 1 3 */
++ 412, /* OBJ_X9_62_prime239v1 1 2 840 10045 3 1 4 */
++ 413, /* OBJ_X9_62_prime239v2 1 2 840 10045 3 1 5 */
++ 414, /* OBJ_X9_62_prime239v3 1 2 840 10045 3 1 6 */
++ 415, /* OBJ_X9_62_prime256v1 1 2 840 10045 3 1 7 */
++ 793, /* OBJ_ecdsa_with_SHA224 1 2 840 10045 4 3 1 */
++ 794, /* OBJ_ecdsa_with_SHA256 1 2 840 10045 4 3 2 */
++ 795, /* OBJ_ecdsa_with_SHA384 1 2 840 10045 4 3 3 */
++ 796, /* OBJ_ecdsa_with_SHA512 1 2 840 10045 4 3 4 */
++ 269, /* OBJ_id_pkix1_explicit_88 1 3 6 1 5 5 7 0 1 */
++ 270, /* OBJ_id_pkix1_implicit_88 1 3 6 1 5 5 7 0 2 */
++ 271, /* OBJ_id_pkix1_explicit_93 1 3 6 1 5 5 7 0 3 */
++ 272, /* OBJ_id_pkix1_implicit_93 1 3 6 1 5 5 7 0 4 */
++ 273, /* OBJ_id_mod_crmf 1 3 6 1 5 5 7 0 5 */
++ 274, /* OBJ_id_mod_cmc 1 3 6 1 5 5 7 0 6 */
++ 275, /* OBJ_id_mod_kea_profile_88 1 3 6 1 5 5 7 0 7 */
++ 276, /* OBJ_id_mod_kea_profile_93 1 3 6 1 5 5 7 0 8 */
++ 277, /* OBJ_id_mod_cmp 1 3 6 1 5 5 7 0 9 */
++ 278, /* OBJ_id_mod_qualified_cert_88 1 3 6 1 5 5 7 0 10 */
++ 279, /* OBJ_id_mod_qualified_cert_93 1 3 6 1 5 5 7 0 11 */
++ 280, /* OBJ_id_mod_attribute_cert 1 3 6 1 5 5 7 0 12 */
++ 281, /* OBJ_id_mod_timestamp_protocol 1 3 6 1 5 5 7 0 13 */
++ 282, /* OBJ_id_mod_ocsp 1 3 6 1 5 5 7 0 14 */
++ 283, /* OBJ_id_mod_dvcs 1 3 6 1 5 5 7 0 15 */
++ 284, /* OBJ_id_mod_cmp2000 1 3 6 1 5 5 7 0 16 */
++ 177, /* OBJ_info_access 1 3 6 1 5 5 7 1 1 */
++ 285, /* OBJ_biometricInfo 1 3 6 1 5 5 7 1 2 */
++ 286, /* OBJ_qcStatements 1 3 6 1 5 5 7 1 3 */
++ 287, /* OBJ_ac_auditEntity 1 3 6 1 5 5 7 1 4 */
++ 288, /* OBJ_ac_targeting 1 3 6 1 5 5 7 1 5 */
++ 289, /* OBJ_aaControls 1 3 6 1 5 5 7 1 6 */
++ 290, /* OBJ_sbgp_ipAddrBlock 1 3 6 1 5 5 7 1 7 */
++ 291, /* OBJ_sbgp_autonomousSysNum 1 3 6 1 5 5 7 1 8 */
++ 292, /* OBJ_sbgp_routerIdentifier 1 3 6 1 5 5 7 1 9 */
++ 397, /* OBJ_ac_proxying 1 3 6 1 5 5 7 1 10 */
++ 398, /* OBJ_sinfo_access 1 3 6 1 5 5 7 1 11 */
++ 663, /* OBJ_proxyCertInfo 1 3 6 1 5 5 7 1 14 */
++ 1020, /* OBJ_tlsfeature 1 3 6 1 5 5 7 1 24 */
++ 164, /* OBJ_id_qt_cps 1 3 6 1 5 5 7 2 1 */
++ 165, /* OBJ_id_qt_unotice 1 3 6 1 5 5 7 2 2 */
++ 293, /* OBJ_textNotice 1 3 6 1 5 5 7 2 3 */
++ 129, /* OBJ_server_auth 1 3 6 1 5 5 7 3 1 */
++ 130, /* OBJ_client_auth 1 3 6 1 5 5 7 3 2 */
++ 131, /* OBJ_code_sign 1 3 6 1 5 5 7 3 3 */
++ 132, /* OBJ_email_protect 1 3 6 1 5 5 7 3 4 */
++ 294, /* OBJ_ipsecEndSystem 1 3 6 1 5 5 7 3 5 */
++ 295, /* OBJ_ipsecTunnel 1 3 6 1 5 5 7 3 6 */
++ 296, /* OBJ_ipsecUser 1 3 6 1 5 5 7 3 7 */
++ 133, /* OBJ_time_stamp 1 3 6 1 5 5 7 3 8 */
++ 180, /* OBJ_OCSP_sign 1 3 6 1 5 5 7 3 9 */
++ 297, /* OBJ_dvcs 1 3 6 1 5 5 7 3 10 */
++ 1022, /* OBJ_ipsec_IKE 1 3 6 1 5 5 7 3 17 */
++ 1023, /* OBJ_capwapAC 1 3 6 1 5 5 7 3 18 */
++ 1024, /* OBJ_capwapWTP 1 3 6 1 5 5 7 3 19 */
++ 1025, /* OBJ_sshClient 1 3 6 1 5 5 7 3 21 */
++ 1026, /* OBJ_sshServer 1 3 6 1 5 5 7 3 22 */
++ 1027, /* OBJ_sendRouter 1 3 6 1 5 5 7 3 23 */
++ 1028, /* OBJ_sendProxiedRouter 1 3 6 1 5 5 7 3 24 */
++ 1029, /* OBJ_sendOwner 1 3 6 1 5 5 7 3 25 */
++ 1030, /* OBJ_sendProxiedOwner 1 3 6 1 5 5 7 3 26 */
++ 298, /* OBJ_id_it_caProtEncCert 1 3 6 1 5 5 7 4 1 */
++ 299, /* OBJ_id_it_signKeyPairTypes 1 3 6 1 5 5 7 4 2 */
++ 300, /* OBJ_id_it_encKeyPairTypes 1 3 6 1 5 5 7 4 3 */
++ 301, /* OBJ_id_it_preferredSymmAlg 1 3 6 1 5 5 7 4 4 */
++ 302, /* OBJ_id_it_caKeyUpdateInfo 1 3 6 1 5 5 7 4 5 */
++ 303, /* OBJ_id_it_currentCRL 1 3 6 1 5 5 7 4 6 */
++ 304, /* OBJ_id_it_unsupportedOIDs 1 3 6 1 5 5 7 4 7 */
++ 305, /* OBJ_id_it_subscriptionRequest 1 3 6 1 5 5 7 4 8 */
++ 306, /* OBJ_id_it_subscriptionResponse 1 3 6 1 5 5 7 4 9 */
++ 307, /* OBJ_id_it_keyPairParamReq 1 3 6 1 5 5 7 4 10 */
++ 308, /* OBJ_id_it_keyPairParamRep 1 3 6 1 5 5 7 4 11 */
++ 309, /* OBJ_id_it_revPassphrase 1 3 6 1 5 5 7 4 12 */
++ 310, /* OBJ_id_it_implicitConfirm 1 3 6 1 5 5 7 4 13 */
++ 311, /* OBJ_id_it_confirmWaitTime 1 3 6 1 5 5 7 4 14 */
++ 312, /* OBJ_id_it_origPKIMessage 1 3 6 1 5 5 7 4 15 */
++ 784, /* OBJ_id_it_suppLangTags 1 3 6 1 5 5 7 4 16 */
++ 313, /* OBJ_id_regCtrl 1 3 6 1 5 5 7 5 1 */
++ 314, /* OBJ_id_regInfo 1 3 6 1 5 5 7 5 2 */
++ 323, /* OBJ_id_alg_des40 1 3 6 1 5 5 7 6 1 */
++ 324, /* OBJ_id_alg_noSignature 1 3 6 1 5 5 7 6 2 */
++ 325, /* OBJ_id_alg_dh_sig_hmac_sha1 1 3 6 1 5 5 7 6 3 */
++ 326, /* OBJ_id_alg_dh_pop 1 3 6 1 5 5 7 6 4 */
++ 327, /* OBJ_id_cmc_statusInfo 1 3 6 1 5 5 7 7 1 */
++ 328, /* OBJ_id_cmc_identification 1 3 6 1 5 5 7 7 2 */
++ 329, /* OBJ_id_cmc_identityProof 1 3 6 1 5 5 7 7 3 */
++ 330, /* OBJ_id_cmc_dataReturn 1 3 6 1 5 5 7 7 4 */
++ 331, /* OBJ_id_cmc_transactionId 1 3 6 1 5 5 7 7 5 */
++ 332, /* OBJ_id_cmc_senderNonce 1 3 6 1 5 5 7 7 6 */
++ 333, /* OBJ_id_cmc_recipientNonce 1 3 6 1 5 5 7 7 7 */
++ 334, /* OBJ_id_cmc_addExtensions 1 3 6 1 5 5 7 7 8 */
++ 335, /* OBJ_id_cmc_encryptedPOP 1 3 6 1 5 5 7 7 9 */
++ 336, /* OBJ_id_cmc_decryptedPOP 1 3 6 1 5 5 7 7 10 */
++ 337, /* OBJ_id_cmc_lraPOPWitness 1 3 6 1 5 5 7 7 11 */
++ 338, /* OBJ_id_cmc_getCert 1 3 6 1 5 5 7 7 15 */
++ 339, /* OBJ_id_cmc_getCRL 1 3 6 1 5 5 7 7 16 */
++ 340, /* OBJ_id_cmc_revokeRequest 1 3 6 1 5 5 7 7 17 */
++ 341, /* OBJ_id_cmc_regInfo 1 3 6 1 5 5 7 7 18 */
++ 342, /* OBJ_id_cmc_responseInfo 1 3 6 1 5 5 7 7 19 */
++ 343, /* OBJ_id_cmc_queryPending 1 3 6 1 5 5 7 7 21 */
++ 344, /* OBJ_id_cmc_popLinkRandom 1 3 6 1 5 5 7 7 22 */
++ 345, /* OBJ_id_cmc_popLinkWitness 1 3 6 1 5 5 7 7 23 */
++ 346, /* OBJ_id_cmc_confirmCertAcceptance 1 3 6 1 5 5 7 7 24 */
++ 347, /* OBJ_id_on_personalData 1 3 6 1 5 5 7 8 1 */
++ 858, /* OBJ_id_on_permanentIdentifier 1 3 6 1 5 5 7 8 3 */
++ 348, /* OBJ_id_pda_dateOfBirth 1 3 6 1 5 5 7 9 1 */
++ 349, /* OBJ_id_pda_placeOfBirth 1 3 6 1 5 5 7 9 2 */
++ 351, /* OBJ_id_pda_gender 1 3 6 1 5 5 7 9 3 */
++ 352, /* OBJ_id_pda_countryOfCitizenship 1 3 6 1 5 5 7 9 4 */
++ 353, /* OBJ_id_pda_countryOfResidence 1 3 6 1 5 5 7 9 5 */
++ 354, /* OBJ_id_aca_authenticationInfo 1 3 6 1 5 5 7 10 1 */
++ 355, /* OBJ_id_aca_accessIdentity 1 3 6 1 5 5 7 10 2 */
++ 356, /* OBJ_id_aca_chargingIdentity 1 3 6 1 5 5 7 10 3 */
++ 357, /* OBJ_id_aca_group 1 3 6 1 5 5 7 10 4 */
++ 358, /* OBJ_id_aca_role 1 3 6 1 5 5 7 10 5 */
++ 399, /* OBJ_id_aca_encAttrs 1 3 6 1 5 5 7 10 6 */
++ 359, /* OBJ_id_qcs_pkixQCSyntax_v1 1 3 6 1 5 5 7 11 1 */
++ 360, /* OBJ_id_cct_crs 1 3 6 1 5 5 7 12 1 */
++ 361, /* OBJ_id_cct_PKIData 1 3 6 1 5 5 7 12 2 */
++ 362, /* OBJ_id_cct_PKIResponse 1 3 6 1 5 5 7 12 3 */
++ 664, /* OBJ_id_ppl_anyLanguage 1 3 6 1 5 5 7 21 0 */
++ 665, /* OBJ_id_ppl_inheritAll 1 3 6 1 5 5 7 21 1 */
++ 667, /* OBJ_Independent 1 3 6 1 5 5 7 21 2 */
++ 178, /* OBJ_ad_OCSP 1 3 6 1 5 5 7 48 1 */
++ 179, /* OBJ_ad_ca_issuers 1 3 6 1 5 5 7 48 2 */
++ 363, /* OBJ_ad_timeStamping 1 3 6 1 5 5 7 48 3 */
++ 364, /* OBJ_ad_dvcs 1 3 6 1 5 5 7 48 4 */
++ 785, /* OBJ_caRepository 1 3 6 1 5 5 7 48 5 */
++ 780, /* OBJ_hmac_md5 1 3 6 1 5 5 8 1 1 */
++ 781, /* OBJ_hmac_sha1 1 3 6 1 5 5 8 1 2 */
++ 58, /* OBJ_netscape_cert_extension 2 16 840 1 113730 1 */
++ 59, /* OBJ_netscape_data_type 2 16 840 1 113730 2 */
++ 438, /* OBJ_pilotAttributeType 0 9 2342 19200300 100 1 */
++ 439, /* OBJ_pilotAttributeSyntax 0 9 2342 19200300 100 3 */
++ 440, /* OBJ_pilotObjectClass 0 9 2342 19200300 100 4 */
++ 441, /* OBJ_pilotGroups 0 9 2342 19200300 100 10 */
++ 997, /* OBJ_id_tc26_gost_3410_2012_512_paramSetTest 1 2 643 7 1 2 1 2 0 */
++ 998, /* OBJ_id_tc26_gost_3410_2012_512_paramSetA 1 2 643 7 1 2 1 2 1 */
++ 999, /* OBJ_id_tc26_gost_3410_2012_512_paramSetB 1 2 643 7 1 2 1 2 2 */
++ 1003, /* OBJ_id_tc26_gost_28147_param_Z 1 2 643 7 1 2 5 1 1 */
++ 108, /* OBJ_cast5_cbc 1 2 840 113533 7 66 10 */
++ 112, /* OBJ_pbeWithMD5AndCast5_CBC 1 2 840 113533 7 66 12 */
++ 782, /* OBJ_id_PasswordBasedMAC 1 2 840 113533 7 66 13 */
++ 783, /* OBJ_id_DHBasedMac 1 2 840 113533 7 66 30 */
++ 6, /* OBJ_rsaEncryption 1 2 840 113549 1 1 1 */
++ 7, /* OBJ_md2WithRSAEncryption 1 2 840 113549 1 1 2 */
++ 396, /* OBJ_md4WithRSAEncryption 1 2 840 113549 1 1 3 */
++ 8, /* OBJ_md5WithRSAEncryption 1 2 840 113549 1 1 4 */
++ 65, /* OBJ_sha1WithRSAEncryption 1 2 840 113549 1 1 5 */
++ 644, /* OBJ_rsaOAEPEncryptionSET 1 2 840 113549 1 1 6 */
++ 919, /* OBJ_rsaesOaep 1 2 840 113549 1 1 7 */
++ 911, /* OBJ_mgf1 1 2 840 113549 1 1 8 */
++ 935, /* OBJ_pSpecified 1 2 840 113549 1 1 9 */
++ 912, /* OBJ_rsassaPss 1 2 840 113549 1 1 10 */
++ 668, /* OBJ_sha256WithRSAEncryption 1 2 840 113549 1 1 11 */
++ 669, /* OBJ_sha384WithRSAEncryption 1 2 840 113549 1 1 12 */
++ 670, /* OBJ_sha512WithRSAEncryption 1 2 840 113549 1 1 13 */
++ 671, /* OBJ_sha224WithRSAEncryption 1 2 840 113549 1 1 14 */
++ 28, /* OBJ_dhKeyAgreement 1 2 840 113549 1 3 1 */
++ 9, /* OBJ_pbeWithMD2AndDES_CBC 1 2 840 113549 1 5 1 */
++ 10, /* OBJ_pbeWithMD5AndDES_CBC 1 2 840 113549 1 5 3 */
++ 168, /* OBJ_pbeWithMD2AndRC2_CBC 1 2 840 113549 1 5 4 */
++ 169, /* OBJ_pbeWithMD5AndRC2_CBC 1 2 840 113549 1 5 6 */
++ 170, /* OBJ_pbeWithSHA1AndDES_CBC 1 2 840 113549 1 5 10 */
++ 68, /* OBJ_pbeWithSHA1AndRC2_CBC 1 2 840 113549 1 5 11 */
++ 69, /* OBJ_id_pbkdf2 1 2 840 113549 1 5 12 */
++ 161, /* OBJ_pbes2 1 2 840 113549 1 5 13 */
++ 162, /* OBJ_pbmac1 1 2 840 113549 1 5 14 */
++ 21, /* OBJ_pkcs7_data 1 2 840 113549 1 7 1 */
++ 22, /* OBJ_pkcs7_signed 1 2 840 113549 1 7 2 */
++ 23, /* OBJ_pkcs7_enveloped 1 2 840 113549 1 7 3 */
++ 24, /* OBJ_pkcs7_signedAndEnveloped 1 2 840 113549 1 7 4 */
++ 25, /* OBJ_pkcs7_digest 1 2 840 113549 1 7 5 */
++ 26, /* OBJ_pkcs7_encrypted 1 2 840 113549 1 7 6 */
++ 48, /* OBJ_pkcs9_emailAddress 1 2 840 113549 1 9 1 */
++ 49, /* OBJ_pkcs9_unstructuredName 1 2 840 113549 1 9 2 */
++ 50, /* OBJ_pkcs9_contentType 1 2 840 113549 1 9 3 */
++ 51, /* OBJ_pkcs9_messageDigest 1 2 840 113549 1 9 4 */
++ 52, /* OBJ_pkcs9_signingTime 1 2 840 113549 1 9 5 */
++ 53, /* OBJ_pkcs9_countersignature 1 2 840 113549 1 9 6 */
++ 54, /* OBJ_pkcs9_challengePassword 1 2 840 113549 1 9 7 */
++ 55, /* OBJ_pkcs9_unstructuredAddress 1 2 840 113549 1 9 8 */
++ 56, /* OBJ_pkcs9_extCertAttributes 1 2 840 113549 1 9 9 */
++ 172, /* OBJ_ext_req 1 2 840 113549 1 9 14 */
++ 167, /* OBJ_SMIMECapabilities 1 2 840 113549 1 9 15 */
++ 188, /* OBJ_SMIME 1 2 840 113549 1 9 16 */
++ 156, /* OBJ_friendlyName 1 2 840 113549 1 9 20 */
++ 157, /* OBJ_localKeyID 1 2 840 113549 1 9 21 */
++ 681, /* OBJ_X9_62_onBasis 1 2 840 10045 1 2 3 1 */
++ 682, /* OBJ_X9_62_tpBasis 1 2 840 10045 1 2 3 2 */
++ 683, /* OBJ_X9_62_ppBasis 1 2 840 10045 1 2 3 3 */
++ 417, /* OBJ_ms_csp_name 1 3 6 1 4 1 311 17 1 */
++ 856, /* OBJ_LocalKeySet 1 3 6 1 4 1 311 17 2 */
++ 390, /* OBJ_dcObject 1 3 6 1 4 1 1466 344 */
++ 91, /* OBJ_bf_cbc 1 3 6 1 4 1 3029 1 2 */
++ 973, /* OBJ_id_scrypt 1 3 6 1 4 1 11591 4 11 */
++ 1034, /* OBJ_X25519 1 3 6 1 4 1 11591 15 1 */
++ 1035, /* OBJ_X448 1 3 6 1 4 1 11591 15 2 */
++ 315, /* OBJ_id_regCtrl_regToken 1 3 6 1 5 5 7 5 1 1 */
++ 316, /* OBJ_id_regCtrl_authenticator 1 3 6 1 5 5 7 5 1 2 */
++ 317, /* OBJ_id_regCtrl_pkiPublicationInfo 1 3 6 1 5 5 7 5 1 3 */
++ 318, /* OBJ_id_regCtrl_pkiArchiveOptions 1 3 6 1 5 5 7 5 1 4 */
++ 319, /* OBJ_id_regCtrl_oldCertID 1 3 6 1 5 5 7 5 1 5 */
++ 320, /* OBJ_id_regCtrl_protocolEncrKey 1 3 6 1 5 5 7 5 1 6 */
++ 321, /* OBJ_id_regInfo_utf8Pairs 1 3 6 1 5 5 7 5 2 1 */
++ 322, /* OBJ_id_regInfo_certReq 1 3 6 1 5 5 7 5 2 2 */
++ 365, /* OBJ_id_pkix_OCSP_basic 1 3 6 1 5 5 7 48 1 1 */
++ 366, /* OBJ_id_pkix_OCSP_Nonce 1 3 6 1 5 5 7 48 1 2 */
++ 367, /* OBJ_id_pkix_OCSP_CrlID 1 3 6 1 5 5 7 48 1 3 */
++ 368, /* OBJ_id_pkix_OCSP_acceptableResponses 1 3 6 1 5 5 7 48 1 4 */
++ 369, /* OBJ_id_pkix_OCSP_noCheck 1 3 6 1 5 5 7 48 1 5 */
++ 370, /* OBJ_id_pkix_OCSP_archiveCutoff 1 3 6 1 5 5 7 48 1 6 */
++ 371, /* OBJ_id_pkix_OCSP_serviceLocator 1 3 6 1 5 5 7 48 1 7 */
++ 372, /* OBJ_id_pkix_OCSP_extendedStatus 1 3 6 1 5 5 7 48 1 8 */
++ 373, /* OBJ_id_pkix_OCSP_valid 1 3 6 1 5 5 7 48 1 9 */
++ 374, /* OBJ_id_pkix_OCSP_path 1 3 6 1 5 5 7 48 1 10 */
++ 375, /* OBJ_id_pkix_OCSP_trustRoot 1 3 6 1 5 5 7 48 1 11 */
++ 921, /* OBJ_brainpoolP160r1 1 3 36 3 3 2 8 1 1 1 */
++ 922, /* OBJ_brainpoolP160t1 1 3 36 3 3 2 8 1 1 2 */
++ 923, /* OBJ_brainpoolP192r1 1 3 36 3 3 2 8 1 1 3 */
++ 924, /* OBJ_brainpoolP192t1 1 3 36 3 3 2 8 1 1 4 */
++ 925, /* OBJ_brainpoolP224r1 1 3 36 3 3 2 8 1 1 5 */
++ 926, /* OBJ_brainpoolP224t1 1 3 36 3 3 2 8 1 1 6 */
++ 927, /* OBJ_brainpoolP256r1 1 3 36 3 3 2 8 1 1 7 */
++ 928, /* OBJ_brainpoolP256t1 1 3 36 3 3 2 8 1 1 8 */
++ 929, /* OBJ_brainpoolP320r1 1 3 36 3 3 2 8 1 1 9 */
++ 930, /* OBJ_brainpoolP320t1 1 3 36 3 3 2 8 1 1 10 */
++ 931, /* OBJ_brainpoolP384r1 1 3 36 3 3 2 8 1 1 11 */
++ 932, /* OBJ_brainpoolP384t1 1 3 36 3 3 2 8 1 1 12 */
++ 933, /* OBJ_brainpoolP512r1 1 3 36 3 3 2 8 1 1 13 */
++ 934, /* OBJ_brainpoolP512t1 1 3 36 3 3 2 8 1 1 14 */
++ 936, /* OBJ_dhSinglePass_stdDH_sha1kdf_scheme 1 3 133 16 840 63 0 2 */
++ 941, /* OBJ_dhSinglePass_cofactorDH_sha1kdf_scheme 1 3 133 16 840 63 0 3 */
++ 418, /* OBJ_aes_128_ecb 2 16 840 1 101 3 4 1 1 */
++ 419, /* OBJ_aes_128_cbc 2 16 840 1 101 3 4 1 2 */
++ 420, /* OBJ_aes_128_ofb128 2 16 840 1 101 3 4 1 3 */
++ 421, /* OBJ_aes_128_cfb128 2 16 840 1 101 3 4 1 4 */
++ 788, /* OBJ_id_aes128_wrap 2 16 840 1 101 3 4 1 5 */
++ 895, /* OBJ_aes_128_gcm 2 16 840 1 101 3 4 1 6 */
++ 896, /* OBJ_aes_128_ccm 2 16 840 1 101 3 4 1 7 */
++ 897, /* OBJ_id_aes128_wrap_pad 2 16 840 1 101 3 4 1 8 */
++ 422, /* OBJ_aes_192_ecb 2 16 840 1 101 3 4 1 21 */
++ 423, /* OBJ_aes_192_cbc 2 16 840 1 101 3 4 1 22 */
++ 424, /* OBJ_aes_192_ofb128 2 16 840 1 101 3 4 1 23 */
++ 425, /* OBJ_aes_192_cfb128 2 16 840 1 101 3 4 1 24 */
++ 789, /* OBJ_id_aes192_wrap 2 16 840 1 101 3 4 1 25 */
++ 898, /* OBJ_aes_192_gcm 2 16 840 1 101 3 4 1 26 */
++ 899, /* OBJ_aes_192_ccm 2 16 840 1 101 3 4 1 27 */
++ 900, /* OBJ_id_aes192_wrap_pad 2 16 840 1 101 3 4 1 28 */
++ 426, /* OBJ_aes_256_ecb 2 16 840 1 101 3 4 1 41 */
++ 427, /* OBJ_aes_256_cbc 2 16 840 1 101 3 4 1 42 */
++ 428, /* OBJ_aes_256_ofb128 2 16 840 1 101 3 4 1 43 */
++ 429, /* OBJ_aes_256_cfb128 2 16 840 1 101 3 4 1 44 */
++ 790, /* OBJ_id_aes256_wrap 2 16 840 1 101 3 4 1 45 */
++ 901, /* OBJ_aes_256_gcm 2 16 840 1 101 3 4 1 46 */
++ 902, /* OBJ_aes_256_ccm 2 16 840 1 101 3 4 1 47 */
++ 903, /* OBJ_id_aes256_wrap_pad 2 16 840 1 101 3 4 1 48 */
++ 672, /* OBJ_sha256 2 16 840 1 101 3 4 2 1 */
++ 673, /* OBJ_sha384 2 16 840 1 101 3 4 2 2 */
++ 674, /* OBJ_sha512 2 16 840 1 101 3 4 2 3 */
++ 675, /* OBJ_sha224 2 16 840 1 101 3 4 2 4 */
++ 802, /* OBJ_dsa_with_SHA224 2 16 840 1 101 3 4 3 1 */
++ 803, /* OBJ_dsa_with_SHA256 2 16 840 1 101 3 4 3 2 */
++ 71, /* OBJ_netscape_cert_type 2 16 840 1 113730 1 1 */
++ 72, /* OBJ_netscape_base_url 2 16 840 1 113730 1 2 */
++ 73, /* OBJ_netscape_revocation_url 2 16 840 1 113730 1 3 */
++ 74, /* OBJ_netscape_ca_revocation_url 2 16 840 1 113730 1 4 */
++ 75, /* OBJ_netscape_renewal_url 2 16 840 1 113730 1 7 */
++ 76, /* OBJ_netscape_ca_policy_url 2 16 840 1 113730 1 8 */
++ 77, /* OBJ_netscape_ssl_server_name 2 16 840 1 113730 1 12 */
++ 78, /* OBJ_netscape_comment 2 16 840 1 113730 1 13 */
++ 79, /* OBJ_netscape_cert_sequence 2 16 840 1 113730 2 5 */
++ 139, /* OBJ_ns_sgc 2 16 840 1 113730 4 1 */
++ 458, /* OBJ_userId 0 9 2342 19200300 100 1 1 */
++ 459, /* OBJ_textEncodedORAddress 0 9 2342 19200300 100 1 2 */
++ 460, /* OBJ_rfc822Mailbox 0 9 2342 19200300 100 1 3 */
++ 461, /* OBJ_info 0 9 2342 19200300 100 1 4 */
++ 462, /* OBJ_favouriteDrink 0 9 2342 19200300 100 1 5 */
++ 463, /* OBJ_roomNumber 0 9 2342 19200300 100 1 6 */
++ 464, /* OBJ_photo 0 9 2342 19200300 100 1 7 */
++ 465, /* OBJ_userClass 0 9 2342 19200300 100 1 8 */
++ 466, /* OBJ_host 0 9 2342 19200300 100 1 9 */
++ 467, /* OBJ_manager 0 9 2342 19200300 100 1 10 */
++ 468, /* OBJ_documentIdentifier 0 9 2342 19200300 100 1 11 */
++ 469, /* OBJ_documentTitle 0 9 2342 19200300 100 1 12 */
++ 470, /* OBJ_documentVersion 0 9 2342 19200300 100 1 13 */
++ 471, /* OBJ_documentAuthor 0 9 2342 19200300 100 1 14 */
++ 472, /* OBJ_documentLocation 0 9 2342 19200300 100 1 15 */
++ 473, /* OBJ_homeTelephoneNumber 0 9 2342 19200300 100 1 20 */
++ 474, /* OBJ_secretary 0 9 2342 19200300 100 1 21 */
++ 475, /* OBJ_otherMailbox 0 9 2342 19200300 100 1 22 */
++ 476, /* OBJ_lastModifiedTime 0 9 2342 19200300 100 1 23 */
++ 477, /* OBJ_lastModifiedBy 0 9 2342 19200300 100 1 24 */
++ 391, /* OBJ_domainComponent 0 9 2342 19200300 100 1 25 */
++ 478, /* OBJ_aRecord 0 9 2342 19200300 100 1 26 */
++ 479, /* OBJ_pilotAttributeType27 0 9 2342 19200300 100 1 27 */
++ 480, /* OBJ_mXRecord 0 9 2342 19200300 100 1 28 */
++ 481, /* OBJ_nSRecord 0 9 2342 19200300 100 1 29 */
++ 482, /* OBJ_sOARecord 0 9 2342 19200300 100 1 30 */
++ 483, /* OBJ_cNAMERecord 0 9 2342 19200300 100 1 31 */
++ 484, /* OBJ_associatedDomain 0 9 2342 19200300 100 1 37 */
++ 485, /* OBJ_associatedName 0 9 2342 19200300 100 1 38 */
++ 486, /* OBJ_homePostalAddress 0 9 2342 19200300 100 1 39 */
++ 487, /* OBJ_personalTitle 0 9 2342 19200300 100 1 40 */
++ 488, /* OBJ_mobileTelephoneNumber 0 9 2342 19200300 100 1 41 */
++ 489, /* OBJ_pagerTelephoneNumber 0 9 2342 19200300 100 1 42 */
++ 490, /* OBJ_friendlyCountryName 0 9 2342 19200300 100 1 43 */
++ 102, /* OBJ_uniqueIdentifier 0 9 2342 19200300 100 1 44 */
++ 491, /* OBJ_organizationalStatus 0 9 2342 19200300 100 1 45 */
++ 492, /* OBJ_janetMailbox 0 9 2342 19200300 100 1 46 */
++ 493, /* OBJ_mailPreferenceOption 0 9 2342 19200300 100 1 47 */
++ 494, /* OBJ_buildingName 0 9 2342 19200300 100 1 48 */
++ 495, /* OBJ_dSAQuality 0 9 2342 19200300 100 1 49 */
++ 496, /* OBJ_singleLevelQuality 0 9 2342 19200300 100 1 50 */
++ 497, /* OBJ_subtreeMinimumQuality 0 9 2342 19200300 100 1 51 */
++ 498, /* OBJ_subtreeMaximumQuality 0 9 2342 19200300 100 1 52 */
++ 499, /* OBJ_personalSignature 0 9 2342 19200300 100 1 53 */
++ 500, /* OBJ_dITRedirect 0 9 2342 19200300 100 1 54 */
++ 501, /* OBJ_audio 0 9 2342 19200300 100 1 55 */
++ 502, /* OBJ_documentPublisher 0 9 2342 19200300 100 1 56 */
++ 442, /* OBJ_iA5StringSyntax 0 9 2342 19200300 100 3 4 */
++ 443, /* OBJ_caseIgnoreIA5StringSyntax 0 9 2342 19200300 100 3 5 */
++ 444, /* OBJ_pilotObject 0 9 2342 19200300 100 4 3 */
++ 445, /* OBJ_pilotPerson 0 9 2342 19200300 100 4 4 */
++ 446, /* OBJ_account 0 9 2342 19200300 100 4 5 */
++ 447, /* OBJ_document 0 9 2342 19200300 100 4 6 */
++ 448, /* OBJ_room 0 9 2342 19200300 100 4 7 */
++ 449, /* OBJ_documentSeries 0 9 2342 19200300 100 4 9 */
++ 392, /* OBJ_Domain 0 9 2342 19200300 100 4 13 */
++ 450, /* OBJ_rFC822localPart 0 9 2342 19200300 100 4 14 */
++ 451, /* OBJ_dNSDomain 0 9 2342 19200300 100 4 15 */
++ 452, /* OBJ_domainRelatedObject 0 9 2342 19200300 100 4 17 */
++ 453, /* OBJ_friendlyCountry 0 9 2342 19200300 100 4 18 */
++ 454, /* OBJ_simpleSecurityObject 0 9 2342 19200300 100 4 19 */
++ 455, /* OBJ_pilotOrganization 0 9 2342 19200300 100 4 20 */
++ 456, /* OBJ_pilotDSA 0 9 2342 19200300 100 4 21 */
++ 457, /* OBJ_qualityLabelledData 0 9 2342 19200300 100 4 22 */
++ 189, /* OBJ_id_smime_mod 1 2 840 113549 1 9 16 0 */
++ 190, /* OBJ_id_smime_ct 1 2 840 113549 1 9 16 1 */
++ 191, /* OBJ_id_smime_aa 1 2 840 113549 1 9 16 2 */
++ 192, /* OBJ_id_smime_alg 1 2 840 113549 1 9 16 3 */
++ 193, /* OBJ_id_smime_cd 1 2 840 113549 1 9 16 4 */
++ 194, /* OBJ_id_smime_spq 1 2 840 113549 1 9 16 5 */
++ 195, /* OBJ_id_smime_cti 1 2 840 113549 1 9 16 6 */
++ 158, /* OBJ_x509Certificate 1 2 840 113549 1 9 22 1 */
++ 159, /* OBJ_sdsiCertificate 1 2 840 113549 1 9 22 2 */
++ 160, /* OBJ_x509Crl 1 2 840 113549 1 9 23 1 */
++ 144, /* OBJ_pbe_WithSHA1And128BitRC4 1 2 840 113549 1 12 1 1 */
++ 145, /* OBJ_pbe_WithSHA1And40BitRC4 1 2 840 113549 1 12 1 2 */
++ 146, /* OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC 1 2 840 113549 1 12 1 3 */
++ 147, /* OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC 1 2 840 113549 1 12 1 4 */
++ 148, /* OBJ_pbe_WithSHA1And128BitRC2_CBC 1 2 840 113549 1 12 1 5 */
++ 149, /* OBJ_pbe_WithSHA1And40BitRC2_CBC 1 2 840 113549 1 12 1 6 */
++ 171, /* OBJ_ms_ext_req 1 3 6 1 4 1 311 2 1 14 */
++ 134, /* OBJ_ms_code_ind 1 3 6 1 4 1 311 2 1 21 */
++ 135, /* OBJ_ms_code_com 1 3 6 1 4 1 311 2 1 22 */
++ 136, /* OBJ_ms_ctl_sign 1 3 6 1 4 1 311 10 3 1 */
++ 137, /* OBJ_ms_sgc 1 3 6 1 4 1 311 10 3 3 */
++ 138, /* OBJ_ms_efs 1 3 6 1 4 1 311 10 3 4 */
++ 648, /* OBJ_ms_smartcard_login 1 3 6 1 4 1 311 20 2 2 */
++ 649, /* OBJ_ms_upn 1 3 6 1 4 1 311 20 2 3 */
++ 951, /* OBJ_ct_precert_scts 1 3 6 1 4 1 11129 2 4 2 */
++ 952, /* OBJ_ct_precert_poison 1 3 6 1 4 1 11129 2 4 3 */
++ 953, /* OBJ_ct_precert_signer 1 3 6 1 4 1 11129 2 4 4 */
++ 954, /* OBJ_ct_cert_scts 1 3 6 1 4 1 11129 2 4 5 */
++ 751, /* OBJ_camellia_128_cbc 1 2 392 200011 61 1 1 1 2 */
++ 752, /* OBJ_camellia_192_cbc 1 2 392 200011 61 1 1 1 3 */
++ 753, /* OBJ_camellia_256_cbc 1 2 392 200011 61 1 1 1 4 */
++ 907, /* OBJ_id_camellia128_wrap 1 2 392 200011 61 1 1 3 2 */
++ 908, /* OBJ_id_camellia192_wrap 1 2 392 200011 61 1 1 3 3 */
++ 909, /* OBJ_id_camellia256_wrap 1 2 392 200011 61 1 1 3 4 */
++ 196, /* OBJ_id_smime_mod_cms 1 2 840 113549 1 9 16 0 1 */
++ 197, /* OBJ_id_smime_mod_ess 1 2 840 113549 1 9 16 0 2 */
++ 198, /* OBJ_id_smime_mod_oid 1 2 840 113549 1 9 16 0 3 */
++ 199, /* OBJ_id_smime_mod_msg_v3 1 2 840 113549 1 9 16 0 4 */
++ 200, /* OBJ_id_smime_mod_ets_eSignature_88 1 2 840 113549 1 9 16 0 5 */
++ 201, /* OBJ_id_smime_mod_ets_eSignature_97 1 2 840 113549 1 9 16 0 6 */
++ 202, /* OBJ_id_smime_mod_ets_eSigPolicy_88 1 2 840 113549 1 9 16 0 7 */
++ 203, /* OBJ_id_smime_mod_ets_eSigPolicy_97 1 2 840 113549 1 9 16 0 8 */
++ 204, /* OBJ_id_smime_ct_receipt 1 2 840 113549 1 9 16 1 1 */
++ 205, /* OBJ_id_smime_ct_authData 1 2 840 113549 1 9 16 1 2 */
++ 206, /* OBJ_id_smime_ct_publishCert 1 2 840 113549 1 9 16 1 3 */
++ 207, /* OBJ_id_smime_ct_TSTInfo 1 2 840 113549 1 9 16 1 4 */
++ 208, /* OBJ_id_smime_ct_TDTInfo 1 2 840 113549 1 9 16 1 5 */
++ 209, /* OBJ_id_smime_ct_contentInfo 1 2 840 113549 1 9 16 1 6 */
++ 210, /* OBJ_id_smime_ct_DVCSRequestData 1 2 840 113549 1 9 16 1 7 */
++ 211, /* OBJ_id_smime_ct_DVCSResponseData 1 2 840 113549 1 9 16 1 8 */
++ 786, /* OBJ_id_smime_ct_compressedData 1 2 840 113549 1 9 16 1 9 */
++ 787, /* OBJ_id_ct_asciiTextWithCRLF 1 2 840 113549 1 9 16 1 27 */
++ 212, /* OBJ_id_smime_aa_receiptRequest 1 2 840 113549 1 9 16 2 1 */
++ 213, /* OBJ_id_smime_aa_securityLabel 1 2 840 113549 1 9 16 2 2 */
++ 214, /* OBJ_id_smime_aa_mlExpandHistory 1 2 840 113549 1 9 16 2 3 */
++ 215, /* OBJ_id_smime_aa_contentHint 1 2 840 113549 1 9 16 2 4 */
++ 216, /* OBJ_id_smime_aa_msgSigDigest 1 2 840 113549 1 9 16 2 5 */
++ 217, /* OBJ_id_smime_aa_encapContentType 1 2 840 113549 1 9 16 2 6 */
++ 218, /* OBJ_id_smime_aa_contentIdentifier 1 2 840 113549 1 9 16 2 7 */
++ 219, /* OBJ_id_smime_aa_macValue 1 2 840 113549 1 9 16 2 8 */
++ 220, /* OBJ_id_smime_aa_equivalentLabels 1 2 840 113549 1 9 16 2 9 */
++ 221, /* OBJ_id_smime_aa_contentReference 1 2 840 113549 1 9 16 2 10 */
++ 222, /* OBJ_id_smime_aa_encrypKeyPref 1 2 840 113549 1 9 16 2 11 */
++ 223, /* OBJ_id_smime_aa_signingCertificate 1 2 840 113549 1 9 16 2 12 */
++ 224, /* OBJ_id_smime_aa_smimeEncryptCerts 1 2 840 113549 1 9 16 2 13 */
++ 225, /* OBJ_id_smime_aa_timeStampToken 1 2 840 113549 1 9 16 2 14 */
++ 226, /* OBJ_id_smime_aa_ets_sigPolicyId 1 2 840 113549 1 9 16 2 15 */
++ 227, /* OBJ_id_smime_aa_ets_commitmentType 1 2 840 113549 1 9 16 2 16 */
++ 228, /* OBJ_id_smime_aa_ets_signerLocation 1 2 840 113549 1 9 16 2 17 */
++ 229, /* OBJ_id_smime_aa_ets_signerAttr 1 2 840 113549 1 9 16 2 18 */
++ 230, /* OBJ_id_smime_aa_ets_otherSigCert 1 2 840 113549 1 9 16 2 19 */
++ 231, /* OBJ_id_smime_aa_ets_contentTimestamp 1 2 840 113549 1 9 16 2 20 */
++ 232, /* OBJ_id_smime_aa_ets_CertificateRefs 1 2 840 113549 1 9 16 2 21 */
++ 233, /* OBJ_id_smime_aa_ets_RevocationRefs 1 2 840 113549 1 9 16 2 22 */
++ 234, /* OBJ_id_smime_aa_ets_certValues 1 2 840 113549 1 9 16 2 23 */
++ 235, /* OBJ_id_smime_aa_ets_revocationValues 1 2 840 113549 1 9 16 2 24 */
++ 236, /* OBJ_id_smime_aa_ets_escTimeStamp 1 2 840 113549 1 9 16 2 25 */
++ 237, /* OBJ_id_smime_aa_ets_certCRLTimestamp 1 2 840 113549 1 9 16 2 26 */
++ 238, /* OBJ_id_smime_aa_ets_archiveTimeStamp 1 2 840 113549 1 9 16 2 27 */
++ 239, /* OBJ_id_smime_aa_signatureType 1 2 840 113549 1 9 16 2 28 */
++ 240, /* OBJ_id_smime_aa_dvcs_dvc 1 2 840 113549 1 9 16 2 29 */
++ 241, /* OBJ_id_smime_alg_ESDHwith3DES 1 2 840 113549 1 9 16 3 1 */
++ 242, /* OBJ_id_smime_alg_ESDHwithRC2 1 2 840 113549 1 9 16 3 2 */
++ 243, /* OBJ_id_smime_alg_3DESwrap 1 2 840 113549 1 9 16 3 3 */
++ 244, /* OBJ_id_smime_alg_RC2wrap 1 2 840 113549 1 9 16 3 4 */
++ 245, /* OBJ_id_smime_alg_ESDH 1 2 840 113549 1 9 16 3 5 */
++ 246, /* OBJ_id_smime_alg_CMS3DESwrap 1 2 840 113549 1 9 16 3 6 */
++ 247, /* OBJ_id_smime_alg_CMSRC2wrap 1 2 840 113549 1 9 16 3 7 */
++ 125, /* OBJ_zlib_compression 1 2 840 113549 1 9 16 3 8 */
++ 893, /* OBJ_id_alg_PWRI_KEK 1 2 840 113549 1 9 16 3 9 */
++ 248, /* OBJ_id_smime_cd_ldap 1 2 840 113549 1 9 16 4 1 */
++ 249, /* OBJ_id_smime_spq_ets_sqt_uri 1 2 840 113549 1 9 16 5 1 */
++ 250, /* OBJ_id_smime_spq_ets_sqt_unotice 1 2 840 113549 1 9 16 5 2 */
++ 251, /* OBJ_id_smime_cti_ets_proofOfOrigin 1 2 840 113549 1 9 16 6 1 */
++ 252, /* OBJ_id_smime_cti_ets_proofOfReceipt 1 2 840 113549 1 9 16 6 2 */
++ 253, /* OBJ_id_smime_cti_ets_proofOfDelivery 1 2 840 113549 1 9 16 6 3 */
++ 254, /* OBJ_id_smime_cti_ets_proofOfSender 1 2 840 113549 1 9 16 6 4 */
++ 255, /* OBJ_id_smime_cti_ets_proofOfApproval 1 2 840 113549 1 9 16 6 5 */
++ 256, /* OBJ_id_smime_cti_ets_proofOfCreation 1 2 840 113549 1 9 16 6 6 */
++ 150, /* OBJ_keyBag 1 2 840 113549 1 12 10 1 1 */
++ 151, /* OBJ_pkcs8ShroudedKeyBag 1 2 840 113549 1 12 10 1 2 */
++ 152, /* OBJ_certBag 1 2 840 113549 1 12 10 1 3 */
++ 153, /* OBJ_crlBag 1 2 840 113549 1 12 10 1 4 */
++ 154, /* OBJ_secretBag 1 2 840 113549 1 12 10 1 5 */
++ 155, /* OBJ_safeContentsBag 1 2 840 113549 1 12 10 1 6 */
++ 34, /* OBJ_idea_cbc 1 3 6 1 4 1 188 7 1 1 2 */
++ 955, /* OBJ_jurisdictionLocalityName 1 3 6 1 4 1 311 60 2 1 1 */
++ 956, /* OBJ_jurisdictionStateOrProvinceName 1 3 6 1 4 1 311 60 2 1 2 */
++ 957, /* OBJ_jurisdictionCountryName 1 3 6 1 4 1 311 60 2 1 3 */
++ 1056, /* OBJ_blake2b512 1 3 6 1 4 1 1722 12 2 1 16 */
++ 1057, /* OBJ_blake2s256 1 3 6 1 4 1 1722 12 2 2 8 */
+ };
+-
diff --git a/crypto/objects/obj_dat.pl b/crypto/objects/obj_dat.pl
-index 0bf1e48..ba3eed6 100644
+index 0bf1e48..1cb3d1c 100644
--- a/crypto/objects/obj_dat.pl
+++ b/crypto/objects/obj_dat.pl
-@@ -1,7 +1,14 @@
+@@ -1,305 +1,227 @@
-#!/usr/local/bin/perl
+#! /usr/bin/env perl
+# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
@@ -70775,15 +82324,312 @@
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
- # fixes bug in floating point emulation on sparc64 when
- # this script produces off-by-one output on sparc64
-+
+-# fixes bug in floating point emulation on sparc64 when
+-# this script produces off-by-one output on sparc64
use integer;
++use strict;
++use warnings;
- sub obj_cmp
-@@ -168,66 +175,15 @@ foreach (sort obj_cmp @a)
- }
+-sub obj_cmp
+- {
+- local(@a, at b,$_,$r);
+-
+- $A=$obj_len{$obj{$nid{$a}}};
+- $B=$obj_len{$obj{$nid{$b}}};
+-
+- $r=($A-$B);
+- return($r) if $r != 0;
+-
+- $A=$obj_der{$obj{$nid{$a}}};
+- $B=$obj_der{$obj{$nid{$b}}};
+-
+- return($A cmp $B);
+- }
+-
+-sub expand_obj
+- {
+- local(*v)=@_;
+- local($k,$d);
+- local($i);
+-
+- do {
+- $i=0;
+- foreach $k (keys %v)
+- {
+- if (($v{$k} =~ s/(OBJ_[^,]+),/$v{$1},/))
+- { $i++; }
+- }
+- } while($i);
+- foreach $k (keys %v)
+- {
+- @a=split(/,/,$v{$k});
+- $objn{$k}=$#a+1;
+- }
+- return(%objn);
+- }
+-
+-open (IN,"$ARGV[0]") || die "Can't open input file $ARGV[0]";
+-open (OUT,">$ARGV[1]") || die "Can't open output file $ARGV[1]";
+-
+-while (<IN>)
+- {
+- next unless /^\#define\s+(\S+)\s+(.*)$/;
+- $v=$1;
+- $d=$2;
+- $d =~ s/^\"//;
+- $d =~ s/\"$//;
+- if ($v =~ /^SN_(.*)$/)
+- {
+- if(defined $snames{$d})
+- {
+- print "WARNING: Duplicate short name \"$d\"\n";
+- }
+- else
+- { $snames{$d} = "X"; }
+- $sn{$1}=$d;
+- }
+- elsif ($v =~ /^LN_(.*)$/)
+- {
+- if(defined $lnames{$d})
+- {
+- print "WARNING: Duplicate long name \"$d\"\n";
+- }
+- else
+- { $lnames{$d} = "X"; }
+- $ln{$1}=$d;
+- }
+- elsif ($v =~ /^NID_(.*)$/)
+- { $nid{$d}=$1; }
+- elsif ($v =~ /^OBJ_(.*)$/)
+- {
+- $obj{$1}=$v;
+- $objd{$v}=$d;
+- }
+- }
++# Generate the DER encoding for the given OID.
++sub der_it
++{
++ # Prologue
++ my ($v) = @_;
++ my @a = split(/\s+/, $v);
++ my $ret = pack("C*", $a[0] * 40 + $a[1]);
++ shift @a;
++ shift @a;
++
++ # Loop over rest of bytes; or in 0x80 for multi-byte numbers.
++ my $t;
++ foreach (@a) {
++ my @r = ();
++ $t = 0;
++ while ($_ >= 128) {
++ my $x = $_ % 128;
++ $_ /= 128;
++ push(@r, ($t++ ? 0x80 : 0) | $x);
++ }
++ push(@r, ($t++ ? 0x80 : 0) | $_);
++ $ret .= pack("C*", reverse(@r));
++ }
++ return $ret;
++}
++
++
++# Read input, parse all #define's into OID name and value.
++# Populate %ln and %sn with long and short names (%dupln and %dupsn)
++# are used to watch for duplicates. Also %nid and %obj get the
++# NID and OBJ entries.
++my %ln;
++my %sn;
++my %dupln;
++my %dupsn;
++my %nid;
++my %obj;
++my %objd;
++open(IN, "$ARGV[0]") || die "Can't open input file $ARGV[0], $!";
++while (<IN>) {
++ next unless /^\#define\s+(\S+)\s+(.*)$/;
++ my $v = $1;
++ my $d = $2;
++ $d =~ s/^\"//;
++ $d =~ s/\"$//;
++ if ($v =~ /^SN_(.*)$/) {
++ if (defined $dupsn{$d}) {
++ print "WARNING: Duplicate short name \"$d\"\n";
++ } else {
++ $dupsn{$d} = 1;
++ }
++ $sn{$1} = $d;
++ }
++ elsif ($v =~ /^LN_(.*)$/) {
++ if (defined $dupln{$d}) {
++ print "WARNING: Duplicate long name \"$d\"\n";
++ } else {
++ $dupln{$d} = 1;
++ }
++ $ln{$1} = $d;
++ }
++ elsif ($v =~ /^NID_(.*)$/) {
++ $nid{$d} = $1;
++ }
++ elsif ($v =~ /^OBJ_(.*)$/) {
++ $obj{$1} = $v;
++ $objd{$v} = $d;
++ }
++}
+ close IN;
+-%ob=&expand_obj(*objd);
+-
+- at a=sort { $a <=> $b } keys %nid;
+-$n=$a[$#a]+1;
+-
+- at lvalues=();
+-$lvalues=0;
+-
+-for ($i=0; $i<$n; $i++)
+- {
+- if (!defined($nid{$i}))
+- {
+- push(@out,"{NULL,NULL,NID_undef,0,NULL,0},\n");
+- }
+- else
+- {
+- $sn=defined($sn{$nid{$i}})?"$sn{$nid{$i}}":"NULL";
+- $ln=defined($ln{$nid{$i}})?"$ln{$nid{$i}}":"NULL";
+-
+- if ($sn eq "NULL") {
+- $sn=$ln;
+- $sn{$nid{$i}} = $ln;
+- }
+-
+- if ($ln eq "NULL") {
+- $ln=$sn;
+- $ln{$nid{$i}} = $sn;
+- }
+-
+- $out ="{";
+- $out.="\"$sn\"";
+- $out.=","."\"$ln\"";
+- $out.=",NID_$nid{$i},";
+- if (defined($obj{$nid{$i}}) && $objd{$obj{$nid{$i}}} =~ /,/)
+- {
+- $v=$objd{$obj{$nid{$i}}};
+- $v =~ s/L//g;
+- $v =~ s/,/ /g;
+- $r=&der_it($v);
+- $z="";
+- $length=0;
+- foreach (unpack("C*",$r))
+- {
+- $z.=sprintf("0x%02X,",$_);
+- $length++;
+- }
+- $obj_der{$obj{$nid{$i}}}=$z;
+- $obj_len{$obj{$nid{$i}}}=$length;
+-
+- push(@lvalues,sprintf("%-45s/* [%3d] %s */\n",
+- $z,$lvalues,$obj{$nid{$i}}));
+- $out.="$length,&(lvalues[$lvalues]),0";
+- $lvalues+=$length;
+- }
+- else
+- {
+- $out.="0,NULL,0";
+- }
+- $out.="},\n";
+- push(@out,$out);
+- }
+- }
+-
+- at a=grep(defined($sn{$nid{$_}}),0 .. $n);
+-foreach (sort { $sn{$nid{$a}} cmp $sn{$nid{$b}} } @a)
+- {
+- push(@sn,sprintf("%2d,\t/* \"$sn{$nid{$_}}\" */\n",$_));
+- }
+-
+- at a=grep(defined($ln{$nid{$_}}),0 .. $n);
+-foreach (sort { $ln{$nid{$a}} cmp $ln{$nid{$b}} } @a)
+- {
+- push(@ln,sprintf("%2d,\t/* \"$ln{$nid{$_}}\" */\n",$_));
+- }
+-
+- at a=grep(defined($obj{$nid{$_}}),0 .. $n);
+-foreach (sort obj_cmp @a)
+- {
+- $m=$obj{$nid{$_}};
+- $v=$objd{$m};
+- $v =~ s/L//g;
+- $v =~ s/,/ /g;
+- push(@ob,sprintf("%2d,\t/* %-32s %s */\n",$_,$m,$v));
+- }
+-
++# For every value in %obj, recursively expand OBJ_xxx values. That is:
++# #define OBJ_iso 1L
++# #define OBJ_identified_organization OBJ_iso,3L
++# Modify %objd values in-place. Create an %objn array that has
++my $changed;
++do {
++ $changed = 0;
++ foreach my $k (keys %objd) {
++ $changed = 1 if $objd{$k} =~ s/(OBJ_[^,]+),/$objd{$1},/;
++ }
++} while ($changed);
++
++my @a = sort { $a <=> $b } keys %nid;
++my $n = $a[$#a] + 1;
++my @lvalues = ();
++my $lvalues = 0;
++
++# Scan all defined objects, building up the @out array.
++# %obj_der holds the DER encoding as an array of bytes, and %obj_len
++# holds the length in bytes.
++my @out;
++my %obj_der;
++my %obj_len;
++for (my $i = 0; $i < $n; $i++) {
++ if (!defined $nid{$i}) {
++ push(@out, " { NULL, NULL, NID_undef },\n");
++ next;
++ }
++
++ my $sn = defined $sn{$nid{$i}} ? "$sn{$nid{$i}}" : "NULL";
++ my $ln = defined $ln{$nid{$i}} ? "$ln{$nid{$i}}" : "NULL";
++ if ($sn eq "NULL") {
++ $sn = $ln;
++ $sn{$nid{$i}} = $ln;
++ }
++ if ($ln eq "NULL") {
++ $ln = $sn;
++ $ln{$nid{$i}} = $sn;
++ }
++
++ my $out = " {\"$sn\", \"$ln\", NID_$nid{$i}";
++ if (defined $obj{$nid{$i}} && $objd{$obj{$nid{$i}}} =~ /,/) {
++ my $v = $objd{$obj{$nid{$i}}};
++ $v =~ s/L//g;
++ $v =~ s/,/ /g;
++ my $r = &der_it($v);
++ my $z = "";
++ my $length = 0;
++ # Format using fixed-with because we use strcmp later.
++ foreach (unpack("C*",$r)) {
++ $z .= sprintf("0x%02X,", $_);
++ $length++;
++ }
++ $obj_der{$obj{$nid{$i}}} = $z;
++ $obj_len{$obj{$nid{$i}}} = $length;
++
++ push(@lvalues,
++ sprintf(" %-45s /* [%5d] %s */\n",
++ $z, $lvalues, $obj{$nid{$i}}));
++ $out .= ", $length, &so[$lvalues]";
++ $lvalues += $length;
++ }
++ $out .= "},\n";
++ push(@out, $out);
++}
++
++# Finally ready to generate the output.
++open(OUT, ">$ARGV[1]") || die "Can't open output file $ARGV[1], $!";
print OUT <<'EOF';
-/* THIS FILE IS GENERATED FROM objects.h by obj_dat.pl via the
- * following command:
@@ -70856,6 +82702,129 @@
*/
EOF
+
+-printf OUT "#define NUM_NID %d\n",$n;
+-printf OUT "#define NUM_SN %d\n",$#sn+1;
+-printf OUT "#define NUM_LN %d\n",$#ln+1;
+-printf OUT "#define NUM_OBJ %d\n\n",$#ob+1;
+-
+-printf OUT "static const unsigned char lvalues[%d]={\n",$lvalues+1;
++print OUT "/* Serialized OID's */\n";
++printf OUT "static const unsigned char so[%d] = {\n", $lvalues + 1;
+ print OUT @lvalues;
+ print OUT "};\n\n";
+
+-printf OUT "static const ASN1_OBJECT nid_objs[NUM_NID]={\n";
+-foreach (@out)
+- {
+- if (length($_) > 75)
+- {
+- $out="";
+- foreach (split(/,/))
+- {
+- $t=$out.$_.",";
+- if (length($t) > 70)
+- {
+- print OUT "$out\n";
+- $t="\t$_,";
+- }
+- $out=$t;
+- }
+- chop $out; # Get rid of the last comma
+- print OUT "$out";
+- }
+- else
+- { print OUT $_; }
+- }
+-print OUT "};\n\n";
+-
+-printf OUT "static const unsigned int sn_objs[NUM_SN]={\n";
+-print OUT @sn;
++printf OUT "#define NUM_NID %d\n", $n;
++printf OUT "static const ASN1_OBJECT nid_objs[NUM_NID] = {\n";
++print OUT @out;
+ print OUT "};\n\n";
+
+-printf OUT "static const unsigned int ln_objs[NUM_LN]={\n";
+-print OUT @ln;
++{
++ no warnings "uninitialized";
++ @a = grep(defined $sn{$nid{$_}}, 0 .. $n);
++}
++printf OUT "#define NUM_SN %d\n", $#a + 1;
++printf OUT "static const unsigned int sn_objs[NUM_SN] = {\n";
++foreach (sort { $sn{$nid{$a}} cmp $sn{$nid{$b}} } @a) {
++ printf OUT " %4d, /* \"$sn{$nid{$_}}\" */\n", $_;
++}
+ print OUT "};\n\n";
+
+-printf OUT "static const unsigned int obj_objs[NUM_OBJ]={\n";
+-print OUT @ob;
++{
++ no warnings "uninitialized";
++ @a = grep(defined $ln{$nid{$_}}, 0 .. $n);
++}
++printf OUT "#define NUM_LN %d\n", $#a + 1;
++printf OUT "static const unsigned int ln_objs[NUM_LN] = {\n";
++foreach (sort { $ln{$nid{$a}} cmp $ln{$nid{$b}} } @a) {
++ printf OUT " %4d, /* \"$ln{$nid{$_}}\" */\n", $_;
++}
+ print OUT "};\n\n";
+
+-close OUT;
++{
++ no warnings "uninitialized";
++ @a = grep(defined $obj{$nid{$_}}, 0 .. $n);
++}
++printf OUT "#define NUM_OBJ %d\n", $#a + 1;
++printf OUT "static const unsigned int obj_objs[NUM_OBJ] = {\n";
+
+-sub der_it
+- {
+- local($v)=@_;
+- local(@a,$i,$ret, at r);
++# Compare DER; prefer shorter; if some length, use the "smaller" encoding.
++sub obj_cmp
++{
++ no warnings "uninitialized";
++ my $A = $obj_len{$obj{$nid{$a}}};
++ my $B = $obj_len{$obj{$nid{$b}}};
++ my $r = $A - $B;
++ return $r if $r != 0;
++
++ $A = $obj_der{$obj{$nid{$a}}};
++ $B = $obj_der{$obj{$nid{$b}}};
++ return $A cmp $B;
++}
++foreach (sort obj_cmp @a) {
++ my $m = $obj{$nid{$_}};
++ my $v = $objd{$m};
++ $v =~ s/L//g;
++ $v =~ s/,/ /g;
++ printf OUT " %4d, /* %-32s %s */\n", $_, $m, $v;
++}
++print OUT "};\n";
+
+- @a=split(/\s+/,$v);
+- $ret.=pack("C*",$a[0]*40+$a[1]);
+- shift @a;
+- shift @a;
+- foreach (@a)
+- {
+- @r=();
+- $t=0;
+- while ($_ >= 128)
+- {
+- $x=$_%128;
+- $_/=128;
+- push(@r,((($t++)?0x80:0)|$x));
+- }
+- push(@r,((($t++)?0x80:0)|$_));
+- $ret.=pack("C*",reverse(@r));
+- }
+- return($ret);
+- }
++close OUT;
diff --git a/crypto/objects/obj_err.c b/crypto/objects/obj_err.c
index 396b6c2..2dd80be 100644
--- a/crypto/objects/obj_err.c
@@ -74220,7 +86189,7 @@
-&cbc("des_ede3_cbc_encrypt","des_encrypt3","des_decrypt3",0,6,7,3,4,5);
-
diff --git a/crypto/perlasm/sparcv9_modes.pl b/crypto/perlasm/sparcv9_modes.pl
-index 81e6026..47c2e53 100644
+index 81e6026..bfdada8 100644
--- a/crypto/perlasm/sparcv9_modes.pl
+++ b/crypto/perlasm/sparcv9_modes.pl
@@ -1,4 +1,11 @@
@@ -74236,6 +86205,38 @@
# Specific modes implementations for SPARC Architecture 2011. There
# is T4 dependency though, an ASI value that is not specified in the
+@@ -41,6 +48,7 @@ ${alg}${bits}_t4_cbc_encrypt:
+ save %sp, -$::frame, %sp
+ cmp $len, 0
+ be,pn $::size_t_cc, .L${bits}_cbc_enc_abort
++ srln $len, 0, $len ! needed on v8+, "nop" on v9
+ sub $inp, $out, $blk_init ! $inp!=$out
+ ___
+ $::code.=<<___ if (!$::evp);
+@@ -258,6 +266,7 @@ ${alg}${bits}_t4_cbc_decrypt:
+ save %sp, -$::frame, %sp
+ cmp $len, 0
+ be,pn $::size_t_cc, .L${bits}_cbc_dec_abort
++ srln $len, 0, $len ! needed on v8+, "nop" on v9
+ sub $inp, $out, $blk_init ! $inp!=$out
+ ___
+ $::code.=<<___ if (!$::evp);
+@@ -617,6 +626,7 @@ $::code.=<<___;
+ .align 32
+ ${alg}${bits}_t4_ctr32_encrypt:
+ save %sp, -$::frame, %sp
++ srln $len, 0, $len ! needed on v8+, "nop" on v9
+
+ prefetch [$inp], 20
+ prefetch [$inp + 63], 20
+@@ -920,6 +930,7 @@ $::code.=<<___;
+ .align 32
+ ${alg}${bits}_t4_xts_${dir}crypt:
+ save %sp, -$::frame-16, %sp
++ srln $len, 0, $len ! needed on v8+, "nop" on v9
+
+ mov $ivec, %o0
+ add %fp, $::bias-16, %o1
diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
index 80ab17f..60b98d7 100755
--- a/crypto/perlasm/x86_64-xlate.pl
@@ -76781,7 +88782,7 @@
#include <openssl/x509.h>
#include <openssl/pkcs7.h>
diff --git a/crypto/pkcs7/pk7_doit.c b/crypto/pkcs7/pk7_doit.c
-index 9d66fc4..2402241 100644
+index 9d66fc4..bc6bd30 100644
--- a/crypto/pkcs7/pk7_doit.c
+++ b/crypto/pkcs7/pk7_doit.c
@@ -1,58 +1,10 @@
@@ -76849,6 +88850,15 @@
*/
#include <stdio.h>
+@@ -630,7 +582,7 @@ BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert)
+ BIO_free_all(btmp);
+ BIO_free_all(etmp);
+ BIO_free_all(bio);
+- return NULL;
++ return NULL;
+ }
+
+ static BIO *PKCS7_find_digest(EVP_MD_CTX **pmd, BIO *bio, int nid)
@@ -808,6 +760,7 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio)
goto err;
@@ -78115,7 +90125,7 @@
# ====================================================================
# Written by Andy Polyakov <appro at openssl.org> for the OpenSSL
diff --git a/crypto/poly1305/asm/poly1305-sparcv9.pl b/crypto/poly1305/asm/poly1305-sparcv9.pl
-index 497e270..c22735a 100755
+index 497e270..0bdd048 100755
--- a/crypto/poly1305/asm/poly1305-sparcv9.pl
+++ b/crypto/poly1305/asm/poly1305-sparcv9.pl
@@ -1,4 +1,11 @@
@@ -78142,7 +90152,7 @@
be .Lpoly1305_init_fma
nop
-@@ -132,6 +139,7 @@ poly1305_init:
+@@ -132,13 +139,14 @@ poly1305_init:
.Lno_key:
ret
restore %g0,%g0,%o0 ! return 0
@@ -78150,6 +90160,23 @@
.size poly1305_init,.-poly1305_init
.globl poly1305_blocks
+ .align 32
+ poly1305_blocks:
+ save %sp,-STACK_FRAME,%sp
+- andn $len,15,$len
++ srln $len,4,$len
+
+ brz,pn $len,.Lno_data
+ nop
+@@ -194,7 +202,7 @@ poly1305_blocks:
+ umul $r1,$h0,$d1
+ umul $r2,$h0,$d2
+ umul $r3,$h0,$d3
+- sub $len,16,$len
++ sub $len,1,$len
+ add $inp,16,$inp
+
+ umul $s3,$h1,$t0
@@ -264,6 +272,7 @@ poly1305_blocks:
.Lno_data:
ret
@@ -78158,6 +90185,24 @@
.size poly1305_blocks,.-poly1305_blocks
___
########################################################################
+@@ -276,7 +285,7 @@ $code.=<<___;
+ .align 32
+ poly1305_blocks_vis3:
+ save %sp,-STACK_FRAME,%sp
+- andn $len,15,$len
++ srln $len,4,$len
+
+ brz,pn $len,.Lno_data
+ nop
+@@ -314,7 +323,7 @@ poly1305_blocks_vis3:
+
+ .Linp_aligned_vis3:
+ addcc $D0,$H0,$H0 ! accumulate input
+- sub $len,16,$len
++ sub $len,1,$len
+ addxccc $D1,$H1,$H1
+ add $inp,16,$inp
+
@@ -354,6 +363,7 @@ poly1305_blocks_vis3:
ret
@@ -78174,7 +90219,7 @@
.size poly1305_emit,.-poly1305_emit
___
-@@ -591,6 +602,7 @@ poly1305_init_fma:
+@@ -591,12 +602,13 @@ poly1305_init_fma:
.Lno_key_fma:
ret
restore %g0,%g0,%o0 ! return 0
@@ -78182,6 +90227,13 @@
.size poly1305_init_fma,.-poly1305_init_fma
.align 32
+ poly1305_blocks_fma:
+ save %sp,-STACK_FRAME-48,%sp
+- srlx $len,4,$len
++ srln $len,4,$len
+
+ brz,pn $len,.Labort
+ sub $len,1,$len
@@ -898,6 +910,7 @@ poly1305_blocks_fma:
.Labort:
ret
@@ -78325,10 +90377,10 @@
BEGINRAW[Makefile(unix)]
{- $builddir -}/poly1305-%.S: {- $sourcedir -}/asm/poly1305-%.pl
diff --git a/crypto/poly1305/poly1305.c b/crypto/poly1305/poly1305.c
-index 6bec8b3..55de19b 100644
+index 6bec8b3..eec4d67 100644
--- a/crypto/poly1305/poly1305.c
+++ b/crypto/poly1305/poly1305.c
-@@ -1,8 +1,10 @@
+@@ -1,12 +1,15 @@
-/* ====================================================================
- * Copyright (c) 2015 The OpenSSL Project. All rights reserved.
+/*
@@ -78343,7 +90395,12 @@
*/
#include <stdlib.h>
-@@ -94,7 +96,7 @@ typedef unsigned int u32;
+ #include <string.h>
++#include <openssl/crypto.h>
+
+ #include "internal/poly1305.h"
+
+@@ -94,7 +97,7 @@ typedef unsigned int u32;
* POLY1305_BLOCK_SIZE and |padbit| to 0. In all other cases |padbit|
* should be set to 1 to perform implicit padding with 128th bit.
* poly1305_blocks does not actually check for this constraint though,
@@ -78352,7 +90409,7 @@
*
* (*) In the context "caller" is not application code, but higher
* level Poly1305_* from this very module, so that quirks are
-@@ -185,9 +187,9 @@ poly1305_blocks(void *ctx, const unsigned char *inp, size_t len, u32 padbit)
+@@ -185,9 +188,9 @@ poly1305_blocks(void *ctx, const unsigned char *inp, size_t len, u32 padbit)
h0 = (u64)(d0 = (u128)h0 + U8TOU64(inp + 0));
h1 = (u64)(d1 = (u128)h1 + (d0 >> 64) + U8TOU64(inp + 8));
/*
@@ -78365,7 +90422,7 @@
h2 += (u64)(d1 >> 64) + padbit;
/* h *= r "%" p, where "%" stands for "partial remainder" */
-@@ -195,7 +197,7 @@ poly1305_blocks(void *ctx, const unsigned char *inp, size_t len, u32 padbit)
+@@ -195,7 +198,7 @@ poly1305_blocks(void *ctx, const unsigned char *inp, size_t len, u32 padbit)
((u128)h1 * s1);
d1 = ((u128)h0 * r1) +
((u128)h1 * r0) +
@@ -78374,7 +90431,16 @@
h2 = (h2 * r0);
/* last reduction step: */
-@@ -590,7 +592,8 @@ static const struct poly1305_test poly1305_tests[] = {
+@@ -543,7 +546,7 @@ void Poly1305_Final(POLY1305 *ctx, unsigned char mac[16])
+ poly1305_emit(ctx->opaque, mac, ctx->nonce);
+
+ /* zero out the state */
+- memset(ctx, 0, sizeof(*ctx));
++ OPENSSL_cleanse(ctx, sizeof(*ctx));
+ }
+
+ #ifdef SELFTEST
+@@ -590,7 +593,8 @@ static const struct poly1305_test poly1305_tests[] = {
"5154ad0d2cb26e01274fc51148491f1b"
},
/*
@@ -78384,7 +90450,7 @@
*/
{
"ab0812724a7f1e342742cbed374d94d136c6b8795d45b3819830f2c04491faf0"
-@@ -672,6 +675,21 @@ static const struct poly1305_test poly1305_tests[] = {
+@@ -672,6 +676,21 @@ static const struct poly1305_test poly1305_tests[] = {
"12976a08c4426d0ce8a82407c4f48207""80f8c20aa71202d1e29179cbcb555a57",
"b846d44e9bbd53cedffbfbb6b7fa4933"
},
@@ -78406,7 +90472,7 @@
{
/*
* poly1305_ieee754.c failed this in final stage
-@@ -855,14 +873,11 @@ static const struct poly1305_test poly1305_tests[] = {
+@@ -855,14 +874,11 @@ static const struct poly1305_test poly1305_tests[] = {
static unsigned char hex_digit(char h)
{
@@ -78425,7 +90491,7 @@
}
static void hex_decode(unsigned char *out, const char *hex)
-@@ -996,14 +1011,14 @@ int main()
+@@ -996,14 +1012,14 @@ int main()
Poly1305_Init(&poly1305, key);
for (i=0;i<100000;i++)
@@ -79154,7 +91220,7 @@
#include <stdio.h>
diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c
-index 1aff444..e231ecd 100644
+index 1aff444..ecba2dc 100644
--- a/crypto/rand/rand_unix.c
+++ b/crypto/rand/rand_unix.c
@@ -1,112 +1,12 @@
@@ -79277,6 +91343,15 @@
#include <stdio.h>
#define USE_SOCKETS
+@@ -234,7 +134,7 @@ int RAND_poll(void)
+ rnd >>= 8;
+ }
+ RAND_add(buf, sizeof(buf), ENTROPY_NEEDED);
+- memset(buf, 0, sizeof(buf));
++ OPENSSL_cleanse(buf, sizeof(buf));
+
+ return 1;
+ }
diff --git a/crypto/rand/rand_vms.c b/crypto/rand/rand_vms.c
index 5919f48..ae6f17d 100644
--- a/crypto/rand/rand_vms.c
@@ -79347,7 +91422,7 @@
#include <openssl/rand.h>
diff --git a/crypto/rand/rand_win.c b/crypto/rand/rand_win.c
-index bf85d37..c5d0aa1 100644
+index bf85d37..1be0ed3 100644
--- a/crypto/rand/rand_win.c
+++ b/crypto/rand/rand_win.c
@@ -1,111 +1,10 @@
@@ -79952,7 +92027,7 @@
return (1);
}
-+#if OPENSSL_API_COMPAT < 0x00101000L
++#if OPENSSL_API_COMPAT < 0x10100000L
int RAND_event(UINT iMsg, WPARAM wParam, LPARAM lParam)
{
- double add_entropy = 0;
@@ -82945,7 +95020,7 @@
/*
diff --git a/crypto/rsa/rsa_err.c b/crypto/rsa/rsa_err.c
-index 811fcfe..a92ea5d 100644
+index 811fcfe..0bde045 100644
--- a/crypto/rsa/rsa_err.c
+++ b/crypto/rsa/rsa_err.c
@@ -1,61 +1,11 @@
@@ -83030,7 +95105,7 @@
{ERR_FUNC(RSA_F_OLD_RSA_PRIV_DECODE), "old_rsa_priv_decode"},
{ERR_FUNC(RSA_F_PKEY_RSA_CTRL), "pkey_rsa_ctrl"},
{ERR_FUNC(RSA_F_PKEY_RSA_CTRL_STR), "pkey_rsa_ctrl_str"},
-@@ -86,24 +31,25 @@ static ERR_STRING_DATA RSA_str_functs[] = {
+@@ -86,24 +31,24 @@ static ERR_STRING_DATA RSA_str_functs[] = {
{ERR_FUNC(RSA_F_RSA_CHECK_KEY), "RSA_check_key"},
{ERR_FUNC(RSA_F_RSA_CHECK_KEY_EX), "RSA_check_key_ex"},
{ERR_FUNC(RSA_F_RSA_CMS_DECRYPT), "rsa_cms_decrypt"},
@@ -83040,7 +95115,7 @@
- {ERR_FUNC(RSA_F_RSA_OSSL_PUBLIC_ENCRYPT), "rsa_ossl_public_encrypt"},
- {ERR_FUNC(RSA_F_RSA_GENERATE_KEY), "RSA_generate_key"},
{ERR_FUNC(RSA_F_RSA_ITEM_VERIFY), "rsa_item_verify"},
- {ERR_FUNC(RSA_F_RSA_MEMORY_LOCK), "RSA_memory_lock"},
+- {ERR_FUNC(RSA_F_RSA_MEMORY_LOCK), "RSA_memory_lock"},
+ {ERR_FUNC(RSA_F_RSA_METH_DUP), "RSA_meth_dup"},
+ {ERR_FUNC(RSA_F_RSA_METH_NEW), "RSA_meth_new"},
+ {ERR_FUNC(RSA_F_RSA_METH_SET1_NAME), "RSA_meth_set1_name"},
@@ -83064,7 +95139,7 @@
{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_OAEP_MGF1),
"RSA_padding_add_PKCS1_OAEP_mgf1"},
{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_PSS), "RSA_padding_add_PKCS1_PSS"},
-@@ -128,13 +74,13 @@ static ERR_STRING_DATA RSA_str_functs[] = {
+@@ -128,13 +73,13 @@ static ERR_STRING_DATA RSA_str_functs[] = {
{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_X931), "RSA_padding_check_X931"},
{ERR_FUNC(RSA_F_RSA_PRINT), "RSA_print"},
{ERR_FUNC(RSA_F_RSA_PRINT_FP), "RSA_print_fp"},
@@ -83080,7 +95155,7 @@
{ERR_FUNC(RSA_F_RSA_VERIFY), "RSA_verify"},
{ERR_FUNC(RSA_F_RSA_VERIFY_ASN1_OCTET_STRING),
"RSA_verify_ASN1_OCTET_STRING"},
-@@ -150,7 +96,8 @@ static ERR_STRING_DATA RSA_str_reasons[] = {
+@@ -150,7 +95,8 @@ static ERR_STRING_DATA RSA_str_reasons[] = {
{ERR_REASON(RSA_R_BAD_SIGNATURE), "bad signature"},
{ERR_REASON(RSA_R_BLOCK_TYPE_IS_NOT_01), "block type is not 01"},
{ERR_REASON(RSA_R_BLOCK_TYPE_IS_NOT_02), "block type is not 02"},
@@ -83090,7 +95165,7 @@
{ERR_REASON(RSA_R_DATA_TOO_LARGE), "data too large"},
{ERR_REASON(RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE),
"data too large for key size"},
-@@ -171,7 +118,6 @@ static ERR_STRING_DATA RSA_str_reasons[] = {
+@@ -171,7 +117,6 @@ static ERR_STRING_DATA RSA_str_reasons[] = {
{ERR_REASON(RSA_R_INVALID_DIGEST), "invalid digest"},
{ERR_REASON(RSA_R_INVALID_DIGEST_LENGTH), "invalid digest length"},
{ERR_REASON(RSA_R_INVALID_HEADER), "invalid header"},
@@ -83098,7 +95173,7 @@
{ERR_REASON(RSA_R_INVALID_LABEL), "invalid label"},
{ERR_REASON(RSA_R_INVALID_MESSAGE_LENGTH), "invalid message length"},
{ERR_REASON(RSA_R_INVALID_MGF1_MD), "invalid mgf1 md"},
-@@ -188,7 +134,8 @@ static ERR_STRING_DATA RSA_str_reasons[] = {
+@@ -188,7 +133,8 @@ static ERR_STRING_DATA RSA_str_reasons[] = {
{ERR_REASON(RSA_R_LAST_OCTET_INVALID), "last octet invalid"},
{ERR_REASON(RSA_R_MODULUS_TOO_LARGE), "modulus too large"},
{ERR_REASON(RSA_R_NO_PUBLIC_EXPONENT), "no public exponent"},
@@ -83108,7 +95183,7 @@
{ERR_REASON(RSA_R_N_DOES_NOT_EQUAL_P_Q), "n does not equal p q"},
{ERR_REASON(RSA_R_OAEP_DECODING_ERROR), "oaep decoding error"},
{ERR_REASON(RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE),
-@@ -208,7 +155,6 @@ static ERR_STRING_DATA RSA_str_reasons[] = {
+@@ -208,7 +154,6 @@ static ERR_STRING_DATA RSA_str_reasons[] = {
{ERR_REASON(RSA_R_UNKNOWN_DIGEST), "unknown digest"},
{ERR_REASON(RSA_R_UNKNOWN_MASK_DIGEST), "unknown mask digest"},
{ERR_REASON(RSA_R_UNKNOWN_PADDING_TYPE), "unknown padding type"},
@@ -83275,7 +95350,7 @@
ok = 1;
diff --git a/crypto/rsa/rsa_lib.c b/crypto/rsa/rsa_lib.c
-index 7ee575d..9ba86d8 100644
+index 7ee575d..48e9100 100644
--- a/crypto/rsa/rsa_lib.c
+++ b/crypto/rsa/rsa_lib.c
@@ -1,58 +1,10 @@
@@ -83432,8 +95507,59 @@
}
void RSA_free(RSA *r)
-@@ -286,49 +231,79 @@ int RSA_security_bits(const RSA *rsa)
+@@ -235,50 +180,6 @@ void *RSA_get_ex_data(const RSA *r, int idx)
+ return (CRYPTO_get_ex_data(&r->ex_data, idx));
+ }
+-int RSA_memory_lock(RSA *r)
+-{
+- int i, j, k, off;
+- char *p;
+- BIGNUM *bn, **t[6], *b;
+- BN_ULONG *ul;
+-
+- if (r->d == NULL)
+- return (1);
+- t[0] = &r->d;
+- t[1] = &r->p;
+- t[2] = &r->q;
+- t[3] = &r->dmp1;
+- t[4] = &r->dmq1;
+- t[5] = &r->iqmp;
+- k = bn_sizeof_BIGNUM() * 6;
+- off = k / sizeof(BN_ULONG) + 1;
+- j = 1;
+- for (i = 0; i < 6; i++)
+- j += bn_get_top(*t[i]);
+- if ((p = OPENSSL_malloc((off + j) * sizeof(*p))) == NULL) {
+- RSAerr(RSA_F_RSA_MEMORY_LOCK, ERR_R_MALLOC_FAILURE);
+- return (0);
+- }
+- memset(p, 0, sizeof(*p) * (off + j));
+- bn = (BIGNUM *)p;
+- ul = (BN_ULONG *)&(p[off]);
+- for (i = 0; i < 6; i++) {
+- b = *(t[i]);
+- *(t[i]) = bn_array_el(bn, i);
+- memcpy(bn_array_el(bn, i), b, bn_sizeof_BIGNUM());
+- memcpy(ul, bn_get_words(b), sizeof(*ul) * bn_get_top(b));
+- bn_set_static_words(bn_array_el(bn, i), ul, bn_get_top(b));
+- ul += bn_get_top(b);
+- BN_clear_free(b);
+- }
+-
+- /* I should fix this so it can still be done */
+- r->flags &= ~(RSA_FLAG_CACHE_PRIVATE | RSA_FLAG_CACHE_PUBLIC);
+-
+- r->bignum_data = p;
+- return (1);
+-}
+-
+ int RSA_security_bits(const RSA *rsa)
+ {
+ return BN_security_bits(BN_num_bits(rsa->n), -1);
+@@ -286,49 +187,79 @@ int RSA_security_bits(const RSA *rsa)
+
int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d)
{
- /* d is the private component and may be NULL */
@@ -83533,7 +95659,7 @@
{
if (n != NULL)
*n = r->n;
-@@ -338,7 +313,7 @@ void RSA_get0_key(const RSA *r, BIGNUM **n, BIGNUM **e, BIGNUM **d)
+@@ -338,7 +269,7 @@ void RSA_get0_key(const RSA *r, BIGNUM **n, BIGNUM **e, BIGNUM **d)
*d = r->d;
}
@@ -83542,7 +95668,7 @@
{
if (p != NULL)
*p = r->p;
-@@ -347,7 +322,8 @@ void RSA_get0_factors(const RSA *r, BIGNUM **p, BIGNUM **q)
+@@ -347,7 +278,8 @@ void RSA_get0_factors(const RSA *r, BIGNUM **p, BIGNUM **q)
}
void RSA_get0_crt_params(const RSA *r,
@@ -83552,6 +95678,15 @@
{
if (dmp1 != NULL)
*dmp1 = r->dmp1;
+@@ -372,7 +304,7 @@ void RSA_set_flags(RSA *r, int flags)
+ r->flags |= flags;
+ }
+
+-ENGINE *RSA_get0_engine(RSA *r)
++ENGINE *RSA_get0_engine(const RSA *r)
+ {
+ return r->engine;
+ }
diff --git a/crypto/rsa/rsa_locl.h b/crypto/rsa/rsa_locl.h
index 598fcb7..5d16aa6 100644
--- a/crypto/rsa/rsa_locl.h
@@ -84254,7 +96389,7 @@
}
ret = 1;
diff --git a/crypto/rsa/rsa_pk1.c b/crypto/rsa/rsa_pk1.c
-index 68d251b..bac7c26 100644
+index 68d251b..efb16a0 100644
--- a/crypto/rsa/rsa_pk1.c
+++ b/crypto/rsa/rsa_pk1.c
@@ -1,58 +1,10 @@
@@ -84322,6 +96457,15 @@
*/
#include "internal/constant_time_locl.h"
+@@ -231,7 +183,7 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen,
+ /*
+ * Always do this zero-padding copy (even when num == flen) to avoid
+ * leaking that information. The copy still leaks some side-channel
+- * information, but it's impossible to have a fixed memory access
++ * information, but it's impossible to have a fixed memory access
+ * pattern since we can't read out of the bounds of |from|.
+ *
+ * TODO(emilia): Consider porting BN_bn2bin_padded from BoringSSL.
diff --git a/crypto/rsa/rsa_pmeth.c b/crypto/rsa/rsa_pmeth.c
index b128d73..767c4e7 100644
--- a/crypto/rsa/rsa_pmeth.c
@@ -87139,7 +99283,7 @@
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/crypto/stack/stack.c b/crypto/stack/stack.c
-index d486f33..0076db1 100644
+index d486f33..02be8af 100644
--- a/crypto/stack/stack.c
+++ b/crypto/stack/stack.c
@@ -1,59 +1,12 @@
@@ -87231,34 +99375,50 @@
if (sk->comp != c)
sk->sorted = 0;
-@@ -83,12 +36,12 @@ int (*sk_set_cmp_func(_STACK *sk, int (*c) (const void *, const void *)))
+@@ -83,49 +36,44 @@ int (*sk_set_cmp_func(_STACK *sk, int (*c) (const void *, const void *)))
return old;
}
-_STACK *sk_dup(_STACK *sk)
-+OPENSSL_STACK *OPENSSL_sk_dup(OPENSSL_STACK *sk)
++OPENSSL_STACK *OPENSSL_sk_dup(const OPENSSL_STACK *sk)
{
- _STACK *ret;
+- char **s;
+ OPENSSL_STACK *ret;
- char **s;
- if ((ret = sk_new(sk->comp)) == NULL)
-+ if ((ret = OPENSSL_sk_new(sk->comp)) == NULL)
- goto err;
- s = OPENSSL_realloc((char *)ret->data,
- (unsigned int)sizeof(char *) * sk->num_alloc);
-@@ -103,17 +56,17 @@ _STACK *sk_dup(_STACK *sk)
- ret->comp = sk->comp;
- return (ret);
+- goto err;
+- s = OPENSSL_realloc((char *)ret->data,
+- (unsigned int)sizeof(char *) * sk->num_alloc);
+- if (s == NULL)
+- goto err;
+- ret->data = s;
++ if ((ret = OPENSSL_malloc(sizeof(*ret))) == NULL)
++ return NULL;
++
++ /* direct structure assignment */
++ *ret = *sk;
+
+- ret->num = sk->num;
++ if ((ret->data = OPENSSL_malloc(sizeof(*ret->data) * sk->num_alloc)) == NULL)
++ goto err;
+ memcpy(ret->data, sk->data, sizeof(char *) * sk->num);
+- ret->sorted = sk->sorted;
+- ret->num_alloc = sk->num_alloc;
+- ret->comp = sk->comp;
+- return (ret);
++ return ret;
err:
- sk_free(ret);
+- return (NULL);
+ OPENSSL_sk_free(ret);
- return (NULL);
++ return NULL;
}
-_STACK *sk_deep_copy(_STACK *sk, void *(*copy_func) (void *),
- void (*free_func) (void *))
-+OPENSSL_STACK *OPENSSL_sk_deep_copy(OPENSSL_STACK *sk, OPENSSL_sk_copyfunc copy_func,
++OPENSSL_STACK *OPENSSL_sk_deep_copy(const OPENSSL_STACK *sk,
++ OPENSSL_sk_copyfunc copy_func,
+ OPENSSL_sk_freefunc free_func)
{
- _STACK *ret;
@@ -87266,11 +99426,29 @@
int i;
- if ((ret = OPENSSL_malloc(sizeof(_STACK))) == NULL)
+- return ret;
+- ret->comp = sk->comp;
+- ret->sorted = sk->sorted;
+- ret->num = sk->num;
+ if ((ret = OPENSSL_malloc(sizeof(*ret))) == NULL)
- return ret;
- ret->comp = sk->comp;
- ret->sorted = sk->sorted;
-@@ -134,23 +87,23 @@ _STACK *sk_deep_copy(_STACK *sk, void *(*copy_func) (void *),
++ return NULL;
++
++ /* direct structure assignment */
++ *ret = *sk;
++
+ ret->num_alloc = sk->num > MIN_NODES ? sk->num : MIN_NODES;
+- ret->data = OPENSSL_malloc(sizeof(*ret->data) * ret->num_alloc);
++ ret->data = OPENSSL_zalloc(sizeof(*ret->data) * ret->num_alloc);
+ if (ret->data == NULL) {
+ OPENSSL_free(ret);
+ return NULL;
+ }
+- for (i = 0; i < ret->num_alloc; i++)
+- ret->data[i] = NULL;
+
+ for (i = 0; i < ret->num; ++i) {
+ if (sk->data[i] == NULL)
+@@ -134,23 +82,23 @@ _STACK *sk_deep_copy(_STACK *sk, void *(*copy_func) (void *),
while (--i >= 0)
if (ret->data[i] != NULL)
free_func(ret->data[i]);
@@ -87300,7 +99478,7 @@
goto err;
if ((ret->data = OPENSSL_zalloc(sizeof(*ret->data) * MIN_NODES)) == NULL)
goto err;
-@@ -163,7 +116,7 @@ _STACK *sk_new(int (*c) (const void *, const void *))
+@@ -163,7 +111,7 @@ _STACK *sk_new(int (*c) (const void *, const void *))
return (NULL);
}
@@ -87309,7 +99487,7 @@
{
char **s;
-@@ -189,22 +142,22 @@ int sk_insert(_STACK *st, void *data, int loc)
+@@ -189,22 +137,22 @@ int sk_insert(_STACK *st, void *data, int loc)
return (st->num);
}
@@ -87337,7 +99515,7 @@
return NULL;
ret = st->data[loc];
-@@ -221,7 +174,8 @@ void *sk_delete(_STACK *st, int loc)
+@@ -221,7 +169,8 @@ void *sk_delete(_STACK *st, int loc)
return (ret);
}
@@ -87347,7 +99525,7 @@
{
const void *const *r;
int i;
-@@ -235,7 +189,7 @@ static int internal_find(_STACK *st, void *data, int ret_val_options)
+@@ -235,7 +184,7 @@ static int internal_find(_STACK *st, void *data, int ret_val_options)
return (i);
return (-1);
}
@@ -87356,7 +99534,7 @@
if (data == NULL)
return (-1);
r = OBJ_bsearch_ex_(&data, st->data, st->num, sizeof(void *), st->comp,
-@@ -245,45 +199,45 @@ static int internal_find(_STACK *st, void *data, int ret_val_options)
+@@ -245,45 +194,45 @@ static int internal_find(_STACK *st, void *data, int ret_val_options)
return (int)((char **)r - st->data);
}
@@ -87413,7 +99591,7 @@
{
if (st == NULL)
return;
-@@ -293,7 +247,7 @@ void sk_zero(_STACK *st)
+@@ -293,7 +242,7 @@ void sk_zero(_STACK *st)
st->num = 0;
}
@@ -87422,7 +99600,7 @@
{
int i;
-@@ -302,10 +256,10 @@ void sk_pop_free(_STACK *st, void (*func) (void *))
+@@ -302,10 +251,10 @@ void sk_pop_free(_STACK *st, void (*func) (void *))
for (i = 0; i < st->num; i++)
if (st->data[i] != NULL)
func(st->data[i]);
@@ -87435,7 +99613,7 @@
{
if (st == NULL)
return;
-@@ -313,48 +267,38 @@ void sk_free(_STACK *st)
+@@ -313,48 +262,38 @@ void sk_free(_STACK *st)
OPENSSL_free(st);
}
@@ -88546,7 +100724,7 @@
#include <stdio.h>
diff --git a/crypto/ts/ts_rsp_verify.c b/crypto/ts/ts_rsp_verify.c
-index 89b86e1..21da8aa 100644
+index 89b86e1..0916636 100644
--- a/crypto/ts/ts_rsp_verify.c
+++ b/crypto/ts/ts_rsp_verify.c
@@ -1,59 +1,10 @@
@@ -88619,14 +100797,14 @@
unsigned imprint_len = 0;
int ret = 0;
+ int flags = ctx->flags;
-+
+
+- if ((ctx->flags & TS_VFY_SIGNATURE)
+ /* Some options require us to also check the signature */
+ if (((flags & TS_VFY_SIGNER) && tsa_name != NULL)
+ || (flags & TS_VFY_TSA_NAME)) {
+ flags |= TS_VFY_SIGNATURE;
+ }
-
-- if ((ctx->flags & TS_VFY_SIGNATURE)
++
+ if ((flags & TS_VFY_SIGNATURE)
&& !TS_RESP_verify_signature(token, ctx->certs, ctx->store, &signer))
goto err;
@@ -88666,6 +100844,15 @@
&& !ts_check_signer_name(ctx->tsa_name, signer)) {
TSerr(TS_F_INT_TS_RESP_VERIFY_TOKEN, TS_R_TSA_UNTRUSTED);
goto err;
+@@ -505,7 +463,7 @@ static char *ts_get_status_text(STACK_OF(ASN1_UTF8STRING) *text)
+ TSerr(TS_F_TS_GET_STATUS_TEXT, ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+-
++
+ for (i = 0, p = result; i < sk_ASN1_UTF8STRING_num(text); ++i) {
+ ASN1_UTF8STRING *current = sk_ASN1_UTF8STRING_value(text, i);
+ length = ASN1_STRING_length(current);
diff --git a/crypto/ts/ts_verify_ctx.c b/crypto/ts/ts_verify_ctx.c
index b650a00..141385d 100644
--- a/crypto/ts/ts_verify_ctx.c
@@ -89572,7 +101759,7 @@
* The Whirlpool hashing function.
*
diff --git a/crypto/whrlpool/wp_dgst.c b/crypto/whrlpool/wp_dgst.c
-index eeb420c..d852db6 100644
+index eeb420c..ed06424 100644
--- a/crypto/whrlpool/wp_dgst.c
+++ b/crypto/whrlpool/wp_dgst.c
@@ -1,3 +1,12 @@
@@ -89588,6 +101775,23 @@
/**
* The Whirlpool hashing function.
*
+@@ -51,6 +60,7 @@
+ * input. This is done for performance.
+ */
+
++#include <openssl/crypto.h>
+ #include "wp_locl.h"
+ #include <string.h>
+
+@@ -236,7 +246,7 @@ int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c)
+
+ if (md) {
+ memcpy(md, c->H.c, WHIRLPOOL_DIGEST_LENGTH);
+- memset(c, 0, sizeof(*c));
++ OPENSSL_cleanse(c, sizeof(*c));
+ return (1);
+ }
+ return (0);
diff --git a/crypto/whrlpool/wp_locl.h b/crypto/whrlpool/wp_locl.h
index 6e7b549..3a81cfd 100644
--- a/crypto/whrlpool/wp_locl.h
@@ -91024,7 +103228,7 @@
{
return ctx->ctx;
diff --git a/crypto/x509/x509_obj.c b/crypto/x509/x509_obj.c
-index 8b4d436..ccec20d 100644
+index 8b4d436..76fb047 100644
--- a/crypto/x509/x509_obj.c
+++ b/crypto/x509/x509_obj.c
@@ -1,58 +1,10 @@
@@ -91098,7 +103302,7 @@
+/*
+ * Limit to ensure we don't overflow: much greater than
-+ * anything enountered in practice.
++ * anything encountered in practice.
+ */
+
+#define NAME_ONELINE_MAX (1024 * 1024)
@@ -91694,7 +103898,7 @@
int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit)
diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c
-index efa6bca..1592084 100644
+index efa6bca..c8ebc50 100644
--- a/crypto/x509/x509_vfy.c
+++ b/crypto/x509/x509_vfy.c
@@ -1,58 +1,10 @@
@@ -91817,7 +104021,20 @@
}
/*
-@@ -573,10 +533,24 @@ static int check_chain_extensions(X509_STORE_CTX *ctx)
+@@ -501,12 +461,6 @@ static int check_chain_extensions(X509_STORE_CTX *ctx)
+ } else {
+ allow_proxy_certs =
+ ! !(ctx->param->flags & X509_V_FLAG_ALLOW_PROXY_CERTS);
+- /*
+- * A hack to keep people who don't want to modify their software
+- * happy
+- */
+- if (getenv("OPENSSL_ALLOW_PROXY_CERTS"))
+- allow_proxy_certs = 1;
+ purpose = ctx->param->purpose;
+ }
+
+@@ -573,10 +527,24 @@ static int check_chain_extensions(X509_STORE_CTX *ctx)
* the next certificate must be a CA certificate.
*/
if (x->ex_flags & EXFLAG_PROXY) {
@@ -91846,7 +104063,7 @@
}
proxy_path_length++;
must_be_ca = 0;
-@@ -598,6 +572,79 @@ static int check_name_constraints(X509_STORE_CTX *ctx)
+@@ -598,6 +566,79 @@ static int check_name_constraints(X509_STORE_CTX *ctx)
/* Ignore self issued certs unless last in chain */
if (i && (x->ex_flags & EXFLAG_SI))
continue;
@@ -91926,7 +104143,7 @@
/*
* Check against constraints for all certificates higher in chain
* including trust anchor. Trust anchor not strictly speaking needed
-@@ -610,8 +657,16 @@ static int check_name_constraints(X509_STORE_CTX *ctx)
+@@ -610,8 +651,16 @@ static int check_name_constraints(X509_STORE_CTX *ctx)
if (nc) {
int rv = NAME_CONSTRAINTS_check(x, nc);
@@ -91944,7 +104161,7 @@
}
}
}
-@@ -1505,6 +1560,7 @@ static int check_policy(X509_STORE_CTX *ctx)
+@@ -1505,6 +1554,7 @@ static int check_policy(X509_STORE_CTX *ctx)
*/
if (ctx->bare_ta_signed && !sk_X509_push(ctx->chain, NULL)) {
X509err(X509_F_CHECK_POLICY, ERR_R_MALLOC_FAILURE);
@@ -91952,7 +104169,7 @@
return 0;
}
ret = X509_policy_check(&ctx->tree, &ctx->explicit_policy, ctx->chain,
-@@ -1514,6 +1570,7 @@ static int check_policy(X509_STORE_CTX *ctx)
+@@ -1514,6 +1564,7 @@ static int check_policy(X509_STORE_CTX *ctx)
if (ret == X509_PCY_TREE_INTERNAL) {
X509err(X509_F_CHECK_POLICY, ERR_R_MALLOC_FAILURE);
@@ -91960,7 +104177,7 @@
return 0;
}
/* Invalid or inconsistent extensions */
-@@ -1544,7 +1601,12 @@ static int check_policy(X509_STORE_CTX *ctx)
+@@ -1544,7 +1595,12 @@ static int check_policy(X509_STORE_CTX *ctx)
if (ctx->param->flags & X509_V_FLAG_NOTIFY_POLICY) {
ctx->current_cert = NULL;
@@ -91974,7 +104191,7 @@
if (!ctx->verify_cb(2, ctx))
return 0;
}
-@@ -1989,11 +2051,21 @@ int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx)
+@@ -1989,11 +2045,21 @@ int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx)
return ctx->error_depth;
}
@@ -91996,7 +104213,7 @@
STACK_OF(X509) *X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx)
{
return ctx->chain;
-@@ -2161,11 +2233,10 @@ int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509,
+@@ -2161,11 +2227,10 @@ int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509,
/* Zero ex_data to make sure we're cleanup-safe */
memset(&ctx->ex_data, 0, sizeof(ctx->ex_data));
@@ -92011,7 +104228,7 @@
ctx->cleanup = 0;
if (store && store->check_issued)
-@@ -2211,12 +2282,12 @@ int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509,
+@@ -2211,12 +2276,12 @@ int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509,
if (store && store->lookup_certs)
ctx->lookup_certs = store->lookup_certs;
else
@@ -92026,7 +104243,16 @@
ctx->check_policy = check_policy;
-@@ -2549,9 +2620,9 @@ static int dane_match(X509_STORE_CTX *ctx, X509 *cert, int depth)
+@@ -2467,7 +2532,7 @@ static int dane_match(X509_STORE_CTX *ctx, X509 *cert, int depth)
+
+ /*
+ * If we've previously matched a PKIX-?? record, no need to test any
+- * further PKIX-?? records, it remains to just build the PKIX chain.
++ * further PKIX-?? records, it remains to just build the PKIX chain.
+ * Had the match been a DANE-?? record, we'd be done already.
+ */
+ if (dane->mdpth >= 0)
+@@ -2549,9 +2614,9 @@ static int dane_match(X509_STORE_CTX *ctx, X509 *cert, int depth)
cmplen = i2dlen;
if (md != NULL) {
@@ -92039,7 +104265,7 @@
break;
}
}
-@@ -2781,15 +2852,31 @@ static int build_chain(X509_STORE_CTX *ctx)
+@@ -2781,15 +2846,31 @@ static int build_chain(X509_STORE_CTX *ctx)
*/
if (ctx->untrusted && (sktmp = sk_X509_dup(ctx->untrusted)) == NULL) {
X509err(X509_F_BUILD_CHAIN, ERR_R_MALLOC_FAILURE);
@@ -92072,7 +104298,7 @@
return 0;
}
}
-@@ -2853,6 +2940,7 @@ static int build_chain(X509_STORE_CTX *ctx)
+@@ -2853,6 +2934,7 @@ static int build_chain(X509_STORE_CTX *ctx)
if (ok < 0) {
trust = X509_TRUST_REJECTED;
@@ -92080,7 +104306,7 @@
search = 0;
continue;
}
-@@ -2899,6 +2987,7 @@ static int build_chain(X509_STORE_CTX *ctx)
+@@ -2899,6 +2981,7 @@ static int build_chain(X509_STORE_CTX *ctx)
X509_free(xtmp);
X509err(X509_F_BUILD_CHAIN, ERR_R_MALLOC_FAILURE);
trust = X509_TRUST_REJECTED;
@@ -92088,7 +104314,7 @@
search = 0;
continue;
}
-@@ -2995,6 +3084,7 @@ static int build_chain(X509_STORE_CTX *ctx)
+@@ -2995,6 +3078,7 @@ static int build_chain(X509_STORE_CTX *ctx)
if (!sk_X509_push(ctx->chain, xtmp)) {
X509err(X509_F_BUILD_CHAIN, ERR_R_MALLOC_FAILURE);
trust = X509_TRUST_REJECTED;
@@ -94072,7 +106298,7 @@
/*
diff --git a/crypto/x509v3/v3_addr.c b/crypto/x509v3/v3_addr.c
-index 49d0d4d..be8ca5d 100644
+index 49d0d4d..ef1d775 100644
--- a/crypto/x509v3/v3_addr.c
+++ b/crypto/x509v3/v3_addr.c
@@ -1,58 +1,10 @@
@@ -94139,6 +106365,15 @@
*/
/*
+@@ -734,7 +686,7 @@ int X509v3_addr_is_canonical(IPAddrBlocks *addr)
+ int i, j, k;
+
+ /*
+- * Empty extension is cannonical.
++ * Empty extension is canonical.
+ */
+ if (addr == NULL)
+ return 1;
@@ -897,7 +849,8 @@ static int IPAddressOrRanges_canonize(IPAddressOrRanges *aors,
IPAddressOrRange *a = sk_IPAddressOrRange_value(aors, j);
if (a != NULL && a->type == IPAddressOrRange_addressRange) {
@@ -103120,7 +115355,7 @@
+
+=cut
diff --git a/doc/crypto/BIO_s_file.pod b/doc/crypto/BIO_s_file.pod
-index 5ba0d34..5eb564d 100644
+index 5ba0d34..ff23269 100644
--- a/doc/crypto/BIO_s_file.pod
+++ b/doc/crypto/BIO_s_file.pod
@@ -10,7 +10,7 @@ BIO_rw_filename - FILE bio
@@ -103132,6 +115367,15 @@
BIO *BIO_new_file(const char *filename, const char *mode);
BIO *BIO_new_fp(FILE *stream, int flags);
+@@ -128,7 +128,7 @@ BIO_seek() returns the same value as the underlying fseek() function:
+
+ BIO_tell() returns the current file position.
+
+-BIO_read_filename(), BIO_write_filename(), BIO_append_filename() and
++BIO_read_filename(), BIO_write_filename(), BIO_append_filename() and
+ BIO_rw_filename() return 1 for success or 0 for failure.
+
+ =head1 BUGS
@@ -146,3 +146,14 @@ L<BIO_read(3)>,
L<BIO_write(3)>, L<BIO_puts(3)>,
L<BIO_gets(3)>, L<BIO_printf(3)>,
@@ -103766,7 +116010,7 @@
+
=cut
diff --git a/doc/crypto/BN_mod_mul_reciprocal.pod b/doc/crypto/BN_mod_mul_reciprocal.pod
-index f03feb2..23832b3 100644
+index f03feb2..d0536cd 100644
--- a/doc/crypto/BN_mod_mul_reciprocal.pod
+++ b/doc/crypto/BN_mod_mul_reciprocal.pod
@@ -2,7 +2,7 @@
@@ -103774,7 +116018,7 @@
=head1 NAME
-BN_mod_mul_reciprocal, BN_div_recp, BN_RECP_CTX_new, BN_RECP_CTX_init,
-+BN_mod_mul_reciprocal, BN_div_recp, BN_RECP_CTX_new,
++BN_mod_mul_reciprocal, BN_div_recp, BN_RECP_CTX_new,
BN_RECP_CTX_free, BN_RECP_CTX_set - modular multiplication using
reciprocal
@@ -104862,7 +117106,7 @@
=cut
diff --git a/doc/crypto/DEFINE_STACK_OF.pod b/doc/crypto/DEFINE_STACK_OF.pod
new file mode 100644
-index 0000000..996bfcd
+index 0000000..94e483f
--- /dev/null
+++ b/doc/crypto/DEFINE_STACK_OF.pod
@@ -0,0 +1,222 @@
@@ -104918,8 +117162,8 @@
+ int sk_TYPE_find_ex(STACK_OF(TYPE) *sk, TYPE *ptr);
+ void sk_TYPE_sort(const STACK_OF(TYPE) *sk);
+ int sk_TYPE_is_sorted(const STACK_OF(TYPE) *sk);
-+ STACK_OF(TYPE) *sk_TYPE_dup(STACK_OF(TYPE) *sk);
-+ STACK_OF(TYPE) *sk_TYPE_deep_copy(STACK_OF(TYPE) *sk,
++ STACK_OF(TYPE) *sk_TYPE_dup(const STACK_OF(TYPE) *sk);
++ STACK_OF(TYPE) *sk_TYPE_deep_copy(const STACK_OF(TYPE) *sk,
+ sk_TYPE_copyfunc copyfunc,
+ sk_TYPE_freefunc freefunc);
+ sk_TYPE_compfunc (*sk_TYPE_set_cmp_func(STACK_OF(TYPE) *sk, sk_TYPE_compfunc compare);
@@ -106309,15 +118553,16 @@
+=cut
diff --git a/doc/crypto/ECPKParameters_print.pod b/doc/crypto/ECPKParameters_print.pod
new file mode 100644
-index 0000000..20b9cc7
+index 0000000..c9c3628
--- /dev/null
+++ b/doc/crypto/ECPKParameters_print.pod
-@@ -0,0 +1,43 @@
+@@ -0,0 +1,44 @@
+=pod
+
+=head1 NAME
+
-+ECPKParameters_print, ECPKParameters_print_fp - Functions for decoding and encoding ASN1 representations of elliptic curve entities
++ECPKParameters_print, ECPKParameters_print_fp - Functions for decoding and
++encoding ASN1 representations of elliptic curve entities
+
+=head1 SYNOPSIS
+
@@ -107588,7 +119833,7 @@
+
=cut
diff --git a/doc/crypto/ERR_remove_state.pod b/doc/crypto/ERR_remove_state.pod
-index b011182..f985104 100644
+index b011182..f2e71e3 100644
--- a/doc/crypto/ERR_remove_state.pod
+++ b/doc/crypto/ERR_remove_state.pod
@@ -2,44 +2,52 @@
@@ -107623,7 +119868,7 @@
-threads, they must be freed when threads are terminated in order to
-avoid memory leaks.
+The functions described here were used to free the error queue
-+associated with the current or specificed thread.
++associated with the current or specified thread.
-ERR_remove_state is deprecated and has been replaced by
-ERR_remove_thread_state. Any argument to this function is ignored and
@@ -107727,7 +119972,7 @@
+
=cut
diff --git a/doc/crypto/EVP_CIPHER_meth_new.pod b/doc/crypto/EVP_CIPHER_meth_new.pod
-index 499133f..f9b1f6e 100644
+index 499133f..6e18ed5 100644
--- a/doc/crypto/EVP_CIPHER_meth_new.pod
+++ b/doc/crypto/EVP_CIPHER_meth_new.pod
@@ -19,7 +19,7 @@ EVP_CIPHER_meth_get_ctrl - Routines to build up EVP_CIPHER methods
@@ -107808,6 +120053,15 @@
=back
+@@ -224,7 +196,7 @@ EVP_EncryptFinal(), EVP_EncryptFinal_ex(), EVP_DecryptFinal() and
+ EVP_DecryptFinal_ex().
+
+ EVP_CIPHER_meth_set_cleanup() sets the function for B<cipher> to do
+-extra cleanup before the method's privata data structure is cleaned
++extra cleanup before the method's private data structure is cleaned
+ out and freed.
+ Note that the cleanup function is passed a B<EVP_CIPHER_CTX *>, the
+ private data structure is then available with
@@ -234,6 +206,7 @@ EVP_CIPHER_CTX_free().
EVP_CIPHER_meth_set_ctrl() sets the control function for B<cipher>.
@@ -108149,9 +120403,18 @@
+
+=cut
diff --git a/doc/crypto/EVP_EncryptInit.pod b/doc/crypto/EVP_EncryptInit.pod
-index b42b64c..7b53302 100644
+index b42b64c..093618d 100644
--- a/doc/crypto/EVP_EncryptInit.pod
+++ b/doc/crypto/EVP_EncryptInit.pod
+@@ -16,7 +16,7 @@ EVP_CIPHER_CTX_nid, EVP_CIPHER_CTX_block_size, EVP_CIPHER_CTX_key_length,
+ EVP_CIPHER_CTX_iv_length, EVP_CIPHER_CTX_get_app_data,
+ EVP_CIPHER_CTX_set_app_data, EVP_CIPHER_CTX_type, EVP_CIPHER_CTX_flags,
+ EVP_CIPHER_CTX_mode, EVP_CIPHER_param_to_asn1, EVP_CIPHER_asn1_to_param,
+-EVP_CIPHER_CTX_set_padding, EVP_enc_null, EVP_des_cbc, EVP_des_ecb,
++EVP_CIPHER_CTX_set_padding, EVP_enc_null, EVP_des_cbc, EVP_des_ecb,
+ EVP_des_cfb, EVP_des_ofb, EVP_des_ede_cbc, EVP_des_ede, EVP_des_ede_ofb,
+ EVP_des_ede_cfb, EVP_des_ede3_cbc, EVP_des_ede3, EVP_des_ede3_ofb,
+ EVP_des_ede3_cfb, EVP_desx_cbc, EVP_rc4, EVP_rc4_40, EVP_idea_cbc,
@@ -31,6 +31,8 @@ EVP_aes_256_cbc, EVP_aes_256_ecb, EVP_aes_256_cfb, EVP_aes_256_ofb,
EVP_aes_128_gcm, EVP_aes_192_gcm, EVP_aes_256_gcm,
EVP_aes_128_ccm, EVP_aes_192_ccm, EVP_aes_256_ccm - EVP cipher routines
@@ -108207,8 +120470,19 @@
int EVP_CIPHER_CTX_mode(const EVP_CIPHER_CTX *ctx);
int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
-@@ -221,7 +220,7 @@ B<EVP_MAX_IV_LENGTH> is the maximum IV length for all ciphers.
+@@ -138,7 +137,9 @@ multiple times to encrypt successive blocks of data. The amount
+ of data written depends on the block alignment of the encrypted data:
+ as a result the amount of data written may be anything from zero bytes
+ to (inl + cipher_block_size - 1) so B<out> should contain sufficient
+-room. The actual number of bytes written is placed in B<outl>.
++room. The actual number of bytes written is placed in B<outl>. It also
++checks if B<in> and B<out> are partially overlapping, and if they are
++0 is returned to indicate failure.
+ If padding is enabled (the default) then EVP_EncryptFinal_ex() encrypts
+ the "final" data, that is any data that remains in a partial block.
+@@ -221,7 +222,7 @@ B<EVP_MAX_IV_LENGTH> is the maximum IV length for all ciphers.
+
EVP_CIPHER_block_size() and EVP_CIPHER_CTX_block_size() return the block
size of a cipher when passed an B<EVP_CIPHER> or B<EVP_CIPHER_CTX>
-structure. The constant B<EVP_MAX_IV_LENGTH> is also the maximum block
@@ -108216,8 +120490,22 @@
length for all ciphers.
EVP_CIPHER_type() and EVP_CIPHER_CTX_type() return the type of the passed
-@@ -384,13 +383,13 @@ bits and 12 rounds.
+@@ -326,11 +327,11 @@ AES with a 256-bit key in CBC, ECB, CFB and OFB modes respectively.
+ DES in CBC, ECB, CFB and OFB modes respectively.
+
+-=item EVP_des_ede_cbc(), EVP_des_ede(), EVP_des_ede_ofb(), EVP_des_ede_cfb()
++=item EVP_des_ede_cbc(), EVP_des_ede(), EVP_des_ede_ofb(), EVP_des_ede_cfb()
+
+ Two key triple DES in CBC, ECB, CFB and OFB modes respectively.
+
+-=item EVP_des_ede3_cbc(), EVP_des_ede3(), EVP_des_ede3_ofb(), EVP_des_ede3_cfb()
++=item EVP_des_ede3_cbc(), EVP_des_ede3(), EVP_des_ede3_ofb(), EVP_des_ede3_cfb()
+
+ Three key triple DES in CBC, ECB, CFB and OFB modes respectively.
+
+@@ -384,13 +385,13 @@ bits and 12 rounds.
+
AES Galois Counter Mode (GCM) for 128, 192 and 256 bit keys respectively.
These ciphers require additional control operations to function correctly: see
-the L</GCM and OCB modes> section below for details.
@@ -108233,7 +120521,7 @@
=item EVP_aes_128_ccm(), EVP_aes_192_ccm(), EVP_aes_256_ccm()
-@@ -526,46 +525,46 @@ for certain common S/MIME ciphers (RC2, DES, triple DES) in CBC mode.
+@@ -526,46 +527,46 @@ for certain common S/MIME ciphers (RC2, DES, triple DES) in CBC mode.
Encrypt a string using IDEA:
int do_crypt(char *outfile)
@@ -108319,7 +120607,7 @@
The ciphertext from the above example can be decrypted using the B<openssl>
utility with the command line (shown on two lines for clarity):
-@@ -577,50 +576,50 @@ General encryption and decryption function example using FILE I/O and AES128
+@@ -577,50 +578,50 @@ General encryption and decryption function example using FILE I/O and AES128
with a 128-bit key:
int do_crypt(FILE *in, FILE *out, int do_encrypt)
@@ -108414,7 +120702,7 @@
=head1 SEE ALSO
-@@ -636,4 +635,13 @@ EVP_CIPHER_CTX_reset() appeared and EVP_CIPHER_CTX_cleanup()
+@@ -636,4 +637,13 @@ EVP_CIPHER_CTX_reset() appeared and EVP_CIPHER_CTX_cleanup()
disappeared. EVP_CIPHER_CTX_init() remains as an alias for
EVP_CIPHER_CTX_reset().
@@ -108429,7 +120717,7 @@
+
=cut
diff --git a/doc/crypto/EVP_MD_meth_new.pod b/doc/crypto/EVP_MD_meth_new.pod
-index 0bab127..6aab174 100644
+index 0bab127..c15a31e 100644
--- a/doc/crypto/EVP_MD_meth_new.pod
+++ b/doc/crypto/EVP_MD_meth_new.pod
@@ -2,6 +2,7 @@
@@ -108470,6 +120758,15 @@
int EVP_MD_meth_set_cleanup(EVP_MD *md, int (*cleanup)(EVP_MD_CTX *ctx));
int EVP_MD_meth_set_ctrl(EVP_MD *md, int (*ctrl)(EVP_MD_CTX *ctx, int cmd,
int p1, void *p2));
+@@ -130,7 +131,7 @@ This copy function is called by EVP_MD_CTX_copy() and
+ EVP_MD_CTX_copy_ex().
+
+ EVP_MD_meth_set_cleanup() sets the function for B<md> to do extra
+-cleanup before the method's privata data structure is cleaned out and
++cleanup before the method's private data structure is cleaned out and
+ freed.
+ Note that the cleanup function is passed a B<EVP_MD_CTX *>, the
+ private data structure is then available with EVP_MD_CTX_md_data().
@@ -157,4 +158,13 @@ L<EVP_DigestInit(3)>, L<EVP_SignInit(3)>, L<EVP_VerifyInit(3)>
The B<EVP_MD> structure was openly available in OpenSSL before version
1.1. The functions described here were added in OpenSSL version 1.1.
@@ -108522,7 +120819,7 @@
=cut
diff --git a/doc/crypto/EVP_PKEY_CTX_ctrl.pod b/doc/crypto/EVP_PKEY_CTX_ctrl.pod
-index cc27e54..c9b7fdd 100644
+index cc27e54..a30450b 100644
--- a/doc/crypto/EVP_PKEY_CTX_ctrl.pod
+++ b/doc/crypto/EVP_PKEY_CTX_ctrl.pod
@@ -16,9 +16,9 @@ EVP_PKEY_CTX_set_ec_param_enc - algorithm specific control operations
@@ -108537,8 +120834,18 @@
#include <openssl/rsa.h>
-@@ -141,4 +141,13 @@ L<EVP_PKEY_keygen(3)>
+@@ -78,7 +78,8 @@ to PKCS#1 when signing and this structure is expected (and stripped off) when
+ verifying. If this control is not used with RSA and PKCS#1 padding then the
+ supplied data is used directly and not encapsulated. In the case of X9.31
+ padding for RSA the algorithm identifier byte is added or checked and removed
+-if this control is called. If it is not called then the first byte of the plaintext buffer is expected to be the algorithm identifier byte.
++if this control is called. If it is not called then the first byte of the plaintext
++buffer is expected to be the algorithm identifier byte.
+ The EVP_PKEY_CTX_set_rsa_pss_saltlen() macro sets the RSA PSS salt length to
+ B<len> as its name implies it is only supported for PSS padding. Two special
+@@ -141,4 +142,13 @@ L<EVP_PKEY_keygen(3)>
+
These functions were first added to OpenSSL 1.0.0.
+=head1 COPYRIGHT
@@ -108624,10 +120931,20 @@
+
=cut
diff --git a/doc/crypto/EVP_PKEY_cmp.pod b/doc/crypto/EVP_PKEY_cmp.pod
-index 9e0107f..7c9e582 100644
+index 9e0107f..270d635 100644
--- a/doc/crypto/EVP_PKEY_cmp.pod
+++ b/doc/crypto/EVP_PKEY_cmp.pod
-@@ -21,7 +21,9 @@ parameters of B<pkey> are missing and 0 if they are present or the algorithm
+@@ -2,7 +2,8 @@
+
+ =head1 NAME
+
+-EVP_PKEY_copy_parameters, EVP_PKEY_missing_parameters, EVP_PKEY_cmp_parameters, EVP_PKEY_cmp - public key parameter and comparison functions
++EVP_PKEY_copy_parameters, EVP_PKEY_missing_parameters, EVP_PKEY_cmp_parameters,
++EVP_PKEY_cmp - public key parameter and comparison functions
+
+ =head1 SYNOPSIS
+
+@@ -21,7 +22,9 @@ parameters of B<pkey> are missing and 0 if they are present or the algorithm
doesn't use parameters.
The function EVP_PKEY_copy_parameters() copies the parameters from key
@@ -108638,7 +120955,7 @@
The function EVP_PKEY_cmp_parameters() compares the parameters of keys
B<a> and B<b>.
-@@ -56,6 +58,15 @@ keys match, 0 if they don't match, -1 if the key types are different and
+@@ -56,6 +59,15 @@ keys match, 0 if they don't match, -1 if the key types are different and
=head1 SEE ALSO
L<EVP_PKEY_CTX_new(3)>,
@@ -109921,7 +122238,7 @@
+
+=cut
diff --git a/doc/crypto/OBJ_nid2obj.pod b/doc/crypto/OBJ_nid2obj.pod
-index d777d7c..9fa9e66 100644
+index d777d7c..02e81ba 100644
--- a/doc/crypto/OBJ_nid2obj.pod
+++ b/doc/crypto/OBJ_nid2obj.pod
@@ -2,17 +2,19 @@
@@ -109970,16 +122287,24 @@
size_t OBJ_length(const ASN1_OBJECT *obj);
const unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj);
-@@ -42,7 +46,7 @@ Deprecated:
+@@ -41,8 +45,14 @@ Deprecated:
+
The ASN1 object utility functions process ASN1_OBJECT structures which are
a representation of the ASN1 OBJECT IDENTIFIER (OID) type.
-
+-
-OBJ_nid2obj(), OBJ_nid2ln() and OBJ_nid2sn() convert the NID B<n> to
++For convenience, OIDs are usually represented in source code as numeric
++identifiers, or B<NID>s. OpenSSL has an internal table of OIDs that
++are generated when the library is built, and their corresponding NIDs
++are available as defined constants. For the functions below, application
++code should treat all returned values -- OIDs, NIDs, or names -- as
++constants.
++
+OBJ_nid2obj(), OBJ_nid2ln() and OBJ_nid2sn() convert the NID B<n> to
an ASN1_OBJECT structure, its long name and its short name respectively,
or B<NULL> is an error occurred.
-@@ -66,11 +70,13 @@ if the object has a long or short name then that will be used, otherwise
+@@ -66,11 +76,13 @@ if the object has a long or short name then that will be used, otherwise
the numerical form will be used. If B<no_name> is 1 then the numerical
form will always be used.
@@ -109994,7 +122319,18 @@
numerical form of the object, B<sn> the short name and B<ln> the
long name. A new NID is returned for the created object.
-@@ -127,7 +133,7 @@ Create an object for B<commonName>:
+@@ -117,6 +129,10 @@ exists for a particular algorithm). As a result they B<cannot> be encoded or
+ decoded as part of ASN.1 structures. Applications can determine if there
+ is a corresponding OBJECT IDENTIFIER by checking OBJ_length() is not zero.
+
++These functions cannot return B<const> because an B<ASN1_OBJECT> 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 EXAMPLES
+
+ Create an object for B<commonName>:
+@@ -127,23 +143,24 @@ Create an object for B<commonName>:
Check if an object is B<commonName>
if (OBJ_obj2nid(obj) == NID_commonName)
@@ -110003,7 +122339,9 @@
Create a new NID and initialize an object from it:
-@@ -136,14 +142,14 @@ Create a new NID and initialize an object from it:
+ int new_nid;
+ ASN1_OBJECT *obj;
++
new_nid = OBJ_create("1.2.3.4", "NewOID", "New Object Identifier");
obj = OBJ_nid2obj(new_nid);
@@ -110020,7 +122358,7 @@
convention of other OpenSSL functions where the buffer can be set
to B<NULL> to determine the amount of data that should be written.
Instead B<buf> must point to a valid buffer and B<buf_len> should
-@@ -169,4 +175,13 @@ L<ERR_get_error(3)>
+@@ -169,4 +186,13 @@ L<ERR_get_error(3)>
OBJ_cleanup() was deprecated in OpenSSL 1.1.0.
@@ -110838,7 +123176,7 @@
+
=cut
diff --git a/doc/crypto/OPENSSL_ia32cap.pod b/doc/crypto/OPENSSL_ia32cap.pod
-index 90156d2..e062e28 100644
+index 90156d2..7b8629d 100644
--- a/doc/crypto/OPENSSL_ia32cap.pod
+++ b/doc/crypto/OPENSSL_ia32cap.pod
@@ -2,23 +2,22 @@
@@ -110923,7 +123261,7 @@
+enable XMM registers. Historically address of the capability vector copy
+was exposed to application through OPENSSL_ia32cap_loc(), but not
+anymore. Now the only way to affect the capability detection is to set
-+OPENSSL_ia32cap envrionment variable prior target application start. To
++OPENSSL_ia32cap environment variable prior target application start. To
+give a specific example, on Intel P4 processor 'env
+OPENSSL_ia32cap=0x16980010 apps/openssl', or better yet 'env
+OPENSSL_ia32cap=~0x1000000 apps/openssl' would achieve the desired
@@ -111155,7 +123493,7 @@
+
=cut
diff --git a/doc/crypto/OPENSSL_malloc.pod b/doc/crypto/OPENSSL_malloc.pod
-index 7ce00b2..5d254f7 100644
+index 7ce00b2..9760135 100644
--- a/doc/crypto/OPENSSL_malloc.pod
+++ b/doc/crypto/OPENSSL_malloc.pod
@@ -2,18 +2,21 @@
@@ -111209,7 +123547,7 @@
=head1 DESCRIPTION
-@@ -94,10 +101,10 @@ before ultimately calling OPENSSL_free().
+@@ -94,15 +101,15 @@ before ultimately calling OPENSSL_free().
OPENSSL_cleanse() fills B<ptr> of size B<len> with a string of 0's.
Use OPENSSL_cleanse() with care if the memory is a mapping of a file.
@@ -111224,6 +123562,12 @@
0's will be written at a new physical location.
OPENSSL_strdup(), OPENSSL_strndup() and OPENSSL_memdup() are like the
+ equivalent C functions, except that memory is allocated by calling the
+-OPENSSL_malloc() and should be releaed by calling OPENSSL_free().
++OPENSSL_malloc() and should be released by calling OPENSSL_free().
+
+ OPENSSL_strlcpy(),
+ OPENSSL_strlcat() and OPENSSL_strnlen() are equivalents of the common C
@@ -117,7 +124,7 @@ An odd number of hex digits is an error.
OPENSSL_buf2hexstr() takes the specified buffer and length, and returns
@@ -111374,7 +123718,7 @@
=cut
diff --git a/doc/crypto/PEM_read.pod b/doc/crypto/PEM_read.pod
new file mode 100644
-index 0000000..3c6d2fd
+index 0000000..167693d
--- /dev/null
+++ b/doc/crypto/PEM_read.pod
@@ -0,0 +1,130 @@
@@ -111437,7 +123781,7 @@
+PEM_read() reads from the file B<fp>, while PEM_read_bio() reads
+from the BIO B<bp>.
+Both skip any non-PEM data that precedes the start of the next PEM object.
-+When an object is successfuly retrieved, the type name from the "----BEGIN
++When an object is successfully retrieved, the type name from the "----BEGIN
+<type>-----" is returned via the B<name> argument, any encapsulation headers
+are returned in B<header> and the base64-decoded content and its length are
+returned via B<data> and B<len> respectively.
@@ -111449,7 +123793,7 @@
+and IV.
+The caller passes a pointer to structure of type B<EVP_CIPHER_INFO> via the
+B<cinfo> argument and the B<header> returned via PEM_read() or PEM_read_bio().
-+If the call is succesful 1 is retured and the cipher and IV are stored at the
++If the call is successful 1 is returned and the cipher and IV are stored at the
+address pointed to by B<cinfo>.
+When the header is malformed, or not supported or when the cipher is unknown
+or some internal error happens 0 is returned.
@@ -113786,7 +126130,7 @@
+
+=cut
diff --git a/doc/crypto/X509V3_get_d2i.pod b/doc/crypto/X509V3_get_d2i.pod
-index b502e81..f6f9be6 100644
+index b502e81..89dc875 100644
--- a/doc/crypto/X509V3_get_d2i.pod
+++ b/doc/crypto/X509V3_get_d2i.pod
@@ -2,6 +2,7 @@
@@ -113797,6 +126141,24 @@
X509V3_get_d2i, X509V3_add1_i2d, X509V3_EXT_d2i, X509V3_EXT_i2d,
X509_get_ext_d2i, X509_add1_ext_i2d, X509_CRL_get_ext_d2i,
X509_CRL_add1_ext_i2d, X509_REVOKED_get_ext_d2i,
+@@ -88,7 +89,7 @@ exist.
+ B<X509V3_ADD_APPEND> appends a new extension, ignoring whether the extension
+ already exists.
+
+-B<X509V3_ADD_REPLACE> replaces an extension if it exists otherwise apppends
++B<X509V3_ADD_REPLACE> replaces an extension if it exists otherwise appends
+ a new extension.
+
+ B<X509V3_ADD_REPLACE_EXISTING> replaces an existing extension if it exists
+@@ -98,7 +99,7 @@ B<X509V3_ADD_KEEP_EXISTING> appends a new extension only if the extension does
+ not already exist. An error B<is not> returned if the extension does already
+ exist.
+
+-B<X509V3_ADD_DELETE> extension B<nid> is deleted: no new extenion is added.
++B<X509V3_ADD_DELETE> extension B<nid> is deleted: no new extension is added.
+
+ If B<X509V3_ADD_SILENT> is ored with B<flags>: any error returned will not
+ be added to the error queue.
@@ -112,7 +113,7 @@ determine the precise reason by checking the value of B<*crit>.
The following sections contain a list of all supported extensions
including their name and NID.
@@ -122732,7 +135094,7 @@
+
=cut
diff --git a/doc/ssl/SSL_CTX_dane_enable.pod b/doc/ssl/SSL_CTX_dane_enable.pod
-index 8463a3d..cef109f 100644
+index 8463a3d..7923bf4 100644
--- a/doc/ssl/SSL_CTX_dane_enable.pod
+++ b/doc/ssl/SSL_CTX_dane_enable.pod
@@ -71,11 +71,17 @@ The arguments specify the fields of the TLSA record.
@@ -122840,6 +135202,15 @@
*/
}
+@@ -265,7 +293,7 @@ them among the TLSA records used to authenticate peer connections.
+ In addition, some TLSA records with supported usages may be "unusable" as a
+ result of invalid or unsupported parameters.
+
+-When a peer has TLSA records, but none are "usable", an opportunistic
++When a peer has TLSA records, but none are "usable", an opportunistic
+ application must avoid cleartext, but cannot authenticate the peer,
+ and so should generally proceed with an unauthenticated connection.
+ Opportunistic applications need to note the return value of each
@@ -297,4 +325,13 @@ L<EVP_PKEY_free(3)>
These functions were first added to OpenSSL 1.1.0.
@@ -123009,7 +135380,7 @@
+
=cut
diff --git a/doc/ssl/SSL_CTX_new.pod b/doc/ssl/SSL_CTX_new.pod
-index f2cdc71..e47083c 100644
+index f2cdc71..c199b31 100644
--- a/doc/ssl/SSL_CTX_new.pod
+++ b/doc/ssl/SSL_CTX_new.pod
@@ -2,14 +2,15 @@
@@ -123048,10 +135419,13 @@
=back
=head1 HISTORY
-@@ -203,4 +206,13 @@ All version-specific methods were deprecated in OpenSSL 1.1.0.
+@@ -201,6 +204,15 @@ All version-specific methods were deprecated in OpenSSL 1.1.0.
+ =head1 SEE ALSO
+
L<SSL_CTX_set_options(3)>, L<SSL_CTX_free(3)>, L<SSL_accept(3)>,
- L<SSL_CTX_set_min_proto_version(3)>, L<ssl(3)>, L<SSL_set_connect_state(3)>
-
+-L<SSL_CTX_set_min_proto_version(3)>, L<ssl(3)>, L<SSL_set_connect_state(3)>
++L<SSL_CTX_set_min_proto_version(3)>, L<ssl(3)>, L<SSL_set_connect_state(3)>
++
+=head1 COPYRIGHT
+
+Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
@@ -123060,7 +135434,7 @@
+this file except in compliance with the License. You can obtain a copy
+in the file LICENSE in the source distribution or at
+L<https://www.openssl.org/source/license.html>.
-+
+
=cut
diff --git a/doc/ssl/SSL_CTX_sess_number.pod b/doc/ssl/SSL_CTX_sess_number.pod
index aa82c30..049c04c 100644
@@ -124488,10 +136862,23 @@
+
=cut
diff --git a/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod b/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod
-index 57bf211..b71450a 100644
+index 57bf211..fbfb8cb 100644
--- a/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod
+++ b/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod
-@@ -126,4 +126,13 @@ L<SSL_CTX_set_tmp_rsa_callback(3)>,
+@@ -104,7 +104,7 @@ partly left out.)
+ /* Error. */
+ }
+ if (dh_2048 == NULL) {
+- /* Error. */
++ /* Error. */
+ }
+ if (SSL_CTX_set_tmp_dh(ctx, dh_2048) != 1) {
+ /* Error. */
+@@ -122,8 +122,16 @@ on failure. Check the error queue to find out the reason of failure.
+ =head1 SEE ALSO
+
+ L<ssl(3)>, L<SSL_CTX_set_cipher_list(3)>,
+-L<SSL_CTX_set_tmp_rsa_callback(3)>,
L<SSL_CTX_set_options(3)>,
L<ciphers(1)>, L<dhparam(1)>
@@ -126377,7 +138764,7 @@
=cut
diff --git a/doc/ssl/ssl.pod b/doc/ssl/ssl.pod
-index 7e2cd85..589fc2d 100644
+index 7e2cd85..dfd83ea 100644
--- a/doc/ssl/ssl.pod
+++ b/doc/ssl/ssl.pod
@@ -1,12 +1,15 @@
@@ -126424,15 +138811,15 @@
Here we document the various API functions which deal with the SSL/TLS
protocol context defined in the B<SSL_CTX> structure.
-@@ -265,13 +268,13 @@ protocol context defined in the B<SSL_CTX> structure.
+@@ -265,13 +268,11 @@ protocol context defined in the B<SSL_CTX> structure.
=item int B<SSL_CTX_get_verify_mode>(SSL_CTX *ctx);
-=item int B<SSL_CTX_load_verify_locations>(SSL_CTX *ctx, char *CAfile, char *CApath);
+-
+-=item long B<SSL_CTX_need_tmp_RSA>(SSL_CTX *ctx);
+=item int B<SSL_CTX_load_verify_locations>(SSL_CTX *ctx, const char *CAfile, const char *CApath);
- =item long B<SSL_CTX_need_tmp_RSA>(SSL_CTX *ctx);
-
=item SSL_CTX *B<SSL_CTX_new>(const SSL_METHOD *meth);
-=item void SSL_CTX_up_ref(SSL_CTX *ctx);
@@ -126440,7 +138827,7 @@
=item int B<SSL_CTX_remove_session>(SSL_CTX *ctx, SSL_SESSION *c);
-@@ -380,19 +383,19 @@ Use the file path to locate trusted CA certificates.
+@@ -380,19 +381,19 @@ Use the file path to locate trusted CA certificates.
=item int B<SSL_CTX_use_PrivateKey_ASN1>(int type, SSL_CTX *ctx, unsigned char *d, long len);
@@ -126463,7 +138850,7 @@
=item X509 *B<SSL_CTX_get0_certificate>(const SSL_CTX *ctx);
-@@ -405,11 +408,9 @@ Use the file path to locate trusted CA certificates.
+@@ -405,11 +406,9 @@ Use the file path to locate trusted CA certificates.
=item void B<SSL_CTX_set_psk_server_callback>(SSL_CTX *ctx, unsigned int (*callback)(SSL *ssl, const char *identity, unsigned char *psk, int max_psk_len));
@@ -126476,7 +138863,7 @@
Here we document the various API functions which deal with the SSL/TLS
sessions defined in the B<SSL_SESSION> structures.
-@@ -448,7 +449,7 @@ sessions defined in the B<SSL_SESSION> structures.
+@@ -448,7 +447,7 @@ sessions defined in the B<SSL_SESSION> structures.
=back
@@ -126485,7 +138872,7 @@
Here we document the various API functions which deal with the SSL/TLS
connection defined in the B<SSL> structure.
-@@ -521,6 +522,8 @@ fresh handle for each connection.
+@@ -521,6 +520,8 @@ fresh handle for each connection.
=item const char *B<SSL_get_cipher>(const SSL *ssl);
@@ -126494,7 +138881,7 @@
=item int B<SSL_get_cipher_bits>(const SSL *ssl, int *alg_bits);
=item char *B<SSL_get_cipher_list>(const SSL *ssl, int n);
-@@ -595,11 +598,11 @@ fresh handle for each connection.
+@@ -595,11 +596,11 @@ fresh handle for each connection.
=item int B<SSL_is_init_finished>(SSL *ssl);
@@ -126508,7 +138895,7 @@
=item long B<SSL_num_renegotiations>(SSL *ssl);
-@@ -683,19 +686,19 @@ Returns the current handshake state.
+@@ -683,19 +684,19 @@ Returns the current handshake state.
=item int B<SSL_use_PrivateKey_ASN1>(int type, SSL *ssl, unsigned char *d, long len);
@@ -126531,7 +138918,7 @@
=item int B<SSL_version>(const SSL *ssl);
-@@ -723,6 +726,10 @@ Returns the current handshake state.
+@@ -723,6 +724,10 @@ Returns the current handshake state.
=back
@@ -126542,7 +138929,7 @@
=head1 SEE ALSO
L<openssl(1)>, L<crypto(3)>,
-@@ -808,5 +815,13 @@ in OpenSSL 1.1.0.
+@@ -808,5 +813,13 @@ in OpenSSL 1.1.0.
The return type of B<SSL_copy_session_id> was changed from void to int in
OpenSSL 1.1.0.
@@ -126923,15 +139310,21 @@
- ../../include/openssl/pkcs7.h ../../include/openssl/async.h e_afalg.h \
- e_afalg_err.h
diff --git a/engines/afalg/build.info b/engines/afalg/build.info
-index 5aba447..d096279 100644
+index 5aba447..8601b1a 100644
--- a/engines/afalg/build.info
+++ b/engines/afalg/build.info
-@@ -9,7 +9,7 @@ IF[{- !$disabled{"engine"} -}]
+@@ -1,5 +1,3 @@
+-{- use File::Spec::Functions qw/:DEFAULT rel2abs/; -}
+-
+ IF[{- !$disabled{"engine"} -}]
+ IF[{- !$disabled{afalg} -}]
+ IF[{- $disabled{"dynamic-engine"} -}]
+@@ -9,7 +7,7 @@ IF[{- !$disabled{"engine"} -}]
ENGINES=afalg
SOURCE[afalg]=e_afalg.c e_afalg_err.c
DEPEND[afalg]=../../libcrypto
- INCLUDE[afalg]= {- rel2abs(catdir($builddir,"../../include")) -} ../../include
-+ INCLUDE[afalg]= "{- rel2abs(catdir($builddir,"../../include")) -}" ../../include
++ INCLUDE[afalg]= ../../include
ENDIF
ENDIF
ENDIF
@@ -127358,30 +139751,35 @@
$code=".text\n";
diff --git a/engines/build.info b/engines/build.info
-index 065d412..850ecac 100644
+index 065d412..e42684f 100644
--- a/engines/build.info
+++ b/engines/build.info
-@@ -12,19 +12,19 @@ IF[{- !$disabled{"engine"} -}]
+@@ -1,4 +1,3 @@
+-{- use File::Spec::Functions qw/:DEFAULT rel2abs/; -}
+ IF[{- !$disabled{"engine"} -}]
+ IF[{- $disabled{"dynamic-engine"} -}]
+ LIBS=../libcrypto
+@@ -12,19 +11,19 @@ IF[{- !$disabled{"engine"} -}]
ENGINES=padlock dasync ossltest
SOURCE[padlock]=e_padlock.c {- $target{padlock_asm_src} -}
DEPEND[padlock]=../libcrypto
- INCLUDE[padlock]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[padlock]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[padlock]=../include
IF[{- !$disabled{capieng} -}]
ENGINES=capi
SOURCE[capi]=e_capi.c
DEPEND[capi]=../libcrypto
- INCLUDE[capi]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[capi]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[capi]=../include
ENDIF
SOURCE[dasync]=e_dasync.c
DEPEND[dasync]=../libcrypto
- INCLUDE[dasync]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[dasync]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[dasync]=../include
SOURCE[ossltest]=e_ossltest.c
DEPEND[ossltest]=../libcrypto
- INCLUDE[ossltest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[ossltest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[ossltest]=../include
ENDIF
GENERATE[e_padlock-x86.s]=asm/e_padlock-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(LIB_CFLAGS) $(PROCESSOR)
@@ -127393,7 +139791,7 @@
@@ -1 +0,0 @@
-perl ../util/mkerr.pl -conf e_capi.ec -nostatic -staticloader -write e_capi.c
diff --git a/engines/e_capi.c b/engines/e_capi.c
-index 5bf0fe9..f2d5c3e 100644
+index 5bf0fe9..4923eef 100644
--- a/engines/e_capi.c
+++ b/engines/e_capi.c
@@ -1,54 +1,10 @@
@@ -127429,13 +139827,13 @@
- * 5. Products derived from this software may not be called "OpenSSL"
- * nor may "OpenSSL" appear in their names without prior written
- * permission of the OpenSSL Project.
-+ * Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.
- *
+- *
- * 6. Redistributions of any form whatsoever must retain the following
- * acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
-- *
++ * Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
@@ -127626,6 +140024,33 @@
/* CryptoAPI DSA operations */
static DSA_SIG *capi_dsa_do_sign(const unsigned char *digest, int dlen,
+@@ -1039,17 +1029,17 @@ static DSA_SIG *capi_dsa_do_sign(const unsigned char *digest, int dlen,
+ capi_addlasterror();
+ goto err;
+ } else {
+- BIGNUM *r = NULL, *s = NULL;
+- ret = DSA_SIG_new();
+- if (ret == NULL)
+- goto err;
+- DSA_SIG_get0(&r, &s, ret);
+- if (!lend_tobn(r, csigbuf, 20)
+- || !lend_tobn(s, csigbuf + 20, 20)) {
+- DSA_SIG_free(ret);
+- ret = NULL;
++ BIGNUM *r = BN_new(), *s = BN_new();
++
++ if (r == NULL || s == NULL
++ || !lend_tobn(r, csigbuf, 20)
++ || !lend_tobn(s, csigbuf + 20, 20)
++ || (ret = DSA_SIG_new()) == NULL) {
++ BN_free(r); /* BN_free checks for BIGNUM * being NULL */
++ BN_free(s);
+ goto err;
+ }
++ DSA_SIG_set0(ret, r, s);
+ }
+
+ /* Now cleanup */
@@ -1068,6 +1058,7 @@ static int capi_dsa_free(DSA *dsa)
DSA_set_ex_data(dsa, dsa_capi_idx, 0);
return 1;
@@ -128715,10 +141140,10 @@
+data type.
diff --git a/fuzz/asn1.c b/fuzz/asn1.c
new file mode 100644
-index 0000000..66825f1
+index 0000000..4d22eeb
--- /dev/null
+++ b/fuzz/asn1.c
-@@ -0,0 +1,70 @@
+@@ -0,0 +1,77 @@
+/*
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
@@ -128747,54 +141172,61 @@
+#include <openssl/x509v3.h>
+#include "fuzzer.h"
+
-+static const ASN1_ITEM *item_type[] = {
-+ ASN1_ITEM_rptr(ASN1_SEQUENCE),
-+ ASN1_ITEM_rptr(AUTHORITY_INFO_ACCESS),
-+ ASN1_ITEM_rptr(BIGNUM),
-+ ASN1_ITEM_rptr(ECPARAMETERS),
-+ ASN1_ITEM_rptr(ECPKPARAMETERS),
-+ ASN1_ITEM_rptr(GENERAL_NAME),
-+ ASN1_ITEM_rptr(GENERAL_SUBTREE),
-+ ASN1_ITEM_rptr(NAME_CONSTRAINTS),
-+ ASN1_ITEM_rptr(OCSP_BASICRESP),
-+ ASN1_ITEM_rptr(OCSP_RESPONSE),
-+ ASN1_ITEM_rptr(PKCS12),
-+ ASN1_ITEM_rptr(PKCS12_AUTHSAFES),
-+ ASN1_ITEM_rptr(PKCS12_SAFEBAGS),
-+ ASN1_ITEM_rptr(PKCS7),
-+ ASN1_ITEM_rptr(PKCS7_ATTR_SIGN),
-+ ASN1_ITEM_rptr(PKCS7_ATTR_VERIFY),
-+ ASN1_ITEM_rptr(PKCS7_DIGEST),
-+ ASN1_ITEM_rptr(PKCS7_ENC_CONTENT),
-+ ASN1_ITEM_rptr(PKCS7_ENCRYPT),
-+ ASN1_ITEM_rptr(PKCS7_ENVELOPE),
-+ ASN1_ITEM_rptr(PKCS7_RECIP_INFO),
-+ ASN1_ITEM_rptr(PKCS7_SIGN_ENVELOPE),
-+ ASN1_ITEM_rptr(PKCS7_SIGNED),
-+ ASN1_ITEM_rptr(PKCS7_SIGNER_INFO),
-+ ASN1_ITEM_rptr(POLICY_CONSTRAINTS),
-+ ASN1_ITEM_rptr(POLICY_MAPPINGS),
-+ ASN1_ITEM_rptr(SXNET),
-+ //ASN1_ITEM_rptr(TS_RESP), want to do this, but type is hidden, however d2i exists...
-+ ASN1_ITEM_rptr(X509),
-+ ASN1_ITEM_rptr(X509_CRL),
++static ASN1_ITEM_EXP *item_type[] = {
++ ASN1_ITEM_ref(ASN1_SEQUENCE),
++ ASN1_ITEM_ref(AUTHORITY_INFO_ACCESS),
++ ASN1_ITEM_ref(BIGNUM),
++ ASN1_ITEM_ref(ECPARAMETERS),
++ ASN1_ITEM_ref(ECPKPARAMETERS),
++ ASN1_ITEM_ref(GENERAL_NAME),
++ ASN1_ITEM_ref(GENERAL_SUBTREE),
++ ASN1_ITEM_ref(NAME_CONSTRAINTS),
++ ASN1_ITEM_ref(OCSP_BASICRESP),
++ ASN1_ITEM_ref(OCSP_RESPONSE),
++ ASN1_ITEM_ref(PKCS12),
++ ASN1_ITEM_ref(PKCS12_AUTHSAFES),
++ ASN1_ITEM_ref(PKCS12_SAFEBAGS),
++ ASN1_ITEM_ref(PKCS7),
++ ASN1_ITEM_ref(PKCS7_ATTR_SIGN),
++ ASN1_ITEM_ref(PKCS7_ATTR_VERIFY),
++ ASN1_ITEM_ref(PKCS7_DIGEST),
++ ASN1_ITEM_ref(PKCS7_ENC_CONTENT),
++ ASN1_ITEM_ref(PKCS7_ENCRYPT),
++ ASN1_ITEM_ref(PKCS7_ENVELOPE),
++ ASN1_ITEM_ref(PKCS7_RECIP_INFO),
++ ASN1_ITEM_ref(PKCS7_SIGN_ENVELOPE),
++ ASN1_ITEM_ref(PKCS7_SIGNED),
++ ASN1_ITEM_ref(PKCS7_SIGNER_INFO),
++ ASN1_ITEM_ref(POLICY_CONSTRAINTS),
++ ASN1_ITEM_ref(POLICY_MAPPINGS),
++ ASN1_ITEM_ref(SXNET),
++ /*ASN1_ITEM_ref(TS_RESP), want to do this, but type is hidden, however d2i exists... */
++ ASN1_ITEM_ref(X509),
++ ASN1_ITEM_ref(X509_CRL),
+ NULL
+};
+
++int FuzzerInitialize(int *argc, char ***argv) {
++ return 1;
++}
++
+int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
-+ for (int n = 0; item_type[n] != NULL; ++n) {
++ int n;
++
++ for (n = 0; item_type[n] != NULL; ++n) {
+ const uint8_t *b = buf;
-+ ASN1_VALUE *o = ASN1_item_d2i(NULL, &b, len, item_type[n]);
-+ ASN1_item_free(o, item_type[n]);
++ const ASN1_ITEM *i = ASN1_ITEM_ptr(item_type[n]);
++ ASN1_VALUE *o = ASN1_item_d2i(NULL, &b, len, i);
++ ASN1_item_free(o, i);
+ }
+ return 0;
+}
diff --git a/fuzz/asn1parse.c b/fuzz/asn1parse.c
new file mode 100644
-index 0000000..2fe420b
+index 0000000..b3a6dab
--- /dev/null
+++ b/fuzz/asn1parse.c
-@@ -0,0 +1,29 @@
+@@ -0,0 +1,33 @@
+/*
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
@@ -128815,6 +141247,10 @@
+#include <openssl/x509v3.h>
+#include "fuzzer.h"
+
++int FuzzerInitialize(int *argc, char ***argv) {
++ return 1;
++}
++
+int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
+ static BIO *bio_out;
+
@@ -128826,10 +141262,10 @@
+}
diff --git a/fuzz/bignum.c b/fuzz/bignum.c
new file mode 100644
-index 0000000..643e6e7
+index 0000000..43e134b
--- /dev/null
+++ b/fuzz/bignum.c
-@@ -0,0 +1,91 @@
+@@ -0,0 +1,94 @@
+/*
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
@@ -128849,15 +141285,20 @@
+#include <openssl/bn.h>
+#include "fuzzer.h"
+
++int FuzzerInitialize(int *argc, char ***argv) {
++ return 1;
++}
++
+int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
-+ int success = 0;
+ static BN_CTX *ctx;
-+ static BN_MONT_CTX *mont;
+ static BIGNUM *b1;
+ static BIGNUM *b2;
+ static BIGNUM *b3;
+ static BIGNUM *b4;
+ static BIGNUM *b5;
++ int success = 0;
++ size_t l1 = 0, l2 = 0, l3 = 0;
++ int s1 = 0, s2 = 0, s3 = 0;
+
+ if (ctx == NULL) {
+ b1 = BN_new();
@@ -128866,13 +141307,11 @@
+ b4 = BN_new();
+ b5 = BN_new();
+ ctx = BN_CTX_new();
-+ mont = BN_MONT_CTX_new();
+ }
-+ // Divide the input into three parts, using the values of the first two
-+ // bytes to choose lengths, which generate b1, b2 and b3. Use three bits
-+ // of the third byte to choose signs for the three numbers.
-+ size_t l1 = 0, l2 = 0, l3 = 0;
-+ int s1 = 0, s2 = 0, s3 = 0;
++ /* Divide the input into three parts, using the values of the first two
++ * bytes to choose lengths, which generate b1, b2 and b3. Use three bits
++ * of the third byte to choose signs for the three numbers.
++ */
+ if (len > 2) {
+ len -= 3;
+ l1 = (buf[0] * len) / 255;
@@ -128893,7 +141332,7 @@
+ OPENSSL_assert(BN_bin2bn(buf + l1 + l2, l3, b3) == b3);
+ BN_set_negative(b3, s3);
+
-+ // mod 0 is undefined
++ /* mod 0 is undefined */
+ if (BN_is_zero(b3)) {
+ success = 1;
+ goto done;
@@ -128923,10 +141362,10 @@
+}
diff --git a/fuzz/bndiv.c b/fuzz/bndiv.c
new file mode 100644
-index 0000000..5212811
+index 0000000..45a3937
--- /dev/null
+++ b/fuzz/bndiv.c
-@@ -0,0 +1,101 @@
+@@ -0,0 +1,107 @@
+/*
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
@@ -128946,14 +141385,21 @@
+#include <openssl/bn.h>
+#include "fuzzer.h"
+
++int FuzzerInitialize(int *argc, char ***argv) {
++ return 1;
++}
++
+int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
-+ int success = 0;
+ static BN_CTX *ctx;
+ static BIGNUM *b1;
+ static BIGNUM *b2;
+ static BIGNUM *b3;
+ static BIGNUM *b4;
+ static BIGNUM *b5;
++ int success = 0;
++ size_t l1 = 0, l2 = 0;
++ /* s1 and s2 will be the signs for b1 and b2. */
++ int s1 = 0, s2 = 0;
+
+ if (ctx == NULL) {
+ b1 = BN_new();
@@ -128963,16 +141409,15 @@
+ b5 = BN_new();
+ ctx = BN_CTX_new();
+ }
-+ // We are going to split the buffer in two, sizes l1 and l2, giving b1 and
-+ // b2.
-+ size_t l1 = 0, l2 = 0;
-+ // s1 and s2 will be the signs for b1 and b2.
-+ int s1 = 0, s2 = 0;
++ /* We are going to split the buffer in two, sizes l1 and l2, giving b1 and
++ * b2.
++ */
+ if (len > 0) {
+ --len;
-+ // Use first byte to divide the remaining buffer into 3Fths. I admit
-+ // this disallows some number sizes. If it matters, better ideas are
-+ // welcome (Ben).
++ /* Use first byte to divide the remaining buffer into 3Fths. I admit
++ * this disallows some number sizes. If it matters, better ideas are
++ * welcome (Ben).
++ */
+ l1 = ((buf[0] & 0x3f) * len) / 0x3f;
+ s1 = buf[0] & 0x40;
+ s2 = buf[0] & 0x80;
@@ -128984,7 +141429,7 @@
+ OPENSSL_assert(BN_bin2bn(buf + l1, l2, b2) == b2);
+ BN_set_negative(b2, s2);
+
-+ // divide by 0 is an error
++ /* divide by 0 is an error */
+ if (BN_is_zero(b2)) {
+ success = 1;
+ goto done;
@@ -129030,10 +141475,58 @@
+}
diff --git a/fuzz/build.info b/fuzz/build.info
new file mode 100644
-index 0000000..8f41878
+index 0000000..82569a2
--- /dev/null
+++ b/fuzz/build.info
-@@ -0,0 +1,50 @@
+@@ -0,0 +1,42 @@
++{- use File::Spec::Functions qw/catdir rel2abs/; -}
++PROGRAMS=asn1-test asn1parse-test bignum-test bndiv-test cms-test conf-test crl-test ct-test server-test x509-test
++
++SOURCE[asn1-test]=asn1.c test-corpus.c
++INCLUDE[asn1-test]=../include
++DEPEND[asn1-test]=../libcrypto
++
++SOURCE[asn1parse-test]=asn1parse.c test-corpus.c
++INCLUDE[asn1parse-test]=../include
++DEPEND[asn1parse-test]=../libcrypto
++
++SOURCE[bignum-test]=bignum.c test-corpus.c
++INCLUDE[bignum-test]=../include
++DEPEND[bignum-test]=../libcrypto
++
++SOURCE[bndiv-test]=bndiv.c test-corpus.c
++INCLUDE[bndiv-test]=../include
++DEPEND[bndiv-test]=../libcrypto
++
++SOURCE[cms-test]=cms.c test-corpus.c
++INCLUDE[cms-test]=../include
++DEPEND[cms-test]=../libcrypto
++
++SOURCE[conf-test]=conf.c test-corpus.c
++INCLUDE[conf-test]=../include
++DEPEND[conf-test]=../libcrypto
++
++SOURCE[crl-test]=crl.c test-corpus.c
++INCLUDE[crl-test]=../include
++DEPEND[crl-test]=../libcrypto
++
++SOURCE[ct-test]=ct.c test-corpus.c
++INCLUDE[ct-test]=../include
++DEPEND[ct-test]=../libcrypto
++
++SOURCE[server-test]=server.c test-corpus.c
++INCLUDE[server-test]=../include
++DEPEND[server-test]=../libcrypto ../libssl
++
++SOURCE[x509-test]=x509.c test-corpus.c
++INCLUDE[x509-test]=../include
++DEPEND[x509-test]=../libcrypto
+diff --git a/fuzz/build.info.fuzz b/fuzz/build.info.fuzz
+new file mode 100644
+index 0000000..44cac86
+--- /dev/null
++++ b/fuzz/build.info.fuzz
+@@ -0,0 +1,51 @@
+{- use File::Spec::Functions;
+ our $ex_inc = $withargs{fuzzer_include} &&
+ (file_name_is_absolute($withargs{fuzzer_include}) ?
@@ -129043,6 +141536,7 @@
+ $withargs{fuzzer_lib} : catfile(updir(), $withargs{fuzzer_lib}));
+ ""
+-}
++
+PROGRAMS=asn1 asn1parse bignum bndiv cms conf crl ct server x509
+
+SOURCE[asn1]=asn1.c driver.c
@@ -129083,13 +141577,13 @@
+
+SOURCE[x509]=x509.c driver.c
+INCLUDE[x509]=../include {- $ex_inc -}
-+DEPEND[x509]=../libcrypto ../libssl {- $ex_lib -}
++DEPEND[x509]=../libcrypto {- $ex_lib -}
diff --git a/fuzz/cms.c b/fuzz/cms.c
new file mode 100644
-index 0000000..71f691f
+index 0000000..f97173a
--- /dev/null
+++ b/fuzz/cms.c
-@@ -0,0 +1,26 @@
+@@ -0,0 +1,32 @@
+/*
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
@@ -129108,20 +141602,26 @@
+#include <openssl/cms.h>
+#include "fuzzer.h"
+
++int FuzzerInitialize(int *argc, char ***argv) {
++ return 1;
++}
++
+int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
++ CMS_ContentInfo *i;
+ BIO *in = BIO_new(BIO_s_mem());
++
+ OPENSSL_assert((size_t)BIO_write(in, buf, len) == len);
-+ CMS_ContentInfo *i = d2i_CMS_bio(in, NULL);
++ i = d2i_CMS_bio(in, NULL);
+ CMS_ContentInfo_free(i);
+ BIO_free(in);
+ return 0;
+}
diff --git a/fuzz/conf.c b/fuzz/conf.c
new file mode 100644
-index 0000000..d10d6c7
+index 0000000..a76068d
--- /dev/null
+++ b/fuzz/conf.c
-@@ -0,0 +1,30 @@
+@@ -0,0 +1,33 @@
+/*
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
@@ -129139,6 +141639,10 @@
+#include <openssl/conf.h>
+#include "fuzzer.h"
+
++int FuzzerInitialize(int *argc, char ***argv) {
++ return 1;
++}
++
+int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
+ CONF *conf = NCONF_new(NULL);
+ BIO *in = BIO_new(BIO_s_mem());
@@ -129146,7 +141650,6 @@
+
+ OPENSSL_assert((size_t)BIO_write(in, buf, len) == len);
+ NCONF_load_bio(conf, in, &eline);
-+ //NCONF_dump_fp(conf, stdout);
+ NCONF_free(conf);
+ BIO_free(in);
+
@@ -140233,10 +152736,10 @@
Binary files /dev/null and b/fuzz/corpora/server/face440e5722d3ad8a05f4fcb4cff096d5002675 differ
diff --git a/fuzz/crl.c b/fuzz/crl.c
new file mode 100644
-index 0000000..4dd5b3b
+index 0000000..728943f
--- /dev/null
+++ b/fuzz/crl.c
-@@ -0,0 +1,31 @@
+@@ -0,0 +1,35 @@
+/*
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
@@ -140251,6 +152754,10 @@
+#include <openssl/bio.h>
+#include "fuzzer.h"
+
++int FuzzerInitialize(int *argc, char ***argv) {
++ return 1;
++}
++
+int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
+ const unsigned char *p = buf;
+ unsigned char *der = NULL;
@@ -140270,10 +152777,10 @@
+}
diff --git a/fuzz/ct.c b/fuzz/ct.c
new file mode 100644
-index 0000000..dbb7ab4
+index 0000000..5dc47f1
--- /dev/null
+++ b/fuzz/ct.c
-@@ -0,0 +1,24 @@
+@@ -0,0 +1,28 @@
+/*
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
@@ -140292,6 +152799,10 @@
+#include <openssl/ct.h>
+#include "fuzzer.h"
+
++int FuzzerInitialize(int *argc, char ***argv) {
++ return 1;
++}
++
+int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
+ const uint8_t **pp = &buf;
+ STACK_OF(SCT) *scts = d2i_SCT_LIST(NULL, pp, len);
@@ -140358,7 +152869,7 @@
+#endif
diff --git a/fuzz/fuzzer.h b/fuzz/fuzzer.h
new file mode 100644
-index 0000000..289aee2
+index 0000000..04d605d
--- /dev/null
+++ b/fuzz/fuzzer.h
@@ -0,0 +1,12 @@
@@ -140373,7 +152884,7 @@
+ */
+
+int FuzzerTestOneInput(const uint8_t *buf, size_t len);
-+__attribute__((weak)) int FuzzerInitialize(int *argc, char ***argv);
++int FuzzerInitialize(int *argc, char ***argv);
diff --git a/fuzz/helper.py b/fuzz/helper.py
new file mode 100755
index 0000000..f5f9d77
@@ -140434,10 +152945,10 @@
+ main()
diff --git a/fuzz/server.c b/fuzz/server.c
new file mode 100644
-index 0000000..7b376c1
+index 0000000..34c7734
--- /dev/null
+++ b/fuzz/server.c
-@@ -0,0 +1,237 @@
+@@ -0,0 +1,243 @@
+/*
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
@@ -140448,9 +152959,9 @@
+ * or in the file LICENSE in the source distribution.
+ */
+
-+// Shamelessly copied from BoringSSL and converted to C.
++/* Shamelessly copied from BoringSSL and converted to C. */
+
-+// Test first part of SSL server handshake.
++/* Test first part of SSL server handshake. */
+
+
+#include <openssl/rand.h>
@@ -140630,33 +153141,39 @@
+
+static SSL_CTX *ctx;
+
-+static void Init() {
++int FuzzerInitialize(int *argc, char ***argv) {
++ const uint8_t *bufp = kRSAPrivateKeyDER;
++ RSA *privkey;
++ EVP_PKEY *pkey;
++ int ret;
++ X509 *cert;
++
+ ctx = SSL_CTX_new(SSLv23_method());
-+ const uint8_t *bufp = kRSAPrivateKeyDER;
-+ RSA *privkey = d2i_RSAPrivateKey(NULL, &bufp, sizeof(kRSAPrivateKeyDER));
++ privkey = d2i_RSAPrivateKey(NULL, &bufp, sizeof(kRSAPrivateKeyDER));
+ OPENSSL_assert(privkey != NULL);
-+ EVP_PKEY *pkey = EVP_PKEY_new();
++ pkey = EVP_PKEY_new();
+ EVP_PKEY_assign_RSA(pkey, privkey);
-+ int ret = SSL_CTX_use_PrivateKey(ctx, pkey);
++ ret = SSL_CTX_use_PrivateKey(ctx, pkey);
+ OPENSSL_assert(ret == 1);
+ EVP_PKEY_free(pkey);
+ bufp = kCertificateDER;
-+ X509 *cert = d2i_X509(NULL, &bufp, sizeof(kCertificateDER));
++ cert = d2i_X509(NULL, &bufp, sizeof(kCertificateDER));
+ OPENSSL_assert(cert != NULL);
+ ret = SSL_CTX_use_certificate(ctx, cert);
+ OPENSSL_assert(ret == 1);
+ X509_free(cert);
-+ }
+
++ return 1;
++}
++
+int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
-+ if (ctx == NULL)
-+ Init();
-+ // TODO: make this work for OpenSSL. There's a PREDICT define that may do
-+ // the job.
-+ // TODO: use the ossltest engine (optionally?) to disable crypto checks.
-+ //RAND_reset_for_fuzzing();
++ /* TODO: make this work for OpenSSL. There's a PREDICT define that may do
++ * the job.
++ * TODO: use the ossltest engine (optionally?) to disable crypto checks.
++ * RAND_reset_for_fuzzing();
++ */
+
-+ // This only fuzzes the initial flow from the client so far.
++ /* This only fuzzes the initial flow from the client so far. */
+ SSL *server = SSL_new(ctx);
+ BIO *in = BIO_new(BIO_s_mem());
+ BIO *out = BIO_new(BIO_s_mem());
@@ -140664,7 +153181,7 @@
+ SSL_set_accept_state(server);
+ OPENSSL_assert((size_t)BIO_write(in, buf, len) == len);
+ if (SSL_do_handshake(server) == 1) {
-+ // Keep reading application data until error or EOF.
++ /* Keep reading application data until error or EOF. */
+ uint8_t tmp[1024];
+ for (;;) {
+ if (SSL_read(server, tmp, sizeof(tmp)) <= 0) {
@@ -140675,12 +153192,62 @@
+ SSL_free(server);
+ return 0;
+}
+diff --git a/fuzz/test-corpus.c b/fuzz/test-corpus.c
+new file mode 100644
+index 0000000..ccad369
+--- /dev/null
++++ b/fuzz/test-corpus.c
+@@ -0,0 +1,44 @@
++/*
++ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
++ *
++ * Licensed under the OpenSSL licenses, (the "License");
++ * you may not use this file except in compliance with the License.
++ * You may obtain a copy of the License at
++ * https://www.openssl.org/source/license.html
++ * or in the file LICENSE in the source distribution.
++ */
++
++/*
++ * Given a list of files, run each of them through the fuzzer. Note that
++ * failure will be indicated by some kind of crash. Switching on things like
++ * asan improves the test.
++ */
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <sys/stat.h>
++#include <openssl/crypto.h>
++#include "fuzzer.h"
++
++int main(int argc, char **argv) {
++ int n;
++
++ FuzzerInitialize(&argc, &argv);
++
++ for (n = 1; n < argc; ++n) {
++ struct stat st;
++ FILE *f;
++ unsigned char *buf;
++ size_t s;
++
++ stat(argv[n], &st);
++ f = fopen(argv[n], "rb");
++ buf = malloc(st.st_size);
++ s = fread(buf, 1, st.st_size, f);
++ OPENSSL_assert(s == (size_t)st.st_size);
++ FuzzerTestOneInput(buf, s);
++ free(buf);
++ fclose(f);
++ }
++ return 0;
++}
diff --git a/fuzz/x509.c b/fuzz/x509.c
new file mode 100644
-index 0000000..a0fab2f
+index 0000000..b2851f1
--- /dev/null
+++ b/fuzz/x509.c
-@@ -0,0 +1,31 @@
+@@ -0,0 +1,36 @@
+/*
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
@@ -140695,6 +153262,10 @@
+#include <openssl/bio.h>
+#include "fuzzer.h"
+
++int FuzzerInitialize(int *argc, char ***argv) {
++ return 1;
++}
++
+int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
+ const unsigned char *p = buf;
+ unsigned char *der = NULL;
@@ -140702,6 +153273,7 @@
+ X509 *x509 = d2i_X509(NULL, &p, len);
+ if (x509 != NULL) {
+ BIO *bio = BIO_new(BIO_s_null());
++ /* This will load and print the public key as well as extensions */
+ X509_print(bio, x509);
+ BIO_free(bio);
+
@@ -142593,7 +155165,7 @@
#ifndef HEADER_BLOWFISH_H
diff --git a/include/openssl/bn.h b/include/openssl/bn.h
-index d4aef37..e0f656a 100644
+index d4aef37..c4fca99 100644
--- a/include/openssl/bn.h
+++ b/include/openssl/bn.h
@@ -1,112 +1,12 @@
@@ -142716,6 +155288,24 @@
/* ====================================================================
* Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
*
+@@ -190,7 +90,7 @@ int BN_get_flags(const BIGNUM *b, int n);
+ */
+ void BN_with_flags(BIGNUM *dest, const BIGNUM *b, int flags);
+
+-/* Wrapper function to make using BN_GENCB easier, */
++/* Wrapper function to make using BN_GENCB easier */
+ int BN_GENCB_call(BN_GENCB *cb, int a, int b);
+
+ BN_GENCB *BN_GENCB_new(void);
+@@ -569,7 +469,7 @@ BIGNUM *BN_get_rfc3526_prime_4096(BIGNUM *bn);
+ BIGNUM *BN_get_rfc3526_prime_6144(BIGNUM *bn);
+ BIGNUM *BN_get_rfc3526_prime_8192(BIGNUM *bn);
+
+-# if OPENSSL_API_COMPAT < 0x00101000L
++# if OPENSSL_API_COMPAT < 0x10100000L
+ # define get_rfc2409_prime_768 BN_get_rfc2409_prime_768
+ # define get_rfc2409_prime_1024 BN_get_rfc2409_prime_1024
+ # define get_rfc3526_prime_1536 BN_get_rfc3526_prime_1536
@@ -587,6 +487,7 @@ int BN_bntest_rand(BIGNUM *rnd, int bits, int top, int bottom);
* The following lines are auto generated by the script mkerr.pl. Any changes
* made after this point may be overwritten when the script is next run.
@@ -142754,7 +155344,7 @@
+# endif
#endif
diff --git a/include/openssl/buffer.h b/include/openssl/buffer.h
-index f5b46dd..88409fd 100644
+index f5b46dd..e2e1e5d 100644
--- a/include/openssl/buffer.h
+++ b/include/openssl/buffer.h
@@ -1,58 +1,10 @@
@@ -142822,6 +155412,15 @@
*/
#ifndef HEADER_BUFFER_H
+@@ -84,7 +36,7 @@ extern "C" {
+ # define BUF_strlcpy(dst, src, size) OPENSSL_strlcpy(dst, src, size)
+ # define BUF_strlcat(dst, src, size) OPENSSL_strlcat(dst, src, size)
+ # define BUF_strnlen(str, maxlen) OPENSSL_strnlen(str, maxlen)
+-
++
+ struct buf_mem_st {
+ size_t length; /* current number of bytes */
+ char *data;
@@ -106,6 +58,7 @@ void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz);
* The following lines are auto generated by the script mkerr.pl. Any changes
* made after this point may be overwritten when the script is next run.
@@ -143422,7 +156021,7 @@
#ifndef HEADER_CONF_API_H
diff --git a/include/openssl/crypto.h b/include/openssl/crypto.h
-index 968b1b3..2e056c5 100644
+index 968b1b3..acdb48b 100644
--- a/include/openssl/crypto.h
+++ b/include/openssl/crypto.h
@@ -1,112 +1,12 @@
@@ -143555,7 +156154,31 @@
struct crypto_ex_data_st {
STACK_OF(void) *sk;
};
-@@ -374,7 +271,7 @@ void *CRYPTO_clear_realloc(void *addr, size_t old_num, size_t num,
+@@ -318,12 +215,22 @@ void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx);
+ * On the other hand, the locking callbacks are no longer used. Consequently,
+ * the callback management functions can be safely replaced with no-op macros.
+ */
+-# define CRYPTO_num_locks() (0)
++# define CRYPTO_num_locks() (1)
+ # define CRYPTO_set_locking_callback(func)
+ # define CRYPTO_get_locking_callback() (NULL)
+ # define CRYPTO_set_add_lock_callback(func)
+ # define CRYPTO_get_add_lock_callback() (NULL)
+
++/*
++ * These defines where used in combination with the old locking callbacks,
++ * they are not called anymore, but old code that's not called might still
++ * use them.
++ */
++# define CRYPTO_LOCK 1
++# define CRYPTO_UNLOCK 2
++# define CRYPTO_READ 4
++# define CRYPTO_WRITE 8
++
+ /* This structure is no longer used */
+ typedef struct crypto_threadid_st {
+ int dummy;
+@@ -374,7 +281,7 @@ void *CRYPTO_clear_realloc(void *addr, size_t old_num, size_t num,
const char *file, int line);
int CRYPTO_secure_malloc_init(size_t sz, int minsize);
@@ -143564,7 +156187,7 @@
void *CRYPTO_secure_malloc(size_t num, const char *file, int line);
void *CRYPTO_secure_zalloc(size_t num, const char *file, int line);
void CRYPTO_secure_free(void *ptr, const char *file, int line);
-@@ -409,19 +306,17 @@ void CRYPTO_mem_debug_free(void *addr, int flag,
+@@ -409,19 +316,17 @@ void CRYPTO_mem_debug_free(void *addr, int flag,
# ifndef OPENSSL_NO_STDIO
int CRYPTO_mem_leaks_fp(FILE *);
# endif
@@ -143586,7 +156209,7 @@
int OPENSSL_isservice(void);
int FIPS_mode(void);
-@@ -483,16 +378,50 @@ void OPENSSL_thread_stop(void);
+@@ -483,16 +388,50 @@ void OPENSSL_thread_stop(void);
/* Low-level control of initialization */
OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void);
#ifndef OPENSSL_NO_STDIO
@@ -143639,7 +156262,7 @@
void ERR_load_CRYPTO_strings(void);
/* Error codes for the CRYPTO functions. */
-@@ -501,29 +430,21 @@ void ERR_load_CRYPTO_strings(void);
+@@ -501,29 +440,21 @@ void ERR_load_CRYPTO_strings(void);
# define CRYPTO_F_CRYPTO_DUP_EX_DATA 110
# define CRYPTO_F_CRYPTO_FREE_EX_DATA 111
# define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX 100
@@ -145017,7 +157640,7 @@
-
#endif
diff --git a/include/openssl/err.h b/include/openssl/err.h
-index ccf2ff7..b019d0e 100644
+index ccf2ff7..9dcd27e 100644
--- a/include/openssl/err.h
+++ b/include/openssl/err.h
@@ -1,111 +1,10 @@
@@ -145182,6 +157805,15 @@
# define ERR_R_MISSING_ASN1_EOS 63
/* fatal error */
+@@ -306,7 +188,7 @@ typedef struct err_state_st {
+ # define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL)
+ # define ERR_R_DISABLED (5|ERR_R_FATAL)
+ # define ERR_R_INIT_FAIL (6|ERR_R_FATAL)
+-# define ERR_R_PASSED_INVALID_ARGUMENT (7)
++# define ERR_R_PASSED_INVALID_ARGUMENT (7)
+
+ /*
+ * 99 is the maximum possible ERR_R_... code, higher values are reserved for
@@ -359,9 +241,8 @@ void ERR_load_ERR_strings(void);
# define ERR_free_strings() while(0) continue
#endif
@@ -145512,7 +158144,7 @@
#ifdef __cplusplus
}
diff --git a/include/openssl/idea.h b/include/openssl/idea.h
-index 65e0b44..d527675 100644
+index 65e0b44..4334f3e 100644
--- a/include/openssl/idea.h
+++ b/include/openssl/idea.h
@@ -1,58 +1,10 @@
@@ -145580,6 +158212,15 @@
*/
#ifndef HEADER_IDEA_H
+@@ -93,7 +45,7 @@ void IDEA_ofb64_encrypt(const unsigned char *in, unsigned char *out,
+ int *num);
+ void IDEA_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks);
+
+-# if OPENSSL_API_COMPAT < 0x00101000L
++# if OPENSSL_API_COMPAT < 0x10100000L
+ # define idea_options IDEA_options
+ # define idea_ecb_encrypt IDEA_ecb_encrypt
+ # define idea_set_encrypt_key IDEA_set_encrypt_key
diff --git a/include/openssl/kdf.h b/include/openssl/kdf.h
index e61a9a6..3078b56 100644
--- a/include/openssl/kdf.h
@@ -147109,7 +159750,7 @@
#ifdef __cplusplus
diff --git a/include/openssl/pkcs12.h b/include/openssl/pkcs12.h
-index 655655a..37d02ae 100644
+index 655655a..4c49fb2 100644
--- a/include/openssl/pkcs12.h
+++ b/include/openssl/pkcs12.h
@@ -1,59 +1,10 @@
@@ -147184,8 +159825,8 @@
-PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
- STACK_OF(X509) *ca, int nid_key, int nid_cert, int iter,
- int mac_iter, int keytype);
-+PKCS12 *PKCS12_create(const char *pass, const char *name, EVP_PKEY *pkey,
-+ X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert,
++PKCS12 *PKCS12_create(const char *pass, const char *name, EVP_PKEY *pkey,
++ X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert,
+ int iter, int mac_iter, int keytype);
PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert);
@@ -147252,7 +159893,7 @@
+# endif
#endif
diff --git a/include/openssl/pkcs7.h b/include/openssl/pkcs7.h
-index 7ca085e..6de664f 100644
+index 7ca085e..6148cec 100644
--- a/include/openssl/pkcs7.h
+++ b/include/openssl/pkcs7.h
@@ -1,58 +1,10 @@
@@ -147320,6 +159961,15 @@
*/
#ifndef HEADER_PKCS7_H
+@@ -70,7 +22,7 @@ extern "C" {
+ #endif
+
+ # ifdef OPENSSL_SYS_WIN32
+-/* Under Win32 thes are defined in wincrypt.h */
++/* Under Win32 these are defined in wincrypt.h */
+ # undef PKCS7_ISSUER_AND_SERIAL
+ # undef PKCS7_SIGNER_INFO
+ # endif
@@ -371,15 +323,13 @@ BIO *BIO_new_PKCS7(BIO *out, PKCS7 *p7);
* The following lines are auto generated by the script mkerr.pl. Any changes
* made after this point may be overwritten when the script is next run.
@@ -147806,7 +160456,7 @@
#ifndef HEADER_RIPEMD_H
diff --git a/include/openssl/rsa.h b/include/openssl/rsa.h
-index 1698fb3..70d3755 100644
+index 1698fb3..b9d14e4 100644
--- a/include/openssl/rsa.h
+++ b/include/openssl/rsa.h
@@ -1,58 +1,10 @@
@@ -147897,7 +160547,7 @@
# if OPENSSL_API_COMPAT < 0x00908000L
/* deprecated name for the flag*/
/*
-@@ -232,10 +178,12 @@ int RSA_security_bits(const RSA *rsa);
+@@ -232,14 +178,16 @@ int RSA_security_bits(const RSA *rsa);
int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q);
int RSA_set0_crt_params(RSA *r,BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp);
@@ -147913,7 +160563,22 @@
void RSA_clear_flags(RSA *r, int flags);
int RSA_test_flags(const RSA *r, int flags);
void RSA_set_flags(RSA *r, int flags);
-@@ -510,18 +458,14 @@ int RSA_meth_set_keygen(RSA_METHOD *rsa,
+-ENGINE *RSA_get0_engine(RSA *r);
++ENGINE *RSA_get0_engine(const RSA *r);
+
+ /* Deprecated version */
+ DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void
+@@ -278,9 +226,6 @@ const RSA_METHOD *RSA_get_default_method(void);
+ const RSA_METHOD *RSA_get_method(const RSA *rsa);
+ int RSA_set_method(RSA *rsa, const RSA_METHOD *meth);
+
+-/* This function needs the memory locking malloc callbacks to be installed */
+-int RSA_memory_lock(RSA *r);
+-
+ /* these are the actual RSA functions */
+ const RSA_METHOD *RSA_PKCS1_OpenSSL(void);
+
+@@ -510,18 +455,14 @@ int RSA_meth_set_keygen(RSA_METHOD *rsa,
* The following lines are auto generated by the script mkerr.pl. Any changes
* made after this point may be overwritten when the script is next run.
*/
@@ -147933,7 +160598,7 @@
# define RSA_F_OLD_RSA_PRIV_DECODE 147
# define RSA_F_PKEY_RSA_CTRL 143
# define RSA_F_PKEY_RSA_CTRL_STR 144
-@@ -532,22 +476,22 @@ void ERR_load_RSA_strings(void);
+@@ -532,22 +473,21 @@ void ERR_load_RSA_strings(void);
# define RSA_F_RSA_CHECK_KEY 123
# define RSA_F_RSA_CHECK_KEY_EX 160
# define RSA_F_RSA_CMS_DECRYPT 159
@@ -147943,7 +160608,7 @@
-# define RSA_F_RSA_OSSL_PUBLIC_ENCRYPT 104
-# define RSA_F_RSA_GENERATE_KEY 105
# define RSA_F_RSA_ITEM_VERIFY 148
- # define RSA_F_RSA_MEMORY_LOCK 130
+-# define RSA_F_RSA_MEMORY_LOCK 130
+# define RSA_F_RSA_METH_DUP 161
+# define RSA_F_RSA_METH_NEW 162
+# define RSA_F_RSA_METH_SET1_NAME 163
@@ -147963,7 +160628,7 @@
# define RSA_F_RSA_PADDING_ADD_NONE 107
# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121
# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP_MGF1 154
-@@ -566,7 +510,6 @@ void ERR_load_RSA_strings(void);
+@@ -566,7 +506,6 @@ void ERR_load_RSA_strings(void);
# define RSA_F_RSA_PADDING_CHECK_X931 128
# define RSA_F_RSA_PRINT 115
# define RSA_F_RSA_PRINT_FP 116
@@ -147971,7 +160636,7 @@
# define RSA_F_RSA_PRIV_ENCODE 138
# define RSA_F_RSA_PSS_TO_CTX 155
# define RSA_F_RSA_PUB_DECODE 139
-@@ -601,7 +544,6 @@ void ERR_load_RSA_strings(void);
+@@ -601,7 +540,6 @@ void ERR_load_RSA_strings(void);
# define RSA_R_INVALID_DIGEST 157
# define RSA_R_INVALID_DIGEST_LENGTH 143
# define RSA_R_INVALID_HEADER 137
@@ -147979,7 +160644,7 @@
# define RSA_R_INVALID_LABEL 160
# define RSA_R_INVALID_MESSAGE_LENGTH 131
# define RSA_R_INVALID_MGF1_MD 156
-@@ -635,7 +577,6 @@ void ERR_load_RSA_strings(void);
+@@ -635,7 +573,6 @@ void ERR_load_RSA_strings(void);
# define RSA_R_UNKNOWN_DIGEST 166
# define RSA_R_UNKNOWN_MASK_DIGEST 151
# define RSA_R_UNKNOWN_PADDING_TYPE 118
@@ -147987,7 +160652,7 @@
# define RSA_R_UNSUPPORTED_ENCRYPTION_TYPE 162
# define RSA_R_UNSUPPORTED_LABEL_SOURCE 163
# define RSA_R_UNSUPPORTED_MASK_ALGORITHM 153
-@@ -644,9 +585,8 @@ void ERR_load_RSA_strings(void);
+@@ -644,9 +581,8 @@ void ERR_load_RSA_strings(void);
# define RSA_R_VALUE_MISSING 147
# define RSA_R_WRONG_SIGNATURE_LENGTH 119
@@ -148000,7 +160665,7 @@
-
#endif
diff --git a/include/openssl/safestack.h b/include/openssl/safestack.h
-index 538774d..fb8d910 100644
+index 538774d..7877fd9 100644
--- a/include/openssl/safestack.h
+++ b/include/openssl/safestack.h
@@ -1,56 +1,10 @@
@@ -148201,14 +160866,16 @@
- return sk_is_sorted((_STACK *)sk); \
+ return OPENSSL_sk_is_sorted((const OPENSSL_STACK *)sk); \
} \
- static ossl_inline STACK_OF(t1) * sk_##t1##_dup(STACK_OF(t1) *sk) \
+- static ossl_inline STACK_OF(t1) * sk_##t1##_dup(STACK_OF(t1) *sk) \
++ static ossl_inline STACK_OF(t1) * sk_##t1##_dup(const STACK_OF(t1) *sk) \
{ \
- return (STACK_OF(t1) *)sk_dup((_STACK *)sk); \
-+ return (STACK_OF(t1) *)OPENSSL_sk_dup((OPENSSL_STACK *)sk); \
++ return (STACK_OF(t1) *)OPENSSL_sk_dup((const OPENSSL_STACK *)sk); \
} \
- static ossl_inline STACK_OF(t1) *sk_##t1##_deep_copy(STACK_OF(t1) *sk, \
+- static ossl_inline STACK_OF(t1) *sk_##t1##_deep_copy(STACK_OF(t1) *sk, \
- t3 *(*copyfn)(const t3 *), \
- void (*freefn)(t3 *)) \
++ static ossl_inline STACK_OF(t1) *sk_##t1##_deep_copy(const STACK_OF(t1) *sk, \
+ sk_##t1##_copyfunc copyfunc, \
+ sk_##t1##_freefunc freefunc) \
{ \
@@ -148390,7 +161057,7 @@
#ifndef HEADER_SHA_H
diff --git a/include/openssl/srp.h b/include/openssl/srp.h
-index 37e7678..80bcb0d 100644
+index 37e7678..f2b6ec7 100644
--- a/include/openssl/srp.h
+++ b/include/openssl/srp.h
@@ -1,61 +1,12 @@
@@ -148473,7 +161140,7 @@
/*
- * Structure interne pour retenir les couples N et g
-+ * Internal structure storing N and g pair
++ * Internal structure storing N and g pair
*/
typedef struct SRP_gN_st {
char *id;
@@ -148644,7 +161311,7 @@
* DTLS code by Eric Rescorla <ekr at rtfm.com>
*
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
-index 44f44bf..abfbed4 100644
+index 44f44bf..d2736e2 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -1,112 +1,12 @@
@@ -148799,8 +161466,28 @@
# define SSL_CERT_SET_FIRST 1
# define SSL_CERT_SET_NEXT 2
# define SSL_CERT_SET_SERVER 3
-@@ -1376,7 +1280,7 @@ void BIO_ssl_shutdown(BIO *ssl_bio);
+@@ -1366,6 +1270,19 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
+ #define SSL_set_max_proto_version(s, version) \
+ SSL_ctrl(s, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL)
++#if OPENSSL_API_COMPAT < 0x10100000L
++/* Provide some compatibility macros for removed functionality. */
++# define SSL_CTX_need_tmp_RSA(ctx) 0
++# define SSL_CTX_set_tmp_rsa(ctx,rsa) 1
++# define SSL_need_tmp_RSA(ssl) 0
++# define SSL_set_tmp_rsa(ssl,rsa) 1
++/*
++ * We "pretend" to call the callback to avoid warnings about unused static
++ * functions.
++ */
++# define SSL_CTX_set_tmp_rsa_callback(ctx, cb) while(0) (cb)(NULL, 0, 0)
++# define SSL_set_tmp_rsa_callback(ssl, cb) while(0) (cb)(NULL, 0, 0)
++#endif
+
+ __owur const BIO_METHOD *BIO_f_ssl(void);
+ __owur BIO *BIO_new_ssl(SSL_CTX *ctx, int client);
+@@ -1376,7 +1293,7 @@ void BIO_ssl_shutdown(BIO *ssl_bio);
+
__owur int SSL_CTX_set_cipher_list(SSL_CTX *, const char *str);
__owur SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
-void SSL_CTX_up_ref(SSL_CTX *ctx);
@@ -148808,7 +161495,7 @@
void SSL_CTX_free(SSL_CTX *);
__owur long SSL_CTX_set_timeout(SSL_CTX *ctx, long t);
__owur long SSL_CTX_get_timeout(const SSL_CTX *ctx);
-@@ -1473,6 +1377,7 @@ __owur long SSL_SESSION_get_time(const SSL_SESSION *s);
+@@ -1473,6 +1390,7 @@ __owur long SSL_SESSION_get_time(const SSL_SESSION *s);
__owur long SSL_SESSION_set_time(SSL_SESSION *s, long t);
__owur long SSL_SESSION_get_timeout(const SSL_SESSION *s);
__owur long SSL_SESSION_set_timeout(SSL_SESSION *s, long t);
@@ -148816,7 +161503,7 @@
__owur const char *SSL_SESSION_get0_hostname(const SSL_SESSION *s);
__owur int SSL_SESSION_has_ticket(const SSL_SESSION *s);
__owur unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s);
-@@ -1551,7 +1456,8 @@ __owur int SSL_CTX_set_session_id_context(SSL_CTX *ctx, const unsigned char *sid
+@@ -1551,7 +1469,8 @@ __owur int SSL_CTX_set_session_id_context(SSL_CTX *ctx, const unsigned char *sid
unsigned int sid_ctx_len);
SSL *SSL_new(SSL_CTX *ctx);
@@ -148826,7 +161513,7 @@
__owur int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx,
unsigned int sid_ctx_len);
-@@ -1738,6 +1644,7 @@ __owur int SSL_get_quiet_shutdown(const SSL *ssl);
+@@ -1738,6 +1657,7 @@ __owur int SSL_get_quiet_shutdown(const SSL *ssl);
void SSL_set_shutdown(SSL *ssl, int mode);
__owur int SSL_get_shutdown(const SSL *ssl);
__owur int SSL_version(const SSL *ssl);
@@ -148834,7 +161521,7 @@
__owur int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx);
__owur int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx);
__owur int SSL_CTX_set_default_verify_file(SSL_CTX *ctx);
-@@ -2103,6 +2010,7 @@ extern const char SSL_version_str[];
+@@ -2103,6 +2023,7 @@ extern const char SSL_version_str[];
* The following lines are auto generated by the script mkerr.pl. Any changes
* made after this point may be overwritten when the script is next run.
*/
@@ -148842,7 +161529,7 @@
void ERR_load_SSL_strings(void);
/* Error codes for the SSL functions. */
-@@ -2117,21 +2025,14 @@ void ERR_load_SSL_strings(void);
+@@ -2117,21 +2038,14 @@ void ERR_load_SSL_strings(void);
# define SSL_F_DANE_TLSA_ADD 394
# define SSL_F_DO_DTLS1_WRITE 245
# define SSL_F_DO_SSL3_WRITE 104
@@ -148866,7 +161553,7 @@
# define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 268
# define SSL_F_DTLSV1_LISTEN 350
# define SSL_F_DTLS_CONSTRUCT_CHANGE_CIPHER_SPEC 371
-@@ -2140,11 +2041,8 @@ void ERR_load_SSL_strings(void);
+@@ -2140,11 +2054,8 @@ void ERR_load_SSL_strings(void);
# define SSL_F_DTLS_PROCESS_HELLO_VERIFY 386
# define SSL_F_OPENSSL_INIT_SSL 342
# define SSL_F_READ_STATE_MACHINE 352
@@ -148878,7 +161565,7 @@
# define SSL_F_SSL3_CTRL 213
# define SSL_F_SSL3_CTX_CTRL 133
# define SSL_F_SSL3_DIGEST_CACHED_RECORDS 293
-@@ -2153,9 +2051,8 @@ void ERR_load_SSL_strings(void);
+@@ -2153,9 +2064,8 @@ void ERR_load_SSL_strings(void);
# define SSL_F_SSL3_GENERATE_KEY_BLOCK 238
# define SSL_F_SSL3_GENERATE_MASTER_SECRET 388
# define SSL_F_SSL3_GET_RECORD 143
@@ -148889,7 +161576,7 @@
# define SSL_F_SSL3_READ_BYTES 148
# define SSL_F_SSL3_READ_N 149
# define SSL_F_SSL3_SETUP_KEY_BLOCK 157
-@@ -2163,7 +2060,6 @@ void ERR_load_SSL_strings(void);
+@@ -2163,7 +2073,6 @@ void ERR_load_SSL_strings(void);
# define SSL_F_SSL3_SETUP_WRITE_BUFFER 291
# define SSL_F_SSL3_WRITE_BYTES 158
# define SSL_F_SSL3_WRITE_PENDING 159
@@ -148897,7 +161584,7 @@
# define SSL_F_SSL_ADD_CERT_CHAIN 316
# define SSL_F_SSL_ADD_CERT_TO_BUF 319
# define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT 298
-@@ -2179,7 +2075,6 @@ void ERR_load_SSL_strings(void);
+@@ -2179,7 +2088,6 @@ void ERR_load_SSL_strings(void);
# define SSL_F_SSL_BYTES_TO_CIPHER_LIST 161
# define SSL_F_SSL_CERT_ADD0_CHAIN_CERT 346
# define SSL_F_SSL_CERT_DUP 221
@@ -148905,7 +161592,7 @@
# define SSL_F_SSL_CERT_NEW 162
# define SSL_F_SSL_CERT_SET0_CHAIN 340
# define SSL_F_SSL_CHECK_PRIVATE_KEY 163
-@@ -2200,10 +2095,8 @@ void ERR_load_SSL_strings(void);
+@@ -2200,10 +2108,8 @@ void ERR_load_SSL_strings(void);
# define SSL_F_SSL_CTX_SET_CIPHER_LIST 269
# define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE 290
# define SSL_F_SSL_CTX_SET_CT_VALIDATION_CALLBACK 396
@@ -148916,7 +161603,7 @@
# define SSL_F_SSL_CTX_USE_CERTIFICATE 171
# define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 172
# define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 173
-@@ -2216,16 +2109,15 @@ void ERR_load_SSL_strings(void);
+@@ -2216,16 +2122,15 @@ void ERR_load_SSL_strings(void);
# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE 179
# define SSL_F_SSL_CTX_USE_SERVERINFO 336
# define SSL_F_SSL_CTX_USE_SERVERINFO_FILE 337
@@ -148935,7 +161622,7 @@
# define SSL_F_SSL_GET_SIGN_PKEY 183
# define SSL_F_SSL_INIT_WBIO_BUFFER 184
# define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185
-@@ -2238,8 +2130,6 @@ void ERR_load_SSL_strings(void);
+@@ -2238,8 +2143,6 @@ void ERR_load_SSL_strings(void);
# define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT 303
# define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT 311
# define SSL_F_SSL_PEEK 270
@@ -148944,7 +161631,7 @@
# define SSL_F_SSL_READ 223
# define SSL_F_SSL_SCAN_CLIENTHELLO_TLSEXT 320
# define SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT 321
-@@ -2253,17 +2143,14 @@ void ERR_load_SSL_strings(void);
+@@ -2253,17 +2156,14 @@ void ERR_load_SSL_strings(void);
# define SSL_F_SSL_SET_CT_VALIDATION_CALLBACK 399
# define SSL_F_SSL_SET_FD 192
# define SSL_F_SSL_SET_PKEY 193
@@ -148962,7 +161649,7 @@
# define SSL_F_SSL_UNDEFINED_FUNCTION 197
# define SSL_F_SSL_UNDEFINED_VOID_FUNCTION 244
# define SSL_F_SSL_USE_CERTIFICATE 198
-@@ -2283,12 +2170,9 @@ void ERR_load_SSL_strings(void);
+@@ -2283,12 +2183,9 @@ void ERR_load_SSL_strings(void);
# define SSL_F_TLS12_CHECK_PEER_SIGALG 333
# define SSL_F_TLS1_CHANGE_CIPHER_STATE 209
# define SSL_F_TLS1_CHECK_DUPLICATE_EXTENSIONS 341
@@ -148975,7 +161662,7 @@
# define SSL_F_TLS1_PRF 284
# define SSL_F_TLS1_SETUP_KEY_BLOCK 211
# define SSL_F_TLS1_SET_SERVER_SIGALGS 335
-@@ -2330,43 +2214,23 @@ void ERR_load_SSL_strings(void);
+@@ -2330,43 +2227,23 @@ void ERR_load_SSL_strings(void);
# define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272
# define SSL_R_AT_LEAST_TLS_1_0_NEEDED_IN_FIPS_MODE 143
# define SSL_R_AT_LEAST_TLS_1_2_NEEDED_IN_SUITEB_MODE 158
@@ -149019,7 +161706,7 @@
# define SSL_R_BAD_SRTP_MKI_VALUE 352
# define SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST 353
# define SSL_R_BAD_SSL_FILETYPE 124
-@@ -2376,7 +2240,6 @@ void ERR_load_SSL_strings(void);
+@@ -2376,7 +2253,6 @@ void ERR_load_SSL_strings(void);
# define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG 129
# define SSL_R_BN_LIB 130
# define SSL_R_CA_DN_LENGTH_MISMATCH 131
@@ -149027,7 +161714,7 @@
# define SSL_R_CA_KEY_TOO_SMALL 397
# define SSL_R_CA_MD_TOO_WEAK 398
# define SSL_R_CCS_RECEIVED_EARLY 133
-@@ -2416,12 +2279,8 @@ void ERR_load_SSL_strings(void);
+@@ -2416,12 +2292,8 @@ void ERR_load_SSL_strings(void);
# define SSL_R_DIGEST_CHECK_FAILED 149
# define SSL_R_DTLS_MESSAGE_TOO_BIG 334
# define SSL_R_DUPLICATE_COMPRESSION_ID 309
@@ -149040,7 +161727,7 @@
# define SSL_R_EE_KEY_TOO_SMALL 399
# define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST 354
# define SSL_R_ENCRYPTED_LENGTH_TOO_LONG 150
-@@ -2432,8 +2291,6 @@ void ERR_load_SSL_strings(void);
+@@ -2432,8 +2304,6 @@ void ERR_load_SSL_strings(void);
# define SSL_R_FAILED_TO_INIT_ASYNC 405
# define SSL_R_FRAGMENTED_CLIENT_HELLO 401
# define SSL_R_GOT_A_FIN_BEFORE_A_CCS 154
@@ -149049,7 +161736,7 @@
# define SSL_R_HTTPS_PROXY_REQUEST 155
# define SSL_R_HTTP_REQUEST 156
# define SSL_R_ILLEGAL_SUITEB_DIGEST 380
-@@ -2445,23 +2302,17 @@ void ERR_load_SSL_strings(void);
+@@ -2445,23 +2315,17 @@ void ERR_load_SSL_strings(void);
# define SSL_R_INVALID_CONFIGURATION_NAME 113
# define SSL_R_INVALID_CT_VALIDATION_TYPE 212
# define SSL_R_INVALID_NULL_CMD_NAME 385
@@ -149073,7 +161760,7 @@
# define SSL_R_MISSING_ECDSA_SIGNING_CERT 381
# define SSL_R_MISSING_RSA_CERTIFICATE 168
# define SSL_R_MISSING_RSA_ENCRYPTING_CERT 169
-@@ -2469,18 +2320,13 @@ void ERR_load_SSL_strings(void);
+@@ -2469,18 +2333,13 @@ void ERR_load_SSL_strings(void);
# define SSL_R_MISSING_SRP_PARAM 358
# define SSL_R_MISSING_TMP_DH_KEY 171
# define SSL_R_MISSING_TMP_ECDH_KEY 311
@@ -149092,7 +161779,7 @@
# define SSL_R_NO_COMPRESSION_SPECIFIED 187
# define SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER 330
# define SSL_R_NO_METHOD_SPECIFIED 188
-@@ -2490,16 +2336,14 @@ void ERR_load_SSL_strings(void);
+@@ -2490,16 +2349,14 @@ void ERR_load_SSL_strings(void);
# define SSL_R_NO_RENEGOTIATION 339
# define SSL_R_NO_REQUIRED_DIGEST 324
# define SSL_R_NO_SHARED_CIPHER 193
@@ -149110,7 +161797,7 @@
# define SSL_R_PACKET_LENGTH_TOO_LONG 198
# define SSL_R_PARSE_TLSEXT 227
# define SSL_R_PATH_TOO_LONG 270
-@@ -2507,7 +2351,6 @@ void ERR_load_SSL_strings(void);
+@@ -2507,7 +2364,6 @@ void ERR_load_SSL_strings(void);
# define SSL_R_PEM_NAME_BAD_PREFIX 391
# define SSL_R_PEM_NAME_TOO_SHORT 392
# define SSL_R_PIPELINE_FAILURE 406
@@ -149118,7 +161805,7 @@
# define SSL_R_PROTOCOL_IS_SHUTDOWN 207
# define SSL_R_PSK_IDENTITY_NOT_FOUND 223
# define SSL_R_PSK_NO_CLIENT_CB 224
-@@ -2515,18 +2358,16 @@ void ERR_load_SSL_strings(void);
+@@ -2515,18 +2371,16 @@ void ERR_load_SSL_strings(void);
# define SSL_R_READ_BIO_NOT_SET 211
# define SSL_R_READ_TIMEOUT_EXPIRED 312
# define SSL_R_RECORD_LENGTH_MISMATCH 213
@@ -149138,7 +161825,7 @@
# define SSL_R_SHUTDOWN_WHILE_IN_INIT 407
# define SSL_R_SIGNATURE_ALGORITHMS_ERROR 360
# define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE 220
-@@ -2534,11 +2375,9 @@ void ERR_load_SSL_strings(void);
+@@ -2534,11 +2388,9 @@ void ERR_load_SSL_strings(void);
# define SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES 362
# define SSL_R_SRTP_PROTECTION_PROFILE_LIST_TOO_LONG 363
# define SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE 364
@@ -149150,7 +161837,7 @@
# define SSL_R_SSL_COMMAND_SECTION_EMPTY 117
# define SSL_R_SSL_COMMAND_SECTION_NOT_FOUND 125
# define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 228
-@@ -2552,19 +2391,12 @@ void ERR_load_SSL_strings(void);
+@@ -2552,19 +2404,12 @@ void ERR_load_SSL_strings(void);
# define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 273
# define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH 303
# define SSL_R_SSL_SESSION_VERSION_MISMATCH 210
@@ -149170,7 +161857,7 @@
# define SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES 242
# define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243
# define SSL_R_UNEXPECTED_MESSAGE 244
-@@ -2580,13 +2412,10 @@ void ERR_load_SSL_strings(void);
+@@ -2580,13 +2425,10 @@ void ERR_load_SSL_strings(void);
# define SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE 250
# define SSL_R_UNKNOWN_PKEY_TYPE 251
# define SSL_R_UNKNOWN_PROTOCOL 252
@@ -149184,7 +161871,7 @@
# define SSL_R_UNSUPPORTED_ELLIPTIC_CURVE 315
# define SSL_R_UNSUPPORTED_PROTOCOL 258
# define SSL_R_UNSUPPORTED_SSL_VERSION 259
-@@ -2597,7 +2426,6 @@ void ERR_load_SSL_strings(void);
+@@ -2597,7 +2439,6 @@ void ERR_load_SSL_strings(void);
# define SSL_R_WRONG_CERTIFICATE_TYPE 383
# define SSL_R_WRONG_CIPHER_RETURNED 261
# define SSL_R_WRONG_CURVE 378
@@ -149192,7 +161879,7 @@
# define SSL_R_WRONG_SIGNATURE_LENGTH 264
# define SSL_R_WRONG_SIGNATURE_SIZE 265
# define SSL_R_WRONG_SIGNATURE_TYPE 370
-@@ -2606,7 +2434,7 @@ void ERR_load_SSL_strings(void);
+@@ -2606,7 +2447,7 @@ void ERR_load_SSL_strings(void);
# define SSL_R_X509_LIB 268
# define SSL_R_X509_VERIFICATION_SETUP_PROBLEMS 269
@@ -149396,7 +162083,7 @@
* Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
* ECC cipher suite support in OpenSSL originally developed by
diff --git a/include/openssl/stack.h b/include/openssl/stack.h
-index 976e6ac..9bc550f 100644
+index 976e6ac..ae47be9 100644
--- a/include/openssl/stack.h
+++ b/include/openssl/stack.h
@@ -1,58 +1,10 @@
@@ -149487,7 +162174,7 @@
+OPENSSL_STACK *OPENSSL_sk_new_null(void);
+void OPENSSL_sk_free(OPENSSL_STACK *);
+void OPENSSL_sk_pop_free(OPENSSL_STACK *st, void (*func) (void *));
-+OPENSSL_STACK *OPENSSL_sk_deep_copy(OPENSSL_STACK *, OPENSSL_sk_copyfunc c, OPENSSL_sk_freefunc f);
++OPENSSL_STACK *OPENSSL_sk_deep_copy(const OPENSSL_STACK *, OPENSSL_sk_copyfunc c, OPENSSL_sk_freefunc f);
+int OPENSSL_sk_insert(OPENSSL_STACK *sk, void *data, int where);
+void *OPENSSL_sk_delete(OPENSSL_STACK *st, int loc);
+void *OPENSSL_sk_delete_ptr(OPENSSL_STACK *st, const void *p);
@@ -149499,7 +162186,7 @@
+void *OPENSSL_sk_pop(OPENSSL_STACK *st);
+void OPENSSL_sk_zero(OPENSSL_STACK *st);
+OPENSSL_sk_compfunc OPENSSL_sk_set_cmp_func(OPENSSL_STACK *sk, OPENSSL_sk_compfunc cmp);
-+OPENSSL_STACK *OPENSSL_sk_dup(OPENSSL_STACK *st);
++OPENSSL_STACK *OPENSSL_sk_dup(const OPENSSL_STACK *st);
+void OPENSSL_sk_sort(OPENSSL_STACK *st);
+int OPENSSL_sk_is_sorted(const OPENSSL_STACK *st);
@@ -150559,7 +163246,7 @@
X509_CRL *X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx);
X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx);
diff --git a/include/openssl/x509v3.h b/include/openssl/x509v3.h
-index c44ebf5..36d11a7 100644
+index c44ebf5..7b0403b 100644
--- a/include/openssl/x509v3.h
+++ b/include/openssl/x509v3.h
@@ -1,60 +1,12 @@
@@ -150655,7 +163342,7 @@
const X509V3_EXT_METHOD *method,
- X509V3_CTX *ctx, int gen_type, char *value,
- int is_nc);
-+ X509V3_CTX *ctx, int gen_type,
++ X509V3_CTX *ctx, int gen_type,
+ const char *value, int is_nc);
# ifdef HEADER_CONF_H
@@ -150725,6 +163412,15 @@
char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, ASN1_ENUMERATED *aint);
char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth,
ASN1_ENUMERATED *aint);
+@@ -679,7 +631,7 @@ X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc);
+ int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value,
+ int crit, unsigned long flags);
+
+-#if OPENSSL_API_COMPAT < 0x00101000L
++#if OPENSSL_API_COMPAT < 0x10100000L
+ /* The new declarations are in crypto.h, but the old ones were here. */
+ # define hex_to_string OPENSSL_buf2hexstr
+ # define string_to_hex OPENSSL_hexstr2buf
@@ -710,16 +662,16 @@ const ASN1_OCTET_STRING *X509_get0_subject_key_id(X509 *x);
int X509_PURPOSE_get_count(void);
@@ -151365,7 +164061,7 @@
break;
case BIO_C_GET_FD:
diff --git a/ssl/d1_lib.c b/ssl/d1_lib.c
-index 6d75225..ea1e3d5 100644
+index 6d75225..a20f30a 100644
--- a/ssl/d1_lib.c
+++ b/ssl/d1_lib.c
@@ -1,59 +1,10 @@
@@ -151433,6 +164129,15 @@
*/
#include <stdio.h>
+@@ -131,7 +82,7 @@ int dtls1_new(SSL *s)
+ if (!DTLS_RECORD_LAYER_new(&s->rlayer)) {
+ return 0;
+ }
+-
++
+ if (!ssl3_new(s))
+ return (0);
+ if ((d1 = OPENSSL_zalloc(sizeof(*d1))) == NULL) {
@@ -327,7 +278,7 @@ struct timeval *dtls1_get_timeout(SSL *s, struct timeval *timeleft)
/*
@@ -151546,10 +164251,10 @@
dtls1_start_timer(s);
diff --git a/ssl/d1_msg.c b/ssl/d1_msg.c
-index b9342a2..0757203 100644
+index b9342a2..ae7aff6 100644
--- a/ssl/d1_msg.c
+++ b/ssl/d1_msg.c
-@@ -1,115 +1,10 @@
+@@ -1,120 +1,15 @@
/*
- * DTLS implementation written by Nagendra Modadugu
- * (nagendra at cs.stanford.edu) for the OpenSSL project 2005.
@@ -151605,7 +164310,8 @@
- * This product includes cryptographic software written by Eric Young
- * (eay at cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh at cryptsoft.com).
-- *
++ * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
- */
-/* Copyright (C) 1995-1998 Eric Young (eay at cryptsoft.com)
- * All rights reserved.
@@ -151657,8 +164363,7 @@
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
-+ * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
- *
+- *
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed. i.e. this code cannot simply be
- * copied and put under another distribution licence
@@ -151670,6 +164375,12 @@
*/
#define USE_SOCKETS
+ #include "ssl_locl.h"
+-
++
+ int dtls1_write_app_data_bytes(SSL *s, int type, const void *buf_, int len)
+ {
+ int i;
diff --git a/ssl/d1_srtp.c b/ssl/d1_srtp.c
index f969fb1..94c0127 100644
--- a/ssl/d1_srtp.c
@@ -152217,7 +164928,7 @@
#include "../ssl_locl.h"
diff --git a/ssl/record/rec_layer_d1.c b/ssl/record/rec_layer_d1.c
-index 00af44e..6699d2a 100644
+index 00af44e..cca5721 100644
--- a/ssl/record/rec_layer_d1.c
+++ b/ssl/record/rec_layer_d1.c
@@ -1,115 +1,10 @@
@@ -152276,7 +164987,8 @@
- * This product includes cryptographic software written by Eric Young
- * (eay at cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh at cryptsoft.com).
-- *
++ * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
- */
-/* Copyright (C) 1995-1998 Eric Young (eay at cryptsoft.com)
- * All rights reserved.
@@ -152328,8 +165040,7 @@
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
-+ * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
- *
+- *
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed. i.e. this code cannot simply be
- * copied and put under another distribution licence
@@ -152341,7 +165052,7 @@
*/
#include <stdio.h>
-@@ -118,7 +13,6 @@
+@@ -118,13 +13,12 @@
#include "../ssl_locl.h"
#include <openssl/evp.h>
#include <openssl/buffer.h>
@@ -152349,6 +165060,22 @@
#include "record_locl.h"
int DTLS_RECORD_LAYER_new(RECORD_LAYER *rl)
+ {
+ DTLS_RECORD_LAYER *d;
+-
++
+ if ((d = OPENSSL_malloc(sizeof(*d))) == NULL)
+ return (0);
+
+@@ -168,7 +62,7 @@ void DTLS_RECORD_LAYER_clear(RECORD_LAYER *rl)
+ pqueue *buffered_app_data;
+
+ d = rl->d;
+-
++
+ while ((item = pqueue_pop(d->unprocessed_rcds.q)) != NULL) {
+ rdata = (DTLS1_RECORD_DATA *)item->data;
+ OPENSSL_free(rdata->rbuf.buf);
@@ -569,7 +463,7 @@ int dtls1_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
memcpy(buf, &(SSL3_RECORD_get_data(rr)[SSL3_RECORD_get_off(rr)]), n);
@@ -152377,7 +165104,7 @@
} else {
al = SSL_AD_ILLEGAL_PARAMETER;
diff --git a/ssl/record/rec_layer_s3.c b/ssl/record/rec_layer_s3.c
-index 773a6d6..bce82a7 100644
+index 773a6d6..9461284 100644
--- a/ssl/record/rec_layer_s3.c
+++ b/ssl/record/rec_layer_s3.c
@@ -1,111 +1,10 @@
@@ -152508,7 +165235,7 @@
)
# undef EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK
# define EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK 0
-@@ -165,6 +63,7 @@ void RECORD_LAYER_clear(RECORD_LAYER *rl)
+@@ -165,11 +63,12 @@ void RECORD_LAYER_clear(RECORD_LAYER *rl)
for(pipes = 0; pipes < rl->numwpipes; pipes++)
SSL3_BUFFER_clear(&rl->wbuf[pipes]);
rl->numwpipes = 0;
@@ -152516,6 +165243,12 @@
SSL3_RECORD_clear(rl->rrec, SSL_MAX_PIPELINES);
RECORD_LAYER_reset_read_sequence(rl);
+ RECORD_LAYER_reset_write_sequence(rl);
+-
++
+ if (rl->d)
+ DTLS_RECORD_LAYER_clear(rl);
+ }
@@ -303,7 +202,7 @@ int ssl3_read_n(SSL *s, int n, int max, int extend, int clearold)
left = rb->left;
#if defined(SSL3_ALIGN_PAYLOAD) && SSL3_ALIGN_PAYLOAD!=0
@@ -152611,7 +165344,35 @@
if (!peek && curr_rec == num_recs
&& (s->mode & SSL_MODE_RELEASE_BUFFERS)
&& SSL3_BUFFER_get_left(rbuf) == 0)
-@@ -1445,7 +1349,7 @@ int ssl3_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
+@@ -1328,8 +1232,10 @@ int ssl3_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
+ SSL3_RECORD_add_length(rr, -1);
+ }
+
+- if (*dest_len < dest_maxlen)
++ if (*dest_len < dest_maxlen) {
++ SSL3_RECORD_set_read(rr);
+ goto start; /* fragment was too small */
++ }
+ }
+ }
+
+@@ -1412,6 +1318,7 @@ int ssl3_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
+ (s->session != NULL) && (s->session->cipher != NULL) &&
+ !(s->ctx->options & SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION)) {
+ SSL3_RECORD_set_length(rr, 0);
++ SSL3_RECORD_set_read(rr);
+ ssl3_send_alert(s, SSL3_AL_WARNING, SSL_AD_NO_RENEGOTIATION);
+ goto start;
+ }
+@@ -1438,6 +1345,7 @@ int ssl3_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
+
+ if (alert_level == SSL3_AL_WARNING) {
+ s->s3->warn_alert = alert_descr;
++ SSL3_RECORD_set_read(rr);
+ if (alert_descr == SSL_AD_CLOSE_NOTIFY) {
+ s->shutdown |= SSL_RECEIVED_SHUTDOWN;
+ return (0);
+@@ -1445,7 +1353,7 @@ int ssl3_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
/*
* This is a warning but we receive it if we requested
* renegotiation and the peer denied it. Terminate with a fatal
@@ -152620,17 +165381,34 @@
* presumably had a good reason and expects it to succeed. In
* future we might have a renegotiation where we don't care if
* the peer refused it where we carry on.
-@@ -1468,7 +1372,7 @@ int ssl3_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
+@@ -1468,7 +1376,8 @@ int ssl3_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
BIO_snprintf(tmp, sizeof tmp, "%d", alert_descr);
ERR_add_error_data(2, "SSL alert number ", tmp);
s->shutdown |= SSL_RECEIVED_SHUTDOWN;
- SSL_CTX_remove_session(s->ctx, s->session);
++ SSL3_RECORD_set_read(rr);
+ SSL_CTX_remove_session(s->session_ctx, s->session);
return (0);
} else {
al = SSL_AD_ILLEGAL_PARAMETER;
+@@ -1483,6 +1392,7 @@ int ssl3_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
+ * shutdown */
+ s->rwstate = SSL_NOTHING;
+ SSL3_RECORD_set_length(rr, 0);
++ SSL3_RECORD_set_read(rr);
+ return (0);
+ }
+
+@@ -1539,6 +1449,7 @@ int ssl3_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
+ */
+ if (s->version >= TLS1_VERSION && s->version <= TLS1_1_VERSION) {
+ SSL3_RECORD_set_length(rr, 0);
++ SSL3_RECORD_set_read(rr);
+ goto start;
+ }
+ al = SSL_AD_UNEXPECTED_MESSAGE;
diff --git a/ssl/record/record.h b/ssl/record/record.h
-index 6bb941d..cda4eff 100644
+index 6bb941d..9177fb4 100644
--- a/ssl/record/record.h
+++ b/ssl/record/record.h
@@ -1,111 +1,10 @@
@@ -152772,6 +165550,15 @@
/* partial write - check the numbers match */
/* number bytes written */
int wpend_tot;
+@@ -292,7 +198,7 @@ typedef struct record_layer_st {
+
+ unsigned char read_sequence[SEQ_NUM_SIZE];
+ unsigned char write_sequence[SEQ_NUM_SIZE];
+-
++
+ DTLS_RECORD_LAYER *d;
+ } RECORD_LAYER;
+
diff --git a/ssl/record/record_locl.h b/ssl/record/record_locl.h
index 81335fa..ff1eb32 100644
--- a/ssl/record/record_locl.h
@@ -152925,7 +165712,7 @@
void SSL3_RECORD_clear(SSL3_RECORD *r, unsigned int num_recs);
void SSL3_RECORD_release(SSL3_RECORD *r, unsigned int num_recs);
diff --git a/ssl/record/ssl3_buffer.c b/ssl/record/ssl3_buffer.c
-index 53ae0f4..72faafe 100644
+index 53ae0f4..940b73e 100644
--- a/ssl/record/ssl3_buffer.c
+++ b/ssl/record/ssl3_buffer.c
@@ -1,111 +1,10 @@
@@ -153046,6 +165833,15 @@
*/
#include "../ssl_locl.h"
+@@ -140,7 +39,7 @@ int ssl3_setup_read_buffer(SSL *s)
+ unsigned char *p;
+ size_t len, align = 0, headerlen;
+ SSL3_BUFFER *b;
+-
++
+ b = RECORD_LAYER_get_rbuf(&s->rlayer);
+
+ if (SSL_IS_DTLS(s))
diff --git a/ssl/record/ssl3_record.c b/ssl/record/ssl3_record.c
index 3c28572..d3b2bea 100644
--- a/ssl/record/ssl3_record.c
@@ -156044,7 +168840,7 @@
__owur int tls1_change_cipher_state(SSL *s, int which);
diff --git a/ssl/ssl_mcnf.c b/ssl/ssl_mcnf.c
-index 614e0a7..b92b210 100644
+index 614e0a7..ac9cc95 100644
--- a/ssl/ssl_mcnf.c
+++ b/ssl/ssl_mcnf.c
@@ -1,59 +1,10 @@
@@ -156112,6 +168908,24 @@
*/
#include <stdio.h>
+@@ -109,7 +60,7 @@ static int ssl_module_init(CONF_IMODULE *md, const CONF *cnf)
+ STACK_OF(CONF_VALUE) *cmd_lists;
+ ssl_conf_section = CONF_imodule_get_value(md);
+ cmd_lists = NCONF_get_section(cnf, ssl_conf_section);
+- if (sk_CONF_VALUE_num(cmd_lists) <= 0){
++ if (sk_CONF_VALUE_num(cmd_lists) <= 0) {
+ if (cmd_lists == NULL)
+ SSLerr(SSL_F_SSL_MODULE_INIT, SSL_R_SSL_SECTION_NOT_FOUND);
+ else
+@@ -223,7 +174,7 @@ static int ssl_do_config(SSL *s, SSL_CTX *ctx, const char *name)
+ if (rv <= 0) {
+ if (rv == -2)
+ SSLerr(SSL_F_SSL_DO_CONFIG, SSL_R_UNKNOWN_COMMAND);
+- else
++ else
+ SSLerr(SSL_F_SSL_DO_CONFIG, SSL_R_BAD_VALUE);
+ ERR_add_error_data(6, "section=", name, ", cmd=", cmd->cmd,
+ ", arg=", cmd->arg);
diff --git a/ssl/ssl_rsa.c b/ssl/ssl_rsa.c
index 00bf887..aad65ea 100644
--- a/ssl/ssl_rsa.c
@@ -157426,7 +170240,7 @@
return 0;
}
diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c
-index 8fcc232..85523da 100644
+index 8fcc232..aab4e76 100644
--- a/ssl/statem/statem_lib.c
+++ b/ssl/statem/statem_lib.c
@@ -1,112 +1,12 @@
@@ -157599,6 +170413,15 @@
al = SSL_AD_INTERNAL_ERROR;
break;
case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
+@@ -1055,7 +974,7 @@ int ssl_choose_client_version(SSL *s, int version)
+ * or FIPS_mode() constraints and any floor imposed by the security level here,
+ * so we don't advertise the wrong protocol version to only reject the outcome later.
+ *
+- * Computing the right floor matters. If, e.g., TLS 1.0 and 1.2 are enabled,
++ * Computing the right floor matters. If, e.g., TLS 1.0 and 1.2 are enabled,
+ * TLS 1.1 is disabled, but the security level, Suite-B and/or MinProtocol
+ * only allow TLS 1.2, we want to advertise TLS1.2, *not* TLS1.
+ *
diff --git a/ssl/statem/statem_locl.h b/ssl/statem/statem_locl.h
index 57b7c37..9f7ec88 100644
--- a/ssl/statem/statem_locl.h
@@ -157666,7 +170489,7 @@
/*****************************************************************************
diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c
-index 38fa945..a88b321 100644
+index 38fa945..773591c 100644
--- a/ssl/statem/statem_srvr.c
+++ b/ssl/statem/statem_srvr.c
@@ -1,112 +1,12 @@
@@ -157905,7 +170728,19 @@
int nr[4], kn;
BUF_MEM *buf;
EVP_MD_CTX *md_ctx = EVP_MD_CTX_new();
-@@ -2079,7 +2003,6 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
+@@ -1868,6 +1792,11 @@ int tls_construct_server_key_exchange(SSL *s)
+ goto f_err;
+ }
+ kn = EVP_PKEY_size(pkey);
++ /* Allow space for signature algorithm */
++ if (SSL_USE_SIGALGS(s))
++ kn += 2;
++ /* Allow space for signature length */
++ kn += 2;
+ } else {
+ pkey = NULL;
+ kn = 0;
+@@ -2079,7 +2008,6 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
EVP_PKEY *ckey = NULL;
#endif
PACKET enc_premaster;
@@ -157913,7 +170748,7 @@
unsigned char *rsa_decrypt = NULL;
alg_k = s->s3->tmp.new_cipher->algorithm_mkey;
-@@ -2164,7 +2087,7 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
+@@ -2164,7 +2092,7 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
unsigned char rand_premaster_secret[SSL_MAX_MASTER_KEY_LENGTH];
int decrypt_len;
unsigned char decrypt_good, version_good;
@@ -157922,7 +170757,7 @@
/* FIX THIS UP EAY EAY EAY EAY */
rsa = EVP_PKEY_get0_RSA(s->cert->pkeys[SSL_PKEY_RSA_ENC].privatekey);
-@@ -2221,17 +2144,37 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
+@@ -2221,17 +2149,37 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
goto err;
}
@@ -157966,7 +170801,7 @@
/*
* If the version in the decrypted pre-master secret is correct then
-@@ -2242,10 +2185,10 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
+@@ -2242,10 +2190,10 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
* constant time and are treated like any other decryption error.
*/
version_good =
@@ -157979,7 +170814,7 @@
(unsigned)(s->client_version & 0xff));
/*
-@@ -2259,10 +2202,10 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
+@@ -2259,10 +2207,10 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
*/
if (s->options & SSL_OP_TLS_ROLLBACK_BUG) {
unsigned char workaround_good;
@@ -157993,7 +170828,7 @@
(unsigned)(s->version & 0xff));
version_good |= workaround_good;
}
-@@ -2280,12 +2223,13 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
+@@ -2280,12 +2228,13 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
* it is still sufficiently large to read from.
*/
for (j = 0; j < sizeof(rand_premaster_secret); j++) {
@@ -158010,7 +170845,7 @@
sizeof(rand_premaster_secret), 0)) {
al = SSL_AD_INTERNAL_ERROR;
SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_INTERNAL_ERROR);
-@@ -2301,6 +2245,7 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
+@@ -2301,6 +2250,7 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
DH *cdh;
unsigned int i;
BIGNUM *pub_key;
@@ -158018,7 +170853,7 @@
if (!PACKET_get_net_2(pkt, &i)) {
if (alg_k & (SSL_kDHE | SSL_kDHEPSK)) {
-@@ -2378,6 +2323,7 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
+@@ -2378,6 +2328,7 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
goto f_err;
} else {
unsigned int i;
@@ -158026,7 +170861,7 @@
/*
* Get client's public key from encoded point in the
-@@ -2425,6 +2371,7 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
+@@ -2425,6 +2376,7 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
#ifndef OPENSSL_NO_SRP
if (alg_k & SSL_kSRP) {
unsigned int i;
@@ -158034,7 +170869,7 @@
if (!PACKET_get_net_2(pkt, &i)
|| !PACKET_get_bytes(pkt, &data, i)) {
-@@ -2467,6 +2414,7 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
+@@ -2467,6 +2419,7 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt)
int Ttag, Tclass;
long Tlen;
long sess_key_len;
@@ -158042,7 +170877,7 @@
/* Get our certificate private key */
alg_a = s->s3->tmp.new_cipher->algorithm_auth;
-@@ -2909,7 +2857,7 @@ MSG_PROCESS_RETURN tls_process_client_certificate(SSL *s, PACKET *pkt)
+@@ -2909,7 +2862,7 @@ MSG_PROCESS_RETURN tls_process_client_certificate(SSL *s, PACKET *pkt)
s->session->peer_chain = sk;
/*
* Inconsistency alert: cert_chain does *not* include the peer's own
@@ -158051,7 +170886,7 @@
*/
sk = NULL;
ret = MSG_PROCESS_CONTINUE_READING;
-@@ -2956,7 +2904,8 @@ int tls_construct_new_session_ticket(SSL *s)
+@@ -2956,7 +2909,8 @@ int tls_construct_new_session_ticket(SSL *s)
unsigned int hlen;
SSL_CTX *tctx = s->initial_ctx;
unsigned char iv[EVP_MAX_IV_LENGTH];
@@ -158061,7 +170896,7 @@
/* get session encoding length */
slen_full = i2d_SSL_SESSION(s->session, NULL);
-@@ -3006,13 +2955,14 @@ int tls_construct_new_session_ticket(SSL *s)
+@@ -3006,13 +2960,14 @@ int tls_construct_new_session_ticket(SSL *s)
* Grow buffer if need be: the length calculation is as
* follows handshake_header_length +
* 4 (ticket lifetime hint) + 2 (ticket length) +
@@ -158081,7 +170916,7 @@
goto err;
p = ssl_handshake_start(s);
-@@ -3021,18 +2971,38 @@ int tls_construct_new_session_ticket(SSL *s)
+@@ -3021,18 +2976,38 @@ int tls_construct_new_session_ticket(SSL *s)
* all the work otherwise use generated values from parent ctx.
*/
if (tctx->tlsext_ticket_key_cb) {
@@ -158125,7 +170960,7 @@
}
/*
-@@ -3046,11 +3016,11 @@ int tls_construct_new_session_ticket(SSL *s)
+@@ -3046,11 +3021,11 @@ int tls_construct_new_session_ticket(SSL *s)
p += 2;
/* Output key name */
macstart = p;
@@ -158372,7 +171207,7 @@
memset(meth, 0, sizeof(*meth));
meth->parse_cb = parse_cb;
diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c
-index 9f6cef3..3e27d65 100644
+index 9f6cef3..e938d87 100644
--- a/ssl/t1_lib.c
+++ b/ssl/t1_lib.c
@@ -1,111 +1,10 @@
@@ -158724,6 +171559,15 @@
goto err;
}
}
+@@ -3711,7 +3604,7 @@ static int sig_cb(const char *elem, int len, void *arg)
+ }
+
+ /*
+- * Set suppored signature algorithms based on a colon separated list of the
++ * Set supported signature algorithms based on a colon separated list of the
+ * form sig+hash e.g. RSA+SHA512:DSA+SHA512
+ */
+ int tls1_set_sigalgs_list(CERT *c, const char *str, int client)
diff --git a/ssl/t1_reneg.c b/ssl/t1_reneg.c
index 5c0d825..15a4e27 100644
--- a/ssl/t1_reneg.c
@@ -159422,15 +172266,16 @@
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/test/README.ssltest.md b/test/README.ssltest.md
-index b65a0d7..5797cf6 100644
+index b65a0d7..ea90efc 100644
--- a/test/README.ssltest.md
+++ b/test/README.ssltest.md
-@@ -59,6 +59,24 @@ The test section supports the following options:
+@@ -59,6 +59,31 @@ The test section supports the following options:
* Protocol - expected negotiated protocol. One of
SSLv3, TLSv1, TLSv1.1, TLSv1.2.
+* ClientVerifyCallback - the client's custom certificate verify callback.
+ Used to test callback behaviour. One of
++ - None - no custom callback (default)
+ - AcceptAll - accepts all certificates.
+ - RejectAll - rejects all certificates.
+
@@ -159440,7 +172285,13 @@
+ - None - do not use SNI (default)
+ - server1 - the initial context
+ - server2 - the secondary context
++ - invalid - an unknown context
+
++* ServerNameCallback - the SNI switching callback to use
++ - None - no callback (default)
++ - IgnoreMismatch - continue the handshake on SNI mismatch
++ - RejectMismatch - abort the handshake on SNI mismatch
++
+* SessionTicketExpected - whether or not a session ticket is expected
+ - Ignore - do not check for a session ticket (default)
+ - Yes - a session ticket is expected
@@ -159450,7 +172301,7 @@
## Configuring the client and server
The client and server configurations can be any valid `SSL_CTX`
-@@ -73,6 +91,10 @@ server => {
+@@ -73,6 +98,10 @@ server => {
}
```
@@ -160026,7 +172877,7 @@
};
diff --git a/test/bioprinttest.c b/test/bioprinttest.c
new file mode 100644
-index 0000000..c69a79c
+index 0000000..b2d2622
--- /dev/null
+++ b/test/bioprinttest.c
@@ -0,0 +1,225 @@
@@ -160229,12 +173080,12 @@
+ dofptest(test++, 66.0 + frac, width, prec, &fail);
+ dofptest(test++, 666.0 + frac, width, prec, &fail);
+ dofptest(test++, 6666.0 + frac, width, prec, &fail);
-+ dofptest(test++, 66666.0 + frac, width, prec, &fail);
++ dofptest(test++, 66666.0 + frac, width, prec, &fail);
+ }
+
+ /* Test excessively big number. Should fail */
+ if (BIO_snprintf(buf, sizeof(buf), "%f\n", 2 * (double)ULONG_MAX) != -1) {
-+ printf("Test %d failed. Unexecpted success return from "
++ printf("Test %d failed. Unexpected success return from "
+ "BIO_snprintf()\n", test);
+ fail = 1;
+ }
@@ -160351,16 +173202,15 @@
if (!results) {
BN_print(bp, a);
diff --git a/test/build.info b/test/build.info
-index 4fd4d99..c37e6e0 100644
+index 4fd4d99..aac8693 100644
--- a/test/build.info
+++ b/test/build.info
-@@ -1,4 +1,4 @@
+@@ -1,4 +1,3 @@
-{- use File::Spec::Functions qw/catdir rel2abs/; -}
-+{- use File::Spec::Functions qw/catdir catfile rel2abs abs2rel updir/; -}
IF[{- !$disabled{tests} -}]
PROGRAMS=\
aborttest \
-@@ -11,230 +11,282 @@ IF[{- !$disabled{tests} -}]
+@@ -11,230 +10,281 @@ IF[{- !$disabled{tests} -}]
mdc2test rmdtest \
randtest dhtest enginetest casttest \
bftest ssltest_old dsatest exptest rsa_test \
@@ -160376,306 +173226,305 @@
SOURCE[aborttest]=aborttest.c
- INCLUDE[aborttest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[aborttest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[aborttest]=../include
DEPEND[aborttest]=../libcrypto
SOURCE[nptest]=nptest.c
- INCLUDE[nptest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[nptest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[nptest]=../include
DEPEND[nptest]=../libcrypto
SOURCE[bntest]=bntest.c
- INCLUDE[bntest]={- rel2abs(catdir($builddir,"../crypto/include")) -} {- rel2abs(catdir($builddir,"../include")) -} .. ../crypto/include ../include
-+ INCLUDE[bntest]="{- rel2abs(catdir($builddir,"../crypto/include")) -}" "{- rel2abs(catdir($builddir,"../include")) -}" .. ../crypto/include ../include
++ INCLUDE[bntest]=.. ../crypto/include ../include
DEPEND[bntest]=../libcrypto
SOURCE[ectest]=ectest.c
- INCLUDE[ectest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[ectest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[ectest]=../include
DEPEND[ectest]=../libcrypto
SOURCE[ecdsatest]=ecdsatest.c
- INCLUDE[ecdsatest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[ecdsatest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[ecdsatest]=../include
DEPEND[ecdsatest]=../libcrypto
SOURCE[ecdhtest]=ecdhtest.c
- INCLUDE[ecdhtest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[ecdhtest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[ecdhtest]=../include
DEPEND[ecdhtest]=../libcrypto
SOURCE[gmdifftest]=gmdifftest.c
- INCLUDE[gmdifftest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[gmdifftest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[gmdifftest]=../include
DEPEND[gmdifftest]=../libcrypto
SOURCE[pbelutest]=pbelutest.c
- INCLUDE[pbelutest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[pbelutest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[pbelutest]=../include
DEPEND[pbelutest]=../libcrypto
SOURCE[ideatest]=ideatest.c
- INCLUDE[ideatest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[ideatest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[ideatest]=../include
DEPEND[ideatest]=../libcrypto
SOURCE[md2test]=md2test.c
- INCLUDE[md2test]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[md2test]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[md2test]=../include
DEPEND[md2test]=../libcrypto
SOURCE[md4test]=md4test.c
- INCLUDE[md4test]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[md4test]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[md4test]=../include
DEPEND[md4test]=../libcrypto
SOURCE[md5test]=md5test.c
- INCLUDE[md5test]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[md5test]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[md5test]=../include
DEPEND[md5test]=../libcrypto
SOURCE[hmactest]=hmactest.c
- INCLUDE[hmactest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[hmactest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[hmactest]=../include
DEPEND[hmactest]=../libcrypto
SOURCE[wp_test]=wp_test.c
- INCLUDE[wp_test]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[wp_test]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[wp_test]=../include
DEPEND[wp_test]=../libcrypto
SOURCE[rc2test]=rc2test.c
- INCLUDE[rc2test]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[rc2test]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[rc2test]=../include
DEPEND[rc2test]=../libcrypto
SOURCE[rc4test]=rc4test.c
- INCLUDE[rc4test]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[rc4test]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[rc4test]=../include
DEPEND[rc4test]=../libcrypto
SOURCE[rc5test]=rc5test.c
- INCLUDE[rc5test]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[rc5test]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[rc5test]=../include
DEPEND[rc5test]=../libcrypto
SOURCE[destest]=destest.c
- INCLUDE[destest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[destest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[destest]=../include
DEPEND[destest]=../libcrypto
SOURCE[sha1test]=sha1test.c
- INCLUDE[sha1test]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[sha1test]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[sha1test]=../include
DEPEND[sha1test]=../libcrypto
SOURCE[sha256t]=sha256t.c
- INCLUDE[sha256t]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[sha256t]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[sha256t]=../include
DEPEND[sha256t]=../libcrypto
SOURCE[sha512t]=sha512t.c
- INCLUDE[sha512t]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[sha512t]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[sha512t]=../include
DEPEND[sha512t]=../libcrypto
SOURCE[mdc2test]=mdc2test.c
- INCLUDE[mdc2test]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[mdc2test]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[mdc2test]=../include
DEPEND[mdc2test]=../libcrypto
SOURCE[rmdtest]=rmdtest.c
- INCLUDE[rmdtest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[rmdtest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[rmdtest]=../include
DEPEND[rmdtest]=../libcrypto
SOURCE[randtest]=randtest.c
- INCLUDE[randtest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[randtest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[randtest]=../include
DEPEND[randtest]=../libcrypto
SOURCE[dhtest]=dhtest.c
- INCLUDE[dhtest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[dhtest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[dhtest]=../include
DEPEND[dhtest]=../libcrypto
SOURCE[enginetest]=enginetest.c
- INCLUDE[enginetest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[enginetest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[enginetest]=../include
DEPEND[enginetest]=../libcrypto
SOURCE[casttest]=casttest.c
- INCLUDE[casttest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[casttest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[casttest]=../include
DEPEND[casttest]=../libcrypto
SOURCE[bftest]=bftest.c
- INCLUDE[bftest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[bftest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[bftest]=../include
DEPEND[bftest]=../libcrypto
SOURCE[ssltest_old]=ssltest_old.c
- INCLUDE[ssltest_old]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-+ INCLUDE[ssltest_old]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[ssltest_old]=.. ../include
DEPEND[ssltest_old]=../libcrypto ../libssl
SOURCE[dsatest]=dsatest.c
- INCLUDE[dsatest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[dsatest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[dsatest]=../include
DEPEND[dsatest]=../libcrypto
SOURCE[exptest]=exptest.c
- INCLUDE[exptest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[exptest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[exptest]=../include
DEPEND[exptest]=../libcrypto
SOURCE[rsa_test]=rsa_test.c
- INCLUDE[rsa_test]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-+ INCLUDE[rsa_test]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[rsa_test]=.. ../include
DEPEND[rsa_test]=../libcrypto
SOURCE[evp_test]=evp_test.c
- INCLUDE[evp_test]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[evp_test]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[evp_test]=../include
DEPEND[evp_test]=../libcrypto
SOURCE[evp_extra_test]=evp_extra_test.c
- INCLUDE[evp_extra_test]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[evp_extra_test]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[evp_extra_test]=../include
DEPEND[evp_extra_test]=../libcrypto
SOURCE[igetest]=igetest.c
- INCLUDE[igetest]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-+ INCLUDE[igetest]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[igetest]=.. ../include
DEPEND[igetest]=../libcrypto
SOURCE[v3nametest]=v3nametest.c
- INCLUDE[v3nametest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[v3nametest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[v3nametest]=../include
DEPEND[v3nametest]=../libcrypto
+ SOURCE[v3ext]=v3ext.c
-+ INCLUDE[v3ext]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[v3ext]=../include
+ DEPEND[v3ext]=../libcrypto
+
SOURCE[danetest]=danetest.c
- INCLUDE[danetest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[danetest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[danetest]=../include
DEPEND[danetest]=../libcrypto ../libssl
SOURCE[heartbeat_test]=heartbeat_test.c testutil.c
- INCLUDE[heartbeat_test]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-+ INCLUDE[heartbeat_test]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[heartbeat_test]=.. ../include
DEPEND[heartbeat_test]=../libcrypto ../libssl
SOURCE[p5_crpt2_test]=p5_crpt2_test.c
- INCLUDE[p5_crpt2_test]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[p5_crpt2_test]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[p5_crpt2_test]=../include
DEPEND[p5_crpt2_test]=../libcrypto
SOURCE[constant_time_test]=constant_time_test.c
- INCLUDE[constant_time_test]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-+ INCLUDE[constant_time_test]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[constant_time_test]=.. ../include
DEPEND[constant_time_test]=../libcrypto
SOURCE[verify_extra_test]=verify_extra_test.c
- INCLUDE[verify_extra_test]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[verify_extra_test]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[verify_extra_test]=../include
DEPEND[verify_extra_test]=../libcrypto
SOURCE[clienthellotest]=clienthellotest.c
- INCLUDE[clienthellotest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[clienthellotest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[clienthellotest]=../include
DEPEND[clienthellotest]=../libcrypto ../libssl
SOURCE[packettest]=packettest.c
- INCLUDE[packettest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[packettest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[packettest]=../include
DEPEND[packettest]=../libcrypto
SOURCE[asynctest]=asynctest.c
- INCLUDE[asynctest]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-+ INCLUDE[asynctest]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[asynctest]=.. ../include
DEPEND[asynctest]=../libcrypto
SOURCE[secmemtest]=secmemtest.c
- INCLUDE[secmemtest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[secmemtest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[secmemtest]=../include
DEPEND[secmemtest]=../libcrypto
SOURCE[srptest]=srptest.c
- INCLUDE[srptest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[srptest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[srptest]=../include
DEPEND[srptest]=../libcrypto
SOURCE[memleaktest]=memleaktest.c
- INCLUDE[memleaktest]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[memleaktest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[memleaktest]=../include
DEPEND[memleaktest]=../libcrypto
SOURCE[dtlsv1listentest]=dtlsv1listentest.c
- INCLUDE[dtlsv1listentest]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-+ INCLUDE[dtlsv1listentest]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[dtlsv1listentest]=.. ../include
DEPEND[dtlsv1listentest]=../libssl
SOURCE[ct_test]=ct_test.c testutil.c
- INCLUDE[ct_test]={- rel2abs(catdir($builddir,"../include")) -} ../crypto/include ../include
-+ INCLUDE[ct_test]="{- rel2abs(catdir($builddir,"../include")) -}" ../crypto/include ../include
++ INCLUDE[ct_test]=../crypto/include ../include
DEPEND[ct_test]=../libcrypto
SOURCE[threadstest]=threadstest.c
- INCLUDE[threadstest]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-+ INCLUDE[threadstest]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[threadstest]=.. ../include
DEPEND[threadstest]=../libcrypto
SOURCE[afalgtest]=afalgtest.c
- INCLUDE[afalgtest]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-+ INCLUDE[afalgtest]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[afalgtest]=.. ../include
DEPEND[afalgtest]=../libcrypto
SOURCE[d2i_test]=d2i_test.c testutil.c
- INCLUDE[d2i_test]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-+ INCLUDE[d2i_test]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[d2i_test]=.. ../include
DEPEND[d2i_test]=../libcrypto
SOURCE[ssl_test_ctx_test]=ssl_test_ctx_test.c ssl_test_ctx.c testutil.c
- INCLUDE[ssl_test_ctx_test]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-+ INCLUDE[ssl_test_ctx_test]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[ssl_test_ctx_test]=.. ../include
DEPEND[ssl_test_ctx_test]=../libcrypto
SOURCE[ssl_test]=ssl_test.c ssl_test_ctx.c testutil.c handshake_helper.c
- INCLUDE[ssl_test]={- rel2abs(catdir($builddir,"../include")) -} .. ../include
-+ INCLUDE[ssl_test]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[ssl_test]=.. ../include
DEPEND[ssl_test]=../libcrypto ../libssl
+ SOURCE[cipherlist_test]=cipherlist_test.c testutil.c
-+ INCLUDE[cipherlist_test]="{- rel2abs(catdir($builddir,"../include")) -}" .. ../include
++ INCLUDE[cipherlist_test]=.. ../include
+ DEPEND[cipherlist_test]=../libcrypto ../libssl
+
INCLUDE[testutil.o]=..
- INCLUDE[ssl_test_ctx.o]={- rel2abs(catdir($builddir,"../include")) -} ../include
- INCLUDE[handshake_helper.o]={- rel2abs(catdir($builddir,"../include")) -} ../include
-+ INCLUDE[ssl_test_ctx.o]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
-+ INCLUDE[handshake_helper.o]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
-+ INCLUDE[ssltestlib.o]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[ssl_test_ctx.o]=../include
++ INCLUDE[handshake_helper.o]=../include
++ INCLUDE[ssltestlib.o]=../include
+
+ SOURCE[x509aux]=x509aux.c
-+ INCLUDE[x509aux]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[x509aux]=../include
+ DEPEND[x509aux]=../libcrypto
+
+ SOURCE[asynciotest]=asynciotest.c ssltestlib.c
-+ INCLUDE[asynciotest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[asynciotest]=../include
+ DEPEND[asynciotest]=../libcrypto ../libssl
+
+ SOURCE[bioprinttest]=bioprinttest.c
-+ INCLUDE[bioprinttest]={- rel2abs(catdir($builddir,"../include")) -} ../include
++ INCLUDE[bioprinttest]=../include
+ DEPEND[bioprinttest]=../libcrypto
+ {-
++ use File::Spec::Functions;
+ use File::Basename;
+ use if $^O ne "VMS", 'File::Glob' => qw/glob/;
+
-+ my $includes = join(" ",
-+ rel2abs(catdir($builddir,"../include")), "../include");
+ my @nogo_headers = ( "asn1_mac.h",
+ "__decc_include_prologue.h",
+ "__decc_include_epilogue.h" );
@@ -160691,14 +173540,14 @@
+ PROGRAMS=buildtest_$name
+ GENERATE[buildtest_$name.c]=generate_buildtest.pl $name
+ SOURCE[buildtest_$name]=buildtest_$name.c
-+ INCLUDE[buildtest_$name]=$includes
++ INCLUDE[buildtest_$name]=../include
+ DEPEND[buildtest_$name]=../libssl ../libcrypto
+_____
+ }
+ -}
+
+ SOURCE[sslapitest]=sslapitest.c ssltestlib.c testutil.c
-+ INCLUDE[sslapitest]="{- rel2abs(catdir($builddir,"../include")) -}" ../include
++ INCLUDE[sslapitest]=../include
+ DEPEND[sslapitest]=../libcrypto ../libssl
ENDIF
diff --git a/test/casttest.c b/test/casttest.c
@@ -163114,10 +175963,10 @@
#include <stdio.h>
#include <stdlib.h>
diff --git a/test/ecdhtest_cavs.h b/test/ecdhtest_cavs.h
-index 632d02d..ab3ac22 100644
+index 632d02d..fee7011 100644
--- a/test/ecdhtest_cavs.h
+++ b/test/ecdhtest_cavs.h
-@@ -1,3 +1,12 @@
+@@ -1,10 +1,19 @@
+/*
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
@@ -163130,6 +175979,15 @@
#ifndef ECDHTEST_CAVS_H
#define ECDHTEST_CAVS_H
+-/*
++/*
+ * co-factor ECDH KATs for NIST SP800-56A
+ * http://csrc.nist.gov/groups/STM/cavp/component-testing.html#ECCCDH
+- * $ sha256sum KAS_ECC_CDH_PrimitiveTest.txt
++ * $ sha256sum KAS_ECC_CDH_PrimitiveTest.txt
+ * 456068d3f8aad8ac62a03d19ed3173f00ad51f42b51aeab4753c20f30c01cf23 KAS_ECC_CDH_PrimitiveTest.txt
+ */
+
diff --git a/test/ecdsatest.c b/test/ecdsatest.c
index f5b753a..538f9df 100644
--- a/test/ecdsatest.c
@@ -164413,7 +177271,7 @@
#include <openssl/crypto.h>
diff --git a/test/handshake_helper.c b/test/handshake_helper.c
-index 4682d45..a60c9c6 100644
+index 4682d45..8a8dab0 100644
--- a/test/handshake_helper.c
+++ b/test/handshake_helper.c
@@ -1,16 +1,16 @@
@@ -164437,11 +177295,12 @@
#include <openssl/ssl.h>
#include "handshake_helper.h"
-@@ -23,11 +23,12 @@
+@@ -23,11 +23,13 @@
typedef struct handshake_ex_data {
int alert_sent;
int alert_received;
+ int session_ticket_do_not_call;
++ ssl_servername_t servername;
} HANDSHAKE_EX_DATA;
static int ex_data_idx;
@@ -164451,14 +177310,29 @@
{
if (where & SSL_CB_ALERT) {
HANDSHAKE_EX_DATA *ex_data =
-@@ -40,6 +41,98 @@ static void info_callback(const SSL *s, int where, int ret)
+@@ -40,6 +42,158 @@ static void info_callback(const SSL *s, int where, int ret)
}
}
-+static int servername_cb(SSL *s, int *ad, void *arg)
++/*
++ * Select the appropriate server CTX.
++ * Returns SSL_TLSEXT_ERR_OK if a match was found.
++ * If |ignore| is 1, returns SSL_TLSEXT_ERR_NOACK on mismatch.
++ * Otherwise, returns SSL_TLSEXT_ERR_ALERT_FATAL on mismatch.
++ * An empty SNI extension also returns SSL_TSLEXT_ERR_NOACK.
++ */
++static int select_server_ctx(SSL *s, void *arg, int ignore)
+{
+ const char *servername = SSL_get_servername(s, TLSEXT_NAMETYPE_host_name);
-+ if (servername != NULL && !strcmp(servername, "server2")) {
++ HANDSHAKE_EX_DATA *ex_data =
++ (HANDSHAKE_EX_DATA*)(SSL_get_ex_data(s, ex_data_idx));
++
++ if (servername == NULL) {
++ ex_data->servername = SSL_TEST_SERVERNAME_SERVER1;
++ return SSL_TLSEXT_ERR_NOACK;
++ }
++
++ if (strcmp(servername, "server2") == 0) {
+ SSL_CTX *new_ctx = (SSL_CTX*)arg;
+ SSL_set_SSL_CTX(s, new_ctx);
+ /*
@@ -164468,10 +177342,42 @@
+ */
+ SSL_clear_options(s, 0xFFFFFFFFL);
+ SSL_set_options(s, SSL_CTX_get_options(new_ctx));
++
++ ex_data->servername = SSL_TEST_SERVERNAME_SERVER2;
++ return SSL_TLSEXT_ERR_OK;
++ } else if (strcmp(servername, "server1") == 0) {
++ ex_data->servername = SSL_TEST_SERVERNAME_SERVER1;
++ return SSL_TLSEXT_ERR_OK;
++ } else if (ignore) {
++ ex_data->servername = SSL_TEST_SERVERNAME_SERVER1;
++ return SSL_TLSEXT_ERR_NOACK;
++ } else {
++ /* Don't set an explicit alert, to test library defaults. */
++ return SSL_TLSEXT_ERR_ALERT_FATAL;
+ }
-+ return SSL_TLSEXT_ERR_OK;
+}
+
++/*
++ * (RFC 6066):
++ * If the server understood the ClientHello extension but
++ * does not recognize the server name, the server SHOULD take one of two
++ * actions: either abort the handshake by sending a fatal-level
++ * unrecognized_name(112) alert or continue the handshake.
++ *
++ * This behaviour is up to the application to configure; we test both
++ * configurations to ensure the state machine propagates the result
++ * correctly.
++ */
++static int servername_ignore_cb(SSL *s, int *ad, void *arg)
++{
++ return select_server_ctx(s, arg, 1);
++}
++
++static int servername_reject_cb(SSL *s, int *ad, void *arg)
++{
++ return select_server_ctx(s, arg, 0);
++}
++
+static int verify_reject_cb(X509_STORE_CTX *ctx, void *arg) {
+ X509_STORE_CTX_set_error(ctx, X509_V_ERR_APPLICATION_VERIFICATION);
+ return 0;
@@ -164520,14 +177426,27 @@
+ }
+
+ /* link the two contexts for SNI purposes */
-+ SSL_CTX_set_tlsext_servername_callback(server_ctx, servername_cb);
-+ SSL_CTX_set_tlsext_servername_arg(server_ctx, server2_ctx);
++ switch (test_ctx->servername_callback) {
++ case SSL_TEST_SERVERNAME_IGNORE_MISMATCH:
++ SSL_CTX_set_tlsext_servername_callback(server_ctx, servername_ignore_cb);
++ SSL_CTX_set_tlsext_servername_arg(server_ctx, server2_ctx);
++ break;
++ case SSL_TEST_SERVERNAME_REJECT_MISMATCH:
++ SSL_CTX_set_tlsext_servername_callback(server_ctx, servername_reject_cb);
++ SSL_CTX_set_tlsext_servername_arg(server_ctx, server2_ctx);
++ break;
++ default:
++ break;
++ }
++
+ /*
+ * The initial_ctx/session_ctx always handles the encrypt/decrypt of the
+ * session ticket. This ticket_key callback is assigned to the second
+ * session (assigned via SNI), and should never be invoked
+ */
-+ SSL_CTX_set_tlsext_ticket_key_cb(server2_ctx, do_not_call_session_ticket_cb);
++ if (server2_ctx != NULL)
++ SSL_CTX_set_tlsext_ticket_key_cb(server2_ctx,
++ do_not_call_session_ticket_cb);
+
+ if (test_ctx->session_ticket_expected == SSL_TEST_SESSION_TICKET_BROKEN) {
+ SSL_CTX_set_tlsext_ticket_key_cb(server_ctx, broken_session_ticket_cb);
@@ -164550,7 +177469,7 @@
typedef enum {
PEER_SUCCESS,
PEER_RETRY,
-@@ -139,7 +232,8 @@ static handshake_status_t handshake_status(peer_status_t last_status,
+@@ -139,7 +293,8 @@ static handshake_status_t handshake_status(peer_status_t last_status,
return INTERNAL_ERROR;
}
@@ -164560,7 +177479,7 @@
{
SSL *server, *client;
BIO *client_to_server, *server_to_client;
-@@ -148,11 +242,18 @@ HANDSHAKE_RESULT do_handshake(SSL_CTX *server_ctx, SSL_CTX *client_ctx)
+@@ -148,11 +303,18 @@ HANDSHAKE_RESULT do_handshake(SSL_CTX *server_ctx, SSL_CTX *client_ctx)
int client_turn = 1;
peer_status_t client_status = PEER_RETRY, server_status = PEER_RETRY;
handshake_status_t status = HANDSHAKE_RETRY;
@@ -164579,7 +177498,7 @@
memset(&server_ex_data, 0, sizeof(server_ex_data));
memset(&client_ex_data, 0, sizeof(client_ex_data));
memset(&ret, 0, sizeof(ret));
-@@ -184,8 +285,8 @@ HANDSHAKE_RESULT do_handshake(SSL_CTX *server_ctx, SSL_CTX *client_ctx)
+@@ -184,8 +346,8 @@ HANDSHAKE_RESULT do_handshake(SSL_CTX *server_ctx, SSL_CTX *client_ctx)
OPENSSL_assert(SSL_set_ex_data(client, ex_data_idx,
&client_ex_data) == 1);
@@ -164590,13 +177509,11 @@
/*
* Half-duplex handshake loop.
-@@ -232,6 +333,16 @@ HANDSHAKE_RESULT do_handshake(SSL_CTX *server_ctx, SSL_CTX *client_ctx)
+@@ -232,6 +394,14 @@ HANDSHAKE_RESULT do_handshake(SSL_CTX *server_ctx, SSL_CTX *client_ctx)
ret.client_alert_received = server_ex_data.alert_received;
ret.server_protocol = SSL_version(server);
ret.client_protocol = SSL_version(client);
-+ ret.servername = ((SSL_get_SSL_CTX(server) == server_ctx)
-+ ? SSL_TEST_SERVERNAME_SERVER1
-+ : SSL_TEST_SERVERNAME_SERVER2);
++ ret.servername = server_ex_data.servername;
+ if ((sess = SSL_get0_session(client)) != NULL)
+ SSL_SESSION_get0_ticket(sess, &tick, &len);
+ if (tick == NULL || len == 0)
@@ -164671,7 +177588,7 @@
test_case_name);
setup_ok = 0;
diff --git a/test/hmactest.c b/test/hmactest.c
-index 2ceec5f..0f4348b 100644
+index 2ceec5f..a5c6e74 100644
--- a/test/hmactest.c
+++ b/test/hmactest.c
@@ -1,58 +1,10 @@
@@ -164739,6 +177656,17 @@
*/
#include <stdio.h>
+@@ -119,8 +71,8 @@ static struct test_st {
+ (unsigned char *)"bab53058ae861a7f191abe2d0145cbb123776a6369ee3f9d79ce455667e411dd"
+ },
+ {
+- "12345", 5, "My test data again", 12,
+- (unsigned char *)"7dbe8c764c068e3bcd6e6b0fbcd5e6fc197b15bb"
++ "12345", 5, "My test data again", 18,
++ (unsigned char *)"a12396ceddd2a85f4c656bc1e0aa50c78cffde3e"
+ }
+ };
+ # endif
@@ -171,6 +123,11 @@ int main(int argc, char *argv[])
err++;
goto end;
@@ -166267,6 +179195,45 @@
use OpenSSL::Test::Simple;
+diff --git a/test/recipes/05-test_fuzz.t b/test/recipes/05-test_fuzz.t
+new file mode 100755
+index 0000000..ec5c5ad
+--- /dev/null
++++ b/test/recipes/05-test_fuzz.t
+@@ -0,0 +1,33 @@
++#!/usr/bin/env perl
++# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
++#
++# Licensed under the OpenSSL license (the "License"). You may not use
++# this file except in compliance with the License. You can obtain a copy
++# in the file LICENSE in the source distribution or at
++# https://www.openssl.org/source/license.html
++
++use strict;
++use warnings;
++
++use if $^O ne "VMS", 'File::Glob' => qw/glob/;
++use OpenSSL::Test qw/:DEFAULT srctop_file/;
++
++setup("test_fuzz");
++
++my @fuzzers = ('asn1', 'asn1parse', 'bignum', 'bndiv', 'cms', 'conf', 'crl', 'ct', 'server', 'x509');
++plan tests => scalar @fuzzers;
++
++foreach my $f (@fuzzers) {
++ subtest "Fuzzing $f" => sub {
++ my @files = glob(srctop_file('fuzz', 'corpora', $f, '*'));
++ push @files, glob(srctop_file('fuzz', 'corpora', "$f-*", '*'));
++
++ plan skip_all => "No corpora for $f-test" unless @files;
++
++ plan tests => scalar @files;
++
++ foreach (@files) {
++ ok(run(fuzz(["$f-test", $_])));
++ }
++ }
++}
diff --git a/test/recipes/05-test_hmac.t b/test/recipes/05-test_hmac.t
index ba7a92b..2059bcc 100644
--- a/test/recipes/05-test_hmac.t
@@ -167461,10 +180428,10 @@
-
diff --git a/test/recipes/70-test_sslrecords.t b/test/recipes/70-test_sslrecords.t
new file mode 100644
-index 0000000..b0e3739
+index 0000000..94aabdc
--- /dev/null
+++ b/test/recipes/70-test_sslrecords.t
-@@ -0,0 +1,80 @@
+@@ -0,0 +1,140 @@
+#! /usr/bin/env perl
+# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+#
@@ -167505,7 +180472,7 @@
+my $content_type = TLSProxy::Record::RT_APPLICATION_DATA;
+my $inject_recs_num = 1;
+$proxy->start() or plan skip_all => "Unable to start up Proxy for tests";
-+plan tests => 3;
++plan tests => 4;
+ok(TLSProxy::Message->fail(), "Out of context empty records test");
+
+#Test 2: Injecting in context empty records should succeed
@@ -167521,6 +180488,14 @@
+$proxy->start();
+ok(TLSProxy::Message->fail(), "Too many in context empty records test");
+
++#Test 4: Injecting a fragmented fatal alert should fail. We actually expect no
++# alerts to be sent from either side because *we* injected the fatal
++# alert, i.e. this will look like a disorderly close
++$proxy->clear();
++$proxy->filter(\&add_frag_alert_filter);
++$proxy->start();
++ok(!TLSProxy::Message->end(), "Fragmented alert records test");
++
+sub add_empty_recs_filter
+{
+ my $proxy = shift;
@@ -167545,6 +180520,58 @@
+ push @{$proxy->record_list}, $record;
+ }
+}
++
++sub add_frag_alert_filter
++{
++ my $proxy = shift;
++ my $byte;
++
++ # We're only interested in the initial ClientHello
++ if ($proxy->flight != 0) {
++ return;
++ }
++
++ # Add a zero length fragment first
++ #my $record = TLSProxy::Record->new(
++ # 0,
++ # TLSProxy::Record::RT_ALERT,
++ # TLSProxy::Record::VERS_TLS_1_2,
++ # 0,
++ # 0,
++ # 0,
++ # "",
++ # ""
++ #);
++ #push @{$proxy->record_list}, $record;
++
++ # Now add the alert level (Fatal) as a seperate record
++ $byte = pack('C', TLSProxy::Message::AL_LEVEL_FATAL);
++ my $record = TLSProxy::Record->new(
++ 0,
++ TLSProxy::Record::RT_ALERT,
++ TLSProxy::Record::VERS_TLS_1_2,
++ 1,
++ 1,
++ 1,
++ $byte,
++ $byte
++ );
++ push @{$proxy->record_list}, $record;
++
++ # And finally the description (Unexpected message) in a third record
++ $byte = pack('C', TLSProxy::Message::AL_DESC_UNEXPECTED_MESSAGE);
++ $record = TLSProxy::Record->new(
++ 0,
++ TLSProxy::Record::RT_ALERT,
++ TLSProxy::Record::VERS_TLS_1_2,
++ 1,
++ 1,
++ 1,
++ $byte,
++ $byte
++ );
++ push @{$proxy->record_list}, $record;
++}
diff --git a/test/recipes/70-test_sslsessiontick.t b/test/recipes/70-test_sslsessiontick.t
index cbd4c65..89ef12f 100755
--- a/test/recipes/70-test_sslsessiontick.t
@@ -168370,7 +181397,7 @@
ok(run(test(["ssl_test", $tmp_file])), "running ssl_test $conf");
diff --git a/test/recipes/80-test_ssl_old.t b/test/recipes/80-test_ssl_old.t
-index 879ab7f..716f23b 100644
+index 879ab7f..becfbae 100644
--- a/test/recipes/80-test_ssl_old.t
+++ b/test/recipes/80-test_ssl_old.t
@@ -1,10 +1,17 @@
@@ -168409,7 +181436,7 @@
- + 14 # For the first testssl
- + 16 # For the first testsslproxy
- + 16 # For the second testsslproxy
-+ + 13 # For the first testssl
++ + 12 # For the first testssl
;
subtest 'test_ss' => sub {
@@ -168486,11 +181513,12 @@
subtest 'standard SSL tests' => sub {
######################################################################
- plan tests => 29;
--
-- SKIP: {
-- skip "SSLv3 is not supported by this OpenSSL build", 4
-- if disabled("ssl3");
--
++ plan tests => 21;
+
+ SKIP: {
+ skip "SSLv3 is not supported by this OpenSSL build", 4
+ if disabled("ssl3");
+
- ok(run(test([@ssltest, "-ssl3", @extra])),
- 'test sslv3');
- ok(run(test([@ssltest, "-ssl3", "-server_auth", @CA, @extra])),
@@ -168514,12 +181542,11 @@
- ok(run(test([@ssltest, "-server_auth", "-client_auth", @CA, @extra])),
- 'test sslv2/sslv3 with both server and client authentication');
- }
-+ plan tests => 21;
-
- SKIP: {
- skip "SSLv3 is not supported by this OpenSSL build", 4
- if disabled("ssl3");
-
+-
+- SKIP: {
+- skip "SSLv3 is not supported by this OpenSSL build", 4
+- if disabled("ssl3");
+-
- ok(run(test([@ssltest, "-bio_pair", "-ssl3", @extra])),
+ ok(run(test([@ssltest, "-bio_pair", "-ssl3"])),
'test sslv3 via BIO pair');
@@ -168658,7 +181685,33 @@
'test tls1 with PSK via BIO pair');
}
}
-@@ -705,7 +671,7 @@ sub testssl {
+@@ -613,25 +579,6 @@ sub testssl {
+ }
+ };
+
+- subtest 'SNI tests' => sub {
+-
+- plan tests => 7;
+-
+- SKIP: {
+- skip "TLSv1.x is not supported by this OpenSSL build", 7
+- if $no_tls1 && $no_tls1_1 && $no_tls1_2;
+-
+- ok(run(test([@ssltest, "-bio_pair", "-sn_client", "foo"])));
+- ok(run(test([@ssltest, "-bio_pair", "-sn_server1", "foo"])));
+- ok(run(test([@ssltest, "-bio_pair", "-sn_client", "foo", "-sn_server1", "foo", "-sn_expect1"])));
+- ok(run(test([@ssltest, "-bio_pair", "-sn_client", "foo", "-sn_server1", "bar", "-sn_expect1"])));
+- ok(run(test([@ssltest, "-bio_pair", "-sn_client", "foo", "-sn_server1", "foo", "-sn_server2", "bar", "-sn_expect1"])));
+- ok(run(test([@ssltest, "-bio_pair", "-sn_client", "bar", "-sn_server1", "foo", "-sn_server2", "bar", "-sn_expect2"])));
+- # Negative test - make sure it doesn't crash, and doesn't switch contexts
+- ok(run(test([@ssltest, "-bio_pair", "-sn_client", "foobar", "-sn_server1", "foo", "-sn_server2", "bar", "-sn_expect1"])));
+- }
+- };
+-
+ subtest 'ALPN tests' => sub {
+ ######################################################################
+
+@@ -705,7 +652,7 @@ sub testssl {
if $no_anytls;
skip "skipping multi-buffer tests", 2
@@ -168667,7 +181720,7 @@
ok(run(test([@ssltest, "-cipher", "AES128-SHA", "-bytes", "8m"])));
-@@ -717,53 +683,6 @@ sub testssl {
+@@ -717,53 +664,6 @@ sub testssl {
}
};
@@ -168721,7 +181774,7 @@
subtest 'TLS session reuse' => sub {
plan tests => 12;
-@@ -790,7 +709,7 @@ sub testssl {
+@@ -790,7 +690,7 @@ sub testssl {
subtest 'DTLS session reuse' => sub {
plan tests => 12;
SKIP: {
@@ -168730,7 +181783,7 @@
ok(run(test([@ssltest, "-dtls", "-server_sess_out", $server_sess, "-client_sess_out", $client_sess])));
ok(run(test([@ssltest, "-dtls", "-server_sess_in", $server_sess, "-client_sess_in", $client_sess, "-should_reuse", "1", "-should_negotiate", "dtls1.2"])));
-@@ -833,76 +752,40 @@ sub testssl {
+@@ -833,76 +733,40 @@ sub testssl {
};
}
@@ -176675,51 +189728,209 @@
+generate_tests();
diff --git a/test/ssl-tests/05-sni.conf b/test/ssl-tests/05-sni.conf
new file mode 100644
-index 0000000..be219d5
+index 0000000..ef6db27
--- /dev/null
+++ b/test/ssl-tests/05-sni.conf
-@@ -0,0 +1,35 @@
+@@ -0,0 +1,193 @@
+# Generated with generate_ssl_tests.pl
+
-+num_tests = 1
++num_tests = 6
+
-+test-0 = 0-SNI-default
++test-0 = 0-SNI-switch-context
++test-1 = 1-SNI-keep-context
++test-2 = 2-SNI-no-server-support
++test-3 = 3-SNI-no-client-support
++test-4 = 4-SNI-bad-sni-ignore-mismatch
++test-5 = 5-SNI-bad-sni-reject-mismatch
+# ===========================================================
+
-+[0-SNI-default]
-+ssl_conf = 0-SNI-default-ssl
++[0-SNI-switch-context]
++ssl_conf = 0-SNI-switch-context-ssl
+
-+[0-SNI-default-ssl]
-+server = 0-SNI-default-server
-+server2 = 0-SNI-default-server2
-+client = 0-SNI-default-client
++[0-SNI-switch-context-ssl]
++server = 0-SNI-switch-context-server
++server2 = 0-SNI-switch-context-server2
++client = 0-SNI-switch-context-client
+
-+[0-SNI-default-server]
++[0-SNI-switch-context-server]
+Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
+CipherString = DEFAULT
+PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
+
-+[0-SNI-default-server2]
++[0-SNI-switch-context-server2]
+Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
+CipherString = DEFAULT
+PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
+
-+[0-SNI-default-client]
++[0-SNI-switch-context-client]
+CipherString = DEFAULT
+VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
+VerifyMode = Peer
+
+[test-0]
+ExpectedResult = Success
++ExpectedServerName = server2
+ServerName = server2
++ServerNameCallback = IgnoreMismatch
+
+
++# ===========================================================
++
++[1-SNI-keep-context]
++ssl_conf = 1-SNI-keep-context-ssl
++
++[1-SNI-keep-context-ssl]
++server = 1-SNI-keep-context-server
++server2 = 1-SNI-keep-context-server2
++client = 1-SNI-keep-context-client
++
++[1-SNI-keep-context-server]
++Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
++CipherString = DEFAULT
++PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
++
++[1-SNI-keep-context-server2]
++Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
++CipherString = DEFAULT
++PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
++
++[1-SNI-keep-context-client]
++CipherString = DEFAULT
++VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
++VerifyMode = Peer
++
++[test-1]
++ExpectedResult = Success
++ExpectedServerName = server1
++ServerName = server1
++ServerNameCallback = IgnoreMismatch
++
++
++# ===========================================================
++
++[2-SNI-no-server-support]
++ssl_conf = 2-SNI-no-server-support-ssl
++
++[2-SNI-no-server-support-ssl]
++server = 2-SNI-no-server-support-server
++client = 2-SNI-no-server-support-client
++
++[2-SNI-no-server-support-server]
++Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
++CipherString = DEFAULT
++PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
++
++[2-SNI-no-server-support-client]
++CipherString = DEFAULT
++VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
++VerifyMode = Peer
++
++[test-2]
++ExpectedResult = Success
++ServerName = server1
++
++
++# ===========================================================
++
++[3-SNI-no-client-support]
++ssl_conf = 3-SNI-no-client-support-ssl
++
++[3-SNI-no-client-support-ssl]
++server = 3-SNI-no-client-support-server
++server2 = 3-SNI-no-client-support-server2
++client = 3-SNI-no-client-support-client
++
++[3-SNI-no-client-support-server]
++Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
++CipherString = DEFAULT
++PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
++
++[3-SNI-no-client-support-server2]
++Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
++CipherString = DEFAULT
++PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
++
++[3-SNI-no-client-support-client]
++CipherString = DEFAULT
++VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
++VerifyMode = Peer
++
++[test-3]
++ExpectedResult = Success
++ExpectedServerName = server1
++ServerNameCallback = IgnoreMismatch
++
++
++# ===========================================================
++
++[4-SNI-bad-sni-ignore-mismatch]
++ssl_conf = 4-SNI-bad-sni-ignore-mismatch-ssl
++
++[4-SNI-bad-sni-ignore-mismatch-ssl]
++server = 4-SNI-bad-sni-ignore-mismatch-server
++server2 = 4-SNI-bad-sni-ignore-mismatch-server2
++client = 4-SNI-bad-sni-ignore-mismatch-client
++
++[4-SNI-bad-sni-ignore-mismatch-server]
++Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
++CipherString = DEFAULT
++PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
++
++[4-SNI-bad-sni-ignore-mismatch-server2]
++Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
++CipherString = DEFAULT
++PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
++
++[4-SNI-bad-sni-ignore-mismatch-client]
++CipherString = DEFAULT
++VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
++VerifyMode = Peer
++
++[test-4]
++ExpectedResult = Success
++ExpectedServerName = server1
++ServerName = invalid
++ServerNameCallback = IgnoreMismatch
++
++
++# ===========================================================
++
++[5-SNI-bad-sni-reject-mismatch]
++ssl_conf = 5-SNI-bad-sni-reject-mismatch-ssl
++
++[5-SNI-bad-sni-reject-mismatch-ssl]
++server = 5-SNI-bad-sni-reject-mismatch-server
++server2 = 5-SNI-bad-sni-reject-mismatch-server2
++client = 5-SNI-bad-sni-reject-mismatch-client
++
++[5-SNI-bad-sni-reject-mismatch-server]
++Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
++CipherString = DEFAULT
++PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
++
++[5-SNI-bad-sni-reject-mismatch-server2]
++Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
++CipherString = DEFAULT
++PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
++
++[5-SNI-bad-sni-reject-mismatch-client]
++CipherString = DEFAULT
++VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
++VerifyMode = Peer
++
++[test-5]
++ExpectedResult = ServerFail
++ServerAlert = UnrecognizedName
++ServerName = invalid
++ServerNameCallback = RejectMismatch
++
++
diff --git a/test/ssl-tests/05-sni.conf.in b/test/ssl-tests/05-sni.conf.in
new file mode 100644
-index 0000000..de8dc77
+index 0000000..635ce9a
--- /dev/null
+++ b/test/ssl-tests/05-sni.conf.in
-@@ -0,0 +1,26 @@
+@@ -0,0 +1,79 @@
+# -*- mode: perl; -*-
+# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved.
+#
@@ -176738,20 +189949,73 @@
+
+our @tests = (
+ {
-+ name => "SNI-default",
++ name => "SNI-switch-context",
+ server => { },
+ server2 => { },
+ client => { },
+ test => { "ServerName" => "server2",
-+ "ExpectedResult" => "Success" },
++ "ExpectedServerName" => "server2",
++ "ServerNameCallback" => "IgnoreMismatch",
++ "ExpectedResult" => "Success" },
+ },
++ {
++ name => "SNI-keep-context",
++ server => { },
++ server2 => { },
++ client => { },
++ test => { "ServerName" => "server1",
++ "ExpectedServerName" => "server1",
++ "ServerNameCallback" => "IgnoreMismatch",
++ "ExpectedResult" => "Success" },
++ },
++ {
++ name => "SNI-no-server-support",
++ server => { },
++ client => { },
++ test => { "ServerName" => "server1",
++ "ExpectedResult" => "Success" },
++ },
++ {
++ name => "SNI-no-client-support",
++ server => { },
++ server2 => { },
++ client => { },
++ test => {
++ # We expect that the callback is still called
++ # to let the application decide whether they tolerate
++ # missing SNI (as our test callback does).
++ "ExpectedServerName" => "server1",
++ "ServerNameCallback" => "IgnoreMismatch",
++ "ExpectedResult" => "Success"
++ },
++ },
++ {
++ name => "SNI-bad-sni-ignore-mismatch",
++ server => { },
++ server2 => { },
++ client => { },
++ test => { "ServerName" => "invalid",
++ "ExpectedServerName" => "server1",
++ "ServerNameCallback" => "IgnoreMismatch",
++ "ExpectedResult" => "Success" },
++ },
++ {
++ name => "SNI-bad-sni-reject-mismatch",
++ server => { },
++ server2 => { },
++ client => { },
++ test => { "ServerName" => "invalid",
++ "ServerNameCallback" => "RejectMismatch",
++ "ExpectedResult" => "ServerFail",
++ "ServerAlert" => "UnrecognizedName"},
++ },
+);
diff --git a/test/ssl-tests/06-sni-ticket.conf b/test/ssl-tests/06-sni-ticket.conf
new file mode 100644
-index 0000000..99484ed
+index 0000000..b3bfda0
--- /dev/null
+++ b/test/ssl-tests/06-sni-ticket.conf
-@@ -0,0 +1,599 @@
+@@ -0,0 +1,631 @@
+# Generated with generate_ssl_tests.pl
+
+num_tests = 17
@@ -176837,7 +190101,9 @@
+
+[test-1]
+ExpectedResult = Success
++ExpectedServerName = server1
+ServerName = server1
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = Yes
+
+
@@ -176871,7 +190137,9 @@
+
+[test-2]
+ExpectedResult = Success
++ExpectedServerName = server2
+ServerName = server2
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = Yes
+
+
@@ -176905,7 +190173,9 @@
+
+[test-3]
+ExpectedResult = Success
++ExpectedServerName = server1
+ServerName = server1
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = Yes
+
+
@@ -176939,7 +190209,9 @@
+
+[test-4]
+ExpectedResult = Success
++ExpectedServerName = server2
+ServerName = server2
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = No
+
+
@@ -176973,7 +190245,9 @@
+
+[test-5]
+ExpectedResult = Success
++ExpectedServerName = server1
+ServerName = server1
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = No
+
+
@@ -177007,7 +190281,9 @@
+
+[test-6]
+ExpectedResult = Success
++ExpectedServerName = server2
+ServerName = server2
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = No
+
+
@@ -177041,7 +190317,9 @@
+
+[test-7]
+ExpectedResult = Success
++ExpectedServerName = server1
+ServerName = server1
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = No
+
+
@@ -177075,7 +190353,9 @@
+
+[test-8]
+ExpectedResult = Success
++ExpectedServerName = server2
+ServerName = server2
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = No
+
+
@@ -177109,7 +190389,9 @@
+
+[test-9]
+ExpectedResult = Success
++ExpectedServerName = server1
+ServerName = server1
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = No
+
+
@@ -177143,7 +190425,9 @@
+
+[test-10]
+ExpectedResult = Success
++ExpectedServerName = server2
+ServerName = server2
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = No
+
+
@@ -177177,7 +190461,9 @@
+
+[test-11]
+ExpectedResult = Success
++ExpectedServerName = server1
+ServerName = server1
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = No
+
+
@@ -177211,7 +190497,9 @@
+
+[test-12]
+ExpectedResult = Success
++ExpectedServerName = server2
+ServerName = server2
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = No
+
+
@@ -177245,7 +190533,9 @@
+
+[test-13]
+ExpectedResult = Success
++ExpectedServerName = server1
+ServerName = server1
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = No
+
+
@@ -177279,7 +190569,9 @@
+
+[test-14]
+ExpectedResult = Success
++ExpectedServerName = server2
+ServerName = server2
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = No
+
+
@@ -177313,7 +190605,9 @@
+
+[test-15]
+ExpectedResult = Success
++ExpectedServerName = server1
+ServerName = server1
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = No
+
+
@@ -177347,16 +190641,18 @@
+
+[test-16]
+ExpectedResult = Success
++ExpectedServerName = server2
+ServerName = server2
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = No
+
+
diff --git a/test/ssl-tests/06-sni-ticket.conf.in b/test/ssl-tests/06-sni-ticket.conf.in
new file mode 100644
-index 0000000..6cd57b6
+index 0000000..8c95827
--- /dev/null
+++ b/test/ssl-tests/06-sni-ticket.conf.in
-@@ -0,0 +1,83 @@
+@@ -0,0 +1,86 @@
+# -*- mode: perl; -*-
+# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved.
+#
@@ -177395,6 +190691,9 @@
+ },
+ "test" => {
+ "ServerName" => $n,
++ "ExpectedServerName" => $n,
++ # We don't test mismatch here.
++ "ServerNameCallback" => "IgnoreMismatch",
+ "ExpectedResult" => "Success",
+ "SessionTicketExpected" => $result,
+ }
@@ -179479,7 +192778,7 @@
## SSL test configurations
diff --git a/test/ssl_test.c b/test/ssl_test.c
-index dfe71cb..537d4b0 100644
+index dfe71cb..060f73e 100644
--- a/test/ssl_test.c
+++ b/test/ssl_test.c
@@ -1,14 +1,14 @@
@@ -179512,20 +192811,19 @@
return 0;
}
return 1;
-@@ -123,6 +123,34 @@ static int check_protocol(HANDSHAKE_RESULT result, SSL_TEST_CTX *test_ctx)
+@@ -123,6 +123,33 @@ static int check_protocol(HANDSHAKE_RESULT result, SSL_TEST_CTX *test_ctx)
return 1;
}
+static int check_servername(HANDSHAKE_RESULT result, SSL_TEST_CTX *test_ctx)
+{
-+ if (test_ctx->servername != SSL_TEST_SERVERNAME_NONE
-+ && result.servername != test_ctx->servername) {
-+ fprintf(stderr, "Client ServerName mismatch, expected %s, got %s\n.",
-+ ssl_servername_name(test_ctx->servername),
-+ ssl_servername_name(result.servername));
-+ return 0;
++ if (result.servername != test_ctx->expected_servername) {
++ fprintf(stderr, "Client ServerName mismatch, expected %s, got %s\n.",
++ ssl_servername_name(test_ctx->expected_servername),
++ ssl_servername_name(result.servername));
++ return 0;
+ }
-+ return 1;
++ return 1;
+}
+
+static int check_session_ticket(HANDSHAKE_RESULT result, SSL_TEST_CTX *test_ctx)
@@ -179547,7 +192845,7 @@
/*
* This could be further simplified by constructing an expected
* HANDSHAKE_RESULT, and implementing comparison methods for
-@@ -133,40 +161,63 @@ static int check_test(HANDSHAKE_RESULT result, SSL_TEST_CTX *test_ctx)
+@@ -133,40 +160,65 @@ static int check_test(HANDSHAKE_RESULT result, SSL_TEST_CTX *test_ctx)
int ret = 1;
ret &= check_result(result, test_ctx);
ret &= check_alerts(result, test_ctx);
@@ -179568,48 +192866,47 @@
+ SSL_CTX *server_ctx = NULL, *server2_ctx = NULL, *client_ctx = NULL;
SSL_TEST_CTX *test_ctx = NULL;
HANDSHAKE_RESULT result;
-+ const char *server2;
- server_ctx = SSL_CTX_new(TLS_server_method());
- client_ctx = SSL_CTX_new(TLS_client_method());
-- OPENSSL_assert(server_ctx != NULL && client_ctx != NULL);
+ test_ctx = SSL_TEST_CTX_create(conf, fixture.test_app);
+ if (test_ctx == NULL)
+ goto err;
+
-+ /* Use ServerName to detect if we're testing SNI. */
-+ server2 = (test_ctx->servername != SSL_TEST_SERVERNAME_NONE) ? "server2"
-+ : "server";
-+
+#ifndef OPENSSL_NO_DTLS
+ if (test_ctx->method == SSL_TEST_METHOD_DTLS) {
+ server_ctx = SSL_CTX_new(DTLS_server_method());
-+ server2_ctx = SSL_CTX_new(DTLS_server_method());
++ if (test_ctx->servername_callback != SSL_TEST_SERVERNAME_CB_NONE) {
++ server2_ctx = SSL_CTX_new(DTLS_server_method());
++ OPENSSL_assert(server2_ctx != NULL);
++ }
+ client_ctx = SSL_CTX_new(DTLS_client_method());
+ }
+#endif
+ if (test_ctx->method == SSL_TEST_METHOD_TLS) {
+ server_ctx = SSL_CTX_new(TLS_server_method());
-+ server2_ctx = SSL_CTX_new(TLS_server_method());
++ if (test_ctx->servername_callback != SSL_TEST_SERVERNAME_CB_NONE) {
++ server2_ctx = SSL_CTX_new(TLS_server_method());
++ OPENSSL_assert(server2_ctx != NULL);
++ }
+ client_ctx = SSL_CTX_new(TLS_client_method());
+ }
+
-+ OPENSSL_assert(server_ctx != NULL && server2_ctx != NULL &&
-+ client_ctx != NULL);
+ OPENSSL_assert(server_ctx != NULL && client_ctx != NULL);
OPENSSL_assert(CONF_modules_load(conf, fixture.test_app, 0) > 0);
if (!SSL_CTX_config(server_ctx, "server")
- || !SSL_CTX_config(client_ctx, "client")) {
-+ || !SSL_CTX_config(server2_ctx, server2)
+ || !SSL_CTX_config(client_ctx, "client")) {
goto err;
}
- test_ctx = SSL_TEST_CTX_create(conf, fixture.test_app);
- if (test_ctx == NULL)
-- goto err;
--
++ if (server2_ctx != NULL && !SSL_CTX_config(server2_ctx, "server2"))
+ goto err;
+
- result = do_handshake(server_ctx, client_ctx);
+ result = do_handshake(server_ctx, server2_ctx, client_ctx, test_ctx);
@@ -179664,7 +192961,7 @@
{-
foreach my $key (sort keys %test) {
diff --git a/test/ssl_test_ctx.c b/test/ssl_test_ctx.c
-index 0c1bbbd..d6e2843 100644
+index 0c1bbbd..b06ab48 100644
--- a/test/ssl_test_ctx.c
+++ b/test/ssl_test_ctx.c
@@ -1,11 +1,10 @@
@@ -179691,15 +192988,16 @@
{
return enum_name(ssl_test_results, OSSL_NELEM(ssl_test_results), result);
}
-@@ -82,6 +81,7 @@ const char *ssl_test_result_t_name(ssl_test_result_t result)
+@@ -82,6 +81,8 @@ const char *ssl_test_result_t_name(ssl_test_result_t result)
static const test_enum ssl_alerts[] = {
{"UnknownCA", SSL_AD_UNKNOWN_CA},
+ {"HandshakeFailure", SSL_AD_HANDSHAKE_FAILURE},
++ {"UnrecognizedName", SSL_AD_UNRECOGNIZED_NAME},
};
__owur static int parse_alert(int *alert, const char *value)
-@@ -113,6 +113,8 @@ static const test_enum ssl_protocols[] = {
+@@ -113,6 +114,8 @@ static const test_enum ssl_protocols[] = {
{"TLSv1.1", TLS1_1_VERSION},
{"TLSv1", TLS1_VERSION},
{"SSLv3", SSL3_VERSION},
@@ -179708,7 +193006,7 @@
};
__owur static int parse_protocol(SSL_TEST_CTX *test_ctx, const char *value)
-@@ -126,6 +128,115 @@ const char *ssl_protocol_name(int protocol)
+@@ -126,6 +129,156 @@ const char *ssl_protocol_name(int protocol)
return enum_name(ssl_protocols, OSSL_NELEM(ssl_protocols), protocol);
}
@@ -179748,6 +193046,7 @@
+ {"None", SSL_TEST_SERVERNAME_NONE},
+ {"server1", SSL_TEST_SERVERNAME_SERVER1},
+ {"server2", SSL_TEST_SERVERNAME_SERVER2},
++ {"invalid", SSL_TEST_SERVERNAME_INVALID},
+};
+
+__owur static int parse_servername(SSL_TEST_CTX *test_ctx,
@@ -179762,12 +193061,52 @@
+ return 1;
+}
+
++__owur static int parse_expected_servername(SSL_TEST_CTX *test_ctx,
++ const char *value)
++{
++ int ret_value;
++ if (!parse_enum(ssl_servername, OSSL_NELEM(ssl_servername),
++ &ret_value, value)) {
++ return 0;
++ }
++ test_ctx->expected_servername = ret_value;
++ return 1;
++}
++
+const char *ssl_servername_name(ssl_servername_t server)
+{
+ return enum_name(ssl_servername, OSSL_NELEM(ssl_servername),
+ server);
+}
+
++/***********************/
++/* ServerNameCallback. */
++/***********************/
++
++static const test_enum ssl_servername_callbacks[] = {
++ {"None", SSL_TEST_SERVERNAME_CB_NONE},
++ {"IgnoreMismatch", SSL_TEST_SERVERNAME_IGNORE_MISMATCH},
++ {"RejectMismatch", SSL_TEST_SERVERNAME_REJECT_MISMATCH},
++};
++
++__owur static int parse_servername_callback(SSL_TEST_CTX *test_ctx,
++ const char *value)
++{
++ int ret_value;
++ if (!parse_enum(ssl_servername_callbacks,
++ OSSL_NELEM(ssl_servername_callbacks), &ret_value, value)) {
++ return 0;
++ }
++ test_ctx->servername_callback = ret_value;
++ return 1;
++}
++
++const char *ssl_servername_callback_name(ssl_servername_callback_t callback)
++{
++ return enum_name(ssl_servername_callbacks,
++ OSSL_NELEM(ssl_servername_callbacks), callback);
++}
++
+/*************************/
+/* SessionTicketExpected */
+/*************************/
@@ -179824,18 +193163,20 @@
/*************************************************************/
/* Known test options and their corresponding parse methods. */
-@@ -141,6 +252,10 @@ static const ssl_test_ctx_option ssl_test_ctx_options[] = {
+@@ -141,6 +294,12 @@ static const ssl_test_ctx_option ssl_test_ctx_options[] = {
{ "ClientAlert", &parse_client_alert },
{ "ServerAlert", &parse_server_alert },
{ "Protocol", &parse_protocol },
+ { "ClientVerifyCallback", &parse_client_verify_callback },
+ { "ServerName", &parse_servername },
++ { "ExpectedServerName", &parse_expected_servername },
++ { "ServerNameCallback", &parse_servername_callback },
+ { "SessionTicketExpected", &parse_session_ticket },
+ { "Method", &parse_test_method },
};
-@@ -153,7 +268,6 @@ SSL_TEST_CTX *SSL_TEST_CTX_new()
+@@ -153,7 +312,6 @@ SSL_TEST_CTX *SSL_TEST_CTX_new()
SSL_TEST_CTX *ret;
ret = OPENSSL_zalloc(sizeof(*ret));
OPENSSL_assert(ret != NULL);
@@ -179844,7 +193185,7 @@
}
diff --git a/test/ssl_test_ctx.h b/test/ssl_test_ctx.h
-index a183272..492d1d7 100644
+index a183272..c551a9b 100644
--- a/test/ssl_test_ctx.h
+++ b/test/ssl_test_ctx.h
@@ -1,11 +1,10 @@
@@ -179862,7 +193203,7 @@
*/
#ifndef HEADER_SSL_TEST_CTX_H
-@@ -15,12 +14,36 @@
+@@ -15,12 +14,44 @@
#include <openssl/ssl.h>
typedef enum {
@@ -179882,10 +193223,18 @@
+typedef enum {
+ SSL_TEST_SERVERNAME_NONE = 0, /* Default */
+ SSL_TEST_SERVERNAME_SERVER1,
-+ SSL_TEST_SERVERNAME_SERVER2
++ SSL_TEST_SERVERNAME_SERVER2,
++ SSL_TEST_SERVERNAME_INVALID
+} ssl_servername_t;
+
+typedef enum {
++ SSL_TEST_SERVERNAME_CB_NONE = 0, /* Default */
++ SSL_TEST_SERVERNAME_IGNORE_MISMATCH,
++ SSL_TEST_SERVERNAME_REJECT_MISMATCH
++} ssl_servername_callback_t;
++
++
++typedef enum {
+ SSL_TEST_SESSION_TICKET_IGNORE = 0, /* Default */
+ SSL_TEST_SESSION_TICKET_YES,
+ SSL_TEST_SESSION_TICKET_NO,
@@ -179900,7 +193249,7 @@
typedef struct ssl_test_ctx {
/* Test expectations. */
/* Defaults to SUCCESS. */
-@@ -34,11 +57,22 @@ typedef struct ssl_test_ctx {
+@@ -34,11 +65,36 @@ typedef struct ssl_test_ctx {
/* Negotiated protocol version. 0 if no expectation. */
/* See ssl.h for protocol versions. */
int protocol;
@@ -179908,6 +193257,18 @@
+ ssl_verify_callback_t client_verify_callback;
+ /* One of a number of predefined server names use by the client */
+ ssl_servername_t servername;
++ /*
++ * The expected SNI context to use.
++ * We test server-side that the server switched to the expected context.
++ * Set by the callback upon success, so if the callback wasn't called or
++ * terminated with an alert, the servername will match with
++ * SSL_TEST_SERVERNAME_NONE.
++ * Note: in the event that the servername was accepted, the client should
++ * also receive an empty SNI extension back but we have no way of probing
++ * client-side via the API that this was the case.
++ */
++ ssl_servername_t expected_servername;
++ ssl_servername_callback_t servername_callback;
+ ssl_session_ticket_t session_ticket_expected;
+ /* Whether the server/client CTX should use DTLS or TLS. */
+ ssl_test_method_t method;
@@ -179919,13 +193280,15 @@
const char *ssl_protocol_name(int protocol);
+const char *ssl_verify_callback_name(ssl_verify_callback_t verify_callback);
+const char *ssl_servername_name(ssl_servername_t server);
++const char *ssl_servername_callback_name(ssl_servername_callback_t
++ servername_callback);
+const char *ssl_session_ticket_name(ssl_session_ticket_t server);
+const char *ssl_test_method_name(ssl_test_method_t method);
/*
* Load the test case context from |conf|.
diff --git a/test/ssl_test_ctx_test.c b/test/ssl_test_ctx_test.c
-index 3c6fa71..9824d66 100644
+index 3c6fa71..3818ba5 100644
--- a/test/ssl_test_ctx_test.c
+++ b/test/ssl_test_ctx_test.c
@@ -1,11 +1,10 @@
@@ -179943,7 +193306,7 @@
*/
/*
-@@ -37,26 +36,44 @@ static int SSL_TEST_CTX_equal(SSL_TEST_CTX *ctx, SSL_TEST_CTX *ctx2)
+@@ -37,26 +36,56 @@ static int SSL_TEST_CTX_equal(SSL_TEST_CTX *ctx, SSL_TEST_CTX *ctx2)
{
if (ctx->expected_result != ctx2->expected_result) {
fprintf(stderr, "ExpectedResult mismatch: %s vs %s.\n",
@@ -179989,6 +193352,18 @@
+ ssl_servername_name(ctx2->servername));
+ return 0;
+ }
++ if (ctx->expected_servername != ctx2->expected_servername) {
++ fprintf(stderr, "ExpectedServerName mismatch: %s vs %s.\n",
++ ssl_servername_name(ctx->expected_servername),
++ ssl_servername_name(ctx2->expected_servername));
++ return 0;
++ }
++ if (ctx->servername_callback != ctx2->servername_callback) {
++ fprintf(stderr, "ServerNameCallback mismatch: %s vs %s.\n",
++ ssl_servername_callback_name(ctx->servername_callback),
++ ssl_servername_callback_name(ctx2->servername_callback));
++ return 0;
++ }
+ if (ctx->session_ticket_expected != ctx2->session_ticket_expected) {
+ fprintf(stderr, "SessionTicketExpected mismatch: %s vs %s.\n",
+ ssl_session_ticket_name(ctx->session_ticket_expected),
@@ -179996,44 +193371,50 @@
return 0;
}
-@@ -136,6 +153,10 @@ static int test_good_configuration()
+@@ -136,6 +165,13 @@ static int test_good_configuration()
fixture.expected_ctx->client_alert = SSL_AD_UNKNOWN_CA;
fixture.expected_ctx->server_alert = 0; /* No alert. */
fixture.expected_ctx->protocol = TLS1_1_VERSION;
+ fixture.expected_ctx->client_verify_callback = SSL_TEST_VERIFY_REJECT_ALL;
+ fixture.expected_ctx->servername = SSL_TEST_SERVERNAME_SERVER2;
++ fixture.expected_ctx->expected_servername = SSL_TEST_SERVERNAME_SERVER2;
++ fixture.expected_ctx->servername_callback =
++ SSL_TEST_SERVERNAME_IGNORE_MISMATCH;
+ fixture.expected_ctx->session_ticket_expected = SSL_TEST_SESSION_TICKET_YES;
+ fixture.expected_ctx->method = SSL_TEST_METHOD_DTLS;
EXECUTE_SSL_TEST_CTX_TEST();
}
-@@ -144,6 +165,10 @@ static const char *bad_configurations[] = {
+@@ -144,6 +180,11 @@ static const char *bad_configurations[] = {
"ssltest_unknown_expected_result",
"ssltest_unknown_alert",
"ssltest_unknown_protocol",
+ "ssltest_unknown_verify_callback",
+ "ssltest_unknown_servername",
++ "ssltest_unknown_servername_callback",
+ "ssltest_unknown_session_ticket_expected",
+ "ssltest_unknown_method",
};
static int test_bad_configuration(int idx)
diff --git a/test/ssl_test_ctx_test.conf b/test/ssl_test_ctx_test.conf
-index 2e6800e..9c1057d 100644
+index 2e6800e..2fa54b5 100644
--- a/test/ssl_test_ctx_test.conf
+++ b/test/ssl_test_ctx_test.conf
-@@ -4,6 +4,10 @@
+@@ -4,6 +4,12 @@
ExpectedResult = ServerFail
ClientAlert = UnknownCA
Protocol = TLSv1.1
+ClientVerifyCallback = RejectAll
+ServerName = server2
++ExpectedServerName = server2
++ServerNameCallback = IgnoreMismatch
+SessionTicketExpected = Yes
+Method = DTLS
[ssltest_unknown_option]
UnknownOption = Foo
-@@ -16,3 +20,16 @@ ServerAlert = Foo
+@@ -16,3 +22,18 @@ ServerAlert = Foo
[ssltest_unknown_protocol]
Protocol = Foo
@@ -180044,12 +193425,14 @@
+[ssltest_unknown_servername]
+ServerName = Foo
+
++[ssltest_unknown_servername_callback]
++ServerNameCallback = Foo
++
+[ssltest_unknown_session_ticket_expected]
+SessionTicketExpected = Foo
+
+[ssltest_unknown_method]
+Method = TLS2
-+
diff --git a/test/sslapitest.c b/test/sslapitest.c
new file mode 100644
index 0000000..f16947b
@@ -180997,7 +194380,7 @@
-}
diff --git a/test/ssltestlib.c b/test/ssltestlib.c
new file mode 100644
-index 0000000..5f780d7
+index 0000000..357ef00
--- /dev/null
+++ b/test/ssltestlib.c
@@ -0,0 +1,145 @@
@@ -181019,8 +194402,8 @@
+ SSL_CTX *serverctx = NULL;
+ SSL_CTX *clientctx = NULL;
+
-+ serverctx = SSL_CTX_new(TLS_server_method());
-+ clientctx = SSL_CTX_new(TLS_client_method());
++ serverctx = SSL_CTX_new(sm);
++ clientctx = SSL_CTX_new(cm);
+ if (serverctx == NULL || clientctx == NULL) {
+ printf("Failed to create SSL_CTX\n");
+ goto err;
@@ -181394,7 +194777,7 @@
-
-exit 0
diff --git a/test/testlib/OpenSSL/Test.pm b/test/testlib/OpenSSL/Test.pm
-index 28c915a..31f4105 100644
+index 28c915a..0c3b910 100644
--- a/test/testlib/OpenSSL/Test.pm
+++ b/test/testlib/OpenSSL/Test.pm
@@ -1,3 +1,10 @@
@@ -181408,7 +194791,31 @@
package OpenSSL::Test;
use strict;
-@@ -346,6 +353,18 @@ sub run {
+@@ -9,7 +16,8 @@ use Exporter;
+ use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
+ $VERSION = "0.8";
+ @ISA = qw(Exporter);
+- at EXPORT = (@Test::More::EXPORT, qw(setup indir app perlapp test perltest run));
++ at EXPORT = (@Test::More::EXPORT, qw(setup indir app fuzz perlapp test perltest
++ run));
+ @EXPORT_OK = (@Test::More::EXPORT_OK, qw(bldtop_dir bldtop_file
+ srctop_dir srctop_file
+ pipe with cmdstr quotify));
+@@ -278,6 +286,13 @@ sub app {
+ return __build_cmd($num, \&__apps_file, $cmd, %opts); }
+ }
+
++sub fuzz {
++ my $cmd = shift;
++ my %opts = @_;
++ return sub { my $num = shift;
++ return __build_cmd($num, \&__fuzz_file, $cmd, %opts); }
++}
++
+ sub test {
+ my $cmd = shift;
+ my %opts = @_;
+@@ -346,6 +361,18 @@ sub run {
my $r = 0;
my $e = 0;
@@ -181427,7 +194834,7 @@
# The dance we do with $? is the same dance the Unix shells appear to
# do. For example, a program that gets aborted (and therefore signals
# SIGABRT = 6) will appear to exit with the code 134. We mimic this
-@@ -359,6 +378,13 @@ sub run {
+@@ -359,6 +386,13 @@ sub run {
$r = $hooks{exit_checker}->($e);
}
@@ -181441,7 +194848,16 @@
print STDERR "$prefix$display_cmd => $e\n"
if !$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE};
-@@ -728,8 +754,8 @@ sub __exeext {
+@@ -675,6 +709,8 @@ sub __env {
+ $directories{BLDTOP} = $ENV{BLDTOP} || $ENV{TOP};
+ $directories{BLDAPPS} = $ENV{BIN_D} || __bldtop_dir("apps");
+ $directories{SRCAPPS} = __srctop_dir("apps");
++ $directories{BLDFUZZ} = __bldtop_dir("fuzz");
++ $directories{SRCFUZZ} = __srctop_dir("fuzz");
+ $directories{BLDTEST} = $ENV{TEST_D} || __bldtop_dir("test");
+ $directories{SRCTEST} = __srctop_dir("test");
+ $directories{RESULTS} = $ENV{RESULT_D} || $directories{BLDTEST};
+@@ -728,8 +764,8 @@ sub __exeext {
sub __test_file {
BAIL_OUT("Must run setup() first") if (! $test_name);
@@ -181452,7 +194868,7 @@
$f = catfile($directories{SRCTEST}, at _,$f) unless -x $f;
return $f;
}
-@@ -746,8 +772,8 @@ sub __perltest_file {
+@@ -746,12 +782,21 @@ sub __perltest_file {
sub __apps_file {
BAIL_OUT("Must run setup() first") if (! $test_name);
@@ -181463,7 +194879,20 @@
$f = catfile($directories{SRCAPPS}, at _,$f) unless -x $f;
return $f;
}
-@@ -795,12 +821,10 @@ sub __cwd {
+
++sub __fuzz_file {
++ BAIL_OUT("Must run setup() first") if (! $test_name);
++
++ my $f = pop;
++ $f = catfile($directories{BLDFUZZ}, at _,$f . __exeext());
++ $f = catfile($directories{SRCFUZZ}, at _,$f) unless -x $f;
++ return $f;
++}
++
+ sub __perlapps_file {
+ BAIL_OUT("Must run setup() first") if (! $test_name);
+
+@@ -795,12 +840,10 @@ sub __cwd {
mkpath($dir);
}
@@ -181480,7 +194909,7 @@
# For each of these directory variables, figure out where they are relative
# to the directory we want to move to if they aren't absolute (if they are,
-@@ -809,7 +833,7 @@ sub __cwd {
+@@ -809,7 +852,7 @@ sub __cwd {
foreach (@dirtags) {
if (!file_name_is_absolute($directories{$_})) {
my $newpath = abs2rel(rel2abs($directories{$_}), rel2abs($dir));
@@ -181489,7 +194918,7 @@
}
}
-@@ -819,10 +843,27 @@ sub __cwd {
+@@ -819,10 +862,27 @@ sub __cwd {
foreach (@direnv) {
if (!file_name_is_absolute($ENV{$_})) {
my $newpath = abs2rel(rel2abs($ENV{$_}), rel2abs($dir));
@@ -182552,7 +195981,7 @@
use strict;
diff --git a/util/TLSProxy/Message.pm b/util/TLSProxy/Message.pm
-index bbb0ad7..85d5d6b 100644
+index bbb0ad7..b8db22f 100644
--- a/util/TLSProxy/Message.pm
+++ b/util/TLSProxy/Message.pm
@@ -1,55 +1,9 @@
@@ -182616,6 +196045,16 @@
use strict;
+@@ -82,7 +36,8 @@ use constant {
+
+ #Alert descriptions
+ use constant {
+- AL_DESC_CLOSE_NOTIFY => 0
++ AL_DESC_CLOSE_NOTIFY => 0,
++ AL_DESC_UNEXPECTED_MESSAGE => 10
+ };
+
+ my %message_type = (
diff --git a/util/TLSProxy/NewSessionTicket.pm b/util/TLSProxy/NewSessionTicket.pm
index 4e8c713..e509985 100644
--- a/util/TLSProxy/NewSessionTicket.pm
@@ -183749,7 +197188,7 @@
-
-exit 0
diff --git a/util/libcrypto.num b/util/libcrypto.num
-index 5339358..fc118b1 100644
+index 5339358..e9966eb 100644
--- a/util/libcrypto.num
+++ b/util/libcrypto.num
@@ -1,5 +1,5 @@
@@ -184728,7 +198167,7 @@
BN_GENCB_set_old 1373 1_1_0 EXIST::FUNCTION:
PEM_write_bio_X509 1374 1_1_0 EXIST::FUNCTION:
EVP_PKEY_asn1_free 1375 1_1_0 EXIST::FUNCTION:
-@@ -1421,18 +1393,17 @@ PROXY_CERT_INFO_EXTENSION_it 1377 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
+@@ -1421,18 +1393,16 @@ PROXY_CERT_INFO_EXTENSION_it 1377 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
CT_POLICY_EVAL_CTX_set0_cert 1378 1_1_0 EXIST::FUNCTION:CT
X509_NAME_hash 1379 1_1_0 EXIST::FUNCTION:
SCT_set_timestamp 1380 1_1_0 EXIST::FUNCTION:CT
@@ -184736,7 +198175,7 @@
+UI_new 1381 1_1_0 EXIST::FUNCTION:UI
TS_REQ_get_msg_imprint 1382 1_1_0 EXIST::FUNCTION:TS
i2d_PKCS12_BAGS 1383 1_1_0 EXIST::FUNCTION:
- RSA_memory_lock 1384 1_1_0 EXIST::FUNCTION:RSA
+-RSA_memory_lock 1384 1_1_0 EXIST::FUNCTION:RSA
CERTIFICATEPOLICIES_free 1385 1_1_0 EXIST::FUNCTION:
X509V3_get_section 1386 1_1_0 EXIST::FUNCTION:
-BIO_parse_hostserv 1387 1_1_0 EXIST::FUNCTION:
@@ -184749,7 +198188,7 @@
X509_CRL_add0_revoked 1393 1_1_0 EXIST::FUNCTION:
GENERAL_NAME_set0_value 1394 1_1_0 EXIST::FUNCTION:
X509_ATTRIBUTE_dup 1395 1_1_0 EXIST::FUNCTION:
-@@ -1442,7 +1413,7 @@ PEM_read_bio_PrivateKey 1398 1_1_0 EXIST::FUNCTION:
+@@ -1442,7 +1412,7 @@ PEM_read_bio_PrivateKey 1398 1_1_0 EXIST::FUNCTION:
d2i_PKCS7_ENCRYPT 1399 1_1_0 EXIST::FUNCTION:
EVP_PKEY_CTX_ctrl 1400 1_1_0 EXIST::FUNCTION:
X509_REQ_set_pubkey 1401 1_1_0 EXIST::FUNCTION:
@@ -184758,7 +198197,7 @@
X509_REQ_add_extensions_nid 1403 1_1_0 EXIST::FUNCTION:
PEM_X509_INFO_write_bio 1404 1_1_0 EXIST::FUNCTION:
BIO_dump_cb 1405 1_1_0 EXIST::FUNCTION:
-@@ -1455,7 +1426,7 @@ BIO_set_ex_data 1411 1_1_0 EXIST::FUNCTION:
+@@ -1455,7 +1425,7 @@ BIO_set_ex_data 1411 1_1_0 EXIST::FUNCTION:
SHA512 1412 1_1_0 EXIST:!VMSVAX:FUNCTION:
X509_STORE_CTX_get_explicit_policy 1413 1_1_0 EXIST::FUNCTION:
EVP_DecodeBlock 1414 1_1_0 EXIST::FUNCTION:
@@ -184767,7 +198206,7 @@
EVP_MD_CTX_reset 1416 1_1_0 EXIST::FUNCTION:
X509_NAME_new 1417 1_1_0 EXIST::FUNCTION:
ASN1_item_pack 1418 1_1_0 EXIST::FUNCTION:
-@@ -1469,11 +1440,11 @@ CRYPTO_nistcts128_encrypt 1425 1_1_0 EXIST::FUNCTION:
+@@ -1469,11 +1439,11 @@ CRYPTO_nistcts128_encrypt 1425 1_1_0 EXIST::FUNCTION:
CONF_modules_finish 1426 1_1_0 EXIST::FUNCTION:
BN_value_one 1427 1_1_0 EXIST::FUNCTION:
RSA_padding_add_SSLv23 1428 1_1_0 EXIST::FUNCTION:RSA
@@ -184783,7 +198222,7 @@
ENGINE_get_RSA 1432 1_1_0 EXIST::FUNCTION:ENGINE
RAND_get_rand_method 1433 1_1_0 EXIST::FUNCTION:
ERR_load_DSA_strings 1434 1_1_0 EXIST::FUNCTION:DSA
-@@ -1485,22 +1456,21 @@ i2d_ECPrivateKey_bio 1439 1_1_0 EXIST::FUNCTION:EC
+@@ -1485,22 +1455,21 @@ i2d_ECPrivateKey_bio 1439 1_1_0 EXIST::FUNCTION:EC
BN_GENCB_free 1440 1_1_0 EXIST::FUNCTION:
HMAC_size 1441 1_1_0 EXIST::FUNCTION:
EVP_PKEY_get0_DH 1442 1_1_0 EXIST::FUNCTION:DH
@@ -184809,7 +198248,7 @@
BN_nist_mod_192 1459 1_1_0 EXIST::FUNCTION:
i2d_PKCS7_ISSUER_AND_SERIAL 1460 1_1_0 EXIST::FUNCTION:
X509V3_EXT_nconf 1461 1_1_0 EXIST::FUNCTION:
-@@ -1514,22 +1484,22 @@ i2d_PKCS7_SIGNER_INFO 1468 1_1_0 EXIST::FUNCTION:
+@@ -1514,22 +1483,22 @@ i2d_PKCS7_SIGNER_INFO 1468 1_1_0 EXIST::FUNCTION:
EVP_get_pw_prompt 1469 1_1_0 EXIST::FUNCTION:UI
BN_bn2bin 1470 1_1_0 EXIST::FUNCTION:
d2i_ASN1_BIT_STRING 1471 1_1_0 EXIST::FUNCTION:
@@ -184837,7 +198276,7 @@
SXNET_it 1488 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
SXNET_it 1488 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
BIO_indent 1489 1_1_0 EXIST::FUNCTION:
-@@ -1541,7 +1511,7 @@ i2d_TS_REQ_bio 1494 1_1_0 EXIST::FUNCTION:TS
+@@ -1541,7 +1510,7 @@ i2d_TS_REQ_bio 1494 1_1_0 EXIST::FUNCTION:TS
EVP_PKEY_CTX_get_operation 1495 1_1_0 EXIST::FUNCTION:
EVP_MD_meth_set_ctrl 1496 1_1_0 EXIST::FUNCTION:
X509_EXTENSION_set_critical 1497 1_1_0 EXIST::FUNCTION:
@@ -184846,7 +198285,7 @@
ENGINE_get_DSA 1499 1_1_0 EXIST::FUNCTION:ENGINE
ASYNC_get_wait_ctx 1500 1_1_0 EXIST::FUNCTION:
ENGINE_set_load_privkey_function 1501 1_1_0 EXIST::FUNCTION:ENGINE
-@@ -1553,7 +1523,7 @@ EVP_CIPHER_CTX_rand_key 1506 1_1_0 EXIST::FUNCTION:
+@@ -1553,7 +1522,7 @@ EVP_CIPHER_CTX_rand_key 1506 1_1_0 EXIST::FUNCTION:
AES_set_encrypt_key 1507 1_1_0 EXIST::FUNCTION:
ASN1_UTCTIME_new 1508 1_1_0 EXIST::FUNCTION:
AES_cbc_encrypt 1509 1_1_0 EXIST::FUNCTION:
@@ -184855,7 +198294,7 @@
EVP_PKEY_asn1_find 1511 1_1_0 EXIST::FUNCTION:
d2i_ASN1_GENERALIZEDTIME 1512 1_1_0 EXIST::FUNCTION:
OPENSSL_cleanup 1513 1_1_0 EXIST::FUNCTION:
-@@ -1565,7 +1535,7 @@ BIO_free 1518 1_1_0 EXIST::FUNCTION:
+@@ -1565,7 +1534,7 @@ BIO_free 1518 1_1_0 EXIST::FUNCTION:
i2d_X509_ALGOR 1519 1_1_0 EXIST::FUNCTION:
X509_STORE_CTX_set0_crls 1520 1_1_0 EXIST::FUNCTION:
ASYNC_pause_job 1521 1_1_0 EXIST::FUNCTION:
@@ -184864,7 +198303,7 @@
EVP_camellia_256_ofb 1523 1_1_0 EXIST::FUNCTION:CAMELLIA
PKCS12_item_i2d_encrypt 1524 1_1_0 EXIST::FUNCTION:
EVP_PKEY_meth_set_copy 1525 1_1_0 EXIST::FUNCTION:
-@@ -1590,13 +1560,13 @@ CMS_get0_content 1543 1_1_0 EXIST::FUNCTION:CMS
+@@ -1590,13 +1559,13 @@ CMS_get0_content 1543 1_1_0 EXIST::FUNCTION:CMS
BN_is_word 1544 1_1_0 EXIST::FUNCTION:
EVP_CIPHER_key_length 1545 1_1_0 EXIST::FUNCTION:
EVP_CIPHER_asn1_to_param 1546 1_1_0 EXIST::FUNCTION:
@@ -184880,7 +198319,7 @@
CMS_SignerInfo_sign 1554 1_1_0 EXIST::FUNCTION:CMS
ASN1_item_i2d_bio 1555 1_1_0 EXIST::FUNCTION:
EVP_CIPHER_CTX_block_size 1556 1_1_0 EXIST::FUNCTION:
-@@ -1607,7 +1577,7 @@ EVP_MD_meth_set_app_datasize 1560 1_1_0 EXIST::FUNCTION:
+@@ -1607,7 +1576,7 @@ EVP_MD_meth_set_app_datasize 1560 1_1_0 EXIST::FUNCTION:
DSO_free 1561 1_1_0 EXIST::FUNCTION:
TS_TST_INFO_get_tsa 1562 1_1_0 EXIST::FUNCTION:TS
EC_GROUP_check 1563 1_1_0 EXIST::FUNCTION:EC
@@ -184889,7 +198328,7 @@
TS_RESP_CTX_set_extension_cb 1565 1_1_0 EXIST::FUNCTION:TS
EVP_CIPHER_CTX_nid 1566 1_1_0 EXIST::FUNCTION:
TS_RESP_CTX_add_md 1567 1_1_0 EXIST::FUNCTION:TS
-@@ -1616,8 +1586,8 @@ X509V3_extensions_print 1569 1_1_0 EXIST::FUNCTION:
+@@ -1616,8 +1585,8 @@ X509V3_extensions_print 1569 1_1_0 EXIST::FUNCTION:
PEM_do_header 1570 1_1_0 EXIST::FUNCTION:
i2d_re_X509_CRL_tbs 1571 1_1_0 EXIST::FUNCTION:
BIO_method_name 1572 1_1_0 EXIST::FUNCTION:
@@ -184900,7 +198339,7 @@
d2i_X509_NAME_ENTRY 1575 1_1_0 EXIST::FUNCTION:
X509_trusted 1576 1_1_0 EXIST::FUNCTION:
X509_TRUST_get_flags 1577 1_1_0 EXIST::FUNCTION:
-@@ -1626,15 +1596,14 @@ PEM_write_X509_REQ_NEW 1579 1_1_0 EXIST::FUNCTION:
+@@ -1626,15 +1595,14 @@ PEM_write_X509_REQ_NEW 1579 1_1_0 EXIST::FUNCTION:
CONF_imodule_set_usr_data 1580 1_1_0 EXIST::FUNCTION:
d2i_TS_RESP_fp 1581 1_1_0 EXIST::FUNCTION:STDIO,TS
X509_policy_tree_get0_user_policies 1582 1_1_0 EXIST::FUNCTION:
@@ -184918,7 +198357,7 @@
ERR_get_error_line_data 1592 1_1_0 EXIST::FUNCTION:
CTLOG_get0_name 1593 1_1_0 EXIST::FUNCTION:CT
ASN1_TBOOLEAN_it 1594 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
-@@ -1642,7 +1611,6 @@ ASN1_TBOOLEAN_it 1594 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
+@@ -1642,7 +1610,6 @@ ASN1_TBOOLEAN_it 1594 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
RC2_set_key 1595 1_1_0 EXIST::FUNCTION:RC2
X509_REVOKED_get_ext_by_NID 1596 1_1_0 EXIST::FUNCTION:
RSA_padding_add_none 1597 1_1_0 EXIST::FUNCTION:RSA
@@ -184926,7 +198365,7 @@
EVP_rc5_32_12_16_cbc 1599 1_1_0 EXIST::FUNCTION:RC5
PEM_dek_info 1600 1_1_0 EXIST::FUNCTION:
ASN1_SCTX_get_template 1601 1_1_0 EXIST::FUNCTION:
-@@ -1655,18 +1623,17 @@ TS_ext_print_bio 1607 1_1_0 EXIST::FUNCTION:TS
+@@ -1655,18 +1622,17 @@ TS_ext_print_bio 1607 1_1_0 EXIST::FUNCTION:TS
SCT_set1_log_id 1608 1_1_0 EXIST::FUNCTION:CT
X509_get0_pubkey_bitstr 1609 1_1_0 EXIST::FUNCTION:
ENGINE_register_all_RAND 1610 1_1_0 EXIST::FUNCTION:ENGINE
@@ -184948,7 +198387,7 @@
NCONF_dump_bio 1623 1_1_0 EXIST::FUNCTION:
X509_NAME_get_entry 1624 1_1_0 EXIST::FUNCTION:
EVP_PKEY_get1_DH 1625 1_1_0 EXIST::FUNCTION:DH
-@@ -1677,18 +1644,18 @@ CRYPTO_ocb128_cleanup 1629 1_1_0 EXIST::FUNCTION:OCB
+@@ -1677,18 +1643,18 @@ CRYPTO_ocb128_cleanup 1629 1_1_0 EXIST::FUNCTION:OCB
EVP_des_ede_cbc 1630 1_1_0 EXIST::FUNCTION:DES
i2d_ASN1_TIME 1631 1_1_0 EXIST::FUNCTION:
ENGINE_register_all_pkey_asn1_meths 1632 1_1_0 EXIST::FUNCTION:ENGINE
@@ -184970,7 +198409,7 @@
X509_STORE_CTX_get1_issuer 1644 1_1_0 EXIST::FUNCTION:
EVP_Digest 1645 1_1_0 EXIST::FUNCTION:
CRYPTO_set_ex_data 1646 1_1_0 EXIST::FUNCTION:
-@@ -1697,7 +1664,6 @@ BN_lshift1 1648 1_1_0 EXIST::FUNCTION:
+@@ -1697,7 +1663,6 @@ BN_lshift1 1648 1_1_0 EXIST::FUNCTION:
i2d_EDIPARTYNAME 1649 1_1_0 EXIST::FUNCTION:
X509_policy_tree_get0_policies 1650 1_1_0 EXIST::FUNCTION:
X509at_add1_attr 1651 1_1_0 EXIST::FUNCTION:
@@ -184978,7 +198417,7 @@
X509_get_ex_data 1653 1_1_0 EXIST::FUNCTION:
RSA_set_method 1654 1_1_0 EXIST::FUNCTION:RSA
X509_REVOKED_dup 1655 1_1_0 EXIST::FUNCTION:
-@@ -1711,15 +1677,14 @@ BIO_asn1_get_suffix 1662 1_1_0 EXIST::FUNCTION:
+@@ -1711,15 +1676,14 @@ BIO_asn1_get_suffix 1662 1_1_0 EXIST::FUNCTION:
X509_VERIFY_PARAM_clear_flags 1663 1_1_0 EXIST::FUNCTION:
X509_NAME_add_entry_by_txt 1664 1_1_0 EXIST::FUNCTION:
DES_ede3_cfb_encrypt 1665 1_1_0 EXIST::FUNCTION:DES
@@ -184996,7 +198435,7 @@
PEM_write_PKCS7 1674 1_1_0 EXIST::FUNCTION:
PKCS7_add_signer 1675 1_1_0 EXIST::FUNCTION:
X509_SIG_it 1676 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
-@@ -1737,7 +1702,7 @@ CMS_EncryptedData_set1_key 1686 1_1_0 EXIST::FUNCTION:CMS
+@@ -1737,7 +1701,7 @@ CMS_EncryptedData_set1_key 1686 1_1_0 EXIST::FUNCTION:CMS
OBJ_find_sigid_by_algs 1687 1_1_0 EXIST::FUNCTION:
ASN1_generate_nconf 1688 1_1_0 EXIST::FUNCTION:
CMS_add0_recipient_password 1689 1_1_0 EXIST::FUNCTION:CMS
@@ -185005,7 +198444,7 @@
PEM_read_bio_ECPrivateKey 1691 1_1_0 EXIST::FUNCTION:EC
EVP_PKEY_get_attr 1692 1_1_0 EXIST::FUNCTION:
PEM_read_bio_ECPKParameters 1693 1_1_0 EXIST::FUNCTION:EC
-@@ -1747,7 +1712,7 @@ PKCS12_SAFEBAG_get_bag_nid 1696 1_1_0 EXIST::FUNCTION:
+@@ -1747,7 +1711,7 @@ PKCS12_SAFEBAG_get_bag_nid 1696 1_1_0 EXIST::FUNCTION:
TS_CONF_set_digests 1697 1_1_0 EXIST::FUNCTION:TS
PKCS7_SIGNED_it 1698 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
PKCS7_SIGNED_it 1698 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
@@ -185014,7 +198453,7 @@
X509_PURPOSE_cleanup 1700 1_1_0 EXIST::FUNCTION:
ESS_SIGNING_CERT_dup 1701 1_1_0 EXIST::FUNCTION:TS
ENGINE_set_default_DSA 1702 1_1_0 EXIST::FUNCTION:ENGINE
-@@ -1758,7 +1723,7 @@ X509_policy_tree_get0_level 1706 1_1_0 EXIST::FUNCTION:
+@@ -1758,7 +1722,7 @@ X509_policy_tree_get0_level 1706 1_1_0 EXIST::FUNCTION:
ASN1_parse_dump 1708 1_1_0 EXIST::FUNCTION:
BIO_vfree 1709 1_1_0 EXIST::FUNCTION:
CRYPTO_cbc128_decrypt 1710 1_1_0 EXIST::FUNCTION:
@@ -185023,7 +198462,7 @@
d2i_PKCS7_bio 1712 1_1_0 EXIST::FUNCTION:
ENGINE_set_default_digests 1713 1_1_0 EXIST::FUNCTION:ENGINE
i2d_PublicKey 1714 1_1_0 EXIST::FUNCTION:
-@@ -1775,8 +1740,8 @@ EVP_cast5_ecb 1724 1_1_0 EXIST::FUNCTION:CAST
+@@ -1775,8 +1739,8 @@ EVP_cast5_ecb 1724 1_1_0 EXIST::FUNCTION:CAST
BIO_nwrite0 1725 1_1_0 EXIST::FUNCTION:
CAST_encrypt 1726 1_1_0 EXIST::FUNCTION:CAST
a2d_ASN1_OBJECT 1727 1_1_0 EXIST::FUNCTION:
@@ -185034,7 +198473,7 @@
CMS_unsigned_get_attr 1730 1_1_0 EXIST::FUNCTION:CMS
EVP_aes_256_cbc 1731 1_1_0 EXIST::FUNCTION:
X509_check_ip_asc 1732 1_1_0 EXIST::FUNCTION:
-@@ -1787,7 +1752,7 @@ EVP_ENCODE_CTX_new 1736 1_1_0 EXIST::FUNCTION:
+@@ -1787,7 +1751,7 @@ EVP_ENCODE_CTX_new 1736 1_1_0 EXIST::FUNCTION:
BIO_f_base64 1737 1_1_0 EXIST::FUNCTION:
CMS_verify 1738 1_1_0 EXIST::FUNCTION:CMS
i2d_PrivateKey 1739 1_1_0 EXIST::FUNCTION:
@@ -185043,7 +198482,7 @@
OPENSSL_issetugid 1741 1_1_0 EXIST::FUNCTION:
d2i_ASN1_OBJECT 1742 1_1_0 EXIST::FUNCTION:
EVP_MD_meth_set_flags 1743 1_1_0 EXIST::FUNCTION:
-@@ -1796,14 +1761,14 @@ EC_POINT_cmp 1745 1_1_0 EXIST::FUNCTION:EC
+@@ -1796,14 +1760,14 @@ EC_POINT_cmp 1745 1_1_0 EXIST::FUNCTION:EC
ASN1_buf_print 1746 1_1_0 EXIST::FUNCTION:
EVP_PKEY_CTX_hex2ctrl 1747 1_1_0 EXIST::FUNCTION:
PEM_write_bio_PKCS8PrivateKey 1748 1_1_0 EXIST::FUNCTION:
@@ -185061,7 +198500,7 @@
X509_reject_clear 1757 1_1_0 EXIST::FUNCTION:
DH_security_bits 1758 1_1_0 EXIST::FUNCTION:DH
LONG_it 1759 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
-@@ -1822,8 +1787,6 @@ ASN1_OCTET_STRING_free 1770 1_1_0 EXIST::FUNCTION:
+@@ -1822,8 +1786,6 @@ ASN1_OCTET_STRING_free 1770 1_1_0 EXIST::FUNCTION:
PKCS7_RECIP_INFO_free 1771 1_1_0 EXIST::FUNCTION:
ASN1_tag2bit 1772 1_1_0 EXIST::FUNCTION:
TS_REQ_add_ext 1773 1_1_0 EXIST::FUNCTION:TS
@@ -185070,7 +198509,7 @@
X509_digest 1776 1_1_0 EXIST::FUNCTION:
CRYPTO_THREAD_cleanup_local 1777 1_1_0 EXIST::FUNCTION:
NETSCAPE_CERT_SEQUENCE_it 1778 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
-@@ -1850,11 +1813,11 @@ EVP_CIPHER_CTX_clear_flags 1796 1_1_0 EXIST::FUNCTION:
+@@ -1850,11 +1812,11 @@ EVP_CIPHER_CTX_clear_flags 1796 1_1_0 EXIST::FUNCTION:
ECDSA_size 1797 1_1_0 EXIST::FUNCTION:EC
X509_ALGOR_get0 1798 1_1_0 EXIST::FUNCTION:
d2i_ACCESS_DESCRIPTION 1799 1_1_0 EXIST::FUNCTION:
@@ -185084,7 +198523,7 @@
CONF_get_string 1805 1_1_0 EXIST::FUNCTION:
X509_cmp_current_time 1806 1_1_0 EXIST::FUNCTION:
i2d_DSAPrivateKey 1807 1_1_0 EXIST::FUNCTION:DSA
-@@ -1862,13 +1825,13 @@ ASN1_BIT_STRING_new 1808 1_1_0 EXIST::FUNCTION:
+@@ -1862,13 +1824,13 @@ ASN1_BIT_STRING_new 1808 1_1_0 EXIST::FUNCTION:
BIO_new_file 1809 1_1_0 EXIST::FUNCTION:
PKCS7_SIGNER_INFO_get0_algs 1810 1_1_0 EXIST::FUNCTION:
TS_RESP_set_status_info 1811 1_1_0 EXIST::FUNCTION:TS
@@ -185100,7 +198539,7 @@
OPENSSL_hexstr2buf 1819 1_1_0 EXIST::FUNCTION:
EVP_add_cipher 1820 1_1_0 EXIST::FUNCTION:
X509V3_EXT_add_list 1821 1_1_0 EXIST::FUNCTION:
-@@ -1877,7 +1840,7 @@ X509_get_ext_by_critical 1823 1_1_0 EXIST::FUNCTION:
+@@ -1877,7 +1839,7 @@ X509_get_ext_by_critical 1823 1_1_0 EXIST::FUNCTION:
ASYNC_WAIT_CTX_clear_fd 1824 1_1_0 EXIST::FUNCTION:
ZLONG_it 1825 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
ZLONG_it 1825 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
@@ -185109,7 +198548,7 @@
ASN1_ENUMERATED_to_BN 1827 1_1_0 EXIST::FUNCTION:
X509_CRL_get_ext_d2i 1828 1_1_0 EXIST::FUNCTION:
i2d_AUTHORITY_KEYID 1829 1_1_0 EXIST::FUNCTION:
-@@ -1886,10 +1849,9 @@ ASN1_VISIBLESTRING_it 1831 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
+@@ -1886,10 +1848,9 @@ ASN1_VISIBLESTRING_it 1831 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
ASN1_VISIBLESTRING_it 1831 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
X509V3_EXT_REQ_add_conf 1832 1_1_0 EXIST::FUNCTION:
ASN1_STRING_to_UTF8 1833 1_1_0 EXIST::FUNCTION:
@@ -185121,7 +198560,7 @@
PKCS7_set_signed_attributes 1838 1_1_0 EXIST::FUNCTION:
EC_KEY_priv2buf 1839 1_1_0 EXIST::FUNCTION:EC
BN_BLINDING_free 1840 1_1_0 EXIST::FUNCTION:
-@@ -1908,11 +1870,11 @@ TS_RESP_CTX_set_serial_cb 1851 1_1_0 EXIST::FUNCTION:TS
+@@ -1908,11 +1869,11 @@ TS_RESP_CTX_set_serial_cb 1851 1_1_0 EXIST::FUNCTION:TS
POLICY_MAPPING_it 1852 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
POLICY_MAPPING_it 1852 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
ERR_load_KDF_strings 1853 1_1_0 EXIST::FUNCTION:
@@ -185135,7 +198574,7 @@
ASN1_STRING_length_set 1859 1_1_0 EXIST::FUNCTION:
PEM_write_PKCS8 1860 1_1_0 EXIST::FUNCTION:
PKCS7_digest_from_attributes 1861 1_1_0 EXIST::FUNCTION:
-@@ -1928,38 +1890,37 @@ X509_get_ext_by_OBJ 1869 1_1_0 EXIST::FUNCTION:
+@@ -1928,38 +1889,37 @@ X509_get_ext_by_OBJ 1869 1_1_0 EXIST::FUNCTION:
PBEPARAM_new 1870 1_1_0 EXIST::FUNCTION:
EVP_aes_128_cbc 1871 1_1_0 EXIST::FUNCTION:
CRYPTO_dup_ex_data 1872 1_1_0 EXIST::FUNCTION:
@@ -185181,7 +198620,7 @@
CRYPTO_gcm128_encrypt_ctr32 1905 1_1_0 EXIST::FUNCTION:
SCT_set1_signature 1906 1_1_0 EXIST::FUNCTION:CT
CONF_imodule_get_module 1907 1_1_0 EXIST::FUNCTION:
-@@ -1969,7 +1930,7 @@ SRP_Calc_B 1910 1_1_0 EXIST::FUNCTION:SRP
+@@ -1969,7 +1929,7 @@ SRP_Calc_B 1910 1_1_0 EXIST::FUNCTION:SRP
CMS_decrypt_set1_key 1911 1_1_0 EXIST::FUNCTION:CMS
EC_GROUP_get_degree 1912 1_1_0 EXIST::FUNCTION:EC
X509_ALGOR_set0 1913 1_1_0 EXIST::FUNCTION:
@@ -185190,7 +198629,7 @@
X509v3_asid_inherits 1915 1_1_0 EXIST::FUNCTION:RFC3779
EVP_MD_meth_get_app_datasize 1916 1_1_0 EXIST::FUNCTION:
X509_STORE_CTX_get_num_untrusted 1917 1_1_0 EXIST::FUNCTION:
-@@ -1993,7 +1954,7 @@ X509_NAME_add_entry 1935 1_1_0 EXIST::FUNCTION:
+@@ -1993,7 +1953,7 @@ X509_NAME_add_entry 1935 1_1_0 EXIST::FUNCTION:
EVP_CIPHER_get_asn1_iv 1936 1_1_0 EXIST::FUNCTION:
i2d_RSAPrivateKey_bio 1937 1_1_0 EXIST::FUNCTION:RSA
PKCS5_PBE_keyivgen 1938 1_1_0 EXIST::FUNCTION:
@@ -185199,7 +198638,7 @@
EC_POINT_copy 1940 1_1_0 EXIST::FUNCTION:EC
X509V3_EXT_CRL_add_nconf 1941 1_1_0 EXIST::FUNCTION:
SHA256_Init 1942 1_1_0 EXIST::FUNCTION:
-@@ -2009,7 +1970,7 @@ PKCS12_unpack_p7data 1951 1_1_0 EXIST::FUNCTION:
+@@ -2009,7 +1969,7 @@ PKCS12_unpack_p7data 1951 1_1_0 EXIST::FUNCTION:
ECDSA_sign 1952 1_1_0 EXIST::FUNCTION:EC
d2i_PKCS12_fp 1953 1_1_0 EXIST::FUNCTION:
CMS_unsigned_get_attr_by_NID 1954 1_1_0 EXIST::FUNCTION:CMS
@@ -185208,7 +198647,7 @@
BN_bntest_rand 1956 1_1_0 EXIST::FUNCTION:
X509_get_pubkey 1957 1_1_0 EXIST::FUNCTION:
i2d_X509_NAME 1958 1_1_0 EXIST::FUNCTION:
-@@ -2029,7 +1990,7 @@ EC_POINT_get_affine_coordinates_GF2m 1970 1_1_0 EXIST::FUNCTION:EC,EC2M
+@@ -2029,7 +1989,7 @@ EC_POINT_get_affine_coordinates_GF2m 1970 1_1_0 EXIST::FUNCTION:EC,EC2M
EVP_ENCODE_CTX_num 1971 1_1_0 EXIST::FUNCTION:
Camellia_cfb1_encrypt 1972 1_1_0 EXIST::FUNCTION:CAMELLIA
NCONF_load_fp 1973 1_1_0 EXIST::FUNCTION:STDIO
@@ -185217,7 +198656,7 @@
EVP_PKEY_sign 1975 1_1_0 EXIST::FUNCTION:
TS_REQ_get_ext_by_critical 1976 1_1_0 EXIST::FUNCTION:TS
EC_KEY_key2buf 1977 1_1_0 EXIST::FUNCTION:EC
-@@ -2068,33 +2029,33 @@ TS_REQ_get_version 2006 1_1_0 EXIST::FUNCTION:TS
+@@ -2068,33 +2028,33 @@ TS_REQ_get_version 2006 1_1_0 EXIST::FUNCTION:TS
BN_exp 2007 1_1_0 EXIST::FUNCTION:
i2d_SXNET 2008 1_1_0 EXIST::FUNCTION:
OBJ_bsearch_ 2009 1_1_0 EXIST::FUNCTION:
@@ -185258,7 +198697,7 @@
_shadow_DES_check_key 2037 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:DES
_shadow_DES_check_key 2037 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:DES
CMS_RecipientInfo_set0_pkey 2038 1_1_0 EXIST::FUNCTION:CMS
-@@ -2112,17 +2073,17 @@ ASN1_ENUMERATED_it 2047 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
+@@ -2112,17 +2072,17 @@ ASN1_ENUMERATED_it 2047 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
o2i_ECPublicKey 2048 1_1_0 EXIST::FUNCTION:EC
ERR_load_BUF_strings 2049 1_1_0 EXIST::FUNCTION:
PEM_read_bio_RSA_PUBKEY 2050 1_1_0 EXIST::FUNCTION:RSA
@@ -185279,7 +198718,7 @@
OBJ_length 2062 1_1_0 EXIST::FUNCTION:
BN_GENCB_get_arg 2063 1_1_0 EXIST::FUNCTION:
EVP_MD_CTX_clear_flags 2064 1_1_0 EXIST::FUNCTION:
-@@ -2130,7 +2091,7 @@ EVP_PKEY_meth_get_verifyctx 2065 1_1_0 EXIST::FUNCTION:
+@@ -2130,7 +2090,7 @@ EVP_PKEY_meth_get_verifyctx 2065 1_1_0 EXIST::FUNCTION:
CT_POLICY_EVAL_CTX_get0_cert 2066 1_1_0 EXIST::FUNCTION:CT
PEM_write_DHparams 2067 1_1_0 EXIST::FUNCTION:DH
DH_set_ex_data 2068 1_1_0 EXIST::FUNCTION:DH
@@ -185288,7 +198727,7 @@
CRYPTO_128_unwrap_pad 2070 1_1_0 EXIST::FUNCTION:
BIO_new_CMS 2071 1_1_0 EXIST::FUNCTION:CMS
i2d_ASN1_ENUMERATED 2072 1_1_0 EXIST::FUNCTION:
-@@ -2150,7 +2111,7 @@ i2d_ASN1_GENERALSTRING 2085 1_1_0 EXIST::FUNCTION:
+@@ -2150,7 +2110,7 @@ i2d_ASN1_GENERALSTRING 2085 1_1_0 EXIST::FUNCTION:
POLICYQUALINFO_new 2086 1_1_0 EXIST::FUNCTION:
PKCS7_RECIP_INFO_get0_alg 2087 1_1_0 EXIST::FUNCTION:
EVP_PKEY_base_id 2088 1_1_0 EXIST::FUNCTION:
@@ -185297,7 +198736,7 @@
X509v3_get_ext_by_NID 2090 1_1_0 EXIST::FUNCTION:
TS_CONF_set_policies 2091 1_1_0 EXIST::FUNCTION:TS
CMS_SignerInfo_cert_cmp 2092 1_1_0 EXIST::FUNCTION:CMS
-@@ -2168,7 +2129,7 @@ X509_get_ext_count 2103 1_1_0 EXIST::FUNCTION:
+@@ -2168,7 +2128,7 @@ X509_get_ext_count 2103 1_1_0 EXIST::FUNCTION:
CRYPTO_cts128_decrypt 2104 1_1_0 EXIST::FUNCTION:
ASYNC_WAIT_CTX_get_fd 2105 1_1_0 EXIST::FUNCTION:
i2d_TS_REQ 2106 1_1_0 EXIST::FUNCTION:TS
@@ -185306,7 +198745,7 @@
ENGINE_register_pkey_meths 2108 1_1_0 EXIST::FUNCTION:ENGINE
ENGINE_load_public_key 2109 1_1_0 EXIST::FUNCTION:ENGINE
ASIdOrRange_it 2110 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779
-@@ -2193,14 +2154,14 @@ BN_mod_exp_recp 2126 1_1_0 EXIST::FUNCTION:
+@@ -2193,14 +2153,14 @@ BN_mod_exp_recp 2126 1_1_0 EXIST::FUNCTION:
EVP_mdc2 2127 1_1_0 EXIST::FUNCTION:MDC2
EVP_des_cfb64 2128 1_1_0 EXIST::FUNCTION:DES
PKCS7_sign 2129 1_1_0 EXIST::FUNCTION:
@@ -185323,7 +198762,7 @@
ASN1_item_i2d_fp 2137 1_1_0 EXIST::FUNCTION:STDIO
BN_GF2m_mod_sqr 2138 1_1_0 EXIST::FUNCTION:EC2M
ASN1_PRINTABLE_new 2139 1_1_0 EXIST::FUNCTION:
-@@ -2217,7 +2178,7 @@ CRYPTO_THREAD_compare_id 2148 1_1_0 EXIST::FUNCTION:
+@@ -2217,7 +2177,7 @@ CRYPTO_THREAD_compare_id 2148 1_1_0 EXIST::FUNCTION:
d2i_IPAddressChoice 2149 1_1_0 EXIST::FUNCTION:RFC3779
IPAddressFamily_it 2150 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779
IPAddressFamily_it 2150 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779
@@ -185332,7 +198771,7 @@
BIO_push 2152 1_1_0 EXIST::FUNCTION:
ASN1_BMPSTRING_new 2153 1_1_0 EXIST::FUNCTION:
COMP_get_type 2154 1_1_0 EXIST::FUNCTION:COMP
-@@ -2228,8 +2189,8 @@ PEM_write_X509 2158 1_1_0 EXIST::FUNCTION:
+@@ -2228,8 +2188,8 @@ PEM_write_X509 2158 1_1_0 EXIST::FUNCTION:
BN_CTX_free 2159 1_1_0 EXIST::FUNCTION:
EC_GROUP_get_curve_GF2m 2160 1_1_0 EXIST::FUNCTION:EC,EC2M
EVP_MD_flags 2161 1_1_0 EXIST::FUNCTION:
@@ -185343,7 +198782,7 @@
BN_GF2m_mod_solve_quad 2164 1_1_0 EXIST::FUNCTION:EC2M
EC_POINT_method_of 2165 1_1_0 EXIST::FUNCTION:EC
PKCS7_ENCRYPT_it 2166 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
-@@ -2239,14 +2200,13 @@ AUTHORITY_INFO_ACCESS_it 2167 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
+@@ -2239,14 +2199,13 @@ AUTHORITY_INFO_ACCESS_it 2167 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
X509_EXTENSION_create_by_NID 2168 1_1_0 EXIST::FUNCTION:
i2d_RSAPrivateKey 2169 1_1_0 EXIST::FUNCTION:RSA
d2i_CERTIFICATEPOLICIES 2170 1_1_0 EXIST::FUNCTION:
@@ -185360,7 +198799,7 @@
BN_get_rfc3526_prime_4096 2179 1_1_0 EXIST::FUNCTION:
d2i_PKCS7_fp 2180 1_1_0 EXIST::FUNCTION:STDIO
PEM_write_bio_NETSCAPE_CERT_SEQUENCE 2181 1_1_0 EXIST::FUNCTION:
-@@ -2257,13 +2217,12 @@ CMS_RecipientInfo_kari_orig_id_cmp 2184 1_1_0 EXIST::FUNCTION:CMS
+@@ -2257,13 +2216,12 @@ CMS_RecipientInfo_kari_orig_id_cmp 2184 1_1_0 EXIST::FUNCTION:CMS
NETSCAPE_SPKI_b64_encode 2185 1_1_0 EXIST::FUNCTION:
d2i_PrivateKey 2186 1_1_0 EXIST::FUNCTION:
EVP_MD_CTX_new 2187 1_1_0 EXIST::FUNCTION:
@@ -185375,7 +198814,7 @@
ASN1_T61STRING_new 2195 1_1_0 EXIST::FUNCTION:
BN_kronecker 2196 1_1_0 EXIST::FUNCTION:
i2d_ACCESS_DESCRIPTION 2197 1_1_0 EXIST::FUNCTION:
-@@ -2272,7 +2231,7 @@ X509_STORE_CTX_set_depth 2199 1_1_0 EXIST::FUNCTION:
+@@ -2272,7 +2230,7 @@ X509_STORE_CTX_set_depth 2199 1_1_0 EXIST::FUNCTION:
X509v3_delete_ext 2200 1_1_0 EXIST::FUNCTION:
ASN1_STRING_set0 2201 1_1_0 EXIST::FUNCTION:
BN_GF2m_add 2202 1_1_0 EXIST::FUNCTION:EC2M
@@ -185384,7 +198823,7 @@
TS_ACCURACY_set_millis 2204 1_1_0 EXIST::FUNCTION:TS
X509V3_EXT_conf 2205 1_1_0 EXIST::FUNCTION:
i2d_DHxparams 2206 1_1_0 EXIST::FUNCTION:DH
-@@ -2283,7 +2242,7 @@ i2d_TS_ACCURACY 2210 1_1_0 EXIST::FUNCTION:TS
+@@ -2283,7 +2241,7 @@ i2d_TS_ACCURACY 2210 1_1_0 EXIST::FUNCTION:TS
ASN1_VISIBLESTRING_free 2211 1_1_0 EXIST::FUNCTION:
NCONF_load_bio 2212 1_1_0 EXIST::FUNCTION:
DSA_get_default_method 2213 1_1_0 EXIST::FUNCTION:DSA
@@ -185393,7 +198832,7 @@
CRYPTO_ccm128_decrypt_ccm64 2215 1_1_0 EXIST::FUNCTION:
TS_RESP_CTX_set_clock_precision_digits 2216 1_1_0 EXIST::FUNCTION:TS
SCT_LIST_validate 2217 1_1_0 EXIST::FUNCTION:CT
-@@ -2312,7 +2271,7 @@ EC_GROUP_set_curve_GF2m 2239 1_1_0 EXIST::FUNCTION:EC,EC2M
+@@ -2312,7 +2270,7 @@ EC_GROUP_set_curve_GF2m 2239 1_1_0 EXIST::FUNCTION:EC,EC2M
ENGINE_load_builtin_engines 2240 1_1_0 EXIST::FUNCTION:ENGINE
SRP_VBASE_init 2241 1_1_0 EXIST::FUNCTION:SRP
SHA224_Final 2242 1_1_0 EXIST::FUNCTION:
@@ -185402,7 +198841,7 @@
d2i_TS_TST_INFO 2244 1_1_0 EXIST::FUNCTION:TS
IPAddressOrRange_it 2245 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779
IPAddressOrRange_it 2245 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779
-@@ -2320,14 +2279,14 @@ ENGINE_get_cipher 2246 1_1_0 EXIST::FUNCTION:ENGINE
+@@ -2320,14 +2278,14 @@ ENGINE_get_cipher 2246 1_1_0 EXIST::FUNCTION:ENGINE
TS_TST_INFO_delete_ext 2247 1_1_0 EXIST::FUNCTION:TS
TS_OBJ_print_bio 2248 1_1_0 EXIST::FUNCTION:TS
X509_time_adj_ex 2249 1_1_0 EXIST::FUNCTION:
@@ -185420,7 +198859,7 @@
X509_VERIFY_PARAM_table_cleanup 2257 1_1_0 EXIST::FUNCTION:
i2d_re_X509_REQ_tbs 2258 1_1_0 EXIST::FUNCTION:
CONF_load_bio 2259 1_1_0 EXIST::FUNCTION:
-@@ -2378,7 +2337,7 @@ UTF8_putc 2302 1_1_0 EXIST::FUNCTION:
+@@ -2378,7 +2336,7 @@ UTF8_putc 2302 1_1_0 EXIST::FUNCTION:
RSA_private_encrypt 2303 1_1_0 EXIST::FUNCTION:RSA
X509_LOOKUP_shutdown 2304 1_1_0 EXIST::FUNCTION:
TS_TST_INFO_set_accuracy 2305 1_1_0 EXIST::FUNCTION:TS
@@ -185429,7 +198868,7 @@
X509at_add1_attr_by_OBJ 2307 1_1_0 EXIST::FUNCTION:
EVP_PKEY_asn1_add0 2308 1_1_0 EXIST::FUNCTION:
PKCS12_SAFEBAG_get1_crl 2309 1_1_0 EXIST::FUNCTION:
-@@ -2400,7 +2359,6 @@ PEM_read_PKCS7 2324 1_1_0 EXIST::FUNCTION:
+@@ -2400,7 +2358,6 @@ PEM_read_PKCS7 2324 1_1_0 EXIST::FUNCTION:
DH_get_2048_256 2325 1_1_0 EXIST::FUNCTION:DH
X509at_delete_attr 2326 1_1_0 EXIST::FUNCTION:
PEM_write_bio 2327 1_1_0 EXIST::FUNCTION:
@@ -185437,7 +198876,7 @@
CMS_signed_get_attr_by_OBJ 2329 1_1_0 EXIST::FUNCTION:CMS
X509_REVOKED_add_ext 2330 1_1_0 EXIST::FUNCTION:
EVP_CipherUpdate 2331 1_1_0 EXIST::FUNCTION:
-@@ -2409,12 +2367,12 @@ EVP_aes_256_xts 2333 1_1_0 EXIST::FUNCTION:
+@@ -2409,12 +2366,12 @@ EVP_aes_256_xts 2333 1_1_0 EXIST::FUNCTION:
EVP_DigestSignFinal 2334 1_1_0 EXIST::FUNCTION:
ASN1_STRING_cmp 2335 1_1_0 EXIST::FUNCTION:
EVP_chacha20_poly1305 2336 1_1_0 EXIST::FUNCTION:CHACHA,POLY1305
@@ -185452,7 +198891,7 @@
X509_keyid_set1 2343 1_1_0 EXIST::FUNCTION:
X509_VERIFY_PARAM_set1 2344 1_1_0 EXIST::FUNCTION:
EC_GROUP_get_asn1_flag 2345 1_1_0 EXIST::FUNCTION:EC
-@@ -2439,12 +2397,12 @@ OTHERNAME_it 2363 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
+@@ -2439,12 +2396,12 @@ OTHERNAME_it 2363 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
OTHERNAME_it 2363 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
X509at_add1_attr_by_txt 2364 1_1_0 EXIST::FUNCTION:
PKCS7_SIGN_ENVELOPE_free 2365 1_1_0 EXIST::FUNCTION:
@@ -185467,7 +198906,7 @@
GENERAL_NAME_new 2372 1_1_0 EXIST::FUNCTION:
DES_encrypt3 2373 1_1_0 EXIST::FUNCTION:DES
PKCS7_get_signer_info 2374 1_1_0 EXIST::FUNCTION:
-@@ -2455,7 +2413,7 @@ ASN1_UTF8STRING_it 2377 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
+@@ -2455,7 +2412,7 @@ ASN1_UTF8STRING_it 2377 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
ASN1_SCTX_set_app_data 2378 1_1_0 EXIST::FUNCTION:
CMS_add0_cert 2379 1_1_0 EXIST::FUNCTION:CMS
i2d_GENERAL_NAME 2380 1_1_0 EXIST::FUNCTION:
@@ -185476,7 +198915,7 @@
ENGINE_get_pkey_asn1_meth_engine 2382 1_1_0 EXIST::FUNCTION:ENGINE
d2i_ASN1_BMPSTRING 2383 1_1_0 EXIST::FUNCTION:
PKCS12_SAFEBAG_create0_p8inf 2384 1_1_0 EXIST::FUNCTION:
-@@ -2472,7 +2430,6 @@ TS_TST_INFO_set_time 2394 1_1_0 EXIST::FUNCTION:TS
+@@ -2472,7 +2429,6 @@ TS_TST_INFO_set_time 2394 1_1_0 EXIST::FUNCTION:TS
OPENSSL_die 2395 1_1_0 EXIST::FUNCTION:
X509_LOOKUP_by_alias 2396 1_1_0 EXIST::FUNCTION:
EC_KEY_set_conv_form 2397 1_1_0 EXIST::FUNCTION:EC
@@ -185484,7 +198923,7 @@
X509_TRUST_get_count 2399 1_1_0 EXIST::FUNCTION:
IPAddressOrRange_free 2400 1_1_0 EXIST::FUNCTION:RFC3779
RSA_padding_add_PKCS1_OAEP 2401 1_1_0 EXIST::FUNCTION:RSA
-@@ -2490,19 +2447,18 @@ EVP_MD_CTX_md_data 2412 1_1_0 EXIST::FUNCTION:
+@@ -2490,19 +2446,18 @@ EVP_MD_CTX_md_data 2412 1_1_0 EXIST::FUNCTION:
ASN1_PCTX_set_nm_flags 2413 1_1_0 EXIST::FUNCTION:
BIO_ctrl 2414 1_1_0 EXIST::FUNCTION:
X509_CRL_set_default_method 2415 1_1_0 EXIST::FUNCTION:
@@ -185507,7 +198946,7 @@
EVP_aes_256_cfb128 2428 1_1_0 EXIST::FUNCTION:
RSA_set_ex_data 2429 1_1_0 EXIST::FUNCTION:RSA
BN_GENCB_call 2430 1_1_0 EXIST::FUNCTION:
-@@ -2514,8 +2470,8 @@ EVP_get_digestbyname 2435 1_1_0 EXIST::FUNCTION:
+@@ -2514,8 +2469,8 @@ EVP_get_digestbyname 2435 1_1_0 EXIST::FUNCTION:
X509_CRL_get_lastUpdate 2436 1_1_0 EXIST::FUNCTION:
OBJ_create_objects 2437 1_1_0 EXIST::FUNCTION:
EVP_enc_null 2438 1_1_0 EXIST::FUNCTION:
@@ -185518,7 +198957,7 @@
BN_hex2bn 2441 1_1_0 EXIST::FUNCTION:
EVP_CIPHER_meth_set_impl_ctx_size 2442 1_1_0 EXIST::FUNCTION:
ASIdentifiers_new 2443 1_1_0 EXIST::FUNCTION:RFC3779
-@@ -2542,12 +2498,12 @@ BIO_s_datagram_sctp 2461 1_1_0 EXIST::FUNCTION:DGRAM,SCTP
+@@ -2542,12 +2497,12 @@ BIO_s_datagram_sctp 2461 1_1_0 EXIST::FUNCTION:DGRAM,SCTP
SXNET_add_id_asc 2462 1_1_0 EXIST::FUNCTION:
X509_print_fp 2463 1_1_0 EXIST::FUNCTION:STDIO
TS_REQ_set_version 2464 1_1_0 EXIST::FUNCTION:TS
@@ -185533,7 +198972,7 @@
NETSCAPE_SPKAC_it 2471 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
NETSCAPE_SPKAC_it 2471 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
ASIdOrRange_free 2472 1_1_0 EXIST::FUNCTION:RFC3779
-@@ -2561,7 +2517,7 @@ EVP_CIPHER_CTX_ctrl 2479 1_1_0 EXIST::FUNCTION:
+@@ -2561,7 +2516,7 @@ EVP_CIPHER_CTX_ctrl 2479 1_1_0 EXIST::FUNCTION:
ASN1_T61STRING_it 2480 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
ASN1_T61STRING_it 2480 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
ENGINE_get_prev 2481 1_1_0 EXIST::FUNCTION:ENGINE
@@ -185542,7 +198981,7 @@
ERR_load_EC_strings 2483 1_1_0 EXIST::FUNCTION:EC
X509V3_string_free 2484 1_1_0 EXIST::FUNCTION:
EVP_PKEY_meth_set_paramgen 2485 1_1_0 EXIST::FUNCTION:
-@@ -2609,7 +2565,6 @@ BN_get_rfc3526_prime_1536 2526 1_1_0 EXIST::FUNCTION:
+@@ -2609,7 +2564,6 @@ BN_get_rfc3526_prime_1536 2526 1_1_0 EXIST::FUNCTION:
DSA_sign 2527 1_1_0 EXIST::FUNCTION:DSA
RAND_egd 2528 1_1_0 EXIST::FUNCTION:EGD
ASN1_d2i_bio 2529 1_1_0 EXIST::FUNCTION:
@@ -185550,7 +198989,7 @@
X509_REQ_digest 2531 1_1_0 EXIST::FUNCTION:
X509_set_notAfter 2532 1_1_0 EXIST::FUNCTION:
EVP_CIPHER_type 2533 1_1_0 EXIST::FUNCTION:
-@@ -2620,8 +2575,7 @@ X509_PURPOSE_add 2537 1_1_0 EXIST::FUNCTION:
+@@ -2620,8 +2574,7 @@ X509_PURPOSE_add 2537 1_1_0 EXIST::FUNCTION:
PKCS7_ENVELOPE_free 2538 1_1_0 EXIST::FUNCTION:
PKCS12_key_gen_uni 2539 1_1_0 EXIST::FUNCTION:
WHIRLPOOL 2540 1_1_0 EXIST::FUNCTION:WHIRLPOOL
@@ -185560,7 +198999,7 @@
EC_POINT_is_at_infinity 2543 1_1_0 EXIST::FUNCTION:EC
i2d_NOTICEREF 2544 1_1_0 EXIST::FUNCTION:
EC_KEY_new 2545 1_1_0 EXIST::FUNCTION:EC
-@@ -2641,25 +2595,25 @@ EVP_PKEY_CTX_get_keygen_info 2558 1_1_0 EXIST::FUNCTION:
+@@ -2641,25 +2594,25 @@ EVP_PKEY_CTX_get_keygen_info 2558 1_1_0 EXIST::FUNCTION:
d2i_ASN1_UINTEGER 2559 1_1_0 EXIST::FUNCTION:
i2s_ASN1_INTEGER 2560 1_1_0 EXIST::FUNCTION:
d2i_EC_PUBKEY_fp 2561 1_1_0 EXIST::FUNCTION:EC,STDIO
@@ -185591,7 +199030,7 @@
PKCS12_SAFEBAG_get_nid 2580 1_1_0 EXIST::FUNCTION:
EVP_MD_CTX_set_update_fn 2581 1_1_0 EXIST::FUNCTION:
BIO_f_asn1 2582 1_1_0 EXIST::FUNCTION:
-@@ -2693,11 +2647,11 @@ EVP_DecodeUpdate 2609 1_1_0 EXIST::FUNCTION:
+@@ -2693,11 +2646,11 @@ EVP_DecodeUpdate 2609 1_1_0 EXIST::FUNCTION:
ENGINE_get_default_RAND 2610 1_1_0 EXIST::FUNCTION:ENGINE
ERR_peek_last_error_line 2611 1_1_0 EXIST::FUNCTION:
ENGINE_get_ssl_client_cert_function 2612 1_1_0 EXIST::FUNCTION:ENGINE
@@ -185605,7 +199044,7 @@
SEED_encrypt 2617 1_1_0 EXIST::FUNCTION:SEED
IPAddressRange_it 2618 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779
IPAddressRange_it 2618 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779
-@@ -2728,7 +2682,6 @@ d2i_PBKDF2PARAM 2640 1_1_0 EXIST::FUNCTION:
+@@ -2728,7 +2681,6 @@ d2i_PBKDF2PARAM 2640 1_1_0 EXIST::FUNCTION:
ERR_load_COMP_strings 2641 1_1_0 EXIST::FUNCTION:COMP
EVP_PKEY_meth_add0 2642 1_1_0 EXIST::FUNCTION:
EVP_rc4_40 2643 1_1_0 EXIST::FUNCTION:RC4
@@ -185613,7 +199052,7 @@
RSA_bits 2645 1_1_0 EXIST::FUNCTION:RSA
ASN1_item_dup 2646 1_1_0 EXIST::FUNCTION:
GENERAL_NAMES_it 2647 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
-@@ -2741,7 +2694,7 @@ EVP_aes_256_cbc_hmac_sha1 2652 1_1_0 EXIST::FUNCTION:
+@@ -2741,7 +2693,7 @@ EVP_aes_256_cbc_hmac_sha1 2652 1_1_0 EXIST::FUNCTION:
SCT_validate 2653 1_1_0 EXIST::FUNCTION:CT
EC_GROUP_dup 2654 1_1_0 EXIST::FUNCTION:EC
EVP_sha1 2655 1_1_0 EXIST::FUNCTION:
@@ -185622,7 +199061,7 @@
BN_dup 2657 1_1_0 EXIST::FUNCTION:
TS_MSG_IMPRINT_print_bio 2658 1_1_0 EXIST::FUNCTION:TS
CONF_module_set_usr_data 2659 1_1_0 EXIST::FUNCTION:
-@@ -2751,8 +2704,7 @@ EVP_PKEY_assign 2662 1_1_0 EXIST::FUNCTION:
+@@ -2751,8 +2703,7 @@ EVP_PKEY_assign 2662 1_1_0 EXIST::FUNCTION:
EVP_aes_128_ofb 2663 1_1_0 EXIST::FUNCTION:
CMS_data 2664 1_1_0 EXIST::FUNCTION:CMS
X509_load_cert_file 2665 1_1_0 EXIST::FUNCTION:
@@ -185632,7 +199071,7 @@
ECDSA_SIG_free 2668 1_1_0 EXIST::FUNCTION:EC
d2i_PKCS12_BAGS 2669 1_1_0 EXIST::FUNCTION:
RSA_public_encrypt 2670 1_1_0 EXIST::FUNCTION:RSA
-@@ -2769,7 +2721,7 @@ d2i_CMS_ReceiptRequest 2680 1_1_0 EXIST::FUNCTION:CMS
+@@ -2769,7 +2720,7 @@ d2i_CMS_ReceiptRequest 2680 1_1_0 EXIST::FUNCTION:CMS
X509_CRL_INFO_it 2681 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
X509_CRL_INFO_it 2681 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
BUF_reverse 2682 1_1_0 EXIST::FUNCTION:
@@ -185641,7 +199080,7 @@
X509_REQ_delete_attr 2684 1_1_0 EXIST::FUNCTION:
TS_RESP_CTX_set_signer_cert 2685 1_1_0 EXIST::FUNCTION:TS
X509V3_EXT_d2i 2686 1_1_0 EXIST::FUNCTION:
-@@ -2777,7 +2729,7 @@ ASN1_GENERALSTRING_it 2687 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
+@@ -2777,7 +2728,7 @@ ASN1_GENERALSTRING_it 2687 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
ASN1_GENERALSTRING_it 2687 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
POLICYQUALINFO_free 2688 1_1_0 EXIST::FUNCTION:
EC_KEY_set_group 2689 1_1_0 EXIST::FUNCTION:EC
@@ -185650,7 +199089,7 @@
PEM_write_ECPKParameters 2691 1_1_0 EXIST::FUNCTION:EC
X509_VERIFY_PARAM_lookup 2692 1_1_0 EXIST::FUNCTION:
X509_LOOKUP_by_fingerprint 2693 1_1_0 EXIST::FUNCTION:
-@@ -2787,7 +2739,7 @@ d2i_ECPrivateKey_fp 2696 1_1_0 EXIST::FUNCTION:EC,STDIO
+@@ -2787,7 +2738,7 @@ d2i_ECPrivateKey_fp 2696 1_1_0 EXIST::FUNCTION:EC,STDIO
TS_CONF_set_ordering 2697 1_1_0 EXIST::FUNCTION:TS
X509_CRL_get_ext 2698 1_1_0 EXIST::FUNCTION:
X509_CRL_get_ext_by_OBJ 2699 1_1_0 EXIST::FUNCTION:
@@ -185659,7 +199098,7 @@
ASN1_PRINTABLESTRING_new 2701 1_1_0 EXIST::FUNCTION:
i2d_PBEPARAM 2702 1_1_0 EXIST::FUNCTION:
NETSCAPE_SPKI_new 2703 1_1_0 EXIST::FUNCTION:
-@@ -2821,8 +2773,8 @@ CMS_ContentInfo_print_ctx 2730 1_1_0 EXIST::FUNCTION:CMS
+@@ -2821,8 +2772,8 @@ CMS_ContentInfo_print_ctx 2730 1_1_0 EXIST::FUNCTION:CMS
d2i_PKCS7_SIGNED 2731 1_1_0 EXIST::FUNCTION:
GENERAL_NAMES_free 2732 1_1_0 EXIST::FUNCTION:
SCT_get_timestamp 2733 1_1_0 EXIST::FUNCTION:CT
@@ -185670,7 +199109,7 @@
CMS_verify_receipt 2735 1_1_0 EXIST::FUNCTION:CMS
CRYPTO_THREAD_lock_new 2736 1_1_0 EXIST::FUNCTION:
BIO_get_ex_data 2737 1_1_0 EXIST::FUNCTION:
-@@ -2835,9 +2787,9 @@ d2i_IPAddressRange 2743 1_1_0 EXIST::FUNCTION:RFC3779
+@@ -2835,9 +2786,9 @@ d2i_IPAddressRange 2743 1_1_0 EXIST::FUNCTION:RFC3779
ERR_remove_state 2744 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_1_0_0
X509_CRL_print_fp 2745 1_1_0 EXIST::FUNCTION:STDIO
TS_CONF_load_key 2746 1_1_0 EXIST::FUNCTION:TS
@@ -185682,7 +199121,7 @@
X509_REQ_to_X509 2750 1_1_0 EXIST::FUNCTION:
EVP_aes_192_wrap_pad 2751 1_1_0 EXIST::FUNCTION:
PKCS7_SIGN_ENVELOPE_new 2752 1_1_0 EXIST::FUNCTION:
-@@ -2848,8 +2800,8 @@ CT_POLICY_EVAL_CTX_new 2756 1_1_0 EXIST::FUNCTION:CT
+@@ -2848,8 +2799,8 @@ CT_POLICY_EVAL_CTX_new 2756 1_1_0 EXIST::FUNCTION:CT
NETSCAPE_SPKI_it 2757 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
NETSCAPE_SPKI_it 2757 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
CRYPTO_THREAD_unlock 2758 1_1_0 EXIST::FUNCTION:
@@ -185693,7 +199132,7 @@
OPENSSL_init 2761 1_1_0 EXIST::FUNCTION:
TS_RESP_get_tst_info 2762 1_1_0 EXIST::FUNCTION:TS
X509_VERIFY_PARAM_get_depth 2763 1_1_0 EXIST::FUNCTION:
-@@ -2858,8 +2810,8 @@ BIO_set 2765 1_1_0 EXIST::FUNCTION:
+@@ -2858,8 +2809,8 @@ BIO_set 2765 1_1_0 EXIST::FUNCTION:
CONF_imodule_set_flags 2766 1_1_0 EXIST::FUNCTION:
i2d_ASN1_SET_ANY 2767 1_1_0 EXIST::FUNCTION:
EVP_PKEY_decrypt 2768 1_1_0 EXIST::FUNCTION:
@@ -185704,7 +199143,7 @@
EVP_des_ede3_cbc 2770 1_1_0 EXIST::FUNCTION:DES
X509_up_ref 2771 1_1_0 EXIST::FUNCTION:
OBJ_NAME_do_all_sorted 2772 1_1_0 EXIST::FUNCTION:
-@@ -2872,8 +2824,7 @@ RSAPrivateKey_it 2777 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
+@@ -2872,8 +2823,7 @@ RSAPrivateKey_it 2777 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
RSAPrivateKey_it 2777 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RSA
X509_NAME_ENTRY_free 2778 1_1_0 EXIST::FUNCTION:
BIO_new_fd 2779 1_1_0 EXIST::FUNCTION:
@@ -185714,7 +199153,7 @@
NCONF_get_section 2782 1_1_0 EXIST::FUNCTION:
PKCS12_MAC_DATA_it 2783 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
PKCS12_MAC_DATA_it 2783 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
-@@ -2885,12 +2836,11 @@ PKCS12_setup_mac 2788 1_1_0 EXIST::FUNCTION:
+@@ -2885,12 +2835,11 @@ PKCS12_setup_mac 2788 1_1_0 EXIST::FUNCTION:
PEM_read_bio_PKCS7 2789 1_1_0 EXIST::FUNCTION:
SHA512_Final 2790 1_1_0 EXIST:!VMSVAX:FUNCTION:
X509_VERIFY_PARAM_set1_host 2791 1_1_0 EXIST::FUNCTION:
@@ -185728,7 +199167,7 @@
EVP_SealInit 2798 1_1_0 EXIST::FUNCTION:RSA
X509_REQ_get0_signature 2799 1_1_0 EXIST::FUNCTION:
PKEY_USAGE_PERIOD_free 2800 1_1_0 EXIST::FUNCTION:
-@@ -2907,8 +2857,8 @@ ENGINE_register_all_DH 2809 1_1_0 EXIST::FUNCTION:ENGINE
+@@ -2907,8 +2856,8 @@ ENGINE_register_all_DH 2809 1_1_0 EXIST::FUNCTION:ENGINE
ERR_clear_error 2810 1_1_0 EXIST::FUNCTION:
EC_KEY_dup 2811 1_1_0 EXIST::FUNCTION:EC
X509_LOOKUP_init 2812 1_1_0 EXIST::FUNCTION:
@@ -185739,7 +199178,7 @@
X509V3_EXT_print_fp 2815 1_1_0 EXIST::FUNCTION:STDIO
OBJ_bsearch_ex_ 2816 1_1_0 EXIST::FUNCTION:
DES_ofb64_encrypt 2817 1_1_0 EXIST::FUNCTION:DES
-@@ -2922,11 +2872,10 @@ SCT_free 2824 1_1_0 EXIST::FUNCTION:CT
+@@ -2922,11 +2871,10 @@ SCT_free 2824 1_1_0 EXIST::FUNCTION:CT
TS_TST_INFO_get_msg_imprint 2825 1_1_0 EXIST::FUNCTION:TS
X509v3_addr_add_range 2826 1_1_0 EXIST::FUNCTION:RFC3779
PKCS12_get_friendlyname 2827 1_1_0 EXIST::FUNCTION:
@@ -185752,7 +199191,7 @@
EVP_camellia_256_cfb8 2833 1_1_0 EXIST::FUNCTION:CAMELLIA
EC_KEY_get0_public_key 2834 1_1_0 EXIST::FUNCTION:EC
SRP_Calc_x 2835 1_1_0 EXIST::FUNCTION:SRP
-@@ -2954,19 +2903,18 @@ PEM_write_bio_PrivateKey 2855 1_1_0 EXIST::FUNCTION:
+@@ -2954,19 +2902,18 @@ PEM_write_bio_PrivateKey 2855 1_1_0 EXIST::FUNCTION:
ASN1_UTCTIME_check 2856 1_1_0 EXIST::FUNCTION:
ACCESS_DESCRIPTION_it 2857 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
ACCESS_DESCRIPTION_it 2857 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
@@ -185775,7 +199214,7 @@
BN_CTX_start 2871 1_1_0 EXIST::FUNCTION:
BN_print 2872 1_1_0 EXIST::FUNCTION:
EC_KEY_set_flags 2873 1_1_0 EXIST::FUNCTION:EC
-@@ -2981,10 +2929,10 @@ X509_CINF_it 2880 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
+@@ -2981,10 +2928,10 @@ X509_CINF_it 2880 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
TS_CONF_set_accuracy 2881 1_1_0 EXIST::FUNCTION:TS
DES_crypt 2882 1_1_0 EXIST::FUNCTION:DES
BN_BLINDING_create_param 2883 1_1_0 EXIST::FUNCTION:
@@ -185789,7 +199228,7 @@
POLICY_CONSTRAINTS_it 2888 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
POLICY_CONSTRAINTS_it 2888 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
NCONF_free_data 2889 1_1_0 EXIST::FUNCTION:
-@@ -3012,7 +2960,7 @@ EVP_des_ede3_cfb1 2909 1_1_0 EXIST::FUNCTION:DES
+@@ -3012,7 +2959,7 @@ EVP_des_ede3_cfb1 2909 1_1_0 EXIST::FUNCTION:DES
TS_REQ_to_TS_VERIFY_CTX 2910 1_1_0 EXIST::FUNCTION:TS
d2i_PBEPARAM 2911 1_1_0 EXIST::FUNCTION:
BN_get0_nist_prime_521 2912 1_1_0 EXIST::FUNCTION:
@@ -185798,7 +199237,7 @@
X509_PUBKEY_get0 2914 1_1_0 EXIST::FUNCTION:
X509_STORE_CTX_get0_parent_ctx 2915 1_1_0 EXIST::FUNCTION:
EC_GROUP_set_seed 2916 1_1_0 EXIST::FUNCTION:EC
-@@ -3025,7 +2973,7 @@ RC5_32_decrypt 2921 1_1_0 EXIST::FUNCTION:RC5
+@@ -3025,7 +2972,7 @@ RC5_32_decrypt 2921 1_1_0 EXIST::FUNCTION:RC5
i2d_X509_REQ_INFO 2922 1_1_0 EXIST::FUNCTION:
EVP_des_cfb1 2923 1_1_0 EXIST::FUNCTION:DES
OBJ_NAME_cleanup 2924 1_1_0 EXIST::FUNCTION:
@@ -185807,7 +199246,7 @@
DES_cfb64_encrypt 2926 1_1_0 EXIST::FUNCTION:DES
CAST_cfb64_encrypt 2927 1_1_0 EXIST::FUNCTION:CAST
EVP_PKEY_asn1_set_param 2928 1_1_0 EXIST::FUNCTION:
-@@ -3042,9 +2990,8 @@ X509_get1_email 2938 1_1_0 EXIST::FUNCTION:
+@@ -3042,9 +2989,8 @@ X509_get1_email 2938 1_1_0 EXIST::FUNCTION:
EC_POINT_point2oct 2939 1_1_0 EXIST::FUNCTION:EC
EC_GROUP_get_curve_GFp 2940 1_1_0 EXIST::FUNCTION:EC
ASYNC_block_pause 2941 1_1_0 EXIST::FUNCTION:
@@ -185818,7 +199257,7 @@
i2d_X509_CRL_bio 2945 1_1_0 EXIST::FUNCTION:
EVP_PKEY_asn1_set_item 2946 1_1_0 EXIST::FUNCTION:
CRYPTO_ccm128_encrypt 2947 1_1_0 EXIST::FUNCTION:
-@@ -3052,7 +2999,7 @@ X509v3_addr_get_afi 2948 1_1_0 EXIST::FUNCTION:RFC3779
+@@ -3052,7 +2998,7 @@ X509v3_addr_get_afi 2948 1_1_0 EXIST::FUNCTION:RFC3779
X509_STORE_CTX_get0_param 2949 1_1_0 EXIST::FUNCTION:
EVP_add_alg_module 2950 1_1_0 EXIST::FUNCTION:
X509_check_purpose 2951 1_1_0 EXIST::FUNCTION:
@@ -185827,7 +199266,7 @@
X509_PURPOSE_get_count 2953 1_1_0 EXIST::FUNCTION:
d2i_PKCS12_bio 2954 1_1_0 EXIST::FUNCTION:
ASN1_item_free 2955 1_1_0 EXIST::FUNCTION:
-@@ -3114,14 +3061,12 @@ PEM_read_bio_RSAPublicKey 3009 1_1_0 EXIST::FUNCTION:RSA
+@@ -3114,14 +3060,12 @@ PEM_read_bio_RSAPublicKey 3009 1_1_0 EXIST::FUNCTION:RSA
EVP_PKEY_asn1_set_private 3010 1_1_0 EXIST::FUNCTION:
EVP_PKEY_get0_RSA 3011 1_1_0 EXIST::FUNCTION:RSA
DES_ede3_cfb64_encrypt 3012 1_1_0 EXIST::FUNCTION:DES
@@ -185844,7 +199283,7 @@
EC_POINT_bn2point 3021 1_1_0 EXIST::FUNCTION:EC
PBE2PARAM_it 3022 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
PBE2PARAM_it 3022 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
-@@ -3140,7 +3085,7 @@ PKCS7_it 3034 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
+@@ -3140,7 +3084,7 @@ PKCS7_it 3034 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
PKCS7_it 3034 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
CMS_unsigned_get_attr_by_OBJ 3035 1_1_0 EXIST::FUNCTION:CMS
BN_clear 3036 1_1_0 EXIST::FUNCTION:
@@ -185853,7 +199292,7 @@
GENERAL_NAME_cmp 3038 1_1_0 EXIST::FUNCTION:
X509_STORE_CTX_set_purpose 3039 1_1_0 EXIST::FUNCTION:
X509_REVOKED_get_ext_d2i 3040 1_1_0 EXIST::FUNCTION:
-@@ -3148,7 +3093,7 @@ X509V3_set_conf_lhash 3041 1_1_0 EXIST::FUNCTION:
+@@ -3148,7 +3092,7 @@ X509V3_set_conf_lhash 3041 1_1_0 EXIST::FUNCTION:
PKCS7_ENC_CONTENT_it 3042 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
PKCS7_ENC_CONTENT_it 3042 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
PKCS12_item_pack_safebag 3043 1_1_0 EXIST::FUNCTION:
@@ -185862,7 +199301,7 @@
i2d_X509_PUBKEY 3045 1_1_0 EXIST::FUNCTION:
EVP_DecryptUpdate 3046 1_1_0 EXIST::FUNCTION:
CAST_cbc_encrypt 3047 1_1_0 EXIST::FUNCTION:CAST
-@@ -3202,12 +3147,12 @@ d2i_ECPrivateKey_bio 3094 1_1_0 EXIST::FUNCTION:EC
+@@ -3202,12 +3146,12 @@ d2i_ECPrivateKey_bio 3094 1_1_0 EXIST::FUNCTION:EC
BIO_s_secmem 3095 1_1_0 EXIST::FUNCTION:
ENGINE_get_default_EC 3096 1_1_0 EXIST::FUNCTION:ENGINE
TS_RESP_create_response 3097 1_1_0 EXIST::FUNCTION:TS
@@ -185877,7 +199316,7 @@
USERNOTICE_new 3104 1_1_0 EXIST::FUNCTION:
POLICY_MAPPING_new 3105 1_1_0 EXIST::FUNCTION:
CRYPTO_gcm128_release 3106 1_1_0 EXIST::FUNCTION:
-@@ -3218,9 +3163,9 @@ PEM_read_DSA_PUBKEY 3110 1_1_0 EXIST::FUNCTION:DSA
+@@ -3218,9 +3162,9 @@ PEM_read_DSA_PUBKEY 3110 1_1_0 EXIST::FUNCTION:DSA
X509_get0_subject_key_id 3111 1_1_0 EXIST::FUNCTION:
i2s_ASN1_ENUMERATED 3112 1_1_0 EXIST::FUNCTION:
X509v3_get_ext_by_OBJ 3113 1_1_0 EXIST::FUNCTION:
@@ -185889,7 +199328,7 @@
i2d_RSA_PSS_PARAMS 3117 1_1_0 EXIST::FUNCTION:RSA
EVP_aes_128_wrap_pad 3118 1_1_0 EXIST::FUNCTION:
ASN1_BIT_STRING_set 3119 1_1_0 EXIST::FUNCTION:
-@@ -3248,16 +3193,16 @@ TXT_DB_free 3139 1_1_0 EXIST::FUNCTION:
+@@ -3248,16 +3192,16 @@ TXT_DB_free 3139 1_1_0 EXIST::FUNCTION:
ASN1_STRING_set 3140 1_1_0 EXIST::FUNCTION:
d2i_ESS_CERT_ID 3141 1_1_0 EXIST::FUNCTION:TS
EVP_PKEY_meth_set_derive 3142 1_1_0 EXIST::FUNCTION:
@@ -185910,7 +199349,7 @@
X509_CRL_get0_by_cert 3153 1_1_0 EXIST::FUNCTION:
TS_TST_INFO_set_tsa 3154 1_1_0 EXIST::FUNCTION:TS
i2d_ASN1_GENERALIZEDTIME 3155 1_1_0 EXIST::FUNCTION:
-@@ -3268,11 +3213,11 @@ X509_VERIFY_PARAM_set_time 3159 1_1_0 EXIST::FUNCTION:
+@@ -3268,11 +3212,11 @@ X509_VERIFY_PARAM_set_time 3159 1_1_0 EXIST::FUNCTION:
BN_reciprocal 3160 1_1_0 EXIST::FUNCTION:
d2i_PKCS7_SIGN_ENVELOPE 3161 1_1_0 EXIST::FUNCTION:
X509_NAME_digest 3162 1_1_0 EXIST::FUNCTION:
@@ -185924,7 +199363,7 @@
PKCS12_SAFEBAG_create_crl 3168 1_1_0 EXIST::FUNCTION:
d2i_X509_NAME 3169 1_1_0 EXIST::FUNCTION:
IDEA_cfb64_encrypt 3170 1_1_0 EXIST::FUNCTION:IDEA
-@@ -3282,24 +3227,23 @@ HMAC_Init 3173 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_
+@@ -3282,24 +3226,23 @@ HMAC_Init 3173 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_
EVP_MD_CTX_update_fn 3174 1_1_0 EXIST::FUNCTION:
EVP_aes_128_ecb 3175 1_1_0 EXIST::FUNCTION:
i2d_PKCS7_bio_stream 3176 1_1_0 EXIST::FUNCTION:
@@ -185954,7 +199393,7 @@
CRYPTO_THREAD_run_once 3195 1_1_0 EXIST::FUNCTION:
TS_REQ_print_bio 3196 1_1_0 EXIST::FUNCTION:TS
SCT_get_version 3197 1_1_0 EXIST::FUNCTION:CT
-@@ -3307,7 +3251,7 @@ IDEA_set_encrypt_key 3198 1_1_0 EXIST::FUNCTION:IDEA
+@@ -3307,7 +3250,7 @@ IDEA_set_encrypt_key 3198 1_1_0 EXIST::FUNCTION:IDEA
ENGINE_get_DH 3199 1_1_0 EXIST::FUNCTION:ENGINE
i2d_ASIdentifierChoice 3200 1_1_0 EXIST::FUNCTION:RFC3779
SRP_Calc_A 3201 1_1_0 EXIST::FUNCTION:SRP
@@ -185963,7 +199402,7 @@
EVP_idea_cfb64 3203 1_1_0 EXIST::FUNCTION:IDEA
PKCS12_newpass 3204 1_1_0 EXIST::FUNCTION:
EVP_aes_256_cbc_hmac_sha256 3205 1_1_0 EXIST::FUNCTION:
-@@ -3321,11 +3265,11 @@ EVP_CIPHER_CTX_new 3212 1_1_0 EXIST::FUNCTION:
+@@ -3321,11 +3264,11 @@ EVP_CIPHER_CTX_new 3212 1_1_0 EXIST::FUNCTION:
MD4_Final 3213 1_1_0 EXIST::FUNCTION:MD4
EVP_PKEY_id 3214 1_1_0 EXIST::FUNCTION:
CMS_RecipientInfo_get0_pkey_ctx 3215 1_1_0 EXIST::FUNCTION:CMS
@@ -185977,7 +199416,7 @@
BIO_hex_string 3221 1_1_0 EXIST::FUNCTION:
X509_REQ_sign_ctx 3222 1_1_0 EXIST::FUNCTION:
CRYPTO_ocb128_init 3223 1_1_0 EXIST::FUNCTION:OCB
-@@ -3377,10 +3321,9 @@ BIO_vprintf 3267 1_1_0 EXIST::FUNCTION:
+@@ -3377,10 +3320,9 @@ BIO_vprintf 3267 1_1_0 EXIST::FUNCTION:
CMS_RecipientInfo_decrypt 3268 1_1_0 EXIST::FUNCTION:CMS
RSA_generate_key 3269 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_0_9_8,RSA
PKCS7_set0_type_other 3270 1_1_0 EXIST::FUNCTION:
@@ -185990,7 +199429,7 @@
SCT_print 3275 1_1_0 EXIST::FUNCTION:CT
X509_PUBKEY_set 3276 1_1_0 EXIST::FUNCTION:
POLICY_CONSTRAINTS_free 3277 1_1_0 EXIST::FUNCTION:
-@@ -3390,9 +3333,9 @@ X509_NAME_get_text_by_OBJ 3280 1_1_0 EXIST::FUNCTION:
+@@ -3390,9 +3332,9 @@ X509_NAME_get_text_by_OBJ 3280 1_1_0 EXIST::FUNCTION:
RSA_padding_check_none 3281 1_1_0 EXIST::FUNCTION:RSA
CRYPTO_set_mem_debug 3282 1_1_0 EXIST::FUNCTION:
TS_VERIFY_CTX_init 3283 1_1_0 EXIST::FUNCTION:TS
@@ -186002,7 +199441,7 @@
X509_LOOKUP_ctrl 3287 1_1_0 EXIST::FUNCTION:
SRP_check_known_gN_param 3288 1_1_0 EXIST::FUNCTION:SRP
d2i_DIST_POINT 3289 1_1_0 EXIST::FUNCTION:
-@@ -3412,7 +3355,7 @@ DSA_SIG_free 3301 1_1_0 EXIST::FUNCTION:DSA
+@@ -3412,7 +3354,7 @@ DSA_SIG_free 3301 1_1_0 EXIST::FUNCTION:DSA
BIO_asn1_set_suffix 3302 1_1_0 EXIST::FUNCTION:
EVP_PKEY_set_type_str 3303 1_1_0 EXIST::FUNCTION:
i2d_X509_SIG 3304 1_1_0 EXIST::FUNCTION:
@@ -186011,7 +199450,7 @@
X509_STORE_CTX_set_trust 3306 1_1_0 EXIST::FUNCTION:
TS_ACCURACY_set_micros 3307 1_1_0 EXIST::FUNCTION:TS
EVP_DigestFinal_ex 3308 1_1_0 EXIST::FUNCTION:
-@@ -3436,24 +3379,23 @@ CTLOG_free 3325 1_1_0 EXIST::FUNCTION:CT
+@@ -3436,24 +3378,23 @@ CTLOG_free 3325 1_1_0 EXIST::FUNCTION:CT
EVP_CIPHER_meth_dup 3326 1_1_0 EXIST::FUNCTION:
CMS_get1_crls 3327 1_1_0 EXIST::FUNCTION:CMS
X509_aux_print 3328 1_1_0 EXIST::FUNCTION:
@@ -186039,7 +199478,7 @@
ASN1_VISIBLESTRING_new 3347 1_1_0 EXIST::FUNCTION:
BN_set_flags 3348 1_1_0 EXIST::FUNCTION:
d2i_PrivateKey_bio 3349 1_1_0 EXIST::FUNCTION:
-@@ -3461,8 +3403,8 @@ ASN1_SEQUENCE_ANY_it 3350 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
+@@ -3461,8 +3402,8 @@ ASN1_SEQUENCE_ANY_it 3350 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
ASN1_SEQUENCE_ANY_it 3350 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
ASN1_UTCTIME_adj 3351 1_1_0 EXIST::FUNCTION:
BN_mod_sqrt 3352 1_1_0 EXIST::FUNCTION:
@@ -186050,7 +199489,7 @@
EVP_PKEY_meth_get_paramgen 3355 1_1_0 EXIST::FUNCTION:
X509_ATTRIBUTE_create_by_OBJ 3356 1_1_0 EXIST::FUNCTION:
RSA_generate_key_ex 3357 1_1_0 EXIST::FUNCTION:RSA
-@@ -3471,7 +3413,7 @@ DIST_POINT_free 3359 1_1_0 EXIST::FUNCTION:
+@@ -3471,7 +3412,7 @@ DIST_POINT_free 3359 1_1_0 EXIST::FUNCTION:
ESS_SIGNING_CERT_free 3360 1_1_0 EXIST::FUNCTION:TS
SCT_new_from_base64 3361 1_1_0 EXIST::FUNCTION:CT
OpenSSL_version 3362 1_1_0 EXIST::FUNCTION:
@@ -186059,7 +199498,7 @@
ECDSA_SIG_get0 3364 1_1_0 EXIST::FUNCTION:EC
BN_set_word 3365 1_1_0 EXIST::FUNCTION:
ENGINE_set_flags 3366 1_1_0 EXIST::FUNCTION:ENGINE
-@@ -3489,21 +3431,19 @@ PKCS12_PBE_add 3376 1_1_0 EXIST::FUNCTION:
+@@ -3489,21 +3430,19 @@ PKCS12_PBE_add 3376 1_1_0 EXIST::FUNCTION:
EC_KEY_set_public_key_affine_coordinates 3377 1_1_0 EXIST::FUNCTION:EC
EVP_EncryptInit_ex 3378 1_1_0 EXIST::FUNCTION:
ENGINE_add 3379 1_1_0 EXIST::FUNCTION:ENGINE
@@ -186082,7 +199521,7 @@
X509_INFO_free 3394 1_1_0 EXIST::FUNCTION:
d2i_PKCS8_PRIV_KEY_INFO_fp 3395 1_1_0 EXIST::FUNCTION:STDIO
X509_OBJECT_retrieve_match 3396 1_1_0 EXIST::FUNCTION:
-@@ -3511,13 +3451,13 @@ EVP_aes_128_ctr 3397 1_1_0 EXIST::FUNCTION:
+@@ -3511,13 +3450,13 @@ EVP_aes_128_ctr 3397 1_1_0 EXIST::FUNCTION:
EVP_PBE_find 3398 1_1_0 EXIST::FUNCTION:
SHA512_Transform 3399 1_1_0 EXIST:!VMSVAX:FUNCTION:
ERR_add_error_vdata 3400 1_1_0 EXIST::FUNCTION:
@@ -186098,7 +199537,7 @@
CONF_imodule_get_usr_data 3408 1_1_0 EXIST::FUNCTION:
CRYPTO_new_ex_data 3409 1_1_0 EXIST::FUNCTION:
PEM_read_PKCS8_PRIV_KEY_INFO 3410 1_1_0 EXIST::FUNCTION:
-@@ -3531,7 +3471,7 @@ ASN1_mbstring_copy 3417 1_1_0 EXIST::FUNCTION:
+@@ -3531,7 +3470,7 @@ ASN1_mbstring_copy 3417 1_1_0 EXIST::FUNCTION:
PKCS7_set_type 3418 1_1_0 EXIST::FUNCTION:
BIO_gets 3419 1_1_0 EXIST::FUNCTION:
RSA_padding_check_PKCS1_type_1 3420 1_1_0 EXIST::FUNCTION:RSA
@@ -186107,7 +199546,7 @@
i2d_X509_REQ_fp 3422 1_1_0 EXIST::FUNCTION:STDIO
BN_BLINDING_convert_ex 3423 1_1_0 EXIST::FUNCTION:
ASN1_GENERALIZEDTIME_print 3424 1_1_0 EXIST::FUNCTION:
-@@ -3540,15 +3480,15 @@ PEM_ASN1_read 3426 1_1_0 EXIST::FUNCTION:STDIO
+@@ -3540,15 +3479,15 @@ PEM_ASN1_read 3426 1_1_0 EXIST::FUNCTION:STDIO
SCT_get_log_entry_type 3427 1_1_0 EXIST::FUNCTION:CT
EVP_CIPHER_meth_get_init 3428 1_1_0 EXIST::FUNCTION:
X509_ALGOR_free 3429 1_1_0 EXIST::FUNCTION:
@@ -186126,7 +199565,7 @@
EVP_MD_meth_get_init 3439 1_1_0 EXIST::FUNCTION:
ASN1_BIT_STRING_free 3440 1_1_0 EXIST::FUNCTION:
i2d_PROXY_CERT_INFO_EXTENSION 3441 1_1_0 EXIST::FUNCTION:
-@@ -3557,10 +3497,10 @@ X509_CRL_up_ref 3443 1_1_0 EXIST::FUNCTION:
+@@ -3557,10 +3496,10 @@ X509_CRL_up_ref 3443 1_1_0 EXIST::FUNCTION:
EVP_EncodeFinal 3444 1_1_0 EXIST::FUNCTION:
X509_set_ex_data 3445 1_1_0 EXIST::FUNCTION:
ERR_get_next_error_library 3446 1_1_0 EXIST::FUNCTION:
@@ -186139,7 +199578,7 @@
BIO_method_type 3451 1_1_0 EXIST::FUNCTION:
ECPKParameters_print 3452 1_1_0 EXIST::FUNCTION:EC
EVP_rc4 3453 1_1_0 EXIST::FUNCTION:RC4
-@@ -3588,14 +3528,14 @@ ASYNC_WAIT_CTX_get_changed_fds 3474 1_1_0 EXIST::FUNCTION:
+@@ -3588,14 +3527,14 @@ ASYNC_WAIT_CTX_get_changed_fds 3474 1_1_0 EXIST::FUNCTION:
EVP_PKEY_save_parameters 3475 1_1_0 EXIST::FUNCTION:
SCT_set_source 3476 1_1_0 EXIST::FUNCTION:CT
DES_set_odd_parity 3477 1_1_0 EXIST::FUNCTION:DES
@@ -186158,7 +199597,7 @@
X509V3_EXT_add_alias 3486 1_1_0 EXIST::FUNCTION:
BN_get_params 3487 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_0_9_8
PKCS5_pbkdf2_set 3488 1_1_0 EXIST::FUNCTION:
-@@ -3613,7 +3553,7 @@ BIO_ptr_ctrl 3499 1_1_0 EXIST::FUNCTION:
+@@ -3613,7 +3552,7 @@ BIO_ptr_ctrl 3499 1_1_0 EXIST::FUNCTION:
EVP_rc4_hmac_md5 3500 1_1_0 EXIST::FUNCTION:MD5,RC4
OPENSSL_strlcat 3501 1_1_0 EXIST::FUNCTION:
X509_VERIFY_PARAM_new 3502 1_1_0 EXIST::FUNCTION:
@@ -186167,7 +199606,7 @@
BUF_MEM_grow_clean 3504 1_1_0 EXIST::FUNCTION:
X509_NAME_print_ex_fp 3505 1_1_0 EXIST::FUNCTION:STDIO
X509_check_host 3506 1_1_0 EXIST::FUNCTION:
-@@ -3663,7 +3603,6 @@ BN_dec2bn 3549 1_1_0 EXIST::FUNCTION:
+@@ -3663,7 +3602,6 @@ BN_dec2bn 3549 1_1_0 EXIST::FUNCTION:
CMS_decrypt 3550 1_1_0 EXIST::FUNCTION:CMS
BN_mpi2bn 3551 1_1_0 EXIST::FUNCTION:
EVP_aes_128_cfb128 3552 1_1_0 EXIST::FUNCTION:
@@ -186175,7 +199614,7 @@
RC5_32_ecb_encrypt 3554 1_1_0 EXIST::FUNCTION:RC5
EVP_CIPHER_meth_new 3555 1_1_0 EXIST::FUNCTION:
i2d_RSA_OAEP_PARAMS 3556 1_1_0 EXIST::FUNCTION:RSA
-@@ -3671,19 +3610,17 @@ SXNET_get_id_ulong 3557 1_1_0 EXIST::FUNCTION:
+@@ -3671,19 +3609,17 @@ SXNET_get_id_ulong 3557 1_1_0 EXIST::FUNCTION:
BIO_get_callback_arg 3558 1_1_0 EXIST::FUNCTION:
ENGINE_register_RSA 3559 1_1_0 EXIST::FUNCTION:ENGINE
i2v_GENERAL_NAMES 3560 1_1_0 EXIST::FUNCTION:
@@ -186197,7 +199636,7 @@
CRYPTO_ccm128_aad 3572 1_1_0 EXIST::FUNCTION:
IPAddressFamily_new 3573 1_1_0 EXIST::FUNCTION:RFC3779
d2i_TS_ACCURACY 3574 1_1_0 EXIST::FUNCTION:TS
-@@ -3693,7 +3630,7 @@ EVP_camellia_256_cbc 3577 1_1_0 EXIST::FUNCTION:CAMELLIA
+@@ -3693,7 +3629,7 @@ EVP_camellia_256_cbc 3577 1_1_0 EXIST::FUNCTION:CAMELLIA
i2d_PROXY_POLICY 3578 1_1_0 EXIST::FUNCTION:
X509_subject_name_hash_old 3579 1_1_0 EXIST::FUNCTION:MD5
PEM_read_bio_DSA_PUBKEY 3580 1_1_0 EXIST::FUNCTION:DSA
@@ -186206,7 +199645,7 @@
PEM_write_DSAparams 3582 1_1_0 EXIST::FUNCTION:DSA
ASN1_TIME_to_generalizedtime 3583 1_1_0 EXIST::FUNCTION:
X509_CRL_get_ext_by_critical 3584 1_1_0 EXIST::FUNCTION:
-@@ -3703,17 +3640,16 @@ PEM_write_RSAPublicKey 3587 1_1_0 EXIST::FUNCTION:RSA
+@@ -3703,17 +3639,16 @@ PEM_write_RSAPublicKey 3587 1_1_0 EXIST::FUNCTION:RSA
EVP_MD_meth_dup 3588 1_1_0 EXIST::FUNCTION:
ENGINE_unregister_ciphers 3589 1_1_0 EXIST::FUNCTION:ENGINE
X509_issuer_and_serial_cmp 3590 1_1_0 EXIST::FUNCTION:
@@ -186226,7 +199665,7 @@
BN_is_prime 3601 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_0_9_8
CMS_get0_signers 3602 1_1_0 EXIST::FUNCTION:CMS
i2d_PrivateKey_fp 3603 1_1_0 EXIST::FUNCTION:STDIO
-@@ -3736,11 +3672,10 @@ TS_CONF_set_signer_digest 3619 1_1_0 EXIST::FUNCTION:TS
+@@ -3736,11 +3671,10 @@ TS_CONF_set_signer_digest 3619 1_1_0 EXIST::FUNCTION:TS
OBJ_new_nid 3620 1_1_0 EXIST::FUNCTION:
CMS_ReceiptRequest_new 3621 1_1_0 EXIST::FUNCTION:CMS
SRP_VBASE_get1_by_user 3622 1_1_0 EXIST::FUNCTION:SRP
@@ -186239,7 +199678,7 @@
ENGINE_free 3628 1_1_0 EXIST::FUNCTION:ENGINE
d2i_X509_ATTRIBUTE 3629 1_1_0 EXIST::FUNCTION:
TS_RESP_free 3630 1_1_0 EXIST::FUNCTION:TS
-@@ -3781,22 +3716,21 @@ ERR_load_DH_strings 3664 1_1_0 EXIST::FUNCTION:DH
+@@ -3781,22 +3715,21 @@ ERR_load_DH_strings 3664 1_1_0 EXIST::FUNCTION:DH
EVP_MD_block_size 3665 1_1_0 EXIST::FUNCTION:
TS_X509_ALGOR_print_bio 3666 1_1_0 EXIST::FUNCTION:TS
d2i_PKCS7_ENVELOPE 3667 1_1_0 EXIST::FUNCTION:
@@ -186265,7 +199704,7 @@
ASN1_STRING_free 3684 1_1_0 EXIST::FUNCTION:
X509_VERIFY_PARAM_inherit 3685 1_1_0 EXIST::FUNCTION:
EC_GROUP_get_curve_name 3686 1_1_0 EXIST::FUNCTION:EC
-@@ -3806,20 +3740,20 @@ EVP_PKEY_decrypt_old 3689 1_1_0 EXIST::FUNCTION:
+@@ -3806,20 +3739,20 @@ EVP_PKEY_decrypt_old 3689 1_1_0 EXIST::FUNCTION:
ASN1_UTCTIME_cmp_time_t 3690 1_1_0 EXIST::FUNCTION:
X509_VERIFY_PARAM_set1_ip 3691 1_1_0 EXIST::FUNCTION:
OTHERNAME_free 3692 1_1_0 EXIST::FUNCTION:
@@ -186291,7 +199730,7 @@
CMS_add0_CertificateChoices 3706 1_1_0 EXIST::FUNCTION:CMS
POLICYINFO_new 3707 1_1_0 EXIST::FUNCTION:
X509_CRL_get0_by_serial 3708 1_1_0 EXIST::FUNCTION:
-@@ -3832,15 +3766,15 @@ ENGINE_register_all_digests 3713 1_1_0 EXIST::FUNCTION:ENGINE
+@@ -3832,15 +3765,15 @@ ENGINE_register_all_digests 3713 1_1_0 EXIST::FUNCTION:ENGINE
X509_REQ_get_version 3714 1_1_0 EXIST::FUNCTION:
i2d_ASN1_UTCTIME 3715 1_1_0 EXIST::FUNCTION:
TS_STATUS_INFO_new 3716 1_1_0 EXIST::FUNCTION:TS
@@ -186310,7 +199749,7 @@
X509_STORE_CTX_get0_policy_tree 3726 1_1_0 EXIST::FUNCTION:
DES_set_key_checked 3727 1_1_0 EXIST::FUNCTION:DES
EVP_PKEY_meth_free 3728 1_1_0 EXIST::FUNCTION:
-@@ -3869,9 +3803,9 @@ EVP_PKEY_meth_get_sign 3750 1_1_0 EXIST::FUNCTION:
+@@ -3869,9 +3802,9 @@ EVP_PKEY_meth_get_sign 3750 1_1_0 EXIST::FUNCTION:
TS_REQ_get_nonce 3751 1_1_0 EXIST::FUNCTION:TS
ENGINE_unregister_EC 3752 1_1_0 EXIST::FUNCTION:ENGINE
X509v3_get_ext_count 3753 1_1_0 EXIST::FUNCTION:
@@ -186322,7 +199761,7 @@
BIO_set_callback 3757 1_1_0 EXIST::FUNCTION:
BN_GF2m_poly2arr 3758 1_1_0 EXIST::FUNCTION:EC2M
CMS_unsigned_get_attr_count 3759 1_1_0 EXIST::FUNCTION:CMS
-@@ -3881,18 +3815,17 @@ ECDH_compute_key 3762 1_1_0 EXIST::FUNCTION:EC
+@@ -3881,18 +3814,17 @@ ECDH_compute_key 3762 1_1_0 EXIST::FUNCTION:EC
ASN1_TIME_print 3763 1_1_0 EXIST::FUNCTION:
EVP_PKEY_CTX_get0_peerkey 3764 1_1_0 EXIST::FUNCTION:
BN_mod_lshift1 3765 1_1_0 EXIST::FUNCTION:
@@ -186345,7 +199784,7 @@
EC_KEY_METHOD_set_init 3777 1_1_0 EXIST::FUNCTION:EC
EVP_PKEY_asn1_copy 3778 1_1_0 EXIST::FUNCTION:
RSA_PSS_PARAMS_it 3779 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RSA
-@@ -3900,7 +3833,7 @@ RSA_PSS_PARAMS_it 3779 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
+@@ -3900,7 +3832,7 @@ RSA_PSS_PARAMS_it 3779 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
X509_STORE_CTX_get_error_depth 3780 1_1_0 EXIST::FUNCTION:
ASN1_GENERALIZEDTIME_set_string 3781 1_1_0 EXIST::FUNCTION:
EC_GROUP_new_curve_GFp 3782 1_1_0 EXIST::FUNCTION:EC
@@ -186354,7 +199793,7 @@
Camellia_ofb128_encrypt 3784 1_1_0 EXIST::FUNCTION:CAMELLIA
X509_new 3785 1_1_0 EXIST::FUNCTION:
EC_KEY_get_conv_form 3786 1_1_0 EXIST::FUNCTION:EC
-@@ -3931,15 +3864,14 @@ USERNOTICE_it 3809 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
+@@ -3931,15 +3863,14 @@ USERNOTICE_it 3809 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
PKEY_USAGE_PERIOD_it 3810 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
PKEY_USAGE_PERIOD_it 3810 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
BN_mul_word 3811 1_1_0 EXIST::FUNCTION:
@@ -186372,7 +199811,7 @@
X509_PURPOSE_get_by_sname 3820 1_1_0 EXIST::FUNCTION:
X509_PURPOSE_set 3821 1_1_0 EXIST::FUNCTION:
BN_mod_inverse 3822 1_1_0 EXIST::FUNCTION:
-@@ -3961,20 +3893,20 @@ BN_GF2m_mod_inv_arr 3837 1_1_0 EXIST::FUNCTION:EC2M
+@@ -3961,20 +3892,20 @@ BN_GF2m_mod_inv_arr 3837 1_1_0 EXIST::FUNCTION:EC2M
X509_REQ_get1_email 3838 1_1_0 EXIST::FUNCTION:
EC_KEY_print 3839 1_1_0 EXIST::FUNCTION:EC
i2d_ASN1_INTEGER 3840 1_1_0 EXIST::FUNCTION:
@@ -186397,7 +199836,7 @@
EVP_PKEY_asn1_set_security_bits 3855 1_1_0 EXIST::FUNCTION:
i2d_CERTIFICATEPOLICIES 3856 1_1_0 EXIST::FUNCTION:
i2d_X509_CERT_AUX 3857 1_1_0 EXIST::FUNCTION:
-@@ -3982,8 +3914,8 @@ i2o_ECPublicKey 3858 1_1_0 EXIST::FUNCTION:EC
+@@ -3982,8 +3913,8 @@ i2o_ECPublicKey 3858 1_1_0 EXIST::FUNCTION:EC
PKCS12_SAFEBAG_create0_pkcs8 3859 1_1_0 EXIST::FUNCTION:
OBJ_get0_data 3860 1_1_0 EXIST::FUNCTION:
EC_GROUP_get0_seed 3861 1_1_0 EXIST::FUNCTION:EC
@@ -186408,7 +199847,7 @@
ASRange_it 3863 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779
ASRange_it 3863 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779
i2d_TS_RESP 3864 1_1_0 EXIST::FUNCTION:TS
-@@ -3997,17 +3929,15 @@ RSA_OAEP_PARAMS_it 3871 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
+@@ -3997,17 +3928,15 @@ RSA_OAEP_PARAMS_it 3871 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION
RSA_OAEP_PARAMS_it 3871 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RSA
BN_bn2mpi 3872 1_1_0 EXIST::FUNCTION:
X509_STORE_CTX_cleanup 3873 1_1_0 EXIST::FUNCTION:
@@ -186428,7 +199867,7 @@
ASN1_INTEGER_it 3885 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
ASN1_INTEGER_it 3885 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
TS_ACCURACY_new 3886 1_1_0 EXIST::FUNCTION:TS
-@@ -4019,19 +3949,19 @@ PBKDF2PARAM_new 3891 1_1_0 EXIST::FUNCTION:
+@@ -4019,19 +3948,19 @@ PBKDF2PARAM_new 3891 1_1_0 EXIST::FUNCTION:
ENGINE_set_RSA 3892 1_1_0 EXIST::FUNCTION:ENGINE
i2d_X509_ATTRIBUTE 3893 1_1_0 EXIST::FUNCTION:
PKCS7_ctrl 3894 1_1_0 EXIST::FUNCTION:
@@ -186452,7 +199891,7 @@
PKCS8_pkey_get0_attrs 3907 1_1_0 EXIST::FUNCTION:
PKCS8_pkey_add1_attr_by_NID 3908 1_1_0 EXIST::FUNCTION:
ASYNC_is_capable 3909 1_1_0 EXIST::FUNCTION:
-@@ -4194,16 +4124,29 @@ DH_meth_set_generate_key 4067 1_1_0 EXIST::FUNCTION:DH
+@@ -4194,16 +4123,29 @@ DH_meth_set_generate_key 4067 1_1_0 EXIST::FUNCTION:DH
DH_meth_free 4068 1_1_0 EXIST::FUNCTION:DH
DH_meth_get_generate_key 4069 1_1_0 EXIST::FUNCTION:DH
DH_set_flags 4070 1_1_0 EXIST::FUNCTION:DH
More information about the Pkg-openssl-changes
mailing list