Compare commits
2 Commits
SSLeay
...
SSLeay_0_8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
38ab41c238 | ||
|
|
ec96f926b9 |
@@ -62,4 +62,3 @@ The reason behind this being stated in this direct manner is past
|
||||
experience in code simply being copied and the attribution removed
|
||||
from it and then being distributed as part of other packages. This
|
||||
implementation was a non-trivial and unpaid effort.
|
||||
|
||||
|
||||
192
Configure
192
Configure
@@ -21,21 +21,18 @@
|
||||
# This is used on the DEC Alpha where long is 8 bytes
|
||||
# and int is 4
|
||||
# BN_LLONG use the type 'long long' in crypto/bn/bn.h
|
||||
# MD2_CHAR use 'char' instead of 'int' for MD2_INT in crypto/md2/md2.h
|
||||
# MD2_LONG use 'long' instead of 'int' for MD2_INT in crypto/md2/md2.h
|
||||
# MD2_CHAR use 'char' instead of 'int' for MD2_INT in crypto/md/md2.h
|
||||
# MD2_LONG use 'long' instead of 'int' for MD2_INT in crypto/md/md2.h
|
||||
# IDEA_SHORT use 'short' instead of 'int' for IDEA_INT in crypto/idea/idea.h
|
||||
# IDEA_LONG use 'long' instead of 'int' for IDEA_INT in crypto/idea/idea.h
|
||||
# RC2_SHORT use 'short' instead of 'int' for RC2_INT in crypto/rc2/rc2.h
|
||||
# RC2_LONG use 'long' instead of 'int' for RC2_INT in crypto/rc2/rc2.h
|
||||
# RC4_CHAR use 'char' instead of 'int' for RC4_INT in crypto/rc4/rc4.h
|
||||
# RC4_LONG use 'long' instead of 'int' for RC4_INT in crypto/rc4/rc4.h
|
||||
# RC4_INDEX define RC4_INDEX in crypto/rc4/rc4_locl.h. This turns on
|
||||
# RC4_INDEX define RC4_INDEX in crypto/rc4/rc4_enc.c. This turns on
|
||||
# array lookups instead of pointer use.
|
||||
# BF_PTR use 'pointer arithmatic' for Blowfish (unsafe on Alpha).
|
||||
# BF_PTR2 use a pentium/intel specific version.
|
||||
# MD5_ASM use some extra md5 assember,
|
||||
# SHA1_ASM use some extra sha1 assember, must define L_ENDIAN for x86
|
||||
# RMD160_ASM use some extra ripemd160 assember,
|
||||
|
||||
$x86_gcc_des="DES_PTR DES_RISC1 DES_UNROLL";
|
||||
|
||||
@@ -54,13 +51,7 @@ $tlib="-lnsl -lsocket";
|
||||
$bits1="THIRTY_TWO_BIT ";
|
||||
$bits2="SIXTY_FOUR_BIT ";
|
||||
|
||||
$x86_sol_asm="asm/bn86-sol.o asm/co86-sol.o:asm/dx86-sol.o asm/yx86-sol.o:asm/bx86-sol.o:asm/mx86-sol.o:asm/sx86-sol.o:asm/cx86-sol.o:asm/rx86-sol.o:asm/rm86-sol.o:asm/r586-sol.o";
|
||||
$x86_elf_asm="asm/bn86-elf.o asm/co86-elf.o:asm/dx86-elf.o asm/yx86-elf.o:asm/bx86-elf.o:asm/mx86-elf.o:asm/sx86-elf.o:asm/cx86-elf.o:asm/rx86-elf.o:asm/rm86-elf.o:asm/r586-elf.o";
|
||||
$x86_out_asm="asm/bn86-out.o asm/co86-out.o:asm/dx86-out.o asm/yx86-out.o:asm/bx86-out.o:asm/mx86-out.o:asm/sx86-out.o:asm/cx86-out.o:asm/rx86-out.o:asm/rm86-out.o:asm/r586-out.o";
|
||||
$x86_bsdi_asm="asm/bn86bsdi.o asm/co86bsdi.o:asm/dx86bsdi.o asm/yx86bsdi.o:asm/bx86bsdi.o:asm/mx86bsdi.o:asm/sx86bsdi.o:asm/cx86bsdi.o:asm/rx86bsdi.o:asm/rm86bsdi.o:asm/r586bsdi.o";
|
||||
|
||||
# -DB_ENDIAN slows things down on a sparc for md5, but helps sha1.
|
||||
# So the md5_locl.h file has an undef B_ENDIAN if sun is defined
|
||||
# -DB_ENDIAN slows things down on a sparc
|
||||
|
||||
#config-string CC : CFLAGS : LDFLAGS : special header file mods:bn_asm \
|
||||
# des_asm:bf_asm
|
||||
@@ -72,17 +63,18 @@ $x86_bsdi_asm="asm/bn86bsdi.o asm/co86bsdi.o:asm/dx86bsdi.o asm/yx86bsdi.o:asm/b
|
||||
|
||||
# A few of my development configs
|
||||
"purify", "purify gcc:-g -DPURIFY -Wall:-lsocket -lnsl::::",
|
||||
"debug", "gcc:-DBN_DEBUG -DREF_CHECK -DCRYPTO_MDEBUG -ggdb -g2 -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror:-lefence::::",
|
||||
"debug", "gcc:-DREF_CHECK -DCRYPTO_MDEBUG -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror:::::",
|
||||
"dist", "cc:-O -DNOPROTO::::",
|
||||
|
||||
# Basic configs that should work on any box
|
||||
"gcc", "gcc:-O3::BN_LLONG:::",
|
||||
"cc", "cc:-O -DNOPROTO -DNOCONST:::::",
|
||||
|
||||
|
||||
# My solaris setups
|
||||
"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -m486 -Wall -DL_ENDIAN:-lsocket -lnsl:BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_sol_asm",
|
||||
"solaris-sparc-gcc","gcc:-O3 -fomit-frame-pointer -mv8 -Wall -DB_ENDIAN:-lsocket -lnsl:BN_LLONG RC4_CHAR DES_UNROLL BF_PTR:::",
|
||||
"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -m486 -Wall -DL_ENDIAN:\
|
||||
-lsocket -lnsl:BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-sol.o:asm/dx86-sol.o asm/cx86-sol.o:asm/bx86-sol.o",
|
||||
"solaris-sparc-gcc","gcc:-O3 -fomit-frame-pointer -mv8 -Wall:\
|
||||
-lsocket -lnsl:BN_LLONG RC4_CHAR DES_UNROLL BF_PTR:::",
|
||||
# DO NOT use /xO[34] on sparc with SC3.0.
|
||||
# It is broken, and will not pass the tests
|
||||
"solaris-sparc-cc","cc:-fast -O -Xa -DB_ENDIAN:\
|
||||
@@ -102,16 +94,10 @@ $x86_bsdi_asm="asm/bn86bsdi.o asm/co86bsdi.o:asm/dx86bsdi.o asm/yx86bsdi.o:asm/b
|
||||
# SGI configurations. If the box is rather old (r3000 cpu), you will
|
||||
# probably have to remove the '-mips2' flag. I've only been using
|
||||
# IRIX 5.[23].
|
||||
# I've recently done 32 and 64 bit mips assember, it make this RSA
|
||||
# 3 times faster, use if at all possible.
|
||||
#"irix-gcc","gcc:-O2 -mips2::SIXTY_FOUR_BIT BN_LLONG RC4_INDEX RC4_CHAR:::",
|
||||
"irix-gcc","gcc:-O2 -DTERMIOS -DB_ENDIAN::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR:asm/mips1.o::",
|
||||
"irix64-gcc","gcc:-mips3 -O2 -DTERMIOS -DB_ENDIAN::MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT:asm/mips3.o::",
|
||||
"irix-cc", "cc:-O2 -use_readonly_const -DTERMIOS -DB_ENDIAN::BN_LLONG DES_PTR DES_RISC2 DES_UNROLL BF_PTR:asm/mips1.o::",
|
||||
"irix64-cc", "cc:-O2 -use_readonly_const -DTERMIOS -DB_ENDIAN::DES_PTR DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT:asm/mips3.o::",
|
||||
#"irix-gcc","gcc:-O2 -mips2::BN_LLONG RC4_INDEX RC4_CHAR:::",
|
||||
"irix-gcc","gcc:-O2 -DTERMIOS -DB_ENDIAN::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR:::",
|
||||
"irix-cc", "cc:-O2 -DTERMIOS -DB_ENDIAN::DES_PTR DES_RISC2 DES_UNROLL BF_PTR:asm/r3000.o::",
|
||||
"debug-irix-cc", "cc:-w2 -g -DCRYPTO_MDEBUG -DTERMIOS -DB_ENDIAN:::asm/r3000.o::",
|
||||
# This is the n64 mode build.
|
||||
"irix-n64-cc", "cc:-64 -O2 -use_readonly_const -DTERMIOS::DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT:asm/mips3_64.o::",
|
||||
|
||||
# HPUX config. I've been building on HPUX 9, so the options may be
|
||||
# different on version 10. The pa-risc2.o assember file is 2 times
|
||||
@@ -123,56 +109,40 @@ $x86_bsdi_asm="asm/bn86bsdi.o asm/co86bsdi.o:asm/dx86bsdi.o asm/yx86bsdi.o:asm/b
|
||||
"hpux-kr-cc", "cc:-DB_ENDIAN -DNOCONST -DNOPROTO -D_HPUX_SOURCE::DES_PTR DES_UNROLL:asm/pa-risc2.o::",
|
||||
"hpux-gcc", "gcc:-DB_ENDIAN -O3::BN_LLONG DES_PTR DES_UNROLL DES_RISC1:::",
|
||||
|
||||
# Dec Alpha, OSF/1 - the alpha164-cc is the flags for a 21164A with
|
||||
# Dec Alpha, OSF/1 - the alpha400-cc is the flags for a 21164A with
|
||||
# the new compiler
|
||||
# For gcc, the following gave a %50 speedup on a 164 over the 'DES_INT' version
|
||||
"alpha-gcc","gcc:-O3::SIXTY_FOUR_BIT_LONG DES_UNROLL DES_RISC1:asm/alpha.o::",
|
||||
"alpha-cc", "cc:-tune host -O4 -readonly_strings::SIXTY_FOUR_BIT_LONG:asm/alpha.o::",
|
||||
"alpha164-cc", "cc:-tune host -fast -readonly_strings::SIXTY_FOUR_BIT_LONG:asm/alpha.o::",
|
||||
"alpha-gcc","gcc:-O3::SIXTY_FOUR_BIT_LONGS DES_INT DES_PTR DES_RISC2:asm/alpha.o::",
|
||||
"alpha-cc", "cc:-O2::SIXTY_FOUR_BIT_LONGS DES_INT DES_PTR DES_RISC2:asm/alpha.o::",
|
||||
"alpha400-cc", "cc:-arch host -tune host -fast -std -O4 -inline speed::SIXTY_FOUR_BIT_LONG:asm/alpha.o::",
|
||||
|
||||
# The intel boxes :-), It would be worth seeing if bsdi-gcc can use the
|
||||
# bn86-elf.o file file since it is hand tweaked assembler.
|
||||
"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized::BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_elf_asm",
|
||||
"debug-linux-elf","gcc:-DREF_CHECK -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall:-lefence:BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_elf_asm",
|
||||
"linux-aout", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_out_asm",
|
||||
"NetBSD-sparc", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall -DB_ENDIAN::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:::",
|
||||
"NetBSD-m68", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall -DB_ENDIAN::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:::",
|
||||
"NetBSD-x86", "gcc:-DTERMIOS -D_ANSI_SOURCE -O3 -fomit-frame-pointer -m486 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:",
|
||||
"FreeBSD", "gcc:-DTERMIOS -DL_ENDIAN -D_ANSI_SOURCE -fomit-frame-pointer -O3 -m486 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_out_asm",
|
||||
#"bsdi-gcc", "gcc:-O3 -ffast-math -DL_ENDIAN -DPERL5 -m486::RSA_LLONG $x86_gc_des $x86_gcc_opts:$x86_bsdi_asm",
|
||||
# x86-lnx.o file file since it is hand tweaked assembler.
|
||||
"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized::BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-lnx.o:asm/dx86-elf.o asm/cx86-elf.o:asm/bx86-elf.o",
|
||||
"debug-linux-elf","gcc:-DREF_CHECK -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall:-lefence:BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-lnx.o:asm/dx86-elf.o asm/cx86-elf.o:asm/bx86-elf.o",
|
||||
"linux-aout", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-lnxa.o:asm/dx86-out.o asm/cx86-out.o:asm/bx86-out.o",
|
||||
"NetBSD-sparc", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:::",
|
||||
"NetBSD-x86", "gcc:-DTERMIOS -D_ANSI_SOURCE -O3 -fomit-frame-pointer -m486 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-lnxa.o:asm/dx86-out.o asm/cx86-out.o:asm/bx86-out.o",
|
||||
"FreeBSD", "gcc:-DTERMIOS -D_ANSI_SOURCE -fomit-frame-pointer -O3 -m486 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-lnxa.o:asm/dx86-out.o asm/cx86-out.o:asm/bx86-out.o",
|
||||
#"bsdi-gcc", "shlicc2:-O3 -ffast-math-m486::RSA_LLONG $x86_gcc_des $x86_gcc_opts:::",
|
||||
#"bsdi-gcc", "gcc:-O3 -ffast-math -DPERL5 -m486::RSA_LLONG $x86_gc_des $x86_gcc_opts:asm/x86-bsdi.o:asm/dx86bsdi.o asm/cx86bsdi.o:asm/bx86bsdi.o",
|
||||
"bsdi-gcc", "gcc:-O3 -ffast-math -DPERL5 -m486::RSA_LLONG $x86_gc_des $x86_gcc_opts:::",
|
||||
"nextstep", "cc:-O3 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:::",
|
||||
# NCR MP-RAS UNIX ver 02.03.01
|
||||
"ncr-scde","cc:-O6 -Xa -Hoff=BEHAVED -686 -Hwide -Hiw:-lsocket -lnsl:$x86_gcc_des $x86_gcc_opts:::",
|
||||
|
||||
# UnixWare 2.0
|
||||
"unixware-2.0","cc:-O -DFILIO_H:-lsocket -lnsl:$x86_gcc_des $x86_gcc_opts:::",
|
||||
"unixware-2.0-pentium","cc:-O -DFILIO_H -Kpentium -Kthread:-lsocket -lnsl:MD2_CHAR RC4_INDEX $x86_des_des::",
|
||||
"unixware-2.0","cc:-O:-lsocket -lnsl:$x86_gcc_des $x86_gcc_opts:::",
|
||||
"unixware-2.0-pentium","cc:-O -Kpentium -Kthread:-lsocket -lnsl:MD2_CHAR RC4_INDEX $x86_des_des::",
|
||||
|
||||
# IBM's AIX.
|
||||
"aix-cc", "cc:-O -DAIX -DB_ENDIAN::BN_LLONG RC4_CHAR:::",
|
||||
"aix-gcc", "gcc:-O2 -DAIX -DB_ENDIAN::BN_LLONG RC4_CHAR:::",
|
||||
|
||||
#
|
||||
# Cray T90 (SDSC)
|
||||
# It's Big-endian, but the algorithms work properly when B_ENDIAN is NOT
|
||||
# defined. The T90 ints and longs are 8 bytes long, and apparently the
|
||||
# B_ENDIAN code assumes 4 byte ints. Fortunately, the non-B_ENDIAN and
|
||||
# non L_ENDIAN code aligns the bytes in each word correctly.
|
||||
#
|
||||
# The BIT_FIELD_LIMITS define is to avoid two fatal compiler errors:
|
||||
#'Taking the address of a bit field is not allowed. '
|
||||
#'An expression with bit field exists as the operand of "sizeof" '
|
||||
# (written by Wayne Schroeder <schroede@SDSC.EDU>)
|
||||
"cray-t90-cc", "cc: -DBIT_FIELD_LIMITS -DTERMIOS::SIXTY_FOUR_BIT_LONG DES_INT:::",
|
||||
|
||||
# DGUX, 88100.
|
||||
"dgux-R3-gcc", "gcc:-O3 -fomit-frame-pointer::RC4_INDEX DES_UNROLL:::",
|
||||
"dgux-R4-gcc", "gcc:-O3 -fomit-frame-pointer:-lnsl -lsocket:RC4_INDEX:RC4_INDEX DES_UNROLL:::",
|
||||
"dgux-R4-x86-gcc", "gcc:-O3 -fomit-frame-pointer -DL_ENDIAN:-lnsl -lsocket:BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_elf_asm",
|
||||
"dgux-R4-x86-gcc", "gcc:-O3 -fomit-frame-pointer -DL_ENDIAN:-lnsl -lsocket:BN_LLONG $x86_gcc_des $x86_gcc_opts:asm/x86-lnx.o:asm/dx86-elf.o asm/cx86-elf.o:asm/bx86-elf.o",
|
||||
|
||||
# SCO 5 - Ben Laurie <ben@algroup.co.uk> says the -O breaks the
|
||||
# SCO cc.
|
||||
"sco5-cc", "cc::-lsocket:$x86_gcc_des $x86_gcc_opts:::", # des options?
|
||||
# SCO 5
|
||||
"sco5-cc", "cc:-O:-lsocket:$x86_gcc_des $x86_gcc_opts:::", # des options?
|
||||
|
||||
# Sinix RM400
|
||||
"SINIX-N","/usr/ucb/cc:-O2 -misaligned:-lucb:RC4_INDEX RC4_CHAR:::",
|
||||
@@ -190,39 +160,22 @@ $x86_bsdi_asm="asm/bn86bsdi.o asm/co86bsdi.o:asm/dx86bsdi.o asm/yx86bsdi.o:asm/b
|
||||
# Borland C++ 4.5
|
||||
"BC-32","bcc32:::DES_PTR RC4_INDEX:::",
|
||||
"BC-16","bcc:::BN_LLONG DES_PTR RC4_INDEX SIXTEEN_BIT:::",
|
||||
|
||||
# Our old Ultrix box :-). -O2 breaks some of the bignum stuff (now fixed,
|
||||
# it is a compiler bug, look in bug/ultrixcc.c for example code.
|
||||
"ultrix","cc:-O2 -DNOPROTO -DNOCONST -DL_ENDIAN:::asm/mips1.o:::",
|
||||
|
||||
# Some OpenBSD from Bob Beck <beck@obtuse.com>
|
||||
"OpenBSD-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer:SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:asm/alpha.o::",
|
||||
"OpenBSD-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486::BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_out_asm",
|
||||
"OpenBSD", "gcc:-DTERMIOS -O3 -fomit-frame-pointer::BN_LLONG RC2_CHAR RC4_INDEX DES_UNROLL:::",
|
||||
"OpenBSD-mips","gcc:-O2 -DL_ENDIAN:BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR::::",
|
||||
);
|
||||
|
||||
$no_asm=0;
|
||||
$postfix="org";
|
||||
$Makefile="Makefile.ssl";
|
||||
$des_locl="crypto/des/des_locl.h";
|
||||
$des ="crypto/des/des.h";
|
||||
$bn ="crypto/bn/bn.h";
|
||||
$md2 ="crypto/md2/md2.h";
|
||||
$md2 ="crypto/md/md2.h";
|
||||
$rc4 ="crypto/rc4/rc4.h";
|
||||
$rc4_locl="crypto/rc4/rc4_locl.h";
|
||||
$rc4_enc="crypto/rc4/rc4_enc.c";
|
||||
$idea ="crypto/idea/idea.h";
|
||||
$rc2 ="crypto/rc2/rc2.h";
|
||||
$bf ="crypto/bf/bf_locl.h";
|
||||
$bn_asm ="bn_asm.o";
|
||||
$bn_mulw="bn_mulw.o";
|
||||
$des_enc="des_enc.o fcrypt_b.o";
|
||||
$bf_enc ="bf_enc.o";
|
||||
$cast_enc="c_enc.o";
|
||||
$rc4_enc="rc4_enc.o";
|
||||
$rc5_enc="rc5_enc.o";
|
||||
$md5_obj="";
|
||||
$sha1_obj="";
|
||||
$rmd160_obj="";
|
||||
|
||||
if ($#ARGV < 0)
|
||||
{
|
||||
@@ -233,9 +186,7 @@ if ($#ARGV < 0)
|
||||
$flags="";
|
||||
foreach (@ARGV)
|
||||
{
|
||||
if ($_ =~ /^no-asm$/)
|
||||
{ $no_asm=1; }
|
||||
elsif ($_ =~ /^-/)
|
||||
if ($_ =~ /^-/)
|
||||
{
|
||||
if ($_ =~ /^-[lL](.*)$/)
|
||||
{
|
||||
@@ -268,42 +219,14 @@ if (!defined($table{$target}))
|
||||
exit(1);
|
||||
}
|
||||
|
||||
($cc,$cflags,$lflags,$bn_ops,$bn_obj,$des_obj,$bf_obj,$md5_obj,$sha1_obj,
|
||||
$cast_obj,$rc4_obj,$rmd160_obj,$rc5_obj)=
|
||||
($cc,$cflags,$lflags,$bn_ops,$bn_obj,$des_obj,$bf_obj)=
|
||||
split(/\s*:\s*/,$table{$target});
|
||||
$cflags="$flags$cflags" if ($flags ne "");
|
||||
$lflags="$libs$lflags"if ($libs ne "");
|
||||
|
||||
if ($no_asm)
|
||||
{
|
||||
$bn_obj=$des_obj=$bf_obj=$cast_obj=$rc4_obj=$rc5_obj="";
|
||||
$sha1_obj=$md5_obj=$rmd160_obj="";
|
||||
}
|
||||
|
||||
($bn1)=split(/\s+/,$bn_obj);
|
||||
$bn1=$bn_asm unless ($bn1 =~ /\.o$/);
|
||||
$bn_obj="$bn1";
|
||||
|
||||
$des_obj=$des_enc unless ($des_obj =~ /\.o$/);
|
||||
$bf_obj=$bf_enc unless ($bf_obj =~ /\.o$/);
|
||||
$cast_obj=$cast_enc unless ($cast_obj =~ /\.o$/);
|
||||
$rc4_obj=$rc4_enc unless ($rc4_obj =~ /\.o$/);
|
||||
$rc5_obj=$rc5_enc unless ($rc5_obj =~ /\.o$/);
|
||||
if ($sha1_obj =~ /\.o$/)
|
||||
{
|
||||
# $sha1_obj=$sha1_enc;
|
||||
$cflags.=" -DSHA1_ASM";
|
||||
}
|
||||
if ($md5_obj =~ /\.o$/)
|
||||
{
|
||||
# $md5_obj=$md5_enc;
|
||||
$cflags.=" -DMD5_ASM";
|
||||
}
|
||||
if ($rmd160_obj =~ /\.o$/)
|
||||
{
|
||||
# $rmd160_obj=$rmd160_enc;
|
||||
$cflags.=" -DRMD160_ASM";
|
||||
}
|
||||
$bn_obj=$bn_mulw unless ($bn_obj =~ /\.o$/);
|
||||
$des_obj=$des_enc unless ($des_obj =~ /\.o$/);
|
||||
$bf_obj=$bf_enc unless ($bf_obj =~ /\.o$/);
|
||||
|
||||
$n=&file_new($Makefile);
|
||||
open(IN,"<".$Makefile) || die "unable to read $Makefile:$!\n";
|
||||
@@ -311,37 +234,24 @@ open(OUT,">".$n) || die "unable to read $n:$!\n";
|
||||
while (<IN>)
|
||||
{
|
||||
chop;
|
||||
s/^PLATFORM=.*$/PLATFORM=$target/;
|
||||
s/^CC=.*$/CC= $cc/;
|
||||
s/^CFLAG=.*$/CFLAG= $cflags/;
|
||||
s/^EX_LIBS=.*$/EX_LIBS= $lflags/;
|
||||
s/^BN_MULW=.*$/BN_MULW= $bn_obj/;
|
||||
s/^DES_ENC=.*$/DES_ENC= $des_obj/;
|
||||
s/^BF_ENC=.*$/BF_ENC= $bf_obj/;
|
||||
s/^CAST_ENC=.*$/CAST_ENC= $cast_obj/;
|
||||
s/^RC4_ENC=.*$/RC4_ENC= $rc4_obj/;
|
||||
s/^RC5_ENC=.*$/RC5_ENC= $rc5_obj/;
|
||||
s/^MD5_ASM_OBJ=.*$/MD5_ASM_OBJ= $md5_obj/;
|
||||
s/^SHA1_ASM_OBJ=.*$/SHA1_ASM_OBJ= $sha1_obj/;
|
||||
s/^RMD160_ASM_OBJ=.*$/RMD160_ASM_OBJ= $rmd160_obj/;
|
||||
print OUT $_."\n";
|
||||
}
|
||||
close(IN);
|
||||
close(OUT);
|
||||
&Rename($Makefile,&file_old($Makefile));
|
||||
&Rename($n,$Makefile);
|
||||
print "CC =$cc\n";
|
||||
print "CFLAG =$cflags\n";
|
||||
print "EX_LIBS =$lflags\n";
|
||||
print "BN_MULW =$bn_obj\n";
|
||||
print "DES_ENC =$des_obj\n";
|
||||
print "BF_ENC =$bf_obj\n";
|
||||
print "CAST_ENC =$cast_obj\n";
|
||||
print "RC4_ENC =$rc4_obj\n";
|
||||
print "RC5_ENC =$rc5_obj\n";
|
||||
print "MD5_OBJ_ASM =$md5_obj\n";
|
||||
print "SHA1_OBJ_ASM =$sha1_obj\n";
|
||||
print "RMD160_OBJ_ASM=$rmd160_obj\n";
|
||||
print "CC =$cc\n";
|
||||
print "CFLAG =$cflags\n";
|
||||
print "EX_LIBS=$lflags\n";
|
||||
print "BN_MULW=$bn_obj\n";
|
||||
print "DES_ENC=$des_obj\n";
|
||||
print "BF_ENC =$bf_obj\n";
|
||||
|
||||
$des_ptr=0;
|
||||
$des_risc1=0;
|
||||
@@ -377,8 +287,8 @@ foreach (sort split(/\s+/,$bn_ops))
|
||||
$rc2_int=3 if /RC2_LONG/;
|
||||
$bf_ptr=1 if $_ eq "BF_PTR";
|
||||
$bf_ptr=2 if $_ eq "BF_PTR2";
|
||||
($b64l,$b64,$b32,$b16,$b8)=(0,1,0,0,0) if /SIXTY_FOUR_BIT/;
|
||||
($b64l,$b64,$b32,$b16,$b8)=(1,0,0,0,0) if /SIXTY_FOUR_BIT_LONG/;
|
||||
($b64l,$b64,$b32,$b16,$b8)=(0,1,0,0,0) if /SIXTY_FOUR_BIT/;
|
||||
($b64l,$b64,$b32,$b16,$b8)=(0,0,1,0,0) if /THIRTY_TWO_BIT/;
|
||||
($b64l,$b64,$b32,$b16,$b8)=(0,0,0,1,0) if /SIXTEEN_BIT/;
|
||||
($b64l,$b64,$b32,$b16,$b8)=(0,0,0,0,1) if /EIGHT_BIT/;
|
||||
@@ -465,9 +375,9 @@ close(OUT);
|
||||
&Rename($rc4,&file_old($rc4));
|
||||
&Rename($n,$rc4);
|
||||
|
||||
(($in=$rc4_locl) =~ s/\.([^.]+)/.$postfix/);
|
||||
$n=&file_new($rc4_locl);
|
||||
open(IN,"<".$in) || die "unable to read $rc4_locl:$!\n";
|
||||
(($in=$rc4_enc) =~ s/\.([^.]+)/.$postfix/);
|
||||
$n=&file_new($rc4_enc);
|
||||
open(IN,"<".$in) || die "unable to read $rc4_enc:$!\n";
|
||||
open(OUT,">$n") || die "unable to read $n:$!\n";
|
||||
while (<IN>)
|
||||
{
|
||||
@@ -478,8 +388,8 @@ while (<IN>)
|
||||
}
|
||||
close(IN);
|
||||
close(OUT);
|
||||
&Rename($rc4_locl,&file_old($rc4_locl));
|
||||
&Rename($n,$rc4_locl);
|
||||
&Rename($rc4_enc,&file_old($rc4_enc));
|
||||
&Rename($n,$rc4_enc);
|
||||
|
||||
(($in=$md2) =~ s/\.([^.]+)/.$postfix/);
|
||||
$n=&file_new($md2);
|
||||
|
||||
190
HISTORY
190
HISTORY
@@ -1,193 +1,3 @@
|
||||
16-Mar-98
|
||||
- Patch for Cray T90 from Wayne Schroeder <schroede@SDSC.EDU>
|
||||
- Lots and lots of changes
|
||||
|
||||
29-Jan-98
|
||||
- ASN1_BIT_STRING_set_bit()/ASN1_BIT_STRING_get_bit() from
|
||||
Goetz Babin-Ebell <babinebell@trustcenter.de>.
|
||||
- SSL_version() now returns SSL2_VERSION, SSL3_VERSION or
|
||||
TLS1_VERSION.
|
||||
|
||||
7-Jan-98
|
||||
- Finally reworked the cipher string to ciphers again, so it
|
||||
works correctly
|
||||
- All the app_data stuff is now ex_data with funcion calls to access.
|
||||
The index is supplied by a function and 'methods' can be setup
|
||||
for the types that are called on XXX_new/XXX_free. This lets
|
||||
applications get notified on creation and destruction. Some of
|
||||
the RSA methods could be implemented this way and I may do so.
|
||||
- Oh yes, SSL under perl5 is working at the basic level.
|
||||
|
||||
15-Dec-97
|
||||
- Warning - the gethostbyname cache is not fully thread safe,
|
||||
but it should work well enough.
|
||||
- Major internal reworking of the app_data stuff. More functions
|
||||
but if you were accessing ->app_data directly, things will
|
||||
stop working.
|
||||
- The perlv5 stuff is working. Currently on message digests,
|
||||
ciphers and the bignum library.
|
||||
|
||||
9-Dec-97
|
||||
- Modified re-negotiation so that server initated re-neg
|
||||
will cause a SSL_read() to return -1 should retry.
|
||||
The danger otherwise was that the server and the
|
||||
client could end up both trying to read when using non-blocking
|
||||
sockets.
|
||||
|
||||
4-Dec-97
|
||||
- Lots of small changes
|
||||
- Fix for binaray mode in Windows for the FILE BIO, thanks to
|
||||
Bob Denny <rdenny@dc3.com>
|
||||
|
||||
17-Nov-97
|
||||
- Quite a few internal cleanups, (removal of errno, and using macros
|
||||
defined in e_os.h).
|
||||
- A bug in ca.c, pointed out by yasuyuki-ito@d-cruise.co.jp, where
|
||||
the automactic naming out output files was being stuffed up.
|
||||
|
||||
29-Oct-97
|
||||
- The Cast5 cipher has been added. MD5 and SHA-1 are now in assember
|
||||
for x86.
|
||||
|
||||
21-Oct-97
|
||||
- Fixed a bug in the BIO_gethostbyname() cache.
|
||||
|
||||
15-Oct-97
|
||||
- cbc mode for blowfish/des/3des is now in assember. Blowfish asm
|
||||
has also been improved. At this point in time, on the pentium,
|
||||
md5 is %80 faster, the unoptimesed sha-1 is %79 faster,
|
||||
des-cbc is %28 faster, des-ede3-cbc is %9 faster and blowfish-cbc
|
||||
is %62 faster.
|
||||
|
||||
12-Oct-97
|
||||
- MEM_BUF_grow() has been fixed so that it always sets the buf->length
|
||||
to the value we are 'growing' to. Think of MEM_BUF_grow() as the
|
||||
way to set the length value correctly.
|
||||
|
||||
10-Oct-97
|
||||
- I now hash for certificate lookup on the raw DER encoded RDN (md5).
|
||||
This breaks things again :-(. This is efficent since I cache
|
||||
the DER encoding of the RDN.
|
||||
- The text DN now puts in the numeric OID instead of UNKNOWN.
|
||||
- req can now process arbitary OIDs in the config file.
|
||||
- I've been implementing md5 in x86 asm, much faster :-).
|
||||
- Started sha1 in x86 asm, needs more work.
|
||||
- Quite a few speedups in the BN stuff. RSA public operation
|
||||
has been made faster by caching the BN_MONT_CTX structure.
|
||||
The calulating of the Ai where A*Ai === 1 mod m was rather
|
||||
expensive. Basically a 40-50% speedup on public operations.
|
||||
The RSA speedup is now 15% on pentiums and %20 on pentium
|
||||
pro.
|
||||
|
||||
30-Sep-97
|
||||
- After doing some profiling, I added x86 adm for bn_add_words(),
|
||||
which just adds 2 arrays of longs together. A %10 speedup
|
||||
for 512 and 1024 bit RSA on the pentium pro.
|
||||
|
||||
29-Sep-97
|
||||
- Converted the x86 bignum assembler to us the perl scripts
|
||||
for generation.
|
||||
|
||||
23-Sep-97
|
||||
- If SSL_set_session() is passed a NULL session, it now clears the
|
||||
current session-id.
|
||||
|
||||
22-Sep-97
|
||||
- Added a '-ss_cert file' to apps/ca.c. This will sign selfsigned
|
||||
certificates.
|
||||
- Bug in crypto/evp/encode.c where by decoding of 65 base64
|
||||
encoded lines, one line at a time (via a memory BIO) would report
|
||||
EOF after the first line was decoded.
|
||||
- Fix in X509_find_by_issuer_and_serial() from
|
||||
Dr Stephen Henson <shenson@bigfoot.com>
|
||||
|
||||
19-Sep-97
|
||||
- NO_FP_API and NO_STDIO added.
|
||||
- Put in sh config command. It auto runs Configure with the correct
|
||||
parameters.
|
||||
|
||||
18-Sep-97
|
||||
- Fix x509.c so if a DSA cert has different parameters to its parent,
|
||||
they are left in place. Not tested yet.
|
||||
|
||||
16-Sep-97
|
||||
- ssl_create_cipher_list() had some bugs, fixes from
|
||||
Patrick Eisenacher <eisenach@stud.uni-frankfurt.de>
|
||||
- Fixed a bug in the Base64 BIO, where it would return 1 instead
|
||||
of -1 when end of input was encountered but should retry.
|
||||
Basically a Base64/Memory BIO interaction problem.
|
||||
- Added a HMAC set of functions in preporarion for TLS work.
|
||||
|
||||
15-Sep-97
|
||||
- Top level makefile tweak - Cameron Simpson <cs@zip.com.au>
|
||||
- Prime generation spead up %25 (512 bit prime, pentium pro linux)
|
||||
by using montgomery multiplication in the prime number test.
|
||||
|
||||
11-Sep-97
|
||||
- Ugly bug in ssl3_write_bytes(). Basically if application land
|
||||
does a SSL_write(ssl,buf,len) where len > 16k, the SSLv3 write code
|
||||
did not check the size and tried to copy the entire buffer.
|
||||
This would tend to cause memory overwrites since SSLv3 has
|
||||
a maximum packet size of 16k. If your program uses
|
||||
buffers <= 16k, you would probably never see this problem.
|
||||
- Fixed a new errors that were cause by malloc() not returning
|
||||
0 initialised memory..
|
||||
- SSL_OP_NETSCAPE_CA_DN_BUG was being switched on when using
|
||||
SSL_CTX_set_options(ssl_ctx,SSL_OP_ALL); which was a bad thing
|
||||
since this flags stops SSLeay being able to handle client
|
||||
cert requests correctly.
|
||||
|
||||
08-Sep-97
|
||||
- SSL_SESS_CACHE_NO_INTERNAL_LOOKUP option added. When switched
|
||||
on, the SSL server routines will not use a SSL_SESSION that is
|
||||
held in it's cache. This in intended to be used with the session-id
|
||||
callbacks so that while the session-ids are still stored in the
|
||||
cache, the decision to use them and how to look them up can be
|
||||
done by the callbacks. The are the 'new', 'get' and 'remove'
|
||||
callbacks. This can be used to determine the session-id
|
||||
to use depending on information like which port/host the connection
|
||||
is coming from. Since the are also SSL_SESSION_set_app_data() and
|
||||
SSL_SESSION_get_app_data() functions, the application can hold
|
||||
information against the session-id as well.
|
||||
|
||||
03-Sep-97
|
||||
- Added lookup of CRLs to the by_dir method,
|
||||
X509_load_crl_file() also added. Basically it means you can
|
||||
lookup CRLs via the same system used to lookup certificates.
|
||||
- Changed things so that the X509_NAME structure can contain
|
||||
ASN.1 BIT_STRINGS which is required for the unique
|
||||
identifier OID.
|
||||
- Fixed some problems with the auto flushing of the session-id
|
||||
cache. It was not occuring on the server side.
|
||||
|
||||
02-Sep-97
|
||||
- Added SSL_CTX_sess_cache_size(SSL_CTX *ctx,unsigned long size)
|
||||
which is the maximum number of entries allowed in the
|
||||
session-id cache. This is enforced with a simple FIFO list.
|
||||
The default size is 20*1024 entries which is rather large :-).
|
||||
The Timeout code is still always operating.
|
||||
|
||||
01-Sep-97
|
||||
- Added an argument to all the 'generate private key/prime`
|
||||
callbacks. It is the last parameter so this should not
|
||||
break existing code but it is needed for C++.
|
||||
- Added the BIO_FLAGS_BASE64_NO_NL flag for the BIO_f_base64()
|
||||
BIO. This lets the BIO read and write base64 encoded data
|
||||
without inserting or looking for '\n' characters. The '-A'
|
||||
flag turns this on when using apps/enc.c.
|
||||
- RSA_NO_PADDING added to help BSAFE functionality. This is a
|
||||
very dangerous thing to use, since RSA private key
|
||||
operations without random padding bytes (as PKCS#1 adds) can
|
||||
be attacked such that the private key can be revealed.
|
||||
- ASN.1 bug and rc2-40-cbc and rc4-40 added by
|
||||
Dr Stephen Henson <shenson@bigfoot.com>
|
||||
|
||||
31-Aug-97 (stuff added while I was away)
|
||||
- Linux pthreads by Tim Hudson (tjh@cryptsoft.com).
|
||||
- RSA_flags() added allowing bypass of pub/priv match check
|
||||
in ssl/ssl_rsa.c - Tim Hudson.
|
||||
- A few minor bugs.
|
||||
|
||||
SSLeay 0.8.1 released.
|
||||
|
||||
19-Jul-97
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
- A minor bug in ssl/s3_clnt.c where there would always be 4 0 bytes
|
||||
sent in the client random, thanks to
|
||||
Edward Bishop <ebishop@spyglass.com>
|
||||
- Changed some BIGNUM api stuff.
|
||||
|
||||
- I Deleted the HISTORY.090 I was working on and when I found out, it was
|
||||
permanently gone :-(
|
||||
7
INSTALL
7
INSTALL
@@ -38,7 +38,7 @@ make -f Makefile.ssl links
|
||||
Makefile.ssl CC CFLAG EX_LIBS BN_MULW
|
||||
crypto/des/des.h DES_LONG
|
||||
crypto/des/des_locl.h DES_PTR
|
||||
crypto/md2/md2.h MD2_INT
|
||||
crypto/md/md2.h MD2_INT
|
||||
crypto/rc4/rc4.h RC4_INT
|
||||
crypto/rc4/rc4_enc.c RC4_INDEX
|
||||
crypto/rc2/rc2.h RC2_INT
|
||||
@@ -126,8 +126,3 @@ The examples for solaris and windows NT/95 are in the mt directory.
|
||||
have fun
|
||||
|
||||
eric 25-Jun-1997
|
||||
|
||||
IRIX 5.x will build as a 32 bit system with mips1 assember.
|
||||
IRIX 6.x will build as a 64 bit system with mips3 assember. It conforms
|
||||
to n32 standards. In theory you can compile the 64 bit assember under
|
||||
IRIX 5.x but you will have to have the correct system software installed.
|
||||
|
||||
406
MINFO
406
MINFO
@@ -2,14 +2,13 @@ RELATIVE_DIRECTORY=.
|
||||
AR=ar r
|
||||
BASENAME=SSLeay
|
||||
BF_ENC=bf_enc.o
|
||||
BN_ASM=bn_asm.o
|
||||
CAST_ENC=c_enc.o
|
||||
CC=cl
|
||||
CFLAG=
|
||||
BN_MULW=bn_mulw.o
|
||||
CC=cc
|
||||
CFLAG=-O -DNOPROTO
|
||||
DES_ENC=des_enc.o fcrypt_b.o
|
||||
DIRS=crypto ssl rsaref apps test tools
|
||||
EDIRS=times doc bugs util include certs ms shlib mt demos perl sf dep
|
||||
EXHEADER=e_os.h
|
||||
EDIRS=times doc bugs util include certs ms shlib mt demos
|
||||
EX_HEADER=
|
||||
EX_LIBS=
|
||||
GENERAL=Makefile
|
||||
HEADER=e_os.h
|
||||
@@ -19,99 +18,66 @@ MAKE=make -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
MAN1=1
|
||||
MAN3=3
|
||||
MD5_ASM_OBJ=
|
||||
MISC=COPYRIGHT Configure HISTORY.090 HISTORY.066 INSTALL Makefile.ssl Makefile README TODO HISTORY README.066 README.080 README.090 VERSION PROBLEMS MINFO makefile.one e_os.h MICROSOFT makevms.com config PATENTS
|
||||
NAME=SSLeay-0.9.1b
|
||||
MISC=COPYRIGHT Configure HISTORY.066 INSTALL Makefile.ssl Makefile README TODO HISTORY README.066 README.080 VERSION PROBLEMS MINFO makefile.one e_os.h MICROSOFT makevms.com
|
||||
NAME=SSLeay-0.8.1
|
||||
ONEDIRS=out tmp
|
||||
PEX_LIBS=-L. -L.. -L../.. -L../../..
|
||||
PLATFORM=VC-WIN32
|
||||
RC4_ENC=rc4_enc.o
|
||||
RC5_ENC=rc5_enc.o
|
||||
RMD160_ASM_OBJ=
|
||||
SDIRS=md2 md5 sha mdc2 hmac ripemd des rc2 rc4 rc5 idea bf cast bn rsa dsa dh buffer bio stack lhash rand err objects evp pem asn1 x509 conf txt_db pkcs7 proxy comp
|
||||
SHA1_ASM_OBJ=
|
||||
SDIRS=md sha mdc2 des rc4 rc2 idea bf bn rsa dsa dh buffer bio stack lhash rand err objects evp pem asn1 x509 conf txt_db pkcs7
|
||||
SHELL=/bin/sh
|
||||
TARFILE=SSLeay-0.9.1b.tar
|
||||
TARFILE=SSLeay-0.8.1.tar
|
||||
TOP=.
|
||||
VERSION=0.9.1b
|
||||
VERSION=0.8.1
|
||||
WDIRS=windows
|
||||
WTARFILE=SSLeay-0.9.1b-win.tar
|
||||
WTARFILE=SSLeay-0.8.1-win.tar
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto
|
||||
ALL=Makefile README cryptlib.c mem.c cversion.c ex_data.c tmdiff.c cpt_err.c cryptlib.h date.h crypto.h cryptall.h tmdiff.h
|
||||
ALL=Makefile README cryptlib.c mem.c cversion.c cryptlib.h date.h crypto.h cryptall.h
|
||||
AR=ar r
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS=-I. -I../include -g -DCFLAGS=" \"cc -g\" " -DPLATFORM=" \"\" "
|
||||
CFLAGS=-I. -I../include -g -DCFLAGS=" \"cc -g\" "
|
||||
DIR=crypto
|
||||
ERR=crypto
|
||||
ERRC=cpt_err
|
||||
EXHEADER=crypto.h cryptall.h tmdiff.h
|
||||
EXHEADER=crypto.h cryptall.h
|
||||
EX_LIBS=
|
||||
GENERAL=Makefile README
|
||||
HEADER=cryptlib.h date.h crypto.h cryptall.h tmdiff.h
|
||||
HEADER=cryptlib.h date.h crypto.h cryptall.h
|
||||
INCLUDE=-I. -I../include
|
||||
INCLUDES=-I.. -I../../include
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../libcrypto.a
|
||||
LIBOBJ=cryptlib.o mem.o cversion.o ex_data.o tmdiff.o cpt_err.o
|
||||
LIBOBJ=cryptlib.o mem.o cversion.o
|
||||
LIBS=
|
||||
LIBSRC=cryptlib.c mem.c cversion.c ex_data.c tmdiff.c cpt_err.c
|
||||
LIBSRC=cryptlib.c mem.c cversion.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
PEX_LIBS=
|
||||
RM=/bin/rm -f
|
||||
SDIRS=md2 md5 sha mdc2 hmac ripemd des rc2 rc4 rc5 idea bf cast bn rsa dsa dh buffer bio stack lhash rand err objects evp pem x509 asn1 conf txt_db pkcs7 proxy comp
|
||||
SRC=cryptlib.c mem.c cversion.c ex_data.c tmdiff.c cpt_err.c
|
||||
SDIRS=md sha mdc2 des rc4 rc2 idea bf bn rsa dsa dh buffer bio stack lhash rand err objects evp pem x509 asn1 conf txt_db pkcs7
|
||||
SRC=cryptlib.c mem.c cversion.c
|
||||
TOP=..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/md2
|
||||
ALL=Makefile md2_dgst.c md5_one.c md2.h
|
||||
RELATIVE_DIRECTORY=crypto/md
|
||||
ALL=Makefile md2_dgst.c md5_dgst.c md2_one.c md5_one.c md5_locl.h md2.h md5.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS= -g
|
||||
DIR=md
|
||||
EXHEADER=md2.h
|
||||
EXHEADER=md2.h md5.h
|
||||
GENERAL=Makefile
|
||||
HEADER=md2.h
|
||||
HEADER=md5_locl.h md2.h md5.h
|
||||
INCLUDES=
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=md2_dgst.o md2_one.o
|
||||
LIBSRC=md2_dgst.c md5_one.c
|
||||
LIBOBJ=md2_dgst.o md5_dgst.o md2_one.o md5_one.o
|
||||
LIBSRC=md2_dgst.c md5_dgst.c md2_one.c md5_one.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=md2_dgst.c md5_one.c
|
||||
TEST=md2test.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/md5
|
||||
ALL=Makefile md5_dgst.c md5_one.c md5_locl.h md5.h
|
||||
APPS=md5.c
|
||||
AR=ar r
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS= -g
|
||||
CPP=cc -E
|
||||
DIR=md5
|
||||
EXHEADER=md5.h
|
||||
GENERAL=Makefile
|
||||
HEADER=md5_locl.h md5.h
|
||||
INCLUDES=
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=md5_dgst.o md5_one.o
|
||||
LIBSRC=md5_dgst.c md5_one.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
MD5_ASM_OBJ=
|
||||
SRC=md5_dgst.c md5_one.c
|
||||
TEST=md5test.c
|
||||
SRC=md2_dgst.c md5_dgst.c md2_one.c md5_one.c
|
||||
TEST=md2test.c md5test.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/sha
|
||||
@@ -128,12 +94,11 @@ HEADER=sha_locl.h sha.h
|
||||
INCLUDES=
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=sha_dgst.o sha1dgst.o sha_one.o sha1_one.o
|
||||
LIBOBJ=sha_dgst.o sha1dgst.o sha_one.o sha1_one.o
|
||||
LIBSRC=sha_dgst.c sha1dgst.c sha_one.c sha1_one.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SHA1_ASM_OBJ=
|
||||
SRC=sha_dgst.c sha1dgst.c sha_one.c sha1_one.c
|
||||
TEST=shatest.c sha1test.c
|
||||
TOP=../..
|
||||
@@ -161,56 +126,8 @@ SRC=mdc2dgst.c mdc2_one.c
|
||||
TEST=mdc2test.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/hmac
|
||||
ALL=Makefile hmac.c hmac.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS= -g
|
||||
DIR=hmac
|
||||
EXHEADER=hmac.h
|
||||
GENERAL=Makefile
|
||||
HEADER=hmac.h
|
||||
INCLUDES=
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=hmac.o
|
||||
LIBSRC=hmac.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=hmac.c
|
||||
TEST=hmactest.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/ripemd
|
||||
ALL=Makefile rmd_dgst.c rmd_one.c rmd_locl.h rmdconst.h ripemd.h
|
||||
APPS=rmd160.c
|
||||
AR=ar r
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS= -g
|
||||
CPP=cc -E
|
||||
DIR=ripemd
|
||||
EXHEADER=ripemd.h
|
||||
GENERAL=Makefile
|
||||
HEADER=rmd_locl.h rmdconst.h ripemd.h
|
||||
INCLUDES=
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=rmd_dgst.o rmd_one.o
|
||||
LIBSRC=rmd_dgst.c rmd_one.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
RIP_ASM_OBJ=
|
||||
SRC=rmd_dgst.c rmd_one.c
|
||||
TEST=rmdtest.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/des
|
||||
ALL=Makefile des.org des_locl.org cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c enc_read.c enc_writ.c fcrypt.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c read_pwd.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c read2pwd.c fcrypt.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c supp.c des_locl.h rpc_des.h podd.h sk.h spr.h des_ver.h des.h
|
||||
ALL=Makefile des.org des_locl.org cbc3_enc.c cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c ede_enc.c enc_read.c enc_writ.c fcrypt.c ncbc_enc.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c read_pwd.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c read2pwd.c fcrypt.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c supp.c des_locl.h rpc_des.h podd.h sk.h spr.h des_ver.h des.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
@@ -225,15 +142,38 @@ HEADER=des_locl.h rpc_des.h podd.h sk.h spr.h des_ver.h des.h
|
||||
INCLUDES=
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=set_key.o ecb_enc.o cbc_enc.o ecb3_enc.o cfb64enc.o cfb64ede.o cfb_enc.o ofb64ede.o enc_read.o enc_writ.o ofb64enc.o ofb_enc.o str2key.o pcbc_enc.o qud_cksm.o rand_key.o des_enc.o fcrypt_b.o read2pwd.o fcrypt.o xcbc_enc.o read_pwd.o rpc_enc.o cbc_cksm.o supp.o
|
||||
LIBSRC=cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c enc_read.c enc_writ.c fcrypt.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c read_pwd.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c read2pwd.c fcrypt.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c supp.c
|
||||
LIBOBJ=set_key.o ecb_enc.o ede_enc.o cbc_enc.o cbc3_enc.o ecb3_enc.o cfb64enc.o cfb64ede.o cfb_enc.o ofb64ede.o enc_read.o enc_writ.o ncbc_enc.o ofb64enc.o ofb_enc.o str2key.o pcbc_enc.o qud_cksm.o rand_key.o des_enc.o fcrypt_b.o read2pwd.o fcrypt.o xcbc_enc.o read_pwd.o rpc_enc.o cbc_cksm.o supp.o
|
||||
LIBSRC=cbc3_enc.c cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c ede_enc.c enc_read.c enc_writ.c fcrypt.c ncbc_enc.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c read_pwd.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c read2pwd.c fcrypt.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c supp.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c enc_read.c enc_writ.c fcrypt.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c read_pwd.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c read2pwd.c fcrypt.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c supp.c
|
||||
SRC=cbc3_enc.c cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c ede_enc.c enc_read.c enc_writ.c fcrypt.c ncbc_enc.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c read_pwd.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c read2pwd.c fcrypt.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c supp.c
|
||||
TEST=destest.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/rc4
|
||||
ALL=Makefile rc4_enc.c rc4.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS= -g
|
||||
DIR=rc4
|
||||
EXHEADER=rc4.h
|
||||
GENERAL=Makefile
|
||||
HEADER=rc4.h
|
||||
INCLUDES=
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=rc4_enc.o
|
||||
LIBSRC=rc4_enc.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=rc4_enc.c
|
||||
TEST=rc4test.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/rc2
|
||||
ALL=Makefile rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c rc2_locl.h rc2.h
|
||||
APPS=
|
||||
@@ -257,55 +197,6 @@ SRC=rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c
|
||||
TEST=rc2test.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/rc4
|
||||
ALL=Makefile rc4_skey.c rc4_enc.c rc4.h rc4_locl.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS= -g
|
||||
DIR=rc4
|
||||
EXHEADER=rc4.h
|
||||
GENERAL=Makefile
|
||||
HEADER=rc4.h rc4_locl.h
|
||||
INCLUDES=
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=rc4_skey.o rc4_enc.o
|
||||
LIBSRC=rc4_skey.c rc4_enc.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
RC4_ENC=rc4_enc.o
|
||||
SRC=rc4_skey.c rc4_enc.c
|
||||
TEST=rc4test.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/rc5
|
||||
ALL=Makefile rc5_skey.c rc5_ecb.c rc5_enc.c rc5cfb64.c rc5ofb64.c rc5_locl.h rc5.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS= -g
|
||||
CPP=cc -E
|
||||
DIR=rc5
|
||||
EXHEADER=rc5.h
|
||||
GENERAL=Makefile
|
||||
HEADER=rc5_locl.h rc5.h
|
||||
INCLUDES=
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=rc5_skey.o rc5_ecb.o rc5_enc.o rc5cfb64.o rc5ofb64.o
|
||||
LIBSRC=rc5_skey.c rc5_ecb.c rc5_enc.c rc5cfb64.c rc5ofb64.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
RC5_ENC=rc5_enc.o
|
||||
SRC=rc5_skey.c rc5_ecb.c rc5_enc.c rc5cfb64.c rc5ofb64.c
|
||||
TEST=rc5test.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/idea
|
||||
ALL=Makefile i_cbc.c i_cfb64.c i_ofb64.c i_ecb.c i_skey.c idea_lcl.h idea.h
|
||||
APPS=
|
||||
@@ -330,7 +221,7 @@ TEST=ideatest.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/bf
|
||||
ALL=Makefile bf_skey.c bf_ecb.c bf_enc.c bf_cfb64.c bf_ofb64.c bf_pi.h bf_locl.h blowfish.h
|
||||
ALL=Makefile bf_skey.c bf_ecb.c bf_enc.c bf_cbc.c bf_cfb64.c bf_ofb64.c bf_pi.h bf_locl.h blowfish.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
BF_ENC=bf_enc.o
|
||||
@@ -345,45 +236,20 @@ HEADER=bf_pi.h bf_locl.h blowfish.h
|
||||
INCLUDES=
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=bf_skey.o bf_ecb.o bf_enc.o bf_cfb64.o bf_ofb64.o
|
||||
LIBSRC=bf_skey.c bf_ecb.c bf_enc.c bf_cfb64.c bf_ofb64.c
|
||||
LIBOBJ=bf_skey.o bf_ecb.o bf_enc.o bf_cbc.o bf_cfb64.o bf_ofb64.o
|
||||
LIBSRC=bf_skey.c bf_ecb.c bf_enc.c bf_cbc.c bf_cfb64.c bf_ofb64.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=bf_skey.c bf_ecb.c bf_enc.c bf_cfb64.c bf_ofb64.c
|
||||
SRC=bf_skey.c bf_ecb.c bf_enc.c bf_cbc.c bf_cfb64.c bf_ofb64.c
|
||||
TEST=bftest.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/cast
|
||||
ALL=Makefile c_skey.c c_ecb.c c_enc.c c_cfb64.c c_ofb64.c cast_s.h cast_lcl.h cast.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CAST_ENC=c_enc.o
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS= -g
|
||||
CPP=cc -E
|
||||
DIR=cast
|
||||
EXHEADER=cast.h
|
||||
GENERAL=Makefile
|
||||
HEADER=cast_s.h cast_lcl.h cast.h
|
||||
INCLUDES=
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=c_skey.o c_ecb.o c_enc.o c_cfb64.o c_ofb64.o
|
||||
LIBSRC=c_skey.c c_ecb.c c_enc.c c_cfb64.c c_ofb64.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=c_skey.c c_ecb.c c_enc.c c_cfb64.c c_ofb64.c
|
||||
TEST=casttest.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/bn
|
||||
ALL=Makefile bn_add.c bn_div.c bn_exp.c bn_lib.c bn_mul.c bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_asm.c bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_lcl.h bn_prime.h bn.h
|
||||
ALL=Makefile bn_add.c bn_div.c bn_exp.c bn_lib.c bn_mod.c bn_mul.c bn_print.c bn_rand.c bn_shift.c bn_sub.c bn_word.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_mulw.c bn_recp.c bn_mont.c bn_lcl.h bn_prime.h bn.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
BN_ASM=bn_asm.o
|
||||
BN_MULW=bn_mulw.o
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS=-I.. -I../../include -g
|
||||
@@ -396,17 +262,17 @@ HEADER=bn_lcl.h bn_prime.h bn.h
|
||||
INCLUDES=-I.. -I../../include
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=bn_add.o bn_div.o bn_exp.o bn_lib.o bn_mul.o bn_print.o bn_rand.o bn_shift.o bn_word.o bn_blind.o bn_gcd.o bn_prime.o bn_err.o bn_sqr.o bn_asm.o bn_recp.o bn_mont.o bn_mpi.o bn_exp2.o
|
||||
LIBSRC=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_mul.c bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_asm.c bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c
|
||||
LIBOBJ=bn_add.o bn_div.o bn_exp.o bn_lib.o bn_mod.o bn_mul.o bn_print.o bn_rand.o bn_shift.o bn_sub.o bn_word.o bn_gcd.o bn_prime.o bn_err.o bn_sqr.o bn_mulw.o bn_recp.o bn_mont.o
|
||||
LIBSRC=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_mod.c bn_mul.c bn_print.c bn_rand.c bn_shift.c bn_sub.c bn_word.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_mulw.c bn_recp.c bn_mont.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_mul.c bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_asm.c bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c
|
||||
SRC=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_mod.c bn_mul.c bn_print.c bn_rand.c bn_shift.c bn_sub.c bn_word.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_mulw.c bn_recp.c bn_mont.c
|
||||
TEST=bntest.c exptest.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/rsa
|
||||
ALL=Makefile rsa_eay.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c rsa_pk1.c rsa_ssl.c rsa_none.c rsa.h
|
||||
ALL=Makefile rsa_enc.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c rsa.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
@@ -421,12 +287,12 @@ HEADER=rsa.h
|
||||
INCLUDES=-I.. -I../../include
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=rsa_eay.o rsa_gen.o rsa_lib.o rsa_sign.o rsa_saos.o rsa_err.o rsa_pk1.o rsa_ssl.o rsa_none.o
|
||||
LIBSRC=rsa_eay.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c rsa_pk1.c rsa_ssl.c rsa_none.c
|
||||
LIBOBJ=rsa_enc.o rsa_gen.o rsa_lib.o rsa_sign.o rsa_saos.o rsa_err.o
|
||||
LIBSRC=rsa_enc.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=rsa_eay.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c rsa_pk1.c rsa_ssl.c rsa_none.c
|
||||
SRC=rsa_enc.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c
|
||||
TEST=
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
@@ -506,7 +372,7 @@ TEST=
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/bio
|
||||
ALL=Makefile bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c bss_cs4a.c bio.h bss_file.c
|
||||
ALL=Makefile bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c bio.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
@@ -515,18 +381,18 @@ CFLAGS=-I.. -I../../include -g
|
||||
DIR=bio
|
||||
ERR=bio
|
||||
ERRC=bio_err
|
||||
EXHEADER=bio.h bss_file.c
|
||||
EXHEADER=bio.h
|
||||
GENERAL=Makefile
|
||||
HEADER=bio.h bss_file.c
|
||||
HEADER=bio.h
|
||||
INCLUDES=-I.. -I../../include
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=bio_lib.o bio_cb.o bio_err.o bss_mem.o bss_null.o bss_fd.o bss_file.o bss_sock.o bss_conn.o bf_null.o bf_buff.o b_print.o b_dump.o b_sock.o bss_acpt.o bf_nbio.o bss_cs4a.o
|
||||
LIBSRC=bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c bss_cs4a.c
|
||||
LIBOBJ=bio_lib.o bio_cb.o bio_err.o bss_mem.o bss_null.o bss_fd.o bss_file.o bss_sock.o bss_conn.o bf_null.o bf_buff.o b_print.o b_dump.o b_sock.o bss_acpt.o bf_nbio.o
|
||||
LIBSRC=bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c bss_cs4a.c
|
||||
SRC=bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c
|
||||
TEST=
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
@@ -577,7 +443,7 @@ TEST=
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/rand
|
||||
ALL=Makefile md_rand.c randfile.c rand_lib.c rand.h
|
||||
ALL=Makefile md_rand.c randfile.c rand.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
@@ -590,12 +456,12 @@ HEADER=rand.h
|
||||
INCLUDES=
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=md_rand.o randfile.o rand_lib.o
|
||||
LIBSRC=md_rand.c randfile.c rand_lib.c
|
||||
LIBOBJ=md_rand.o randfile.o
|
||||
LIBSRC=md_rand.c randfile.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=md_rand.c randfile.c rand_lib.c
|
||||
SRC=md_rand.c randfile.c
|
||||
TEST=randtest.c
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
@@ -606,7 +472,7 @@ AR=ar r
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS=-I.. -I../../include -g
|
||||
DIR=err
|
||||
DIR=error
|
||||
EXHEADER=err.h
|
||||
GENERAL=Makefile
|
||||
HEADER=err.h
|
||||
@@ -623,7 +489,7 @@ TEST=
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/objects
|
||||
ALL=Makefile README o_names.c obj_dat.c obj_lib.c obj_err.c objects.h obj_dat.h
|
||||
ALL=Makefile README obj_dat.c obj_lib.c obj_err.c objects.h obj_dat.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
@@ -638,17 +504,17 @@ HEADER=objects.h obj_dat.h
|
||||
INCLUDES=-I.. -I../../include
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=o_names.o obj_dat.o obj_lib.o obj_err.o
|
||||
LIBSRC=o_names.c obj_dat.c obj_lib.c obj_err.c
|
||||
LIBOBJ=obj_dat.o obj_lib.o obj_err.o
|
||||
LIBSRC=obj_dat.c obj_lib.c obj_err.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=o_names.c obj_dat.c obj_lib.c obj_err.c
|
||||
SRC=obj_dat.c obj_lib.c obj_err.c
|
||||
TEST=
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/evp
|
||||
ALL=Makefile encode.c digest.c evp_enc.c evp_key.c e_ecb_d.c e_cbc_d.c e_cfb_d.c e_ofb_d.c e_ecb_i.c e_cbc_i.c e_cfb_i.c e_ofb_i.c e_ecb_3d.c e_cbc_3d.c e_rc4.c names.c e_cfb_3d.c e_ofb_3d.c e_xcbc_d.c e_ecb_r2.c e_cbc_r2.c e_cfb_r2.c e_ofb_r2.c e_ecb_bf.c e_cbc_bf.c e_cfb_bf.c e_ofb_bf.c e_ecb_c.c e_cbc_c.c e_cfb_c.c e_ofb_c.c e_ecb_r5.c e_cbc_r5.c e_cfb_r5.c e_ofb_r5.c m_null.c m_md2.c m_md5.c m_sha.c m_sha1.c m_dss.c m_dss1.c m_mdc2.c m_ripemd.c p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c c_all.c evp_lib.c evp.h
|
||||
ALL=Makefile encode.c digest.c evp_enc.c evp_key.c e_ecb_d.c e_cbc_d.c e_cfb_d.c e_ofb_d.c e_ecb_i.c e_cbc_i.c e_cfb_i.c e_ofb_i.c e_ecb_3d.c e_cbc_3d.c e_rc4.c names.c e_cfb_3d.c e_ofb_3d.c e_xcbc_d.c e_ecb_r2.c e_cbc_r2.c e_cfb_r2.c e_ofb_r2.c e_ecb_bf.c e_cbc_bf.c e_cfb_bf.c e_ofb_bf.c m_null.c m_md2.c m_md5.c m_sha.c m_sha1.c m_dss.c m_dss1.c m_mdc2.c p_open.c p_seal.c p_sign.c p_verify.c p_lib.c bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c c_all.c evp.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
@@ -663,12 +529,12 @@ HEADER=evp.h
|
||||
INCLUDES=-I.. -I../../include
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=encode.o digest.o evp_enc.o evp_key.o e_ecb_d.o e_cbc_d.o e_cfb_d.o e_ofb_d.o e_ecb_i.o e_cbc_i.o e_cfb_i.o e_ofb_i.o e_ecb_3d.o e_cbc_3d.o e_rc4.o names.o e_cfb_3d.o e_ofb_3d.o e_xcbc_d.o e_ecb_r2.o e_cbc_r2.o e_cfb_r2.o e_ofb_r2.o e_ecb_bf.o e_cbc_bf.o e_cfb_bf.o e_ofb_bf.o e_ecb_c.o e_cbc_c.o e_cfb_c.o e_ofb_c.o e_ecb_r5.o e_cbc_r5.o e_cfb_r5.o e_ofb_r5.o m_null.o m_md2.o m_md5.o m_sha.o m_sha1.o m_dss.o m_dss1.o m_mdc2.o m_ripemd.o p_open.o p_seal.o p_sign.o p_verify.o p_lib.o p_enc.o p_dec.o bio_md.o bio_b64.o bio_enc.o evp_err.o e_null.o c_all.o evp_lib.o
|
||||
LIBSRC=encode.c digest.c evp_enc.c evp_key.c e_ecb_d.c e_cbc_d.c e_cfb_d.c e_ofb_d.c e_ecb_i.c e_cbc_i.c e_cfb_i.c e_ofb_i.c e_ecb_3d.c e_cbc_3d.c e_rc4.c names.c e_cfb_3d.c e_ofb_3d.c e_xcbc_d.c e_ecb_r2.c e_cbc_r2.c e_cfb_r2.c e_ofb_r2.c e_ecb_bf.c e_cbc_bf.c e_cfb_bf.c e_ofb_bf.c e_ecb_c.c e_cbc_c.c e_cfb_c.c e_ofb_c.c e_ecb_r5.c e_cbc_r5.c e_cfb_r5.c e_ofb_r5.c m_null.c m_md2.c m_md5.c m_sha.c m_sha1.c m_dss.c m_dss1.c m_mdc2.c m_ripemd.c p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c c_all.c evp_lib.c
|
||||
LIBOBJ=encode.o digest.o evp_enc.o evp_key.o e_ecb_d.o e_cbc_d.o e_cfb_d.o e_ofb_d.o e_ecb_i.o e_cbc_i.o e_cfb_i.o e_ofb_i.o e_ecb_3d.o e_cbc_3d.o e_rc4.o names.o e_cfb_3d.o e_ofb_3d.o e_xcbc_d.o e_ecb_r2.o e_cbc_r2.o e_cfb_r2.o e_ofb_r2.o e_ecb_bf.o e_cbc_bf.o e_cfb_bf.o e_ofb_bf.o m_null.o m_md2.o m_md5.o m_sha.o m_sha1.o m_dss.o m_dss1.o m_mdc2.o p_open.o p_seal.o p_sign.o p_verify.o p_lib.o bio_md.o bio_b64.o bio_enc.o evp_err.o e_null.o c_all.o
|
||||
LIBSRC=encode.c digest.c evp_enc.c evp_key.c e_ecb_d.c e_cbc_d.c e_cfb_d.c e_ofb_d.c e_ecb_i.c e_cbc_i.c e_cfb_i.c e_ofb_i.c e_ecb_3d.c e_cbc_3d.c e_rc4.c names.c e_cfb_3d.c e_ofb_3d.c e_xcbc_d.c e_ecb_r2.c e_cbc_r2.c e_cfb_r2.c e_ofb_r2.c e_ecb_bf.c e_cbc_bf.c e_cfb_bf.c e_ofb_bf.c m_null.c m_md2.c m_md5.c m_sha.c m_sha1.c m_dss.c m_dss1.c m_mdc2.c p_open.c p_seal.c p_sign.c p_verify.c p_lib.c bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c c_all.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=encode.c digest.c evp_enc.c evp_key.c e_ecb_d.c e_cbc_d.c e_cfb_d.c e_ofb_d.c e_ecb_i.c e_cbc_i.c e_cfb_i.c e_ofb_i.c e_ecb_3d.c e_cbc_3d.c e_rc4.c names.c e_cfb_3d.c e_ofb_3d.c e_xcbc_d.c e_ecb_r2.c e_cbc_r2.c e_cfb_r2.c e_ofb_r2.c e_ecb_bf.c e_cbc_bf.c e_cfb_bf.c e_ofb_bf.c e_ecb_c.c e_cbc_c.c e_cfb_c.c e_ofb_c.c e_ecb_r5.c e_cbc_r5.c e_cfb_r5.c e_ofb_r5.c m_null.c m_md2.c m_md5.c m_sha.c m_sha1.c m_dss.c m_dss1.c m_mdc2.c m_ripemd.c p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c c_all.c evp_lib.c
|
||||
SRC=encode.c digest.c evp_enc.c evp_key.c e_ecb_d.c e_cbc_d.c e_cfb_d.c e_ofb_d.c e_ecb_i.c e_cbc_i.c e_cfb_i.c e_ofb_i.c e_ecb_3d.c e_cbc_3d.c e_rc4.c names.c e_cfb_3d.c e_ofb_3d.c e_xcbc_d.c e_ecb_r2.c e_cbc_r2.c e_cfb_r2.c e_ofb_r2.c e_ecb_bf.c e_cbc_bf.c e_cfb_bf.c e_ofb_bf.c m_null.c m_md2.c m_md5.c m_sha.c m_sha1.c m_dss.c m_dss1.c m_mdc2.c p_open.c p_seal.c p_sign.c p_verify.c p_lib.c bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c c_all.c
|
||||
TEST=
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
@@ -699,7 +565,7 @@ TEST=
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/asn1
|
||||
ALL=Makefile README a_object.c a_bitstr.c a_utctm.c a_int.c a_octet.c a_print.c a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c a_bmp.c a_sign.c a_digest.c a_verify.c x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c x_name.c x_cinf.c x_x509.c x_crl.c x_info.c x_spki.c d2i_r_pr.c i2d_r_pr.c d2i_r_pu.c i2d_r_pu.c d2i_s_pr.c i2d_s_pr.c d2i_s_pu.c i2d_s_pu.c d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c t_req.c t_x509.c t_pkey.c p7_i_s.c p7_signi.c p7_signd.c p7_recip.c p7_enc_c.c p7_evp.c p7_dgst.c p7_s_e.c p7_enc.c p7_lib.c f_int.c f_string.c i2d_dhp.c i2d_dsap.c d2i_dhp.c d2i_dsap.c n_pkey.c a_hdr.c x_pkey.c a_bool.c x_exten.c asn1_par.c asn1_lib.c asn1_err.c a_meth.c a_bytes.c evp_asn1.c asn1.h asn1_mac.h
|
||||
ALL=Makefile README a_object.c a_bitstr.c a_utctm.c a_int.c a_octet.c a_print.c a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c a_sign.c a_digest.c a_verify.c x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c x_name.c x_cinf.c x_x509.c x_crl.c x_info.c x_spki.c d2i_r_pr.c i2d_r_pr.c d2i_r_pu.c i2d_r_pu.c d2i_s_pr.c i2d_s_pr.c d2i_s_pu.c i2d_s_pu.c d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c t_req.c t_x509.c t_pkey.c p7_i_s.c p7_signi.c p7_signd.c p7_recip.c p7_enc_c.c p7_evp.c p7_dgst.c p7_s_e.c p7_enc.c p7_lib.c f_int.c f_string.c i2d_dhp.c i2d_dsap.c d2i_dhp.c d2i_dsap.c n_pkey.c a_hdr.c x_pkey.c a_bool.c x_exten.c asn1_par.c asn1_lib.c asn1_err.c a_meth.c a_bytes.c asn1.h asn1_mac.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
@@ -714,12 +580,12 @@ HEADER=asn1.h asn1_mac.h
|
||||
INCLUDES=-I.. -I../../include
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=a_object.o a_bitstr.o a_utctm.o a_int.o a_octet.o a_print.o a_type.o a_set.o a_dup.o a_d2i_fp.o a_i2d_fp.o a_bmp.o a_sign.o a_digest.o a_verify.o x_algor.o x_val.o x_pubkey.o x_sig.o x_req.o x_attrib.o x_name.o x_cinf.o x_x509.o x_crl.o x_info.o x_spki.o d2i_r_pr.o i2d_r_pr.o d2i_r_pu.o i2d_r_pu.o d2i_s_pr.o i2d_s_pr.o d2i_s_pu.o i2d_s_pu.o d2i_pu.o d2i_pr.o i2d_pu.o i2d_pr.o t_req.o t_x509.o t_pkey.o p7_i_s.o p7_signi.o p7_signd.o p7_recip.o p7_enc_c.o p7_evp.o p7_dgst.o p7_s_e.o p7_enc.o p7_lib.o f_int.o f_string.o i2d_dhp.o i2d_dsap.o d2i_dhp.o d2i_dsap.o n_pkey.o a_hdr.o x_pkey.o a_bool.o x_exten.o asn1_par.o asn1_lib.o asn1_err.o a_meth.o a_bytes.o evp_asn1.o
|
||||
LIBSRC=a_object.c a_bitstr.c a_utctm.c a_int.c a_octet.c a_print.c a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c a_bmp.c a_sign.c a_digest.c a_verify.c x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c x_name.c x_cinf.c x_x509.c x_crl.c x_info.c x_spki.c d2i_r_pr.c i2d_r_pr.c d2i_r_pu.c i2d_r_pu.c d2i_s_pr.c i2d_s_pr.c d2i_s_pu.c i2d_s_pu.c d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c t_req.c t_x509.c t_pkey.c p7_i_s.c p7_signi.c p7_signd.c p7_recip.c p7_enc_c.c p7_evp.c p7_dgst.c p7_s_e.c p7_enc.c p7_lib.c f_int.c f_string.c i2d_dhp.c i2d_dsap.c d2i_dhp.c d2i_dsap.c n_pkey.c a_hdr.c x_pkey.c a_bool.c x_exten.c asn1_par.c asn1_lib.c asn1_err.c a_meth.c a_bytes.c evp_asn1.c
|
||||
LIBOBJ=a_object.o a_bitstr.o a_utctm.o a_int.o a_octet.o a_print.o a_type.o a_set.o a_dup.o a_d2i_fp.o a_i2d_fp.o a_sign.o a_digest.o a_verify.o x_algor.o x_val.o x_pubkey.o x_sig.o x_req.o x_attrib.o x_name.o x_cinf.o x_x509.o x_crl.o x_info.o x_spki.o d2i_r_pr.o i2d_r_pr.o d2i_r_pu.o i2d_r_pu.o d2i_s_pr.o i2d_s_pr.o d2i_s_pu.o i2d_s_pu.o d2i_pu.o d2i_pr.o i2d_pu.o i2d_pr.o t_req.o t_x509.o t_pkey.o p7_i_s.o p7_signi.o p7_signd.o p7_recip.o p7_enc_c.o p7_evp.o p7_dgst.o p7_s_e.o p7_enc.o p7_lib.o f_int.o f_string.o i2d_dhp.o i2d_dsap.o d2i_dhp.o d2i_dsap.o n_pkey.o a_hdr.o x_pkey.o a_bool.o x_exten.o asn1_par.o asn1_lib.o asn1_err.o a_meth.o a_bytes.o
|
||||
LIBSRC=a_object.c a_bitstr.c a_utctm.c a_int.c a_octet.c a_print.c a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c a_sign.c a_digest.c a_verify.c x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c x_name.c x_cinf.c x_x509.c x_crl.c x_info.c x_spki.c d2i_r_pr.c i2d_r_pr.c d2i_r_pu.c i2d_r_pu.c d2i_s_pr.c i2d_s_pr.c d2i_s_pu.c i2d_s_pu.c d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c t_req.c t_x509.c t_pkey.c p7_i_s.c p7_signi.c p7_signd.c p7_recip.c p7_enc_c.c p7_evp.c p7_dgst.c p7_s_e.c p7_enc.c p7_lib.c f_int.c f_string.c i2d_dhp.c i2d_dsap.c d2i_dhp.c d2i_dsap.c n_pkey.c a_hdr.c x_pkey.c a_bool.c x_exten.c asn1_par.c asn1_lib.c asn1_err.c a_meth.c a_bytes.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=a_object.c a_bitstr.c a_utctm.c a_int.c a_octet.c a_print.c a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c a_bmp.c a_sign.c a_digest.c a_verify.c x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c x_name.c x_cinf.c x_x509.c x_crl.c x_info.c x_spki.c d2i_r_pr.c i2d_r_pr.c d2i_r_pu.c i2d_r_pu.c d2i_s_pr.c i2d_s_pr.c d2i_s_pu.c i2d_s_pu.c d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c t_req.c t_x509.c t_pkey.c p7_i_s.c p7_signi.c p7_signd.c p7_recip.c p7_enc_c.c p7_evp.c p7_dgst.c p7_s_e.c p7_enc.c p7_lib.c f_int.c f_string.c i2d_dhp.c i2d_dsap.c d2i_dhp.c d2i_dsap.c n_pkey.c a_hdr.c x_pkey.c a_bool.c x_exten.c asn1_par.c asn1_lib.c asn1_err.c a_meth.c a_bytes.c evp_asn1.c
|
||||
SRC=a_object.c a_bitstr.c a_utctm.c a_int.c a_octet.c a_print.c a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c a_sign.c a_digest.c a_verify.c x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c x_name.c x_cinf.c x_x509.c x_crl.c x_info.c x_spki.c d2i_r_pr.c i2d_r_pr.c d2i_r_pu.c i2d_r_pu.c d2i_s_pr.c i2d_s_pr.c d2i_s_pu.c i2d_s_pu.c d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c t_req.c t_x509.c t_pkey.c p7_i_s.c p7_signi.c p7_signd.c p7_recip.c p7_enc_c.c p7_evp.c p7_dgst.c p7_s_e.c p7_enc.c p7_lib.c f_int.c f_string.c i2d_dhp.c i2d_dsap.c d2i_dhp.c d2i_dsap.c n_pkey.c a_hdr.c x_pkey.c a_bool.c x_exten.c asn1_par.c asn1_lib.c asn1_err.c a_meth.c a_bytes.c
|
||||
TEST=
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
@@ -821,58 +687,8 @@ SRC=pk7_lib.c pkcs7err.c pk7_doit.c
|
||||
TEST=
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/proxy
|
||||
ALL=Makefile proxy.c pxy_txt.c bf_proxy.c pxy_conf.c pxy_err.c proxy.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS=-I.. -I../../include -g
|
||||
DIR=proxy
|
||||
ERR=proxy
|
||||
ERRC=pxy_err
|
||||
EXHEADER=proxy.h
|
||||
GENERAL=Makefile
|
||||
HEADER=proxy.h
|
||||
INCLUDES=-I.. -I../../include
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=proxy.o pxy_txt.o bf_proxy.o pxy_conf.o pxy_err.o
|
||||
LIBSRC=proxy.c pxy_txt.c bf_proxy.c pxy_conf.c pxy_err.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=proxy.c pxy_txt.c bf_proxy.c pxy_conf.c pxy_err.c
|
||||
TEST=
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=crypto/comp
|
||||
ALL=Makefile comp_lib.c c_rle.c c_zlib.c comp.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS=-I.. -I../../include -g
|
||||
DIR=comp
|
||||
ERR=comp
|
||||
ERRC=comp_err
|
||||
EXHEADER=comp.h
|
||||
GENERAL=Makefile
|
||||
HEADER=comp.h
|
||||
INCLUDES=-I.. -I../../include
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../../libcrypto.a
|
||||
LIBOBJ=comp_lib.o c_rle.o c_zlib.o
|
||||
LIBSRC=comp_lib.c c_rle.c c_zlib.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=comp_lib.c c_rle.c c_zlib.c
|
||||
TEST=
|
||||
TOP=../..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=ssl
|
||||
ALL=Makefile README s2_meth.c s2_srvr.c s2_clnt.c s2_lib.c s2_enc.c s2_pkt.c s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_enc.c s3_pkt.c s3_both.c s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c t1_meth.c t1_srvr.c t1_clnt.c t1_lib.c t1_enc.c ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c ssl_ciph.c ssl_stat.c ssl_rsa.c ssl_asn1.c ssl_txt.c ssl_algs.c bio_ssl.c pxy_ssl.c ssl_err.c ssl.h ssl2.h ssl3.h ssl23.h tls1.h ssl_locl.h
|
||||
ALL=Makefile README s2_meth.c s2_srvr.c s2_clnt.c s2_lib.c s2_pkt.c s2_enc.c s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_pkt.c s3_enc.c s3_both.c s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c ssl_ciph.c ssl_stat.c ssl_rsa.c ssl_asn1.c ssl_txt.c ssl_algs.c bio_ssl.c ssl_err.c ssl.h ssl2.h ssl3.h ssl23.h ssl_locl.h
|
||||
APPS=
|
||||
AR=ar r
|
||||
CC=cc
|
||||
@@ -881,18 +697,18 @@ CFLAGS=-I../crypto -I../include -g
|
||||
DIR=ssl
|
||||
ERR=ssl
|
||||
ERRC=ssl_err
|
||||
EXHEADER=ssl.h ssl2.h ssl3.h ssl23.h tls1.h
|
||||
EXHEADER=ssl.h ssl2.h ssl3.h ssl23.h
|
||||
GENERAL=Makefile README
|
||||
HEADER=ssl.h ssl2.h ssl3.h ssl23.h tls1.h ssl_locl.h
|
||||
HEADER=ssl.h ssl2.h ssl3.h ssl23.h ssl_locl.h
|
||||
INCLUDES=-I../crypto -I../include
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
LIB=../libssl.a
|
||||
LIBOBJ=s2_meth.o s2_srvr.o s2_clnt.o s2_lib.o s2_enc.o s2_pkt.o s3_meth.o s3_srvr.o s3_clnt.o s3_lib.o s3_enc.o s3_pkt.o s3_both.o s23_meth.o s23_srvr.o s23_clnt.o s23_lib.o s23_pkt.o t1_meth.o t1_srvr.o t1_clnt.o t1_lib.o t1_enc.o ssl_lib.o ssl_err2.o ssl_cert.o ssl_sess.o ssl_ciph.o ssl_stat.o ssl_rsa.o ssl_asn1.o ssl_txt.o ssl_algs.o bio_ssl.o pxy_ssl.o ssl_err.o
|
||||
LIBSRC=s2_meth.c s2_srvr.c s2_clnt.c s2_lib.c s2_enc.c s2_pkt.c s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_enc.c s3_pkt.c s3_both.c s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c t1_meth.c t1_srvr.c t1_clnt.c t1_lib.c t1_enc.c ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c ssl_ciph.c ssl_stat.c ssl_rsa.c ssl_asn1.c ssl_txt.c ssl_algs.c bio_ssl.c pxy_ssl.c ssl_err.c
|
||||
LIBOBJ=s2_meth.o s2_srvr.o s2_clnt.o s2_lib.o s2_pkt.o s2_enc.o s3_meth.o s3_srvr.o s3_clnt.o s3_lib.o s3_pkt.o s3_enc.o s3_both.o s23_meth.o s23_srvr.o s23_clnt.o s23_lib.o s23_pkt.o ssl_lib.o ssl_err2.o ssl_cert.o ssl_sess.o ssl_ciph.o ssl_stat.o ssl_rsa.o ssl_asn1.o ssl_txt.o ssl_algs.o bio_ssl.o ssl_err.o
|
||||
LIBSRC=s2_meth.c s2_srvr.c s2_clnt.c s2_lib.c s2_pkt.c s2_enc.c s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_pkt.c s3_enc.c s3_both.c s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c ssl_ciph.c ssl_stat.c ssl_rsa.c ssl_asn1.c ssl_txt.c ssl_algs.c bio_ssl.c ssl_err.c
|
||||
MAKE=make -f Makefile.ssl
|
||||
MAKEDEPEND=makedepend -f Makefile.ssl
|
||||
MAKEFILE=Makefile.ssl
|
||||
SRC=s2_meth.c s2_srvr.c s2_clnt.c s2_lib.c s2_enc.c s2_pkt.c s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_enc.c s3_pkt.c s3_both.c s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c t1_meth.c t1_srvr.c t1_clnt.c t1_lib.c t1_enc.c ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c ssl_ciph.c ssl_stat.c ssl_rsa.c ssl_asn1.c ssl_txt.c ssl_algs.c bio_ssl.c pxy_ssl.c ssl_err.c
|
||||
SRC=s2_meth.c s2_srvr.c s2_clnt.c s2_lib.c s2_pkt.c s2_enc.c s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_pkt.c s3_enc.c s3_both.c s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c ssl_ciph.c ssl_stat.c ssl_rsa.c ssl_asn1.c ssl_txt.c ssl_algs.c bio_ssl.c ssl_err.c
|
||||
TEST=ssltest.c
|
||||
TOP=..
|
||||
RELATIVE_DIRECTORY=
|
||||
@@ -922,7 +738,7 @@ TEST=
|
||||
TOP=..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=apps
|
||||
ALL=Makefile verify.c asn1pars.c req.c dgst.c dh.c enc.c gendh.c errstr.c ca.c pkcs7.c crl2p7.c crl.c rsa.c dsa.c dsaparam.c x509.c genrsa.c s_server.c s_client.c speed.c s_time.c apps.c s_cb.c s_socket.c bf_perm.c version.c sess_id.c ciphers.c apps.h progs.h s_apps.h testdsa.h testrsa.h
|
||||
ALL=Makefile verify.c asn1pars.c req.c dgst.c dh.c enc.c gendh.c errstr.c ca.c gendsa.c pkcs7.c crl2p7.c crl.c rsa.c dsa.c dsaparam.c x509.c genrsa.c s_server.c s_client.c speed.c s_time.c apps.c s_cb.c s_socket.c version.c sess_id.c ciphers.c apps.h progs.h s_apps.h testdsa.h testrsa.h
|
||||
A_OBJ=apps.o
|
||||
A_SRC=apps.c
|
||||
CC=cc
|
||||
@@ -934,9 +750,9 @@ DLIBSSL=../libssl.a
|
||||
EXE=ssleay
|
||||
EXHEADER=
|
||||
EX_LIBS=
|
||||
E_EXE=verify asn1pars req dgst dh enc gendh errstr ca crl rsa dsa dsaparam x509 genrsa s_server s_client speed s_time version pkcs7 crl2pkcs7 sess_id ciphers
|
||||
E_OBJ=verify.o asn1pars.o req.o dgst.o dh.o enc.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o rsa.o dsa.o dsaparam.o x509.o genrsa.o s_server.o s_client.o s_ speed.o s_time.o apps.o s_cb.o s_socket.o bf_perm.o version.o sess_id.o ciphers.o
|
||||
E_SRC=verify.c asn1pars.c req.c dgst.c dh.c enc.c gendh.c errstr.c ca.c pkcs7.c crl2p7.c crl.c rsa.c dsa.c dsaparam.c x509.c genrsa.c s_server.c s_client.c speed.c s_time.c apps.c s_cb.c s_socket.c bf_perm.c version.c sess_id.c ciphers.c
|
||||
E_EXE=verify asn1pars req dgst dh enc gendh gendsa errstr ca crl rsa dsa dsaparam x509 genrsa s_server s_client speed s_time version pkcs7 crl2pkcs7 sess_id ciphers
|
||||
E_OBJ=verify.o asn1pars.o req.o dgst.o dh.o enc.o gendh.o errstr.o ca.o gendsa.o pkcs7.o crl2p7.o crl.o rsa.o dsa.o dsaparam.o x509.o genrsa.o s_server.o s_client.o speed.o s_time.o apps.o s_cb.o s_socket.o version.o sess_id.o ciphers.o
|
||||
E_SRC=verify.c asn1pars.c req.c dgst.c dh.c enc.c gendh.c errstr.c ca.c gendsa.c pkcs7.c crl2p7.c crl.c rsa.c dsa.c dsaparam.c x509.c genrsa.c s_server.c s_client.c speed.c s_time.c apps.c s_cb.c s_socket.c version.c sess_id.c ciphers.c
|
||||
GENERAL=Makefile
|
||||
HEADER=apps.h progs.h s_apps.h testdsa.h testrsa.h
|
||||
INCLUDES=-I../include
|
||||
@@ -950,17 +766,16 @@ PEX_LIBS=
|
||||
PROGS=ssleay.c
|
||||
RM=/bin/rm -f
|
||||
SCRIPTS=CA.sh der_chop
|
||||
SRC=verify.c asn1pars.c req.c dgst.c dh.c enc.c gendh.c errstr.c ca.c pkcs7.c crl2p7.c crl.c rsa.c dsa.c dsaparam.c x509.c genrsa.c s_server.c s_client.c speed.c s_time.c apps.c s_cb.c s_socket.c bf_perm.c version.c sess_id.c ciphers.c
|
||||
SRC=verify.c asn1pars.c req.c dgst.c dh.c enc.c gendh.c errstr.c ca.c gendsa.c pkcs7.c crl2p7.c crl.c rsa.c dsa.c dsaparam.c x509.c genrsa.c s_server.c s_client.c speed.c s_time.c apps.c s_cb.c s_socket.c version.c sess_id.c ciphers.c
|
||||
SSLEAY=ssleay
|
||||
S_OBJ=s_cb.o s_socket.o bf_perm.o
|
||||
S_SRC=s_cb.c s_socket.c bf_perm.c
|
||||
S_OBJ=s_cb.o s_socket.o
|
||||
S_SRC=s_cb.c s_socket.c
|
||||
TOP=..
|
||||
RELATIVE_DIRECTORY=
|
||||
RELATIVE_DIRECTORY=test
|
||||
ALL=Makefile.ssl bntest.c ideatest.c md2test.c md5test.c hmactest.c rc2test.c rc4test.c rc5test.c destest.c shatest.c sha1test.c mdc2test.c rmdtest.c randtest.c dhtest.c casttest.c bftest.c ssltest.c dsatest.c exptest.c
|
||||
ALL=Makefile.ssl bntest.c ideatest.c md2test.c md5test.c rc4test.c destest.c shatest.c sha1test.c mdc2test.c randtest.c dhtest.c rc2test.c bftest.c ssltest.c dsatest.c exptest.c
|
||||
BFTEST=bftest
|
||||
BNTEST=bntest
|
||||
CASTTEST=casttest
|
||||
CC=cc
|
||||
CFLAG=-g
|
||||
CFLAGS=-I../include -g
|
||||
@@ -970,13 +785,12 @@ DIR=test
|
||||
DLIBCRYPTO=../libcrypto.a
|
||||
DLIBSSL=../libssl.a
|
||||
DSATEST=dsatest
|
||||
EXE=bntest ideatest md2test md5test hmactest rc2test rc4test rc5test destest shatest sha1test mdc2test rmdtest randtest dhtest bftest casttest ssltest exptest dsatest
|
||||
EXE=bntest ideatest md2test md5test rc4test destest shatest sha1test mdc2test randtest dhtest rc2test bftest ssltest exptest dsatest
|
||||
EXHEADER=
|
||||
EXPTEST=exptest
|
||||
EX_LIBS=
|
||||
EX_LIBS=-lnsl -lsocket
|
||||
GENERAL=Makefile.ssl
|
||||
HEADER=
|
||||
HMACTEST=hmactest
|
||||
IDEATEST=ideatest
|
||||
INCLUDES=-I../include
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
@@ -989,16 +803,14 @@ MD2TEST=md2test
|
||||
MD5TEST=md5test
|
||||
MDC2TEST=mdc2test
|
||||
METHTEST=methtest
|
||||
OBJ=bntest.o ideatest.o md2test.o md5test.o hmactest.o rc2test.o rc4test.o rc5test.o destest.o shatest.o sha1test.o mdc2test.o rmdtest.o randtest.o dhtest.o casttest.o bftest.o ssltest.o dsatest.o exptest.o
|
||||
OBJ=bntest.o ideatest.o md2test.o md5test.o rc4test.o destest.o shatest.o sha1test.o mdc2test.o randtest.o dhtest.o rc2test.o bftest.o ssltest.o dsatest.o exptest.o
|
||||
PEX_LIBS=
|
||||
RANDTEST=randtest
|
||||
RC2TEST=rc2test
|
||||
RC4TEST=rc4test
|
||||
RC5TEST=rc5test
|
||||
RMDTEST=rmdtest
|
||||
SHA1TEST=sha1test
|
||||
SHATEST=shatest
|
||||
SRC=bntest.c ideatest.c md2test.c md5test.c hmactest.c rc2test.c rc4test.c rc5test.c destest.c shatest.c sha1test.c mdc2test.c rmdtest.c randtest.c dhtest.c casttest.c bftest.c ssltest.c dsatest.c exptest.c
|
||||
SRC=bntest.c ideatest.c md2test.c md5test.c rc4test.c destest.c shatest.c sha1test.c mdc2test.c randtest.c dhtest.c rc2test.c bftest.c ssltest.c dsatest.c exptest.c
|
||||
SSLTEST=ssltest
|
||||
TOP=..
|
||||
RELATIVE_DIRECTORY=
|
||||
|
||||
198
Makefile.ssl
198
Makefile.ssl
@@ -1,7 +1,6 @@
|
||||
#
|
||||
# Makefile for all the SSL related library routines and utilities
|
||||
VERSION = 0.9.1b
|
||||
PLATFORM=debug
|
||||
VERSION = 0.8.1a
|
||||
#
|
||||
# make install will install:
|
||||
# libraries into $INSTALLTOP/lib
|
||||
@@ -22,9 +21,9 @@ PLATFORM=debug
|
||||
#
|
||||
# If you must get hold of people directly (we much prefer the above
|
||||
# lists to be used if the question is of general interest!):
|
||||
# Eric Young <eay@cryptsoft.com>
|
||||
# Tim Hudson <tjh@cryptsoft.com>
|
||||
# or both <ssleay@cryptsoft.com>
|
||||
# Eric Young <eay@cryptsoft.com>
|
||||
# Tim Hudson <tjh@cryptsoft.com>
|
||||
# or both <ssleay@cryptsoft.com>
|
||||
#
|
||||
# The primary distribution of SSLeay is from
|
||||
# ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL
|
||||
@@ -36,178 +35,119 @@ PLATFORM=debug
|
||||
# NO_RC4 - Define to build without the RC4 algorithm
|
||||
# NO_RC2 - Define to build without the RC2 algorithm
|
||||
# THREADS - Define when building with threads, you will probably also need any
|
||||
# system defines as well, i.e. _REENTERANT for Solaris 2.[34]
|
||||
# system defines as well, i.e. _REENTERANT for Solaris 2.[34]
|
||||
# TERMIO - Define the termio terminal subsystem, needed if sgtty is missing.
|
||||
# TERMIOS - Define the termios terminal subsystem, Silicon Graphics.
|
||||
# LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3).
|
||||
# DEVRANDOM - Give this the value of the 'random device' if your OS supports
|
||||
# one. 32 bytes will be read from this when the random
|
||||
# number generator is initalised.
|
||||
# one. 32 bytes will be read from this when the random
|
||||
# number generator is initalised.
|
||||
# SSL_ALLOW_ADH - define if you want the server to be able to use the
|
||||
# SSLv3 anon-DH ciphers.
|
||||
# SSLv3 anon-DH ciphers.
|
||||
# SSL_ALLOW_ENULL - define if you want the server to be able to use the
|
||||
# NULL encryption ciphers.
|
||||
# NULL encryption ciphers.
|
||||
#
|
||||
# LOCK_DEBUG - turns on lots of lock debug output :-)
|
||||
# REF_CHECK - turn on some xyz_free() assertions.
|
||||
# REF_PRINT - prints some stuff on structure free.
|
||||
# CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff
|
||||
# MFUNC - Make all Malloc/Free/Realloc calls call
|
||||
# CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to
|
||||
# call application defined callbacks via CRYPTO_set_mem_functions()
|
||||
# MD5_ASM needs to be defined to use the x86 assembler for MD5
|
||||
# SHA1_ASM needs to be defined to use the x86 assembler for SHA1
|
||||
# RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160
|
||||
# Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must
|
||||
# equal 4.
|
||||
# PKCS1_CHECK - pkcs1 tests.
|
||||
# CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to
|
||||
# call application defined callbacks via CRYPTO_set_mem_functions()
|
||||
|
||||
CC= gcc
|
||||
#CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
|
||||
CFLAG= -DBN_DEBUG -DREF_CHECK -DCRYPTO_MDEBUG -ggdb -g2 -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror
|
||||
|
||||
CC= cc
|
||||
CFLAG= -O -DNOPROTO
|
||||
#CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized
|
||||
PEX_LIBS= -L. -L.. -L../.. -L../../..
|
||||
EX_LIBS= -lefence
|
||||
EX_LIBS=
|
||||
#EX_LIBS= #-lRSAglue -lrsaref -lnsl -lsocket
|
||||
AR=ar r
|
||||
|
||||
# Set BN_ASM to bn_asm.o if you want to use the C version
|
||||
BN_ASM= bn_asm.o
|
||||
#BN_ASM= bn_asm.o
|
||||
#BN_ASM= asm/bn86-elf.o # elf, linux-elf
|
||||
#BN_ASM= asm/bn86-sol.o # solaris
|
||||
#BN_ASM= asm/bn86-out.o # a.out, FreeBSD
|
||||
#BN_ASM= asm/bn86bsdi.o # bsdi
|
||||
#BN_ASM= asm/alpha.o # DEC Alpha
|
||||
#BN_ASM= asm/pa-risc2.o # HP-UX PA-RISC
|
||||
#BN_ASM= asm/r3000.o # SGI MIPS cpu
|
||||
#BN_ASM= asm/sparc.o # Sun solaris/SunOS
|
||||
#BN_ASM= asm/bn-win32.o # Windows 95/NT
|
||||
#BN_ASM= asm/x86w16.o # 16 bit code for Windows 3.1/DOS
|
||||
#BN_ASM= asm/x86w32.o # 32 bit code for Windows 3.1
|
||||
# Set BN_MULW to bn_mulw.o if you want to use the C version
|
||||
#BN_MULW= asm/x86-lnx.o
|
||||
BN_MULW= bn_mulw.o
|
||||
#BN_MULW= asm/x86-lnx.o # elf
|
||||
#BN_MULW= asm/x86-sol.o # solaris
|
||||
#BN_MULW= asm/x86-lnxa.o # a.out, FreeBSD
|
||||
#BN_MULW= asm/x86-bsdi.o # bsdi
|
||||
#BN_MULW= asm/alpha.o # DEC Alpha
|
||||
#BN_MULW= asm/pa-risc2.o # HP-UX PA-RISC
|
||||
#BN_MULW= asm/r3000.o # SGI MIPS cpu
|
||||
#BN_MULW= asm/sparc.o # Sun solaris/SunOS
|
||||
#BN_MULW= asm/x86nt32.o # Windows 95/NT
|
||||
#BN_MULW= asm/x86w16.o # 16 bit code for Windows 3.1/DOS
|
||||
#BN_MULW= asm/x86w32.o # 32 bit code for Windows 3.1
|
||||
|
||||
# Set DES_ENC to des_enc.o if you want to use the C version
|
||||
#There are 4 x86 assember options.
|
||||
DES_ENC= des_enc.o fcrypt_b.o
|
||||
#DES_ENC= des_enc.o fcrypt_b.o # C
|
||||
#DES_ENC= asm/dx86-elf.o asm/yx86-elf.o # elf
|
||||
#DES_ENC= asm/dx86-sol.o asm/yx86-sol.o # solaris
|
||||
#DES_ENC= asm/dx86-out.o asm/yx86-out.o # a.out, FreeBSD
|
||||
#DES_ENC= asm/dx86bsdi.o asm/yx86bsdi.o # bsdi
|
||||
#DES_ENC= des_enc.o fcrypt_b.o # C
|
||||
#DES_ENC= asm/dx86-elf.o asm/cx86-elf.o # elf
|
||||
#DES_ENC= asm/dx86-sol.o asm/cx86-sol.o # solaris
|
||||
#DES_ENC= asm/dx86-out.o asm/cx86-out.o # a.out, FreeBSD
|
||||
#DES_ENC= asm/dx86bsdi.o asm/cx86bsdi.o # bsdi
|
||||
|
||||
# Set BF_ENC to bf_enc.o if you want to use the C version
|
||||
#There are 4 x86 assember options.
|
||||
BF_ENC= bf_enc.o
|
||||
#BF_ENC= bf_enc.o
|
||||
#BF_ENC= bf_enc.o # C
|
||||
#BF_ENC= asm/bx86-elf.o # elf
|
||||
#BF_ENC= asm/bx86-sol.o # solaris
|
||||
#BF_ENC= asm/bx86-out.o # a.out, FreeBSD
|
||||
#BF_ENC= asm/bx86bsdi.o # bsdi
|
||||
#BF_ENC= asm/bx86-sol.o # solaris
|
||||
#BF_ENC= asm/bx86-out.o # a.out, FreeBSD
|
||||
#BF_ENC= asm/bx86bsdi.o # bsdi
|
||||
|
||||
# Set CAST_ENC to c_enc.o if you want to use the C version
|
||||
#There are 4 x86 assember options.
|
||||
CAST_ENC= c_enc.o
|
||||
#CAST_ENC= c_enc.o
|
||||
#CAST_ENC= asm/cx86-elf.o # elf
|
||||
#CAST_ENC= asm/cx86-sol.o # solaris
|
||||
#CAST_ENC= asm/cx86-out.o # a.out, FreeBSD
|
||||
#CAST_ENC= asm/cx86bsdi.o # bsdi
|
||||
|
||||
# Set RC4_ENC to rc4_enc.o if you want to use the C version
|
||||
#There are 4 x86 assember options.
|
||||
RC4_ENC= rc4_enc.o
|
||||
#RC4_ENC= rc4_enc.o
|
||||
#RC4_ENC= asm/rx86-elf.o # elf
|
||||
#RC4_ENC= asm/rx86-sol.o # solaris
|
||||
#RC4_ENC= asm/rx86-out.o # a.out, FreeBSD
|
||||
#RC4_ENC= asm/rx86bsdi.o # bsdi
|
||||
|
||||
# Set RC5_ENC to rc5_enc.o if you want to use the C version
|
||||
#There are 4 x86 assember options.
|
||||
RC5_ENC= rc5_enc.o
|
||||
#RC5_ENC= rc5_enc.o
|
||||
#RC5_ENC= asm/r586-elf.o # elf
|
||||
#RC5_ENC= asm/r586-sol.o # solaris
|
||||
#RC5_ENC= asm/r586-out.o # a.out, FreeBSD
|
||||
#RC5_ENC= asm/r586bsdi.o # bsdi
|
||||
|
||||
# Also need MD5_ASM defined
|
||||
MD5_ASM_OBJ=
|
||||
#MD5_ASM_OBJ= asm/mx86-elf.o # elf
|
||||
#MD5_ASM_OBJ= asm/mx86-sol.o # solaris
|
||||
#MD5_ASM_OBJ= asm/mx86-out.o # a.out, FreeBSD
|
||||
#MD5_ASM_OBJ= asm/mx86bsdi.o # bsdi
|
||||
|
||||
# Also need SHA1_ASM defined
|
||||
SHA1_ASM_OBJ=
|
||||
#SHA1_ASM_OBJ= asm/sx86-elf.o # elf
|
||||
#SHA1_ASM_OBJ= asm/sx86-sol.o # solaris
|
||||
#SHA1_ASM_OBJ= asm/sx86-out.o # a.out, FreeBSD
|
||||
#SHA1_ASM_OBJ= asm/sx86bsdi.o # bsdi
|
||||
|
||||
# Also need RMD160_ASM defined
|
||||
RMD160_ASM_OBJ=
|
||||
#RMD160_ASM_OBJ= asm/rm86-elf.o # elf
|
||||
#RMD160_ASM_OBJ= asm/rm86-sol.o # solaris
|
||||
#RMD160_ASM_OBJ= asm/rm86-out.o # a.out, FreeBSD
|
||||
#RMD160_ASM_OBJ= asm/rm86bsdi.o # bsdi
|
||||
|
||||
DIRS= crypto ssl rsaref apps test tools
|
||||
DIRS= crypto ssl rsaref apps test tools
|
||||
# dirs in crypto to build
|
||||
SDIRS= \
|
||||
md2 md5 sha mdc2 hmac ripemd \
|
||||
des rc2 rc4 rc5 idea bf cast \
|
||||
bn rsa dsa dh \
|
||||
md sha mdc2 des rc4 rc2 idea bf bn rsa dsa dh \
|
||||
buffer bio stack lhash rand err objects \
|
||||
evp pem asn1 x509 conf txt_db pkcs7 comp
|
||||
evp pem asn1 x509 conf txt_db pkcs7
|
||||
|
||||
# If you change the INSTALLTOP, make sure to also change the values
|
||||
# in crypto/location.h
|
||||
INSTALLTOP=/usr/local/ssl
|
||||
|
||||
MAKEFILE= Makefile.ssl
|
||||
MAKE= make -f Makefile.ssl
|
||||
MAKE= make -f Makefile.ssl
|
||||
|
||||
MAN1=1
|
||||
MAN3=3
|
||||
SHELL=/bin/sh
|
||||
|
||||
TOP= .
|
||||
TOP= .
|
||||
ONEDIRS=out tmp
|
||||
EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep
|
||||
MISC= COPYRIGHT Configure HISTORY.090 HISTORY.066 INSTALL Makefile.ssl \
|
||||
Makefile \
|
||||
README TODO HISTORY README.066 README.080 README.090 \
|
||||
EDIRS= times doc bugs util include certs ms shlib mt demos
|
||||
MISC= COPYRIGHT Configure HISTORY.066 INSTALL Makefile.ssl Makefile \
|
||||
README TODO HISTORY README.066 README.080 \
|
||||
VERSION PROBLEMS MINFO makefile.one e_os.h \
|
||||
MICROSOFT makevms.com config PATENTS
|
||||
WDIRS= windows
|
||||
LIBS= libcrypto.a libssl.a
|
||||
MICROSOFT makevms.com
|
||||
WDIRS= windows
|
||||
LIBS= libcrypto.a libssl.a
|
||||
|
||||
GENERAL= Makefile
|
||||
BASENAME= SSLeay
|
||||
NAME= $(BASENAME)-$(VERSION)
|
||||
TARFILE= $(NAME).tar
|
||||
WTARFILE= $(NAME)-win.tar
|
||||
EXHEADER= e_os.h
|
||||
HEADER= e_os.h
|
||||
GENERAL= Makefile
|
||||
BASENAME= SSLeay
|
||||
NAME= $(BASENAME)-$(VERSION)
|
||||
TARFILE= $(NAME).tar
|
||||
WTARFILE= $(NAME)-win.tar
|
||||
EX_HEADER=
|
||||
HEADER= e_os.h
|
||||
|
||||
all:
|
||||
@for i in $(DIRS) ;\
|
||||
do \
|
||||
(cd $$i; echo "making $$i..."; \
|
||||
$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' SDIRS='${SDIRS}' AR='${AR}' all ); \
|
||||
$(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_MULW='${BN_MULW}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' SDIRS='${SDIRS}' AR='${AR}' all ); \
|
||||
done;
|
||||
|
||||
sub_all:
|
||||
@for i in $(DIRS) ;\
|
||||
do \
|
||||
(cd $$i; echo "making $$i..."; \
|
||||
$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' all ); \
|
||||
$(MAKE) CC='${CC}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_MULW='${BN_MULW}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' AR='${AR}' all ); \
|
||||
done;
|
||||
|
||||
libclean:
|
||||
/bin/rm *.a */lib */*/lib
|
||||
|
||||
clean:
|
||||
/bin/rm -f shlib/*.o *.o core a.out fluff *.map
|
||||
/bin/rm -f *.o core a.out fluff *.map
|
||||
@for i in $(DIRS) ;\
|
||||
do \
|
||||
(cd $$i; echo "cleaning $$i..."; \
|
||||
@@ -218,14 +158,14 @@ clean:
|
||||
/bin/rm -f $(TARFILE)
|
||||
@for i in $(ONEDIRS) ;\
|
||||
do \
|
||||
/bin/rm -fr $$i/*; \
|
||||
/bin/rm -f $$i/*; \
|
||||
done
|
||||
|
||||
makefile.one: files
|
||||
perl util/mk1mf.pl >makefile.one; \
|
||||
sh util/do_ms.sh
|
||||
|
||||
files: MINFO
|
||||
files: MINFO
|
||||
perl $(TOP)/util/files.pl Makefile.ssl > $(TOP)/MINFO
|
||||
@for i in $(DIRS) ;\
|
||||
do \
|
||||
@@ -236,14 +176,13 @@ files: MINFO
|
||||
links:
|
||||
/bin/rm -f Makefile;
|
||||
./util/point.sh Makefile.ssl Makefile;
|
||||
$(TOP)/util/mklink.sh include $(EXHEADER) ;
|
||||
@for i in $(DIRS) ;\
|
||||
do \
|
||||
(cd $$i; echo "making links in $$i..."; \
|
||||
$(MAKE) SDIRS='${SDIRS}' links ); \
|
||||
done;
|
||||
# @(cd apps; sh ./mklinks)
|
||||
@( SSLEAY="`pwd`/apps/ssleay"; export SSLEAY; sh tools/c_rehash certs )
|
||||
sh tools/c_rehash certs
|
||||
|
||||
dclean:
|
||||
/bin/rm -f *.bak
|
||||
@@ -256,11 +195,11 @@ dclean:
|
||||
rehash:
|
||||
@(PATH="`pwd`/apps:${PATH}"; sh tools/c_rehash certs)
|
||||
|
||||
test: tests
|
||||
test: tests
|
||||
|
||||
tests:
|
||||
(cd test; echo "testing $$i..."; \
|
||||
$(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SDIRS='${SDIRS}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' tests );
|
||||
$(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_MULW='${BN_MULW}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' SDIRS='${SDIRS}' AR='${AR}' tests );
|
||||
@apps/ssleay version -a
|
||||
|
||||
depend:
|
||||
@@ -303,9 +242,8 @@ tar:
|
||||
mv $(NAME) $(BASENAME) )
|
||||
gzip -f $(TARFILE)
|
||||
|
||||
dist:
|
||||
dist:
|
||||
perl Configure dist
|
||||
perl util/up_ver.pl ${VERSION}
|
||||
@$(MAKE) dist_pem_h
|
||||
@$(MAKE) SDIRS='${SDIRS}' clean
|
||||
@$(MAKE) SDIRS='${SDIRS}' dclean
|
||||
@@ -329,7 +267,7 @@ install: all
|
||||
done
|
||||
@for i in $(LIBS) ;\
|
||||
do \
|
||||
( echo installing $$i; \
|
||||
( echo installing $$i; \
|
||||
cp $$i $(INSTALLTOP)/lib; \
|
||||
sh util/ranlib.sh $(INSTALLTOP)/lib/$$i; \
|
||||
chmod 644 $(INSTALLTOP)/lib/$$i ); \
|
||||
|
||||
13
PATENTS
13
PATENTS
@@ -1,13 +0,0 @@
|
||||
RSA Data Security holds software patents on the RSA and RC5 algorithms.
|
||||
If there ciphers are used used inside the USA (and Japan?), you must contact
|
||||
RSA Data Security for licencing conditions. Their web page is
|
||||
http://www.rsa.com
|
||||
|
||||
RC4 is a trademark of RSA Data Security, so use of this label should perhaps
|
||||
only me used with RSA Data Security's permission.
|
||||
|
||||
The IDEA algorithm is patented by Ascom in Austria, France, Germany,
|
||||
Italy, Japan, Netherlands, Spain, Sweden, Switzerland, UK and the USA.
|
||||
They should be contacted if that algorithm is to be used, their web page is
|
||||
http://www.ascom.ch
|
||||
|
||||
2
README
2
README
@@ -1,4 +1,4 @@
|
||||
SSLeay 0.9.1a 06-Jul-1998
|
||||
SSLeay 0.8.1b 29-Jun-1998
|
||||
Copyright (c) 1997, Eric Young
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
10-Apr-1998
|
||||
I said the next version would go out at easter, and so it shall.
|
||||
I expect a 0.9.1 will follow with portability fixes in the next few weeks.
|
||||
|
||||
This is a quick, meet the deadline. Look to ssl-users for comments on what
|
||||
is new etc.
|
||||
|
||||
eric (about to go bushwalking for the 4 day easter break :-)
|
||||
@@ -31,7 +31,7 @@ SCRIPTS=CA.sh der_chop
|
||||
|
||||
EXE= $(SSLEAY)
|
||||
|
||||
E_EXE= verify asn1pars req dgst dh enc gendh errstr ca crl \
|
||||
E_EXE= verify asn1pars req dgst dh enc gendh gendsa errstr ca crl \
|
||||
rsa dsa dsaparam \
|
||||
x509 genrsa s_server s_client speed \
|
||||
s_time version pkcs7 crl2pkcs7 sess_id ciphers
|
||||
@@ -44,7 +44,7 @@ S_OBJ= s_cb.o s_socket.o
|
||||
S_SRC= s_cb.c s_socket.c
|
||||
|
||||
E_OBJ= verify.o asn1pars.o req.o dgst.o dh.o enc.o gendh.o errstr.o ca.o \
|
||||
pkcs7.o crl2p7.o crl.o \
|
||||
gendsa.o pkcs7.o crl2p7.o crl.o \
|
||||
rsa.o dsa.o dsaparam.o \
|
||||
x509.o genrsa.o s_server.o s_client.o speed.o \
|
||||
s_time.o $(A_OBJ) $(S_OBJ) version.o sess_id.o \
|
||||
@@ -53,7 +53,7 @@ E_OBJ= verify.o asn1pars.o req.o dgst.o dh.o enc.o gendh.o errstr.o ca.o \
|
||||
# pem_mail.o
|
||||
|
||||
E_SRC= verify.c asn1pars.c req.c dgst.c dh.c enc.c gendh.c errstr.c ca.c \
|
||||
pkcs7.c crl2p7.c crl.c \
|
||||
gendsa.c pkcs7.c crl2p7.c crl.c \
|
||||
rsa.c dsa.c dsaparam.c \
|
||||
x509.c genrsa.c s_server.c s_client.c speed.c \
|
||||
s_time.c $(A_SRC) $(S_SRC) version.c sess_id.c \
|
||||
|
||||
11
apps/apps.c
11
apps/apps.c
@@ -1,5 +1,5 @@
|
||||
/* apps/apps.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -65,8 +65,13 @@
|
||||
#include "apps.h"
|
||||
#undef NON_MAIN
|
||||
|
||||
#ifdef WINDOWS
|
||||
# include "bss_file.c"
|
||||
#ifdef WIN16
|
||||
#define APPS_WIN16
|
||||
#ifdef FLAT_BUILD
|
||||
#include "bss_file.c"
|
||||
#else
|
||||
#include "../crypto/bio/bss_file.c"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef NOPROTO
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/apps.h */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -59,14 +59,18 @@
|
||||
#ifndef HEADER_APPS_H
|
||||
#define HEADER_APPS_H
|
||||
|
||||
#ifdef FLAT_INC
|
||||
#include "e_os.h"
|
||||
#else
|
||||
#include "../e_os.h"
|
||||
#endif
|
||||
|
||||
#include "buffer.h"
|
||||
#include "bio.h"
|
||||
#include "crypto.h"
|
||||
#include "progs.h"
|
||||
|
||||
#ifdef NO_STDIO
|
||||
#ifdef WIN16
|
||||
BIO_METHOD *BIO_s_file();
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/asn1pars.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -56,10 +56,6 @@
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
|
||||
/* A nice addition from Dr Stephen Henson <shenson@bigfoot.com> to
|
||||
* add the -strparse option which parses nested binarary structures
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -69,12 +65,16 @@
|
||||
#include "x509.h"
|
||||
#include "pem.h"
|
||||
|
||||
#define FORMAT_UNDEF 0
|
||||
#define FORMAT_ASN1 1
|
||||
#define FORMAT_TEXT 2
|
||||
#define FORMAT_PEM 3
|
||||
|
||||
/* -inform arg - input format - default PEM (DER or PEM)
|
||||
* -in arg - input file - default stdin
|
||||
* -i - indent the details by depth
|
||||
* -offset - where in the file to start
|
||||
* -length - how many bytes to use
|
||||
* -oid file - extra oid decription file
|
||||
*/
|
||||
|
||||
#undef PROG
|
||||
@@ -84,33 +84,26 @@ int MAIN(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
int i,badops=0,offset=0,ret=1,j;
|
||||
int i,badops=0,offset=0,ret=1;
|
||||
unsigned int length=0;
|
||||
long num,tmplen;
|
||||
long num;
|
||||
BIO *in=NULL,*out=NULL,*b64=NULL;
|
||||
int informat,indent=0;
|
||||
char *infile=NULL,*str=NULL,*prog,*oidfile=NULL;
|
||||
unsigned char *tmpbuf;
|
||||
char *infile,*str=NULL,*prog;
|
||||
BUF_MEM *buf=NULL;
|
||||
STACK *osk=NULL;
|
||||
ASN1_TYPE *at=NULL;
|
||||
|
||||
infile=NULL;
|
||||
informat=FORMAT_PEM;
|
||||
|
||||
apps_startup();
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
prog=argv[0];
|
||||
argc--;
|
||||
argv++;
|
||||
if ((osk=sk_new_null()) == NULL)
|
||||
{
|
||||
BIO_printf(bio_err,"Malloc failure\n");
|
||||
goto end;
|
||||
}
|
||||
while (argc >= 1)
|
||||
{
|
||||
if (strcmp(*argv,"-inform") == 0)
|
||||
@@ -127,11 +120,6 @@ char **argv;
|
||||
{
|
||||
indent=1;
|
||||
}
|
||||
else if (strcmp(*argv,"-oid") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
oidfile= *(++argv);
|
||||
}
|
||||
else if (strcmp(*argv,"-offset") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
@@ -143,11 +131,6 @@ char **argv;
|
||||
length= atoi(*(++argv));
|
||||
if (length == 0) goto bad;
|
||||
}
|
||||
else if (strcmp(*argv,"-strparse") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
sk_push(osk,*(++argv));
|
||||
}
|
||||
else
|
||||
{
|
||||
BIO_printf(bio_err,"unknown option %s\n",*argv);
|
||||
@@ -168,10 +151,6 @@ bad:
|
||||
BIO_printf(bio_err," -offset arg offset into file\n");
|
||||
BIO_printf(bio_err," -length arg lenth of section in file\n");
|
||||
BIO_printf(bio_err," -i indent entries\n");
|
||||
BIO_printf(bio_err," -oid file file of extra oid definitions\n");
|
||||
BIO_printf(bio_err," -strparse offset\n");
|
||||
BIO_printf(bio_err," a series of these can be used to 'dig' into multiple\n");
|
||||
BIO_printf(bio_err," ASN1 blob wrappings\n");
|
||||
goto end;
|
||||
}
|
||||
|
||||
@@ -184,19 +163,7 @@ bad:
|
||||
ERR_print_errors(bio_err);
|
||||
goto end;
|
||||
}
|
||||
BIO_set_fp(out,stdout,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
|
||||
if (oidfile != NULL)
|
||||
{
|
||||
if (BIO_read_filename(in,oidfile) <= 0)
|
||||
{
|
||||
BIO_printf(bio_err,"problems opening %s\n",oidfile);
|
||||
ERR_print_errors(bio_err);
|
||||
goto end;
|
||||
}
|
||||
OBJ_create_objects(in);
|
||||
}
|
||||
|
||||
BIO_set_fp(out,stdout,BIO_NOCLOSE);
|
||||
if (infile == NULL)
|
||||
BIO_set_fp(in,stdin,BIO_NOCLOSE);
|
||||
else
|
||||
@@ -233,36 +200,6 @@ bad:
|
||||
}
|
||||
str=buf->data;
|
||||
|
||||
/* If any structs to parse go through in sequence */
|
||||
|
||||
if (sk_num(osk))
|
||||
{
|
||||
tmpbuf=(unsigned char *)str;
|
||||
tmplen=num;
|
||||
for (i=0; i<sk_num(osk); i++)
|
||||
{
|
||||
j=atoi(sk_value(osk,i));
|
||||
if (j == 0)
|
||||
{
|
||||
BIO_printf(bio_err,"'%s' is an invalid number\n",sk_value(osk,i));
|
||||
continue;
|
||||
}
|
||||
tmpbuf+=j;
|
||||
tmplen-=j;
|
||||
if (d2i_ASN1_TYPE(&at,&tmpbuf,tmplen) == NULL)
|
||||
{
|
||||
BIO_printf(bio_err,"Error parsing structure\n");
|
||||
ERR_print_errors(bio_err);
|
||||
goto end;
|
||||
}
|
||||
/* hmm... this is a little evil but it works */
|
||||
tmpbuf=at->value.asn1_string->data;
|
||||
tmplen=at->value.asn1_string->length;
|
||||
}
|
||||
str=(char *)tmpbuf;
|
||||
num=tmplen;
|
||||
}
|
||||
|
||||
if (length == 0) length=(unsigned int)num;
|
||||
if (!ASN1_parse(out,(unsigned char *)&(str[offset]),length,indent))
|
||||
{
|
||||
@@ -277,9 +214,6 @@ end:
|
||||
if (ret != 0)
|
||||
ERR_print_errors(bio_err);
|
||||
if (buf != NULL) BUF_MEM_free(buf);
|
||||
if (at != NULL) ASN1_TYPE_free(at);
|
||||
if (osk != NULL) sk_free(osk);
|
||||
OBJ_cleanup();
|
||||
EXIT(ret);
|
||||
}
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
05
|
||||
03
|
||||
|
||||
247
apps/ca.c
247
apps/ca.c
@@ -1,5 +1,5 @@
|
||||
/* apps/ca.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -97,7 +97,6 @@
|
||||
#define ENV_PRIVATE_KEY "private_key"
|
||||
#define ENV_RANDFILE "RANDFILE"
|
||||
#define ENV_DEFAULT_DAYS "default_days"
|
||||
#define ENV_DEFAULT_STARTDATE "default_startdate"
|
||||
#define ENV_DEFAULT_CRL_DAYS "default_crl_days"
|
||||
#define ENV_DEFAULT_CRL_HOURS "default_crl_hours"
|
||||
#define ENV_DEFAULT_MD "default_md"
|
||||
@@ -140,7 +139,6 @@ static char *ca_usage[]={
|
||||
" -outdir dir - Where to put output certificates\n",
|
||||
" -infiles .... - The last argument, requests to process\n",
|
||||
" -spkac file - File contains DN and signed public key and challenge\n",
|
||||
" -ss_cert file - File contains a self signed cert to sign\n",
|
||||
" -preserveDN - Don't re-order the DN\n",
|
||||
" -batch - Don't ask questions\n",
|
||||
" -msie_hack - msie modifications to handle all thos universal strings\n",
|
||||
@@ -165,19 +163,16 @@ static int index_name_cmp(char **a,char **b);
|
||||
static BIGNUM *load_serial(char *serialfile);
|
||||
static int save_serial(char *serialfile, BIGNUM *serial);
|
||||
static int certify(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
|
||||
EVP_MD *dgst,STACK *policy,TXT_DB *db,BIGNUM *serial,char *startdate,
|
||||
int days, int batch, STACK *extensions,int verbose);
|
||||
static int certify_cert(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
|
||||
EVP_MD *dgst,STACK *policy,TXT_DB *db,BIGNUM *serial,char *startdate,
|
||||
int days,int batch,STACK *extensions,int verbose);
|
||||
EVP_MD *dgst,STACK *policy,TXT_DB *db,BIGNUM *serial,int days,
|
||||
int batch, STACK *extensions,int verbose);
|
||||
static int certify_spkac(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
|
||||
EVP_MD *dgst,STACK *policy,TXT_DB *db,BIGNUM *serial,char *startdate,
|
||||
int days,STACK *extensions,int verbose);
|
||||
EVP_MD *dgst,STACK *policy,TXT_DB *db,BIGNUM *serial,int days,
|
||||
STACK *extensions,int verbose);
|
||||
static int fix_data(int nid, int *type);
|
||||
static void write_new_certificate(BIO *bp, X509 *x, int output_der);
|
||||
static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, EVP_MD *dgst,
|
||||
STACK *policy, TXT_DB *db, BIGNUM *serial, char *startdate,
|
||||
int days, int batch, int verbose, X509_REQ *req, STACK *extensions);
|
||||
STACK *policy, TXT_DB *db, BIGNUM *serial, int days, int batch,
|
||||
int verbose, X509_REQ *req, STACK *extensions);
|
||||
static int check_time_format(char *str);
|
||||
#else
|
||||
static STACK *load_extensions();
|
||||
@@ -192,7 +187,6 @@ static int fix_data();
|
||||
static BIGNUM *load_serial();
|
||||
static int save_serial();
|
||||
static int certify();
|
||||
static int certify_cert();
|
||||
static int certify_spkac();
|
||||
static void write_new_certificate();
|
||||
static int do_body();
|
||||
@@ -227,7 +221,6 @@ char **argv;
|
||||
char *certfile=NULL;
|
||||
char *infile=NULL;
|
||||
char *spkac_file=NULL;
|
||||
char *ss_cert_file=NULL;
|
||||
EVP_PKEY *pkey=NULL;
|
||||
int output_der = 0;
|
||||
char *outfile=NULL;
|
||||
@@ -235,7 +228,6 @@ char **argv;
|
||||
char *serialfile=NULL;
|
||||
char *extensions=NULL;
|
||||
BIGNUM *serial=NULL;
|
||||
char *startdate=NULL;
|
||||
int days=0;
|
||||
int batch=0;
|
||||
X509 *x509=NULL;
|
||||
@@ -271,7 +263,7 @@ EF_ALIGNMENT=0;
|
||||
preserve=0;
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
argc--;
|
||||
argv++;
|
||||
@@ -289,11 +281,6 @@ EF_ALIGNMENT=0;
|
||||
if (--argc < 1) goto bad;
|
||||
section= *(++argv);
|
||||
}
|
||||
else if (strcmp(*argv,"-startdate") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
startdate= *(++argv);
|
||||
}
|
||||
else if (strcmp(*argv,"-days") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
@@ -365,12 +352,6 @@ EF_ALIGNMENT=0;
|
||||
req=1;
|
||||
break;
|
||||
}
|
||||
else if (strcmp(*argv, "-ss_cert") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
ss_cert_file = *(++argv);
|
||||
req=1;
|
||||
}
|
||||
else if (strcmp(*argv, "-spkac") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
@@ -431,29 +412,6 @@ bad:
|
||||
}
|
||||
}
|
||||
|
||||
if (conf != NULL)
|
||||
{
|
||||
p=CONF_get_string(conf,NULL,"oid_file");
|
||||
if (p != NULL)
|
||||
{
|
||||
BIO *oid_bio;
|
||||
|
||||
oid_bio=BIO_new_file(p,"r");
|
||||
if (oid_bio == NULL)
|
||||
{
|
||||
/*
|
||||
BIO_printf(bio_err,"problems opening %s for extra oid's\n",p);
|
||||
ERR_print_errors(bio_err);
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
OBJ_create_objects(oid_bio);
|
||||
BIO_free(oid_bio);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
in=BIO_new(BIO_s_file());
|
||||
out=BIO_new(BIO_s_file());
|
||||
Sout=BIO_new(BIO_s_file());
|
||||
@@ -513,12 +471,6 @@ bad:
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (!X509_check_private_key(x509,pkey))
|
||||
{
|
||||
BIO_printf(bio_err,"CA certificate and CA private key do not match\n");
|
||||
goto err;
|
||||
}
|
||||
|
||||
f=CONF_get_string(conf,BASE_SECTION,ENV_PRESERVE);
|
||||
if ((f != NULL) && ((*f == 'y') || (*f == 'Y')))
|
||||
preserve=1;
|
||||
@@ -618,7 +570,7 @@ bad:
|
||||
}
|
||||
if (verbose)
|
||||
{
|
||||
BIO_set_fp(out,stdout,BIO_NOCLOSE|BIO_FP_TEXT); /* cannot fail */
|
||||
BIO_set_fp(out,stdout,BIO_NOCLOSE); /* cannot fail */
|
||||
TXT_DB_write(out,db);
|
||||
BIO_printf(bio_err,"%d entries loaded from the database\n",
|
||||
db->data->num);
|
||||
@@ -653,7 +605,7 @@ bad:
|
||||
}
|
||||
}
|
||||
else
|
||||
BIO_set_fp(Sout,stdout,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(Sout,stdout,BIO_NOCLOSE);
|
||||
}
|
||||
|
||||
if (req)
|
||||
@@ -695,22 +647,6 @@ bad:
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (startdate == NULL)
|
||||
{
|
||||
startdate=(char *)CONF_get_string(conf,section,
|
||||
ENV_DEFAULT_STARTDATE);
|
||||
if (startdate == NULL)
|
||||
startdate="today";
|
||||
else
|
||||
{
|
||||
if (!ASN1_UTCTIME_set_string(NULL,startdate))
|
||||
{
|
||||
BIO_printf(bio_err,"start date is invalid, it should be YYMMDDHHMMSS\n");
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (days == 0)
|
||||
{
|
||||
days=(int)CONF_get_number(conf,section,
|
||||
@@ -729,7 +665,7 @@ bad:
|
||||
}
|
||||
if (verbose)
|
||||
{
|
||||
if ((f=BN_bn2hex(serial)) == NULL) goto err;
|
||||
if ((f=BN_bn2ascii(serial)) == NULL) goto err;
|
||||
BIO_printf(bio_err,"next serial number is %s\n",f);
|
||||
Free(f);
|
||||
}
|
||||
@@ -749,7 +685,7 @@ bad:
|
||||
{
|
||||
total++;
|
||||
j=certify_spkac(&x,spkac_file,pkey,x509,dgst,attribs,db,
|
||||
serial,startdate,days,extensions_sk,verbose);
|
||||
serial,days,extensions_sk,verbose);
|
||||
if (j < 0) goto err;
|
||||
if (j > 0)
|
||||
{
|
||||
@@ -768,31 +704,11 @@ bad:
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ss_cert_file != NULL)
|
||||
{
|
||||
total++;
|
||||
j=certify_cert(&x,ss_cert_file,pkey,x509,dgst,attribs,
|
||||
db,serial,startdate,days,batch,
|
||||
extensions_sk,verbose);
|
||||
if (j < 0) goto err;
|
||||
if (j > 0)
|
||||
{
|
||||
total_done++;
|
||||
BIO_printf(bio_err,"\n");
|
||||
if (!BN_add_word(serial,1)) goto err;
|
||||
if (!sk_push(cert_sk,(char *)x))
|
||||
{
|
||||
BIO_printf(bio_err,"Malloc failure\n");
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (infile != NULL)
|
||||
{
|
||||
total++;
|
||||
j=certify(&x,infile,pkey,x509,dgst,attribs,db,
|
||||
serial,startdate,days,batch,
|
||||
extensions_sk,verbose);
|
||||
serial,days,batch,extensions_sk,verbose);
|
||||
if (j < 0) goto err;
|
||||
if (j > 0)
|
||||
{
|
||||
@@ -810,8 +726,7 @@ bad:
|
||||
{
|
||||
total++;
|
||||
j=certify(&x,argv[i],pkey,x509,dgst,attribs,db,
|
||||
serial,startdate,days,batch,
|
||||
extensions_sk,verbose);
|
||||
serial,days,batch,extensions_sk,verbose);
|
||||
if (j < 0) goto err;
|
||||
if (j > 0)
|
||||
{
|
||||
@@ -883,7 +798,7 @@ bad:
|
||||
{
|
||||
for (k=0; k<j; k++)
|
||||
{
|
||||
sprintf((char *)n,"%02X",(unsigned char)*(p++));
|
||||
sprintf((char *)n,"%02X",*(p++));
|
||||
n+=2;
|
||||
}
|
||||
}
|
||||
@@ -978,8 +893,6 @@ bad:
|
||||
if (ci->issuer == NULL) goto err;
|
||||
|
||||
X509_gmtime_adj(ci->lastUpdate,0);
|
||||
if (ci->nextUpdate == NULL)
|
||||
ci->nextUpdate=ASN1_UTCTIME_new();
|
||||
X509_gmtime_adj(ci->nextUpdate,(crldays*24+crlhours)*60*60);
|
||||
|
||||
for (i=0; i<sk_num(db->data); i++)
|
||||
@@ -1179,7 +1092,7 @@ err:
|
||||
return(ret);
|
||||
}
|
||||
|
||||
static int certify(xret,infile,pkey,x509,dgst,policy,db,serial,startdate,days,
|
||||
static int certify(xret,infile,pkey,x509,dgst,policy,db,serial,days,
|
||||
batch,extensions,verbose)
|
||||
X509 **xret;
|
||||
char *infile;
|
||||
@@ -1189,7 +1102,6 @@ EVP_MD *dgst;
|
||||
STACK *policy;
|
||||
TXT_DB *db;
|
||||
BIGNUM *serial;
|
||||
char *startdate;
|
||||
int days;
|
||||
int batch;
|
||||
STACK *extensions;
|
||||
@@ -1218,6 +1130,15 @@ int verbose;
|
||||
|
||||
BIO_printf(bio_err,"Check that the request matches the signature\n");
|
||||
|
||||
if ( (req->req_info == NULL) ||
|
||||
(req->req_info->pubkey == NULL) ||
|
||||
(req->req_info->pubkey->public_key == NULL) ||
|
||||
(req->req_info->pubkey->public_key->data == NULL))
|
||||
{
|
||||
BIO_printf(bio_err,"The certificate request appears to corrupted\n");
|
||||
BIO_printf(bio_err,"It does not contain a public key\n");
|
||||
goto err;
|
||||
}
|
||||
if ((pktmp=X509_REQ_get_pubkey(req)) == NULL)
|
||||
{
|
||||
BIO_printf(bio_err,"error unpacking public key\n");
|
||||
@@ -1239,8 +1160,8 @@ int verbose;
|
||||
else
|
||||
BIO_printf(bio_err,"Signature ok\n");
|
||||
|
||||
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,startdate,
|
||||
days,batch,verbose,req,extensions);
|
||||
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,days,batch,verbose,req,
|
||||
extensions);
|
||||
|
||||
err:
|
||||
if (req != NULL) X509_REQ_free(req);
|
||||
@@ -1248,81 +1169,8 @@ err:
|
||||
return(ok);
|
||||
}
|
||||
|
||||
static int certify_cert(xret,infile,pkey,x509,dgst,policy,db,serial,startdate,
|
||||
days, batch,extensions,verbose)
|
||||
X509 **xret;
|
||||
char *infile;
|
||||
EVP_PKEY *pkey;
|
||||
X509 *x509;
|
||||
EVP_MD *dgst;
|
||||
STACK *policy;
|
||||
TXT_DB *db;
|
||||
BIGNUM *serial;
|
||||
char *startdate;
|
||||
int days;
|
||||
int batch;
|
||||
STACK *extensions;
|
||||
int verbose;
|
||||
{
|
||||
X509 *req=NULL;
|
||||
X509_REQ *rreq=NULL;
|
||||
BIO *in=NULL;
|
||||
EVP_PKEY *pktmp=NULL;
|
||||
int ok= -1,i;
|
||||
|
||||
in=BIO_new(BIO_s_file());
|
||||
|
||||
if (BIO_read_filename(in,infile) <= 0)
|
||||
{
|
||||
perror(infile);
|
||||
goto err;
|
||||
}
|
||||
if ((req=PEM_read_bio_X509(in,NULL,NULL)) == NULL)
|
||||
{
|
||||
BIO_printf(bio_err,"Error reading self signed certificate in %s\n",infile);
|
||||
goto err;
|
||||
}
|
||||
if (verbose)
|
||||
X509_print(bio_err,req);
|
||||
|
||||
BIO_printf(bio_err,"Check that the request matches the signature\n");
|
||||
|
||||
if ((pktmp=X509_get_pubkey(req)) == NULL)
|
||||
{
|
||||
BIO_printf(bio_err,"error unpacking public key\n");
|
||||
goto err;
|
||||
}
|
||||
i=X509_verify(req,pktmp);
|
||||
if (i < 0)
|
||||
{
|
||||
ok=0;
|
||||
BIO_printf(bio_err,"Signature verification problems....\n");
|
||||
goto err;
|
||||
}
|
||||
if (i == 0)
|
||||
{
|
||||
ok=0;
|
||||
BIO_printf(bio_err,"Signature did not match the certificate\n");
|
||||
goto err;
|
||||
}
|
||||
else
|
||||
BIO_printf(bio_err,"Signature ok\n");
|
||||
|
||||
if ((rreq=X509_to_X509_REQ(req,NULL,EVP_md5())) == NULL)
|
||||
goto err;
|
||||
|
||||
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,startdate,days,
|
||||
batch,verbose,rreq,extensions);
|
||||
|
||||
err:
|
||||
if (rreq != NULL) X509_REQ_free(rreq);
|
||||
if (req != NULL) X509_free(req);
|
||||
if (in != NULL) BIO_free(in);
|
||||
return(ok);
|
||||
}
|
||||
|
||||
static int do_body(xret,pkey,x509,dgst,policy,db,serial,startdate,days,
|
||||
batch,verbose,req, extensions)
|
||||
static int do_body(xret,pkey,x509,dgst,policy,db,serial,days,batch,verbose,req,
|
||||
extensions)
|
||||
X509 **xret;
|
||||
EVP_PKEY *pkey;
|
||||
X509 *x509;
|
||||
@@ -1330,7 +1178,6 @@ EVP_MD *dgst;
|
||||
STACK *policy;
|
||||
TXT_DB *db;
|
||||
BIGNUM *serial;
|
||||
char *startdate;
|
||||
int days;
|
||||
int batch;
|
||||
int verbose;
|
||||
@@ -1338,7 +1185,7 @@ X509_REQ *req;
|
||||
STACK *extensions;
|
||||
{
|
||||
X509_NAME *name=NULL,*CAname=NULL,*subject=NULL;
|
||||
ASN1_UTCTIME *tm,*tmptm;
|
||||
ASN1_UTCTIME *tm;
|
||||
ASN1_STRING *str,*str2;
|
||||
ASN1_OBJECT *obj;
|
||||
X509 *ret=NULL;
|
||||
@@ -1353,13 +1200,6 @@ STACK *extensions;
|
||||
char *row[DB_NUMBER],**rrow,**irow=NULL;
|
||||
char buf[25],*pbuf;
|
||||
|
||||
tmptm=ASN1_UTCTIME_new();
|
||||
if (tmptm == NULL)
|
||||
{
|
||||
BIO_printf(bio_err,"malloc error\n");
|
||||
return(0);
|
||||
}
|
||||
|
||||
for (i=0; i<DB_NUMBER; i++)
|
||||
row[i]=NULL;
|
||||
|
||||
@@ -1559,7 +1399,7 @@ again2:
|
||||
BIO_printf(bio_err,"The subject name apears to be ok, checking data base for clashes\n");
|
||||
|
||||
row[DB_name]=X509_NAME_oneline(subject,NULL,0);
|
||||
row[DB_serial]=BN_bn2hex(serial);
|
||||
row[DB_serial]=BN_bn2ascii(serial);
|
||||
if ((row[DB_name] == NULL) || (row[DB_serial] == NULL))
|
||||
{
|
||||
BIO_printf(bio_err,"Malloc failure\n");
|
||||
@@ -1631,16 +1471,8 @@ again2:
|
||||
goto err;
|
||||
|
||||
BIO_printf(bio_err,"Certificate is to be certified until ");
|
||||
if (strcmp(startdate,"today") == 0)
|
||||
{
|
||||
X509_gmtime_adj(X509_get_notBefore(ret),0);
|
||||
X509_gmtime_adj(X509_get_notAfter(ret),(long)60*60*24*days);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/
|
||||
ASN1_UTCTIME_set_string(X509_get_notBefore(ret),startdate);
|
||||
}
|
||||
X509_gmtime_adj(X509_get_notBefore(ret),0);
|
||||
X509_gmtime_adj(X509_get_notAfter(ret),(long)60*60*24*days);
|
||||
ASN1_UTCTIME_print(bio_err,X509_get_notAfter(ret));
|
||||
BIO_printf(bio_err," (%d days)\n",days);
|
||||
|
||||
@@ -1690,8 +1522,6 @@ again2:
|
||||
}
|
||||
}
|
||||
|
||||
if (pkey->type == EVP_PKEY_DSA) dgst=EVP_dss1();
|
||||
|
||||
#ifndef NO_DSA
|
||||
pktmp=X509_get_pubkey(ret);
|
||||
if (EVP_PKEY_missing_parameters(pktmp) &&
|
||||
@@ -1793,8 +1623,8 @@ int output_der;
|
||||
BIO_puts(bp,"\n");
|
||||
}
|
||||
|
||||
static int certify_spkac(xret,infile,pkey,x509,dgst,policy,db,serial,
|
||||
startdate,days,extensions,verbose)
|
||||
static int certify_spkac(xret,infile,pkey,x509,dgst,policy,db,serial,days,
|
||||
extensions,verbose)
|
||||
X509 **xret;
|
||||
char *infile;
|
||||
EVP_PKEY *pkey;
|
||||
@@ -1803,7 +1633,6 @@ EVP_MD *dgst;
|
||||
STACK *policy;
|
||||
TXT_DB *db;
|
||||
BIGNUM *serial;
|
||||
char *startdate;
|
||||
int days;
|
||||
STACK *extensions;
|
||||
int verbose;
|
||||
@@ -1949,8 +1778,8 @@ int verbose;
|
||||
BIO_printf(bio_err,"Signature ok\n");
|
||||
|
||||
X509_REQ_set_pubkey(req,pktmp);
|
||||
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,startdate,
|
||||
days,1,verbose,req,extensions);
|
||||
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,days,1,verbose,req,
|
||||
extensions);
|
||||
err:
|
||||
if (req != NULL) X509_REQ_free(req);
|
||||
if (parms != NULL) CONF_free(parms);
|
||||
@@ -2053,7 +1882,7 @@ char *sec;
|
||||
default:
|
||||
BIO_printf(bio_err,"Don't know how to pack extension %s\n",cv->name);
|
||||
goto err;
|
||||
/* break; */
|
||||
break;
|
||||
}
|
||||
|
||||
if ((x=X509_EXTENSION_create_by_NID(NULL,nid,0,str)) == NULL)
|
||||
|
||||
BIN
apps/cert.der
BIN
apps/cert.der
Binary file not shown.
@@ -1,11 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIBoDCCAUoCAQAwDQYJKoZIhvcNAQEEBQAwYzELMAkGA1UEBhMCQVUxEzARBgNV
|
||||
BAgTClF1ZWVuc2xhbmQxGjAYBgNVBAoTEUNyeXB0U29mdCBQdHkgTHRkMSMwIQYD
|
||||
VQQDExpTZXJ2ZXIgdGVzdCBjZXJ0ICg1MTIgYml0KTAeFw05NzA5MDkwMzQxMjZa
|
||||
Fw05NzEwMDkwMzQxMjZaMF4xCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0
|
||||
YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxFzAVBgNVBAMT
|
||||
DkVyaWMgdGhlIFlvdW5nMFEwCQYFKw4DAgwFAANEAAJBALVEqPODnpI4rShlY8S7
|
||||
tB713JNvabvn6Gned7zylwLLiXQAo/PAT6mfdWPTyCX9RlId/Aroh1ou893BA32Q
|
||||
sggwDQYJKoZIhvcNAQEEBQADQQCU5SSgapJSdRXJoX+CpCvFy+JVh9HpSjCpSNKO
|
||||
19raHv98hKAUJuP9HyM+SUsffO6mAIgitUaqW8/wDMePhEC3
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/ciphers.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -59,7 +59,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifdef NO_STDIO
|
||||
#ifdef WIN16
|
||||
#define APPS_WIN16
|
||||
#endif
|
||||
#include "apps.h"
|
||||
|
||||
22
apps/crl.c
22
apps/crl.c
@@ -1,5 +1,5 @@
|
||||
/* apps/crl.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -71,6 +71,11 @@
|
||||
#undef POSTFIX
|
||||
#define POSTFIX ".rvk"
|
||||
|
||||
#define FORMAT_UNDEF 0
|
||||
#define FORMAT_ASN1 1
|
||||
#define FORMAT_TEXT 2
|
||||
#define FORMAT_PEM 3
|
||||
|
||||
static char *crl_usage[]={
|
||||
"usage: crl args\n",
|
||||
"\n",
|
||||
@@ -104,6 +109,7 @@ char **argv;
|
||||
BIO *out=NULL;
|
||||
int informat,outformat;
|
||||
char *infile=NULL,*outfile=NULL;
|
||||
char *str=NULL;
|
||||
int hash=0,issuer=0,lastupdate=0,nextupdate=0,noout=0;
|
||||
char **pp,buf[256];
|
||||
|
||||
@@ -111,7 +117,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
if (bio_out == NULL)
|
||||
if ((bio_out=BIO_new(BIO_s_file())) != NULL)
|
||||
@@ -203,7 +209,7 @@ bad:
|
||||
if (issuer == i)
|
||||
{
|
||||
X509_NAME_oneline(x->crl->issuer,buf,256);
|
||||
fprintf(stdout,"issuer= %s\n",buf);
|
||||
fprintf(stdout,"issuer= %s\n",str);
|
||||
}
|
||||
|
||||
if (hash == i)
|
||||
@@ -220,10 +226,7 @@ bad:
|
||||
if (nextupdate == i)
|
||||
{
|
||||
fprintf(stdout,"nextUpdate=");
|
||||
if (x->crl->nextUpdate != NULL)
|
||||
ASN1_UTCTIME_print(bio_out,x->crl->nextUpdate);
|
||||
else
|
||||
fprintf(stdout,"NONE");
|
||||
ASN1_UTCTIME_print(bio_out,x->crl->nextUpdate);
|
||||
fprintf(stdout,"\n");
|
||||
}
|
||||
}
|
||||
@@ -256,10 +259,8 @@ bad:
|
||||
else if (outformat == FORMAT_TEXT)
|
||||
{
|
||||
X509_REVOKED *r;
|
||||
STACK *sk;
|
||||
|
||||
sk=sk_dup(x->crl->revoked);
|
||||
while ((r=(X509_REVOKED *)sk_pop(sk)) != NULL)
|
||||
while ((r=(X509_REVOKED *)sk_pop(x->crl->revoked)) != NULL)
|
||||
{
|
||||
fprintf(stdout,"revoked: serialNumber=");
|
||||
i2a_ASN1_INTEGER(out,r->serialNumber);
|
||||
@@ -267,7 +268,6 @@ bad:
|
||||
ASN1_UTCTIME_print(bio_out,r->revocationDate);
|
||||
fprintf(stdout,"\n");
|
||||
}
|
||||
sk_free(sk);
|
||||
i=1;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/crl2p7.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -106,7 +106,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
infile=NULL;
|
||||
outfile=NULL;
|
||||
|
||||
18
apps/dgst.c
18
apps/dgst.c
@@ -1,5 +1,5 @@
|
||||
/* apps/dgst.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -103,7 +103,7 @@ char **argv;
|
||||
}
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
/* first check the program name */
|
||||
program_name(argv[0],pname,PROG_NAME_SIZE);
|
||||
@@ -135,19 +135,17 @@ char **argv;
|
||||
BIO_printf(bio_err,"unknown option '%s'\n",*argv);
|
||||
BIO_printf(bio_err,"options are\n");
|
||||
BIO_printf(bio_err,"-c to output the digest with separating colons\n");
|
||||
BIO_printf(bio_err,"-d to output debug info\n");
|
||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm (default)\n",
|
||||
BIO_printf(bio_err,"-c to output debug info\n");
|
||||
BIO_printf(bio_err,"-%3s to use the %s message digest alogorithm (default)\n",
|
||||
LN_md5,LN_md5);
|
||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
|
||||
BIO_printf(bio_err,"-%3s to use the %s message digest alogorithm\n",
|
||||
LN_md2,LN_md2);
|
||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
|
||||
BIO_printf(bio_err,"-%3s to use the %s message digest alogorithm\n",
|
||||
LN_sha1,LN_sha1);
|
||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
|
||||
BIO_printf(bio_err,"-%3s to use the %s message digest alogorithm\n",
|
||||
LN_sha,LN_sha);
|
||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
|
||||
BIO_printf(bio_err,"-%3s to use the %s message digest alogorithm\n",
|
||||
LN_mdc2,LN_mdc2);
|
||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
|
||||
LN_ripemd160,LN_ripemd160);
|
||||
err=1;
|
||||
goto end;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/dh.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -95,7 +95,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
infile=NULL;
|
||||
outfile=NULL;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/dsa.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -99,7 +99,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
infile=NULL;
|
||||
outfile=NULL;
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
-----BEGIN DSA PARAMETERS-----
|
||||
MIGcAkEA+ZiKEvZmc9MtnaFZh4NiZ3oZS4J1PHvPrm9MXj5ntVheDPkdmBDTncya
|
||||
GAJcMjwsyB/GvLDGd6yGCw/8eF+09wIVAK3VagOxGd/Q4Af5NbxR5FB7CXEjAkA2
|
||||
t/q7HgVLi0KeKvcDG8BRl3wuy7bCvpjgtWiJc/tpvcuzeuAayH89UofjAGueKjXD
|
||||
ADiRffvSdhrNw5dkqdql
|
||||
-----END DSA PARAMETERS-----
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/dsaparam.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -80,11 +80,10 @@
|
||||
* -text
|
||||
* -C
|
||||
* -noout
|
||||
* -genkey
|
||||
*/
|
||||
|
||||
#ifndef NOPROTO
|
||||
static void MS_CALLBACK dsa_cb(int p, int n, char *arg);
|
||||
static void MS_CALLBACK dsa_cb(int p, int n);
|
||||
#else
|
||||
static void MS_CALLBACK dsa_cb();
|
||||
#endif
|
||||
@@ -98,14 +97,14 @@ char **argv;
|
||||
BIO *in=NULL,*out=NULL;
|
||||
int informat,outformat,noout=0,C=0,ret=1;
|
||||
char *infile,*outfile,*prog,*inrand=NULL;
|
||||
int numbits= -1,num,genkey=0;
|
||||
int numbits= -1,num;
|
||||
char buffer[200],*randfile=NULL;
|
||||
|
||||
apps_startup();
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
infile=NULL;
|
||||
outfile=NULL;
|
||||
@@ -141,8 +140,6 @@ char **argv;
|
||||
text=1;
|
||||
else if (strcmp(*argv,"-C") == 0)
|
||||
C=1;
|
||||
else if (strcmp(*argv,"-genkey") == 0)
|
||||
genkey=1;
|
||||
else if (strcmp(*argv,"-rand") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
@@ -220,8 +217,7 @@ bad:
|
||||
|
||||
BIO_printf(bio_err,"Generating DSA parameters, %d bit long prime\n",num);
|
||||
BIO_printf(bio_err,"This could take some time\n");
|
||||
dsa=DSA_generate_parameters(num,NULL,0,NULL,NULL,
|
||||
dsa_cb,(char *)bio_err);
|
||||
dsa=DSA_generate_parameters(num,NULL,0,NULL,NULL,dsa_cb);
|
||||
}
|
||||
else if (informat == FORMAT_ASN1)
|
||||
dsa=d2i_DSAparams_bio(in,NULL);
|
||||
@@ -318,22 +314,6 @@ bad:
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
if (genkey)
|
||||
{
|
||||
DSA *dsakey;
|
||||
|
||||
if ((dsakey=DSAparams_dup(dsa)) == NULL) goto end;
|
||||
if (!DSA_generate_key(dsakey)) goto end;
|
||||
if (outformat == FORMAT_ASN1)
|
||||
i=i2d_DSAPrivateKey_bio(out,dsakey);
|
||||
else if (outformat == FORMAT_PEM)
|
||||
i=PEM_write_bio_DSAPrivateKey(out,dsakey,NULL,NULL,0,NULL);
|
||||
else {
|
||||
BIO_printf(bio_err,"bad output format specified for outfile\n");
|
||||
goto end;
|
||||
}
|
||||
DSA_free(dsakey);
|
||||
}
|
||||
ret=0;
|
||||
end:
|
||||
if (in != NULL) BIO_free(in);
|
||||
@@ -342,10 +322,9 @@ end:
|
||||
EXIT(ret);
|
||||
}
|
||||
|
||||
static void MS_CALLBACK dsa_cb(p, n, arg)
|
||||
static void MS_CALLBACK dsa_cb(p, n)
|
||||
int p;
|
||||
int n;
|
||||
char *arg;
|
||||
{
|
||||
char c='*';
|
||||
|
||||
@@ -353,8 +332,8 @@ char *arg;
|
||||
if (p == 1) c='+';
|
||||
if (p == 2) c='*';
|
||||
if (p == 3) c='\n';
|
||||
BIO_write((BIO *)arg,&c,1);
|
||||
BIO_flush((BIO *)arg);
|
||||
BIO_write(bio_err,&c,1);
|
||||
BIO_flush(bio_err);
|
||||
#ifdef LINT
|
||||
p=n;
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/eay.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
|
||||
22
apps/enc.c
22
apps/enc.c
@@ -1,5 +1,5 @@
|
||||
/* apps/enc.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -96,7 +96,7 @@ char **argv;
|
||||
char *str=NULL;
|
||||
char *hkey=NULL,*hiv=NULL;
|
||||
int enc=1,printkey=0,i,base64=0;
|
||||
int debug=0,olb64=0;
|
||||
int debug=0;
|
||||
EVP_CIPHER *cipher=NULL,*c;
|
||||
char *inf=NULL,*outf=NULL;
|
||||
BIO *in=NULL,*out=NULL,*b64=NULL,*benc=NULL,*rbio=NULL,*wbio=NULL;
|
||||
@@ -107,7 +107,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
/* first check the program name */
|
||||
program_name(argv[0],pname,PROG_NAME_SIZE);
|
||||
@@ -148,8 +148,6 @@ char **argv;
|
||||
debug=1;
|
||||
else if (strcmp(*argv,"-P") == 0)
|
||||
printkey=2;
|
||||
else if (strcmp(*argv,"-A") == 0)
|
||||
olb64=1;
|
||||
else if (strcmp(*argv,"-a") == 0)
|
||||
base64=1;
|
||||
else if (strcmp(*argv,"-base64") == 0)
|
||||
@@ -282,18 +280,6 @@ bad:
|
||||
LN_bf_ecb, LN_bf_cbc,
|
||||
LN_bf_cfb64, LN_bf_ofb64);
|
||||
BIO_printf(bio_err," -%-4s (%s)\n","bf", LN_bf_cbc);
|
||||
#endif
|
||||
#ifndef NO_BLOWFISH
|
||||
BIO_printf(bio_err," -%-12s -%-12s -%-12s -%-12s",
|
||||
LN_cast5_ecb, LN_cast5_cbc,
|
||||
LN_cast5_cfb64, LN_cast5_ofb64);
|
||||
BIO_printf(bio_err," -%-4s (%s)\n","cast", LN_cast5_cbc);
|
||||
#endif
|
||||
#ifndef NO_BLOWFISH
|
||||
BIO_printf(bio_err," -%-12s -%-12s -%-12s -%-12s",
|
||||
LN_rc5_ecb, LN_rc5_cbc,
|
||||
LN_rc5_cfb64, LN_rc5_ofb64);
|
||||
BIO_printf(bio_err," -%-4s (%s)\n","rc5", LN_rc5_cbc);
|
||||
#endif
|
||||
goto end;
|
||||
}
|
||||
@@ -477,8 +463,6 @@ bad:
|
||||
BIO_set_callback(b64,BIO_debug_callback);
|
||||
BIO_set_callback_arg(b64,bio_err);
|
||||
}
|
||||
if (olb64)
|
||||
BIO_set_flags(b64,BIO_FLAGS_BASE64_NO_NL);
|
||||
if (enc)
|
||||
wbio=BIO_push(b64,wbio);
|
||||
else
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/errstr.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -80,7 +80,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
SSL_load_error_strings();
|
||||
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
2.99999.3 SET.ex3 SET x509v3 extension 3
|
||||
|
||||
@@ -49,7 +49,7 @@ foreach (@ARGV)
|
||||
{ print $str; }
|
||||
}
|
||||
|
||||
foreach ("md2","md5","sha","sha1","mdc2","rmd160")
|
||||
foreach ("md2","md5","sha","sha1","mdc2")
|
||||
{
|
||||
push(@files,$_);
|
||||
printf "\t{FUNC_TYPE_MD,\"%s\",dgst_main},\n",$_;
|
||||
@@ -57,16 +57,14 @@ foreach ("md2","md5","sha","sha1","mdc2","rmd160")
|
||||
|
||||
foreach (
|
||||
"base64",
|
||||
"des", "des3", "desx", "idea", "rc4", "rc2","bf","cast","rc5",
|
||||
"des", "des3", "desx", "idea", "rc4", "rc2","bf",
|
||||
"des-ecb", "des-ede", "des-ede3",
|
||||
"des-cbc", "des-ede-cbc","des-ede3-cbc",
|
||||
"des-cfb", "des-ede-cfb","des-ede3-cfb",
|
||||
"des-ofb", "des-ede-ofb","des-ede3-ofb",
|
||||
"idea-cbc","idea-ecb", "idea-cfb", "idea-ofb",
|
||||
"rc2-cbc", "rc2-ecb", "rc2-cfb", "rc2-ofb",
|
||||
"bf-cbc", "bf-ecb", "bf-cfb", "bf-ofb",
|
||||
"cast5-cbc","cast5-ecb", "cast5-cfb","cast5-ofb",
|
||||
"cast-cbc", "rc5-cbc", "rc5-ecb", "rc5-cfb", "rc5-ofb")
|
||||
"bf-cbc", "bf-ecb", "bf-cfb", "bf-ofb")
|
||||
{
|
||||
push(@files,$_);
|
||||
|
||||
@@ -76,8 +74,6 @@ foreach (
|
||||
elsif ($_ =~ /rc4/) { $t="#ifndef NO_RC4\n${t}#endif\n"; }
|
||||
elsif ($_ =~ /rc2/) { $t="#ifndef NO_RC2\n${t}#endif\n"; }
|
||||
elsif ($_ =~ /bf/) { $t="#ifndef NO_BLOWFISH\n${t}#endif\n"; }
|
||||
elsif ($_ =~ /cast/) { $t="#ifndef NO_CAST\n${t}#endif\n"; }
|
||||
elsif ($_ =~ /rc5/) { $t="#ifndef NO_RC5\n${t}#endif\n"; }
|
||||
print $t;
|
||||
}
|
||||
|
||||
|
||||
15
apps/gendh.c
15
apps/gendh.c
@@ -1,5 +1,5 @@
|
||||
/* apps/gendh.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -74,7 +74,7 @@
|
||||
#define PROG gendh_main
|
||||
|
||||
#ifndef NOPROTO
|
||||
static void MS_CALLBACK dh_cb(int p, int n, char *arg);
|
||||
static void MS_CALLBACK dh_cb(int p, int n);
|
||||
static long dh_load_rand(char *names);
|
||||
#else
|
||||
static void MS_CALLBACK dh_cb();
|
||||
@@ -97,7 +97,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
argv++;
|
||||
argc--;
|
||||
@@ -171,7 +171,7 @@ bad:
|
||||
|
||||
BIO_printf(bio_err,"Generating DH parameters, %d bit long strong prime, generator of %d\n",num,g);
|
||||
BIO_printf(bio_err,"This is going to take a long time\n");
|
||||
dh=DH_generate_parameters(num,g,dh_cb,(char *)bio_err);
|
||||
dh=DH_generate_parameters(num,g,dh_cb);
|
||||
|
||||
if (dh == NULL) goto end;
|
||||
|
||||
@@ -191,10 +191,9 @@ end:
|
||||
EXIT(ret);
|
||||
}
|
||||
|
||||
static void MS_CALLBACK dh_cb(p,n,arg)
|
||||
static void MS_CALLBACK dh_cb(p, n)
|
||||
int p;
|
||||
int n;
|
||||
char *arg;
|
||||
{
|
||||
char c='*';
|
||||
|
||||
@@ -202,8 +201,8 @@ char *arg;
|
||||
if (p == 1) c='+';
|
||||
if (p == 2) c='*';
|
||||
if (p == 3) c='\n';
|
||||
BIO_write((BIO *)arg,&c,1);
|
||||
BIO_flush((BIO *)arg);
|
||||
BIO_write(bio_err,&c,1);
|
||||
BIO_flush(bio_err);
|
||||
#ifdef LINT
|
||||
p=n;
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/gendsa.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -94,7 +94,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
argv++;
|
||||
argc--;
|
||||
@@ -135,7 +135,7 @@ bad:
|
||||
}
|
||||
|
||||
in=BIO_new(BIO_s_file());
|
||||
if (!(BIO_read_filename(in,"dsaparams")))
|
||||
if (!(BIO_read_filename(in,"r")))
|
||||
{
|
||||
perror(dsaparams);
|
||||
goto end;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/genrsa.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -75,7 +75,7 @@
|
||||
#define PROG genrsa_main
|
||||
|
||||
#ifndef NOPROTO
|
||||
static void MS_CALLBACK genrsa_cb(int p, int n, char *arg);
|
||||
static void MS_CALLBACK genrsa_cb(int p, int n);
|
||||
static long gr_load_rand(char *names);
|
||||
#else
|
||||
static void MS_CALLBACK genrsa_cb();
|
||||
@@ -101,7 +101,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
if ((out=BIO_new(BIO_s_file())) == NULL)
|
||||
{
|
||||
BIO_printf(bio_err,"unable to creat BIO for output\n");
|
||||
@@ -201,7 +201,7 @@ bad:
|
||||
|
||||
BIO_printf(bio_err,"Generating RSA private key, %d bit long modulus\n",
|
||||
num);
|
||||
rsa=RSA_generate_key(num,f4,genrsa_cb,(char *)bio_err);
|
||||
rsa=RSA_generate_key(num,f4,genrsa_cb);
|
||||
|
||||
if (randfile == NULL)
|
||||
BIO_printf(bio_err,"unable to write 'random state'\n");
|
||||
@@ -234,10 +234,9 @@ err:
|
||||
EXIT(ret);
|
||||
}
|
||||
|
||||
static void MS_CALLBACK genrsa_cb(p, n, arg)
|
||||
static void MS_CALLBACK genrsa_cb(p, n)
|
||||
int p;
|
||||
int n;
|
||||
char *arg;
|
||||
{
|
||||
char c='*';
|
||||
|
||||
@@ -245,8 +244,8 @@ char *arg;
|
||||
if (p == 1) c='+';
|
||||
if (p == 2) c='*';
|
||||
if (p == 3) c='\n';
|
||||
BIO_write((BIO *)arg,&c,1);
|
||||
BIO_flush((BIO *)arg);
|
||||
BIO_write(bio_err,&c,1);
|
||||
BIO_flush(bio_err);
|
||||
#ifdef LINT
|
||||
p=n;
|
||||
#endif
|
||||
|
||||
BIN
apps/gmon.out
BIN
apps/gmon.out
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
for i in verify asn1parse req dgst dh enc gendh errstr ca crl rsa dsa dsaparam x509 genrsa s_server s_client speed s_time version pkcs7 crl2pkcs7 sess_id ciphers md2 md5 sha sha1 mdc2 rmd160 base64 des des3 desx idea rc4 rc2 bf cast rc5 des-ecb des-ede des-ede3 des-cbc des-ede-cbc des-ede3-cbc des-cfb des-ede-cfb des-ede3-cfb des-ofb des-ede-ofb des-ede3-ofb idea-cbc idea-ecb idea-cfb idea-ofb rc2-cbc rc2-ecb rc2-cfb rc2-ofb bf-cbc bf-ecb bf-cfb bf-ofb cast5-cbc cast5-ecb cast5-cfb cast5-ofb cast-cbc rc5-cbc rc5-ecb rc5-cfb rc5-ofb
|
||||
for i in verify asn1parse req dgst dh enc gendh gendsa errstr ca crl rsa dsa dsaparam x509 genrsa s_server s_client speed s_time version pkcs7 crl2pkcs7 sess_id ciphers md2 md5 sha sha1 mdc2 base64 des des3 desx idea rc4 rc2 bf des-ecb des-ede des-ede3 des-cbc des-ede-cbc des-ede3-cbc des-cfb des-ede-cfb des-ede3-cfb des-ofb des-ede-ofb des-ede3-ofb idea-cbc idea-ecb idea-cfb idea-ofb rc2-cbc rc2-ecb rc2-cfb rc2-ofb bf-cbc bf-ecb bf-cfb bf-ofb
|
||||
do
|
||||
echo making symlink for $i
|
||||
/bin/rm -f $i
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
2.99999.1 SET.ex1 SET x509v3 extension 1
|
||||
2.99999.2 SET.ex2 SET x509v3 extension 2
|
||||
2.99999.3 SET.ex3 SET x509v3 extension 3
|
||||
2.99999.4 SET.ex4 SET x509v3 extension 4
|
||||
2.99999.5 SET.ex5 SET x509v3 extension 5
|
||||
2.99999.6 SET.ex6 SET x509v3 extension 6
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/ssleay.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -56,13 +56,14 @@
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
|
||||
#ifndef DEBUG
|
||||
#undef DEBUG
|
||||
#endif
|
||||
#define DEBUG
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#ifdef WIN16
|
||||
#define APPS_WIN16
|
||||
#endif
|
||||
#include "bio.h"
|
||||
#include "crypto.h"
|
||||
#include "lhash.h"
|
||||
@@ -77,22 +78,19 @@
|
||||
#include "s_apps.h"
|
||||
#include "err.h"
|
||||
|
||||
/*
|
||||
#ifdef WINDOWS
|
||||
#include "bss_file.c"
|
||||
#endif
|
||||
*/
|
||||
|
||||
#ifndef NOPROTO
|
||||
static unsigned long MS_CALLBACK hash(FUNCTION *a);
|
||||
static int MS_CALLBACK cmp(FUNCTION *a,FUNCTION *b);
|
||||
static LHASH *prog_init(void );
|
||||
static int do_cmd(LHASH *prog,int argc,char *argv[]);
|
||||
static void sig_stop(int i);
|
||||
#else
|
||||
static unsigned long MS_CALLBACK hash();
|
||||
static int MS_CALLBACK cmp();
|
||||
static LHASH *prog_init();
|
||||
static int do_cmd();
|
||||
static void sig_stop();
|
||||
#endif
|
||||
|
||||
LHASH *config=NULL;
|
||||
@@ -145,7 +143,7 @@ char *Argv[];
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
|
||||
|
||||
@@ -226,7 +224,6 @@ char *Argv[];
|
||||
}
|
||||
if (ret != 0)
|
||||
BIO_printf(bio_err,"error in %s\n",argv[0]);
|
||||
BIO_flush(bio_err);
|
||||
}
|
||||
BIO_printf(bio_err,"bad exit\n");
|
||||
ret=1;
|
||||
@@ -241,7 +238,6 @@ end:
|
||||
ERR_remove_state(0);
|
||||
|
||||
EVP_cleanup();
|
||||
ERR_free_strings();
|
||||
|
||||
CRYPTO_mem_leaks(bio_err);
|
||||
if (bio_err != NULL)
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#
|
||||
|
||||
RANDFILE = $ENV::HOME/.rnd
|
||||
oid_file = $ENV::HOME/.oid
|
||||
|
||||
####################################################################
|
||||
[ ca ]
|
||||
@@ -91,8 +90,6 @@ commonName_max = 64
|
||||
emailAddress = Email Address
|
||||
emailAddress_max = 40
|
||||
|
||||
SET-ex3 = SET extension number 3
|
||||
|
||||
[ req_attributes ]
|
||||
challengePassword = A challenge password
|
||||
challengePassword_min = 4
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/pem_mail.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/pkcs7.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -87,9 +87,7 @@ char **argv;
|
||||
{
|
||||
PKCS7 *p7=NULL;
|
||||
int i,badops=0;
|
||||
#if !defined(NO_DES) || !defined(NO_IDEA)
|
||||
EVP_CIPHER *enc=NULL;
|
||||
#endif
|
||||
BIO *in=NULL,*out=NULL;
|
||||
int informat,outformat;
|
||||
char *infile,*outfile,*prog,buf[256];
|
||||
@@ -100,7 +98,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
infile=NULL;
|
||||
outfile=NULL;
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
-----BEGIN DSA PRIVATE KEY-----
|
||||
Proc-Type: 4,ENCRYPTED
|
||||
DEK-Info: DES-EDE3-CBC,BA26229A1653B7FF
|
||||
DEK-Info: DES-EDE3-CBC,2221AF3DAA41AB24
|
||||
|
||||
6nhWG8PKhTPO/s3ZvjUa6226NlKdvPDZFsNXOOoSUs9ejxpb/aj5huhs6qRYzsz9
|
||||
Year47uaAZYhGD0vAagnNiBnYmjWEpN9G/wQxG7pgZThK1ZxDi63qn8aQ8UjuGHo
|
||||
F6RpnnBQIAnWTWqr/Qsybtc5EoNkrj/Cpx0OfbSr6gZsFBCxwX1R1hT3/mhJ45f3
|
||||
XMofY32Vdfx9/vtw1O7HmlHXQnXaqnbd9/nn1EpvFJG9+UjPoW7gV4jCOLuR4deE
|
||||
jS8hm+cpkwXmFtk3VGjT9tQXPpMv3JpYfBqgGQoMAJ5Toq0DWcHi6Wg08PsD8lgy
|
||||
vmTioPsRg+JGkJkJ8GnusgLpQdlQJbjzd7wGE6ElUFLfOxLo8bLlRHoriHNdWYhh
|
||||
JjY0LyeTkovcmWxVjImc6ZyBz5Ly4t0BYf1gq3OkjsV91Q1taBxnhiavfizqMCAf
|
||||
PPB3sLQnlXG77TOXkNxpqbZfEYrVZW2Nsqqdn8s07Uj4IMONZyq2odYKWFPMJBiM
|
||||
POYwXjMAOcmFMTHYsVlhcUJuV6LOuipw/FEbTtPH/MYMxLe4zx65dYo1rb4iLKLS
|
||||
gMtB0o/Wl4Xno3ZXh1ucicYnV2J7NpVcjVq+3SFiCRu2SrSkZHZ23EPS13Ec6fcz
|
||||
8X/YGA2vTJ8MAOozAzQUwHQYvLk7bIoQVekqDq4p0AZQbhdspHpArCk0Ifqqzg/v
|
||||
Uyky/zZiQYanzDenTSRVI/8wac3olxpU8QvbySxYqmbkgq6bTpXJfYFQfnAttEsC
|
||||
dA4S5UFgyOPZluxCAM4yaJF3Ft6neutNwftuJQMbgCUi9vYg2tGdSw==
|
||||
-----END RSA PRIVATE KEY-----
|
||||
IOx3ubYOV2SETDSWiuG4bsioEl7jA2CulYKAJvIfy8z5GI+08NwptNOUqbMhDV1s
|
||||
156KhUvBvG48uz9mxcOyHjZRD0HNixGNMXDaFJSajINFoGtmYZRc20DEoY6buzsi
|
||||
E76GK95cJHsjJsdNrdggIJRTaiLayLzsMFVDrKhmaJVTKlBpcdnFM4BEKSyD2H5N
|
||||
OllrfK6GgmlH+WVXU9AlXoy5Jm0YXT7i5bPCB5eDDL/GkTISFHZsnEYpHCrMARsw
|
||||
5V15dYEwFc6NA/psBGk1qS2CHVIOYNcfCfndR90+UCos+rMBkcQDfvxI95+L8dbS
|
||||
ONJJrUqiCHV/zYSE+aXZN001mJJLvHOW65YbgdwSOfiowcv7HPbFrGdwOOJvSEx2
|
||||
d571YvqfsaDojwR5KLgfFDSwVBwzo/mfcFeVrT9Q8LwPL4/dwwoElWTmYbSaW0uZ
|
||||
Ov73xRUbVGa5LTJoGbFVMvjpmEO2qtBsx7vq9AT8v8gDzYSuEafyC7d0h85EIfTJ
|
||||
wPlIN3xKTiqFpp/eFCkdKqNn826NoC1TgQuoCBIrJ8gZsIr1l8R+iAuGxKGPASoF
|
||||
cyqnpcqGgaaTrxnk9cX4dQ==
|
||||
-----END DSA PRIVATE KEY-----
|
||||
|
||||
39
apps/progs.h
39
apps/progs.h
@@ -6,6 +6,7 @@ extern int dgst_main(int argc,char *argv[]);
|
||||
extern int dh_main(int argc,char *argv[]);
|
||||
extern int enc_main(int argc,char *argv[]);
|
||||
extern int gendh_main(int argc,char *argv[]);
|
||||
extern int gendsa_main(int argc,char *argv[]);
|
||||
extern int errstr_main(int argc,char *argv[]);
|
||||
extern int ca_main(int argc,char *argv[]);
|
||||
extern int crl_main(int argc,char *argv[]);
|
||||
@@ -31,6 +32,7 @@ extern int dgst_main();
|
||||
extern int dh_main();
|
||||
extern int enc_main();
|
||||
extern int gendh_main();
|
||||
extern int gendsa_main();
|
||||
extern int errstr_main();
|
||||
extern int ca_main();
|
||||
extern int crl_main();
|
||||
@@ -75,6 +77,9 @@ FUNCTION functions[] = {
|
||||
{FUNC_TYPE_GENERAL,"enc",enc_main},
|
||||
#ifndef NO_DH
|
||||
{FUNC_TYPE_GENERAL,"gendh",gendh_main},
|
||||
#endif
|
||||
#ifndef NO_DSA
|
||||
{FUNC_TYPE_GENERAL,"gendsa",gendsa_main},
|
||||
#endif
|
||||
{FUNC_TYPE_GENERAL,"errstr",errstr_main},
|
||||
#ifndef NO_RSA
|
||||
@@ -118,7 +123,6 @@ FUNCTION functions[] = {
|
||||
{FUNC_TYPE_MD,"sha",dgst_main},
|
||||
{FUNC_TYPE_MD,"sha1",dgst_main},
|
||||
{FUNC_TYPE_MD,"mdc2",dgst_main},
|
||||
{FUNC_TYPE_MD,"rmd160",dgst_main},
|
||||
{FUNC_TYPE_CIPHER,"base64",enc_main},
|
||||
#ifndef NO_DES
|
||||
{FUNC_TYPE_CIPHER,"des",enc_main},
|
||||
@@ -141,12 +145,6 @@ FUNCTION functions[] = {
|
||||
#ifndef NO_BLOWFISH
|
||||
{FUNC_TYPE_CIPHER,"bf",enc_main},
|
||||
#endif
|
||||
#ifndef NO_CAST
|
||||
{FUNC_TYPE_CIPHER,"cast",enc_main},
|
||||
#endif
|
||||
#ifndef NO_RC5
|
||||
{FUNC_TYPE_CIPHER,"rc5",enc_main},
|
||||
#endif
|
||||
#ifndef NO_DES
|
||||
{FUNC_TYPE_CIPHER,"des-ecb",enc_main},
|
||||
#endif
|
||||
@@ -218,33 +216,6 @@ FUNCTION functions[] = {
|
||||
#endif
|
||||
#ifndef NO_BLOWFISH
|
||||
{FUNC_TYPE_CIPHER,"bf-ofb",enc_main},
|
||||
#endif
|
||||
#ifndef NO_CAST
|
||||
{FUNC_TYPE_CIPHER,"cast5-cbc",enc_main},
|
||||
#endif
|
||||
#ifndef NO_CAST
|
||||
{FUNC_TYPE_CIPHER,"cast5-ecb",enc_main},
|
||||
#endif
|
||||
#ifndef NO_CAST
|
||||
{FUNC_TYPE_CIPHER,"cast5-cfb",enc_main},
|
||||
#endif
|
||||
#ifndef NO_CAST
|
||||
{FUNC_TYPE_CIPHER,"cast5-ofb",enc_main},
|
||||
#endif
|
||||
#ifndef NO_CAST
|
||||
{FUNC_TYPE_CIPHER,"cast-cbc",enc_main},
|
||||
#endif
|
||||
#ifndef NO_RC5
|
||||
{FUNC_TYPE_CIPHER,"rc5-cbc",enc_main},
|
||||
#endif
|
||||
#ifndef NO_RC5
|
||||
{FUNC_TYPE_CIPHER,"rc5-ecb",enc_main},
|
||||
#endif
|
||||
#ifndef NO_RC5
|
||||
{FUNC_TYPE_CIPHER,"rc5-cfb",enc_main},
|
||||
#endif
|
||||
#ifndef NO_RC5
|
||||
{FUNC_TYPE_CIPHER,"rc5-ofb",enc_main},
|
||||
#endif
|
||||
{0,NULL,NULL}
|
||||
};
|
||||
|
||||
@@ -49,7 +49,7 @@ foreach (@ARGV)
|
||||
{ print $str; }
|
||||
}
|
||||
|
||||
foreach ("md2","md5","sha","sha1","mdc2","rmd160")
|
||||
foreach ("md2","md5","sha","sha1","mdc2")
|
||||
{
|
||||
push(@files,$_);
|
||||
printf "\t{FUNC_TYPE_MD,\"%s\",dgst_main},\n",$_;
|
||||
@@ -57,16 +57,14 @@ foreach ("md2","md5","sha","sha1","mdc2","rmd160")
|
||||
|
||||
foreach (
|
||||
"base64",
|
||||
"des", "des3", "desx", "idea", "rc4", "rc2","bf","cast","rc5",
|
||||
"des", "des3", "desx", "idea", "rc4", "rc2","bf",
|
||||
"des-ecb", "des-ede", "des-ede3",
|
||||
"des-cbc", "des-ede-cbc","des-ede3-cbc",
|
||||
"des-cfb", "des-ede-cfb","des-ede3-cfb",
|
||||
"des-ofb", "des-ede-ofb","des-ede3-ofb",
|
||||
"idea-cbc","idea-ecb", "idea-cfb", "idea-ofb",
|
||||
"rc2-cbc", "rc2-ecb", "rc2-cfb", "rc2-ofb",
|
||||
"bf-cbc", "bf-ecb", "bf-cfb", "bf-ofb",
|
||||
"cast5-cbc","cast5-ecb", "cast5-cfb","cast5-ofb",
|
||||
"cast-cbc", "rc5-cbc", "rc5-ecb", "rc5-cfb", "rc5-ofb")
|
||||
"bf-cbc", "bf-ecb", "bf-cfb", "bf-ofb")
|
||||
{
|
||||
push(@files,$_);
|
||||
|
||||
@@ -76,8 +74,6 @@ foreach (
|
||||
elsif ($_ =~ /rc4/) { $t="#ifndef NO_RC4\n${t}#endif\n"; }
|
||||
elsif ($_ =~ /rc2/) { $t="#ifndef NO_RC2\n${t}#endif\n"; }
|
||||
elsif ($_ =~ /bf/) { $t="#ifndef NO_BLOWFISH\n${t}#endif\n"; }
|
||||
elsif ($_ =~ /cast/) { $t="#ifndef NO_CAST\n${t}#endif\n"; }
|
||||
elsif ($_ =~ /rc5/) { $t="#ifndef NO_RC5\n${t}#endif\n"; }
|
||||
print $t;
|
||||
}
|
||||
|
||||
|
||||
93
apps/req.c
93
apps/req.c
@@ -1,5 +1,5 @@
|
||||
/* apps/req.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -60,7 +60,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <string.h>
|
||||
#ifdef NO_STDIO
|
||||
#ifdef WIN16
|
||||
#define APPS_WIN16
|
||||
#endif
|
||||
#include "apps.h"
|
||||
@@ -111,7 +111,7 @@ static int add_attribute_object(STACK *n, char *text, char *def,
|
||||
char *value, int nid,int min,int max);
|
||||
static int add_DN_object(X509_NAME *n, char *text, char *def, char *value,
|
||||
int nid,int min,int max);
|
||||
static void MS_CALLBACK req_cb(int p,int n,char *arg);
|
||||
static void MS_CALLBACK req_cb(int p,int n);
|
||||
static int req_fix_data(int nid,int *type,int len,int min,int max);
|
||||
#else
|
||||
static int make_REQ();
|
||||
@@ -135,9 +135,7 @@ int MAIN(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
#ifndef NO_DSA
|
||||
DSA *dsa_params=NULL;
|
||||
#endif
|
||||
int ex=1,x509=0,days=30;
|
||||
X509 *x509ss=NULL;
|
||||
X509_REQ *req=NULL;
|
||||
@@ -162,7 +160,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
infile=NULL;
|
||||
outfile=NULL;
|
||||
@@ -230,9 +228,7 @@ char **argv;
|
||||
p+=4;
|
||||
newkey= atoi(p);
|
||||
}
|
||||
else
|
||||
#ifndef NO_DSA
|
||||
if (strncmp("dsa:",p,4) == 0)
|
||||
else if (strncmp("dsa:",p,4) == 0)
|
||||
{
|
||||
X509 *xtmp=NULL;
|
||||
EVP_PKEY *dtmp;
|
||||
@@ -253,9 +249,6 @@ char **argv;
|
||||
BIO_printf(bio_err,"unable to load DSA parameters from file\n");
|
||||
goto end;
|
||||
}
|
||||
|
||||
/* This will 'disapear'
|
||||
* when we free xtmp */
|
||||
dtmp=X509_get_pubkey(xtmp);
|
||||
if (dtmp->type == EVP_PKEY_DSA)
|
||||
dsa_params=DSAparams_dup(dtmp->pkey.dsa);
|
||||
@@ -265,21 +258,18 @@ char **argv;
|
||||
BIO_printf(bio_err,"Certificate does not contain DSA parameters\n");
|
||||
goto end;
|
||||
}
|
||||
|
||||
}
|
||||
BIO_free(in);
|
||||
newkey=BN_num_bits(dsa_params->p);
|
||||
in=NULL;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#ifndef NO_DH
|
||||
if (strncmp("dh:",p,4) == 0)
|
||||
else if (strncmp("dh:",p,4) == 0)
|
||||
{
|
||||
pkey_type=TYPE_DH;
|
||||
p+=3;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
pkey_type=TYPE_RSA;
|
||||
|
||||
newreq=1;
|
||||
@@ -392,29 +382,6 @@ bad:
|
||||
}
|
||||
}
|
||||
|
||||
if (req_conf != NULL)
|
||||
{
|
||||
p=CONF_get_string(req_conf,NULL,"oid_file");
|
||||
if (p != NULL)
|
||||
{
|
||||
BIO *oid_bio;
|
||||
|
||||
oid_bio=BIO_new_file(p,"r");
|
||||
if (oid_bio == NULL)
|
||||
{
|
||||
/*
|
||||
BIO_printf(bio_err,"problems opening %s for extra oid's\n",p);
|
||||
ERR_print_errors(bio_err);
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
OBJ_create_objects(oid_bio);
|
||||
BIO_free(oid_bio);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((md_alg == NULL) &&
|
||||
((p=CONF_get_string(req_conf,SECTION,"default_md")) != NULL))
|
||||
{
|
||||
@@ -496,8 +463,7 @@ bad:
|
||||
if (pkey_type == TYPE_RSA)
|
||||
{
|
||||
if (!EVP_PKEY_assign_RSA(pkey,
|
||||
RSA_generate_key(newkey,0x10001,
|
||||
req_cb,(char *)bio_err)))
|
||||
RSA_generate_key(newkey,0x10001,req_cb)))
|
||||
goto end;
|
||||
}
|
||||
else
|
||||
@@ -593,10 +559,8 @@ loop:
|
||||
|
||||
if (newreq || x509)
|
||||
{
|
||||
#ifndef NO_DSA
|
||||
if (pkey->type == EVP_PKEY_DSA)
|
||||
digest=EVP_dss1();
|
||||
#endif
|
||||
|
||||
if (pkey == NULL)
|
||||
{
|
||||
@@ -769,9 +733,7 @@ end:
|
||||
if (pkey != NULL) EVP_PKEY_free(pkey);
|
||||
if (req != NULL) X509_REQ_free(req);
|
||||
if (x509ss != NULL) X509_free(x509ss);
|
||||
#ifndef NO_DSA
|
||||
if (dsa_params != NULL) DSA_free(dsa_params);
|
||||
#endif
|
||||
EXIT(ex);
|
||||
}
|
||||
|
||||
@@ -781,7 +743,7 @@ EVP_PKEY *pkey;
|
||||
int attribs;
|
||||
{
|
||||
int ret=0,i,j;
|
||||
unsigned char *p,*q;
|
||||
unsigned char *p;
|
||||
X509_REQ_INFO *ri;
|
||||
char buf[100];
|
||||
int nid,min,max;
|
||||
@@ -838,43 +800,19 @@ start: for (;;)
|
||||
if ((int)sk_num(sk) <= i) break;
|
||||
|
||||
v=(CONF_VALUE *)sk_value(sk,i);
|
||||
p=q=NULL;
|
||||
p=NULL;
|
||||
type=v->name;
|
||||
/* Allow for raw OIDs */
|
||||
/* [n.mm.ooo.ppp] */
|
||||
for (j=0; type[j] != '\0'; j++)
|
||||
{
|
||||
if ( (type[j] == ':') ||
|
||||
(type[j] == ',') ||
|
||||
(type[j] == '.'))
|
||||
p=(unsigned char *)&(type[j+1]);
|
||||
if (type[j] == '[')
|
||||
{
|
||||
p=(unsigned char *)&(type[j+1]);
|
||||
for (j++; type[j] != '\0'; j++)
|
||||
if (type[j] == ']')
|
||||
{
|
||||
q=(unsigned char *)&(type[j]);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
p= (unsigned char *)&(type[j+1]);
|
||||
}
|
||||
if (p != NULL)
|
||||
type=(char *)p;
|
||||
if ((nid=OBJ_txt2nid(type)) == NID_undef)
|
||||
{
|
||||
/* Add a new one if possible */
|
||||
if ((p != NULL) && (q != NULL) && (*q == ']'))
|
||||
{
|
||||
*q='\0';
|
||||
nid=OBJ_create((char *)p,NULL,NULL);
|
||||
*q=']';
|
||||
if (nid == NID_undef) goto start;
|
||||
}
|
||||
else
|
||||
goto start;
|
||||
}
|
||||
goto start;
|
||||
|
||||
sprintf(buf,"%s_default",v->name);
|
||||
if ((def=CONF_get_string(req_conf,tmp,buf)) == NULL)
|
||||
@@ -1106,10 +1044,9 @@ err:
|
||||
return(0);
|
||||
}
|
||||
|
||||
static void MS_CALLBACK req_cb(p,n,arg)
|
||||
static void MS_CALLBACK req_cb(p, n)
|
||||
int p;
|
||||
int n;
|
||||
char *arg;
|
||||
{
|
||||
char c='*';
|
||||
|
||||
@@ -1117,8 +1054,8 @@ char *arg;
|
||||
if (p == 1) c='+';
|
||||
if (p == 2) c='*';
|
||||
if (p == 3) c='\n';
|
||||
BIO_write((BIO *)arg,&c,1);
|
||||
BIO_flush((BIO *)arg);
|
||||
BIO_write(bio_err,&c,1);
|
||||
BIO_flush(bio_err);
|
||||
#ifdef LINT
|
||||
p=n;
|
||||
#endif
|
||||
|
||||
11
apps/req.pem
11
apps/req.pem
@@ -1,11 +0,0 @@
|
||||
-----BEGIN CERTIFICATE REQUEST-----
|
||||
MIIBlzCCAVcCAQAwXjELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUx
|
||||
ITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEXMBUGA1UEAxMORXJp
|
||||
YyB0aGUgWW91bmcwge8wgaYGBSsOAwIMMIGcAkEA+ZiKEvZmc9MtnaFZh4NiZ3oZ
|
||||
S4J1PHvPrm9MXj5ntVheDPkdmBDTncyaGAJcMjwsyB/GvLDGd6yGCw/8eF+09wIV
|
||||
AK3VagOxGd/Q4Af5NbxR5FB7CXEjAkA2t/q7HgVLi0KeKvcDG8BRl3wuy7bCvpjg
|
||||
tWiJc/tpvcuzeuAayH89UofjAGueKjXDADiRffvSdhrNw5dkqdqlA0QAAkEAtUSo
|
||||
84OekjitKGVjxLu0HvXck29pu+foad53vPKXAsuJdACj88BPqZ91Y9PIJf1GUh38
|
||||
CuiHWi7z3cEDfZCyCKAAMAkGBSsOAwIbBQADLwAwLAIUTg8amKVBE9oqC5B75dDQ
|
||||
Chy3LdQCFHKodGEj3LjuTzdm/RTe2KZL9Uzf
|
||||
-----END CERTIFICATE REQUEST-----
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
for i in verify asn1parse req dgst dh enc gendh errstr ca crl rsa dsa dsaparam x509 genrsa s_server s_client speed s_time version pkcs7 crl2pkcs7 sess_id ciphers md2 md5 sha sha1 mdc2 rmd160 base64 des des3 desx idea rc4 rc2 bf cast rc5 des-ecb des-ede des-ede3 des-cbc des-ede-cbc des-ede3-cbc des-cfb des-ede-cfb des-ede3-cfb des-ofb des-ede-ofb des-ede3-ofb idea-cbc idea-ecb idea-cfb idea-ofb rc2-cbc rc2-ecb rc2-cfb rc2-ofb bf-cbc bf-ecb bf-cfb bf-ofb cast5-cbc cast5-ecb cast5-cfb cast5-ofb cast-cbc rc5-cbc rc5-ecb rc5-cfb rc5-ofb
|
||||
for i in verify asn1parse req dgst dh enc gendh gendsa errstr ca crl rsa dsa dsaparam x509 genrsa s_server s_client speed s_time version pkcs7 crl2pkcs7 sess_id ciphers md2 md5 sha sha1 mdc2 base64 des des3 desx idea rc4 rc2 bf des-ecb des-ede des-ede3 des-cbc des-ede-cbc des-ede3-cbc des-cfb des-ede-cfb des-ede3-cfb des-ofb des-ede-ofb des-ede3-ofb idea-cbc idea-ecb idea-cfb idea-ofb rc2-cbc rc2-ecb rc2-cfb rc2-ofb bf-cbc bf-ecb bf-cfb bf-ofb
|
||||
do
|
||||
echo removing $i
|
||||
/bin/rm -f $i
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/rsa.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -99,7 +99,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
infile=NULL;
|
||||
outfile=NULL;
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICTjCCAbsCEGiuFKTJn6nzmiPPLxUZs1owDQYJKoZIhvcNAQEEBQAwXzELMAkG
|
||||
A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD
|
||||
VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk4
|
||||
MDUxODAwMDAwMFoXDTk5MDUxODIzNTk1OVowdTELMAkGA1UEBhMCVVMxETAPBgNV
|
||||
BAgTCE5ldyBZb3JrMREwDwYDVQQHFAhOZXcgWW9yazEeMBwGA1UEChQVSW5kdXN0
|
||||
cmlhbCBQcmVzcyBJbmMuMSAwHgYDVQQDFBd3d3cuaW5kdXN0cmlhbHByZXNzLmNv
|
||||
bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqiH9xUJNHvqCmaDon27ValJb
|
||||
qTLymF3yKKWBxbODLWjX7yKjewoqWhotaEARI6jXPqomU87gFU1tH4r/bgwh3FmU
|
||||
MK3qo92XOsvwNAHzXzWRXQNJmm54g2F1RUt00pgYiOximDse1t9RL5POCDEbfX8D
|
||||
gugrE/WwkS2FrSoc5/cCAwEAATANBgkqhkiG9w0BAQQFAAN+AIw7fvF0EtEvrNS/
|
||||
LYuqAgUw/tH0FLgCkqKLmYYm/yR+Z0hD2eP/UhF+jAwmV8rHtBnaTM7oN23RVW2k
|
||||
Cf8soiGfr2PYtfufpXtd7azUFa+WJCWnp0N29EG0BR1JOFC0Q/4dh/X9qulM8luq
|
||||
Pjrmw2eSgbdmmdumWAcNPVbV
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,50 +0,0 @@
|
||||
issuer= /C=US/O=RSA Data Security, Inc./OU=Secure Server Certification Authority
|
||||
subject=/C=US/ST=New York/L=New York/O=Industrial Press Inc./CN=www.industrialpress.com
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 1 (0x0)
|
||||
Serial Number:
|
||||
68:ae:14:a4:c9:9f:a9:f3:9a:23:cf:2f:15:19:b3:5a
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
Issuer: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority
|
||||
Validity
|
||||
Not Before: May 18 00:00:00 1998 GMT
|
||||
Not After : May 18 23:59:59 1999 GMT
|
||||
Subject: C=US, ST=New York, L=New York, O=Industrial Press Inc., CN=www.industrialpress.com
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (1024 bit)
|
||||
Modulus (1024 bit):
|
||||
00:aa:21:fd:c5:42:4d:1e:fa:82:99:a0:e8:9f:6e:
|
||||
d5:6a:52:5b:a9:32:f2:98:5d:f2:28:a5:81:c5:b3:
|
||||
83:2d:68:d7:ef:22:a3:7b:0a:2a:5a:1a:2d:68:40:
|
||||
11:23:a8:d7:3e:aa:26:53:ce:e0:15:4d:6d:1f:8a:
|
||||
ff:6e:0c:21:dc:59:94:30:ad:ea:a3:dd:97:3a:cb:
|
||||
f0:34:01:f3:5f:35:91:5d:03:49:9a:6e:78:83:61:
|
||||
75:45:4b:74:d2:98:18:88:ec:62:98:3b:1e:d6:df:
|
||||
51:2f:93:ce:08:31:1b:7d:7f:03:82:e8:2b:13:f5:
|
||||
b0:91:2d:85:ad:2a:1c:e7:f7
|
||||
Exponent: 65537 (0x10001)
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
8c:3b:7e:f1:74:12:d1:2f:ac:d4:bf:2d:8b:aa:02:05:30:fe:
|
||||
d1:f4:14:b8:02:92:a2:8b:99:86:26:ff:24:7e:67:48:43:d9:
|
||||
e3:ff:52:11:7e:8c:0c:26:57:ca:c7:b4:19:da:4c:ce:e8:37:
|
||||
6d:d1:55:6d:a4:09:ff:2c:a2:21:9f:af:63:d8:b5:fb:9f:a5:
|
||||
7b:5d:ed:ac:d4:15:af:96:24:25:a7:a7:43:76:f4:41:b4:05:
|
||||
1d:49:38:50:b4:43:fe:1d:87:f5:fd:aa:e9:4c:f2:5b:aa:3e:
|
||||
3a:e6:c3:67:92:81:b7:66:99:db:a6:58:07:0d:3d:56:d5
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICTjCCAbsCEGiuFKTJn6nzmiPPLxUZs1owDQYJKoZIhvcNAQEEBQAwXzELMAkG
|
||||
A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD
|
||||
VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk4
|
||||
MDUxODAwMDAwMFoXDTk5MDUxODIzNTk1OVowdTELMAkGA1UEBhMCVVMxETAPBgNV
|
||||
BAgTCE5ldyBZb3JrMREwDwYDVQQHFAhOZXcgWW9yazEeMBwGA1UEChQVSW5kdXN0
|
||||
cmlhbCBQcmVzcyBJbmMuMSAwHgYDVQQDFBd3d3cuaW5kdXN0cmlhbHByZXNzLmNv
|
||||
bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqiH9xUJNHvqCmaDon27ValJb
|
||||
qTLymF3yKKWBxbODLWjX7yKjewoqWhotaEARI6jXPqomU87gFU1tH4r/bgwh3FmU
|
||||
MK3qo92XOsvwNAHzXzWRXQNJmm54g2F1RUt00pgYiOximDse1t9RL5POCDEbfX8D
|
||||
gugrE/WwkS2FrSoc5/cCAwEAATANBgkqhkiG9w0BAQQFAAN+AIw7fvF0EtEvrNS/
|
||||
LYuqAgUw/tH0FLgCkqKLmYYm/yR+Z0hD2eP/UhF+jAwmV8rHtBnaTM7oN23RVW2k
|
||||
Cf8soiGfr2PYtfufpXtd7azUFa+WJCWnp0N29EG0BR1JOFC0Q/4dh/X9qulM8luq
|
||||
Pjrmw2eSgbdmmdumWAcNPVbV
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,47 +0,0 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 1 (0x0)
|
||||
Serial Number:
|
||||
02:ad:66:7e:4e:45:fe:5e:57:6f:3c:98:19:5e:dd:c0
|
||||
Signature Algorithm: md2WithRSAEncryption
|
||||
Issuer: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority
|
||||
Validity
|
||||
Not Before: Nov 9 00:00:00 1994 GMT
|
||||
Not After : Jan 7 23:59:59 2010 GMT
|
||||
Subject: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (1000 bit)
|
||||
Modulus (1000 bit):
|
||||
00:92:ce:7a:c1:ae:83:3e:5a:aa:89:83:57:ac:25:
|
||||
01:76:0c:ad:ae:8e:2c:37:ce:eb:35:78:64:54:03:
|
||||
e5:84:40:51:c9:bf:8f:08:e2:8a:82:08:d2:16:86:
|
||||
37:55:e9:b1:21:02:ad:76:68:81:9a:05:a2:4b:c9:
|
||||
4b:25:66:22:56:6c:88:07:8f:f7:81:59:6d:84:07:
|
||||
65:70:13:71:76:3e:9b:77:4c:e3:50:89:56:98:48:
|
||||
b9:1d:a7:29:1a:13:2e:4a:11:59:9c:1e:15:d5:49:
|
||||
54:2c:73:3a:69:82:b1:97:39:9c:6d:70:67:48:e5:
|
||||
dd:2d:d6:c8:1e:7b
|
||||
Exponent: 65537 (0x10001)
|
||||
Signature Algorithm: md2WithRSAEncryption
|
||||
65:dd:7e:e1:b2:ec:b0:e2:3a:e0:ec:71:46:9a:19:11:b8:d3:
|
||||
c7:a0:b4:03:40:26:02:3e:09:9c:e1:12:b3:d1:5a:f6:37:a5:
|
||||
b7:61:03:b6:5b:16:69:3b:c6:44:08:0c:88:53:0c:6b:97:49:
|
||||
c7:3e:35:dc:6c:b9:bb:aa:df:5c:bb:3a:2f:93:60:b6:a9:4b:
|
||||
4d:f2:20:f7:cd:5f:7f:64:7b:8e:dc:00:5c:d7:fa:77:ca:39:
|
||||
16:59:6f:0e:ea:d3:b5:83:7f:4d:4d:42:56:76:b4:c9:5f:04:
|
||||
f8:38:f8:eb:d2:5f:75:5f:cd:7b:fc:e5:8e:80:7c:fc:50
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkG
|
||||
A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD
|
||||
VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0
|
||||
MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVowXzELMAkGA1UEBhMCVVMxIDAeBgNV
|
||||
BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2Vy
|
||||
dmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUAA4GJ
|
||||
ADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII
|
||||
0haGN1XpsSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphI
|
||||
uR2nKRoTLkoRWZweFdVJVCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZI
|
||||
hvcNAQECBQADfgBl3X7hsuyw4jrg7HFGmhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3
|
||||
YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2qUtN8iD3zV9/ZHuO3ABc
|
||||
1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA==
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,49 +0,0 @@
|
||||
issuer= /C=US/O=RSA Data Security, Inc./OU=Secure Server Certification Authority
|
||||
subject=/C=US/O=RSA Data Security, Inc./OU=Secure Server Certification Authority
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 1 (0x0)
|
||||
Serial Number:
|
||||
02:ad:66:7e:4e:45:fe:5e:57:6f:3c:98:19:5e:dd:c0
|
||||
Signature Algorithm: md2WithRSAEncryption
|
||||
Issuer: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority
|
||||
Validity
|
||||
Not Before: Nov 9 00:00:00 1994 GMT
|
||||
Not After : Jan 7 23:59:59 2010 GMT
|
||||
Subject: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (1000 bit)
|
||||
Modulus (1000 bit):
|
||||
00:92:ce:7a:c1:ae:83:3e:5a:aa:89:83:57:ac:25:
|
||||
01:76:0c:ad:ae:8e:2c:37:ce:eb:35:78:64:54:03:
|
||||
e5:84:40:51:c9:bf:8f:08:e2:8a:82:08:d2:16:86:
|
||||
37:55:e9:b1:21:02:ad:76:68:81:9a:05:a2:4b:c9:
|
||||
4b:25:66:22:56:6c:88:07:8f:f7:81:59:6d:84:07:
|
||||
65:70:13:71:76:3e:9b:77:4c:e3:50:89:56:98:48:
|
||||
b9:1d:a7:29:1a:13:2e:4a:11:59:9c:1e:15:d5:49:
|
||||
54:2c:73:3a:69:82:b1:97:39:9c:6d:70:67:48:e5:
|
||||
dd:2d:d6:c8:1e:7b
|
||||
Exponent: 65537 (0x10001)
|
||||
Signature Algorithm: md2WithRSAEncryption
|
||||
65:dd:7e:e1:b2:ec:b0:e2:3a:e0:ec:71:46:9a:19:11:b8:d3:
|
||||
c7:a0:b4:03:40:26:02:3e:09:9c:e1:12:b3:d1:5a:f6:37:a5:
|
||||
b7:61:03:b6:5b:16:69:3b:c6:44:08:0c:88:53:0c:6b:97:49:
|
||||
c7:3e:35:dc:6c:b9:bb:aa:df:5c:bb:3a:2f:93:60:b6:a9:4b:
|
||||
4d:f2:20:f7:cd:5f:7f:64:7b:8e:dc:00:5c:d7:fa:77:ca:39:
|
||||
16:59:6f:0e:ea:d3:b5:83:7f:4d:4d:42:56:76:b4:c9:5f:04:
|
||||
f8:38:f8:eb:d2:5f:75:5f:cd:7b:fc:e5:8e:80:7c:fc:50
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkG
|
||||
A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD
|
||||
VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0
|
||||
MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVowXzELMAkGA1UEBhMCVVMxIDAeBgNV
|
||||
BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2Vy
|
||||
dmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUAA4GJ
|
||||
ADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII
|
||||
0haGN1XpsSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphI
|
||||
uR2nKRoTLkoRWZweFdVJVCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZI
|
||||
hvcNAQECBQADfgBl3X7hsuyw4jrg7HFGmhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3
|
||||
YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2qUtN8iD3zV9/ZHuO3ABc
|
||||
1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA==
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/s_apps.h */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -79,8 +79,9 @@ int nbio_init_client_ip(int *sock,unsigned char ip[4], int port);
|
||||
int nbio_sock_error(int sock);
|
||||
int spawn(int argc, char **argv, int *in, int *out);
|
||||
int init_server(int *sock, int port);
|
||||
int init_server_long(int *sock, int port,char *ip);
|
||||
int should_retry(int i);
|
||||
int sock_err(void );
|
||||
int socket_ioctl(int, long,unsigned long *);
|
||||
void sock_cleanup(void );
|
||||
int extract_port(char *str, short *port_ptr);
|
||||
int extract_host_port(char *str,char **host_ptr,unsigned char *ip,short *p);
|
||||
@@ -107,6 +108,8 @@ int nbio_sock_error();
|
||||
int spawn();
|
||||
int init_server();
|
||||
int should_retry();
|
||||
int sock_err();
|
||||
int socket_ioctl();
|
||||
void sock_cleanup();
|
||||
int extract_port();
|
||||
int extract_host_port();
|
||||
|
||||
12
apps/s_cb.c
12
apps/s_cb.c
@@ -1,5 +1,5 @@
|
||||
/* apps/s_cb.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -71,6 +71,7 @@
|
||||
int verify_depth=0;
|
||||
int verify_error=X509_V_OK;
|
||||
|
||||
/* should be X509 * but we can just have them as char *. */
|
||||
int MS_CALLBACK verify_callback(ok, ctx)
|
||||
int ok;
|
||||
X509_STORE_CTX *ctx;
|
||||
@@ -130,15 +131,13 @@ char *key_file;
|
||||
{
|
||||
if (cert_file != NULL)
|
||||
{
|
||||
/*
|
||||
SSL *ssl;
|
||||
X509 *x509;
|
||||
*/
|
||||
|
||||
if (SSL_CTX_use_certificate_file(ctx,cert_file,
|
||||
SSL_FILETYPE_PEM) <= 0)
|
||||
{
|
||||
BIO_printf(bio_err,"unable to get certificate from '%s'\n",cert_file);
|
||||
BIO_printf(bio_err,"unable to set certificate file\n");
|
||||
ERR_print_errors(bio_err);
|
||||
return(0);
|
||||
}
|
||||
@@ -146,13 +145,11 @@ char *key_file;
|
||||
if (SSL_CTX_use_PrivateKey_file(ctx,key_file,
|
||||
SSL_FILETYPE_PEM) <= 0)
|
||||
{
|
||||
BIO_printf(bio_err,"unable to get private key from '%s'\n",key_file);
|
||||
BIO_printf(bio_err,"unable to set public key file\n");
|
||||
ERR_print_errors(bio_err);
|
||||
return(0);
|
||||
}
|
||||
|
||||
/*
|
||||
In theory this is no longer needed
|
||||
ssl=SSL_new(ctx);
|
||||
x509=SSL_get_certificate(ssl);
|
||||
|
||||
@@ -160,7 +157,6 @@ char *key_file;
|
||||
EVP_PKEY_copy_parameters(X509_get_pubkey(x509),
|
||||
SSL_get_privatekey(ssl));
|
||||
SSL_free(ssl);
|
||||
*/
|
||||
|
||||
/* If we are using DSA, we can copy the parameters from
|
||||
* the private key */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/s_client.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -60,7 +60,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#define USE_SOCKETS
|
||||
#ifdef NO_STDIO
|
||||
#ifdef WIN16
|
||||
#define APPS_WIN16
|
||||
#endif
|
||||
#include "apps.h"
|
||||
@@ -127,11 +127,9 @@ static void sc_usage()
|
||||
BIO_printf(bio_err," -quiet - no s_client output\n");
|
||||
BIO_printf(bio_err," -ssl2 - just use SSLv2\n");
|
||||
BIO_printf(bio_err," -ssl3 - just use SSLv3\n");
|
||||
BIO_printf(bio_err," -tls1 - just use TLSv1\n");
|
||||
BIO_printf(bio_err," -no_tls1/-no_ssl3/-no_ssl2 - turn off that protocol\n");
|
||||
BIO_printf(bio_err," -bugs - Switch on all SSL implementation bug workarounds\n");
|
||||
BIO_printf(bio_err," -cipher - prefered cipher to use, use the 'ssleay ciphers'\n");
|
||||
BIO_printf(bio_err," command to see what is available\n");
|
||||
BIO_printf(bio_err," command to se what is available\n");
|
||||
|
||||
}
|
||||
|
||||
@@ -139,7 +137,6 @@ int MAIN(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
int off=0;
|
||||
SSL *con=NULL,*con2=NULL;
|
||||
int s,k,width,state=0;
|
||||
char *cbuf=NULL,*sbuf=NULL;
|
||||
@@ -168,7 +165,6 @@ char **argv;
|
||||
#endif
|
||||
|
||||
apps_startup();
|
||||
c_Pause=0;
|
||||
c_quiet=0;
|
||||
c_debug=0;
|
||||
|
||||
@@ -238,10 +234,6 @@ char **argv;
|
||||
#ifndef NO_SSL3
|
||||
else if (strcmp(*argv,"-ssl3") == 0)
|
||||
meth=SSLv3_client_method();
|
||||
#endif
|
||||
#ifndef NO_TLS1
|
||||
else if (strcmp(*argv,"-tls1") == 0)
|
||||
meth=TLSv1_client_method();
|
||||
#endif
|
||||
else if (strcmp(*argv,"-bugs") == 0)
|
||||
bugs=1;
|
||||
@@ -264,12 +256,6 @@ char **argv;
|
||||
if (--argc < 1) goto bad;
|
||||
CAfile= *(++argv);
|
||||
}
|
||||
else if (strcmp(*argv,"-no_tls1") == 0)
|
||||
off|=SSL_OP_NO_TLSv1;
|
||||
else if (strcmp(*argv,"-no_ssl3") == 0)
|
||||
off|=SSL_OP_NO_SSLv3;
|
||||
else if (strcmp(*argv,"-no_ssl2") == 0)
|
||||
off|=SSL_OP_NO_SSLv2;
|
||||
else if (strcmp(*argv,"-cipher") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
@@ -316,10 +302,7 @@ bad:
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (bugs)
|
||||
SSL_CTX_set_options(ctx,SSL_OP_ALL|off);
|
||||
else
|
||||
SSL_CTX_set_options(ctx,off);
|
||||
if (bugs) SSL_CTX_set_options(ctx,SSL_OP_ALL);
|
||||
|
||||
if (state) SSL_CTX_set_info_callback(ctx,apps_ssl_info_callback);
|
||||
if (cipher != NULL)
|
||||
@@ -336,21 +319,20 @@ bad:
|
||||
if ((!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)) ||
|
||||
(!SSL_CTX_set_default_verify_paths(ctx)))
|
||||
{
|
||||
/* BIO_printf(bio_err,"error seting default verify locations\n"); */
|
||||
BIO_printf(bio_err,"error seting default verify locations\n");
|
||||
ERR_print_errors(bio_err);
|
||||
/* goto end; */
|
||||
goto end;
|
||||
}
|
||||
|
||||
SSL_load_error_strings();
|
||||
|
||||
con=(SSL *)SSL_new(ctx);
|
||||
/* SSL_set_cipher_list(con,"RC4-MD5"); */
|
||||
|
||||
re_start:
|
||||
|
||||
if (init_client(&s,host,port) == 0)
|
||||
{
|
||||
BIO_printf(bio_err,"connect:errno=%d\n",get_last_socket_error());
|
||||
BIO_printf(bio_err,"connect:errno=%d\n",errno);
|
||||
SHUTDOWN(s);
|
||||
goto end;
|
||||
}
|
||||
@@ -361,11 +343,7 @@ re_start:
|
||||
{
|
||||
unsigned long l=1;
|
||||
BIO_printf(bio_c_out,"turning on non blocking io\n");
|
||||
if (BIO_socket_ioctl(s,FIONBIO,&l) < 0)
|
||||
{
|
||||
ERR_print_errors(bio_err);
|
||||
goto end;
|
||||
}
|
||||
socket_ioctl(s,FIONBIO,&l);
|
||||
}
|
||||
#endif
|
||||
if (c_Pause & 0x01) con->debug=1;
|
||||
@@ -408,7 +386,7 @@ re_start:
|
||||
FD_ZERO(&readfds);
|
||||
FD_ZERO(&writefds);
|
||||
|
||||
if (SSL_in_init(con) && !SSL_total_renegotiations(con))
|
||||
if (SSL_in_init(con))
|
||||
{
|
||||
in_init=1;
|
||||
tty_on=0;
|
||||
@@ -449,11 +427,11 @@ re_start:
|
||||
/* printf("mode tty(%d %d%d) ssl(%d%d)\n",
|
||||
tty_on,read_tty,write_tty,read_ssl,write_ssl);*/
|
||||
|
||||
/* printf("pending=%d\n",SSL_pending(con)); */
|
||||
i=select(width,&readfds,&writefds,NULL,NULL);
|
||||
if ( i < 0)
|
||||
{
|
||||
BIO_printf(bio_err,"bad select %d\n",
|
||||
get_last_socket_error());
|
||||
BIO_printf(bio_err,"bad select %d\n",sock_err());
|
||||
goto shut;
|
||||
/* goto end; */
|
||||
}
|
||||
@@ -511,7 +489,7 @@ re_start:
|
||||
if ((k != 0) || (cbuf_len != 0))
|
||||
{
|
||||
BIO_printf(bio_err,"write:errno=%d\n",
|
||||
get_last_socket_error());
|
||||
errno);
|
||||
goto shut;
|
||||
}
|
||||
else
|
||||
@@ -548,18 +526,7 @@ re_start:
|
||||
#endif
|
||||
else if (FD_ISSET(SSL_get_fd(con),&readfds))
|
||||
{
|
||||
#ifdef RENEG
|
||||
{ static int iiii; if (++iiii == 52) { SSL_renegotiate(con); iiii=0; } }
|
||||
#endif
|
||||
#if 1
|
||||
k=SSL_read(con,sbuf,1024 /* BUFSIZZ */ );
|
||||
#else
|
||||
/* Demo for pending and peek :-) */
|
||||
k=SSL_read(con,sbuf,16);
|
||||
{ char zbuf[10240];
|
||||
printf("read=%d pending=%d peek=%d\n",k,SSL_pending(con),SSL_peek(con,zbuf,10240));
|
||||
}
|
||||
#endif
|
||||
k=SSL_read(con,sbuf,BUFSIZZ);
|
||||
|
||||
switch (SSL_get_error(con,k))
|
||||
{
|
||||
@@ -588,7 +555,7 @@ printf("read=%d pending=%d peek=%d\n",k,SSL_pending(con),SSL_peek(con,zbuf,10240
|
||||
BIO_printf(bio_c_out,"read X BLOCK\n");
|
||||
break;
|
||||
case SSL_ERROR_SYSCALL:
|
||||
BIO_printf(bio_err,"read:errno=%d\n",get_last_socket_error());
|
||||
BIO_printf(bio_err,"read:errno=%d\n",errno);
|
||||
goto shut;
|
||||
case SSL_ERROR_ZERO_RETURN:
|
||||
BIO_printf(bio_c_out,"closed\n");
|
||||
@@ -596,7 +563,7 @@ printf("read=%d pending=%d peek=%d\n",k,SSL_pending(con),SSL_peek(con,zbuf,10240
|
||||
case SSL_ERROR_SSL:
|
||||
ERR_print_errors(bio_err);
|
||||
goto shut;
|
||||
/* break; */
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -652,7 +619,7 @@ BIO *bio;
|
||||
SSL *s;
|
||||
int full;
|
||||
{
|
||||
X509 *peer=NULL;
|
||||
X509 *peer;
|
||||
char *p;
|
||||
static char *space=" ";
|
||||
char buf[BUFSIZ];
|
||||
@@ -666,7 +633,7 @@ int full;
|
||||
sk=SSL_get_peer_cert_chain(s);
|
||||
if (sk != NULL)
|
||||
{
|
||||
BIO_printf(bio,"---\nCertificate chain\n");
|
||||
BIO_printf(bio,"---\nCertficate chain\n");
|
||||
for (i=0; i<sk_num(sk); i++)
|
||||
{
|
||||
X509_NAME_oneline(X509_get_subject_name((X509 *)
|
||||
@@ -690,6 +657,7 @@ int full;
|
||||
X509_NAME_oneline(X509_get_issuer_name(peer),
|
||||
buf,BUFSIZ);
|
||||
BIO_printf(bio,"issuer=%s\n",buf);
|
||||
X509_free(peer);
|
||||
}
|
||||
else
|
||||
BIO_printf(bio,"no peer certificate available\n");
|
||||
@@ -719,7 +687,7 @@ int full;
|
||||
{
|
||||
if (*p == ':')
|
||||
{
|
||||
BIO_write(bio,space,15-j%25);
|
||||
BIO_write(bio,space,15-j);
|
||||
i++;
|
||||
j=0;
|
||||
BIO_write(bio,((i%3)?" ":"\n"),1);
|
||||
@@ -743,12 +711,7 @@ int full;
|
||||
BIO_printf(bio,"%s, Cipher is %s\n",
|
||||
SSL_CIPHER_get_version(c),
|
||||
SSL_CIPHER_get_name(c));
|
||||
if (peer != NULL)
|
||||
BIO_printf(bio,"Server public key is %d bit\n",
|
||||
EVP_PKEY_bits(X509_get_pubkey(peer)));
|
||||
SSL_SESSION_print(bio,SSL_get_session(s));
|
||||
BIO_printf(bio,"---\n");
|
||||
if (peer != NULL)
|
||||
X509_free(peer);
|
||||
}
|
||||
|
||||
|
||||
257
apps/s_server.c
257
apps/s_server.c
@@ -1,5 +1,5 @@
|
||||
/* apps/s_server.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -61,7 +61,7 @@
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#ifdef NO_STDIO
|
||||
#ifdef WIN16
|
||||
#define APPS_WIN16
|
||||
#endif
|
||||
#include "lhash.h"
|
||||
@@ -82,11 +82,8 @@ static void close_accept_socket(void );
|
||||
static void sv_usage(void);
|
||||
static int init_ssl_connection(SSL *s);
|
||||
static void print_stats(BIO *bp,SSL_CTX *ctx);
|
||||
#ifndef NO_DH
|
||||
static DH *load_dh_param(void );
|
||||
static DH *get_dh512(void);
|
||||
#endif
|
||||
/* static void s_server_init(void);*/
|
||||
#else
|
||||
static RSA MS_CALLBACK *tmp_rsa_cb();
|
||||
static int sv_body();
|
||||
@@ -95,19 +92,15 @@ static void close_accept_socket();
|
||||
static void sv_usage();
|
||||
static int init_ssl_connection();
|
||||
static void print_stats();
|
||||
#ifndef NO_DH
|
||||
static DH *load_dh_param();
|
||||
static DH *get_dh512();
|
||||
#endif
|
||||
/* static void s_server_init(); */
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef S_ISDIR
|
||||
#define S_ISDIR(a) (((a) & _S_IFMT) == _S_IFDIR)
|
||||
#endif
|
||||
|
||||
#ifndef NO_DH
|
||||
static unsigned char dh512_p[]={
|
||||
0xDA,0x58,0x3C,0x16,0xD9,0x85,0x22,0x89,0xD0,0xE4,0xAF,0x75,
|
||||
0x6F,0x4C,0xCA,0x92,0xDD,0x4B,0xE5,0x33,0xB8,0x04,0xFB,0x0F,
|
||||
@@ -124,20 +117,20 @@ static DH *get_dh512()
|
||||
{
|
||||
DH *dh=NULL;
|
||||
|
||||
#ifndef NO_DH
|
||||
if ((dh=DH_new()) == NULL) return(NULL);
|
||||
dh->p=BN_bin2bn(dh512_p,sizeof(dh512_p),NULL);
|
||||
dh->g=BN_bin2bn(dh512_g,sizeof(dh512_g),NULL);
|
||||
if ((dh->p == NULL) || (dh->g == NULL))
|
||||
return(NULL);
|
||||
#endif
|
||||
return(dh);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* static int load_CA(SSL_CTX *ctx, char *file);*/
|
||||
|
||||
#undef BUFSIZZ
|
||||
#define BUFSIZZ 16*1024
|
||||
static int bufsize=32;
|
||||
#define BUFSIZZ 8*1024
|
||||
static int accept_socket= -1;
|
||||
|
||||
#define TEST_CERT "server.pem"
|
||||
@@ -149,9 +142,8 @@ static int accept_socket= -1;
|
||||
extern int verify_depth;
|
||||
|
||||
static char *cipher=NULL;
|
||||
static int s_server_verify=SSL_VERIFY_NONE;
|
||||
static char *s_cert_file=TEST_CERT,*s_key_file=NULL;
|
||||
static char *s_dcert_file=NULL,*s_dkey_file=NULL;
|
||||
int verify=SSL_VERIFY_NONE;
|
||||
char *s_cert_file=TEST_CERT,*s_key_file=NULL;
|
||||
#ifdef FIONBIO
|
||||
static int s_nbio=0;
|
||||
#endif
|
||||
@@ -163,33 +155,11 @@ static BIO *bio_s_out=NULL;
|
||||
static int s_debug=0;
|
||||
static int s_quiet=0;
|
||||
|
||||
#if 0
|
||||
static void s_server_init()
|
||||
{
|
||||
cipher=NULL;
|
||||
s_server_verify=SSL_VERIFY_NONE;
|
||||
s_dcert_file=NULL;
|
||||
s_dkey_file=NULL;
|
||||
s_cert_file=TEST_CERT;
|
||||
s_key_file=NULL;
|
||||
#ifdef FIONBIO
|
||||
s_nbio=0;
|
||||
#endif
|
||||
s_nbio_test=0;
|
||||
ctx=NULL;
|
||||
www=0;
|
||||
|
||||
bio_s_out=NULL;
|
||||
s_debug=0;
|
||||
s_quiet=0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void sv_usage()
|
||||
{
|
||||
BIO_printf(bio_err,"usage: s_server [args ...]\n");
|
||||
BIO_printf(bio_err,"\n");
|
||||
BIO_printf(bio_err," -accept arg - port to accept on (default is %d\n",PORT);
|
||||
BIO_printf(bio_err," -accpet arg - port to accept on (default is %d\n",PORT);
|
||||
BIO_printf(bio_err," -verify arg - turn on peer certificate verification\n");
|
||||
BIO_printf(bio_err," -Verify arg - turn on peer certificate verification, must have a cert.\n");
|
||||
BIO_printf(bio_err," -cert arg - certificate file to use, PEM format assumed\n");
|
||||
@@ -210,18 +180,14 @@ static void sv_usage()
|
||||
BIO_printf(bio_err," -no_tmp_rsa - Do not generate a tmp RSA key\n");
|
||||
BIO_printf(bio_err," -ssl2 - Just talk SSLv2\n");
|
||||
BIO_printf(bio_err," -ssl3 - Just talk SSLv3\n");
|
||||
BIO_printf(bio_err," -tls1 - Just talk TLSv1\n");
|
||||
BIO_printf(bio_err," -no_ssl2 - Just disable SSLv2\n");
|
||||
BIO_printf(bio_err," -no_ssl3 - Just disable SSLv3\n");
|
||||
BIO_printf(bio_err," -no_tls1 - Just disable TLSv1\n");
|
||||
BIO_printf(bio_err," -bugs - Turn on SSL bug compatability\n");
|
||||
BIO_printf(bio_err," -www - Respond to a 'GET /' with a status page\n");
|
||||
BIO_printf(bio_err," -WWW - Returns requested page from to a 'GET <path> HTTP/1.0'\n");
|
||||
}
|
||||
|
||||
static int local_argc=0;
|
||||
static int local_argc;
|
||||
static char **local_argv;
|
||||
static int hack=0;
|
||||
static int hack;
|
||||
|
||||
int MAIN(argc, argv)
|
||||
int argc;
|
||||
@@ -231,13 +197,10 @@ char *argv[];
|
||||
char *CApath=NULL,*CAfile=NULL;
|
||||
int badop=0,bugs=0;
|
||||
int ret=1;
|
||||
int off=0;
|
||||
int no_tmp_rsa=0,nocert=0;
|
||||
int state=0;
|
||||
SSL_METHOD *meth=NULL;
|
||||
#ifndef NO_DH
|
||||
DH *dh=NULL;
|
||||
#endif
|
||||
|
||||
#if !defined(NO_SSL2) && !defined(NO_SSL3)
|
||||
meth=SSLv23_server_method();
|
||||
@@ -277,14 +240,14 @@ char *argv[];
|
||||
}
|
||||
else if (strcmp(*argv,"-verify") == 0)
|
||||
{
|
||||
s_server_verify=SSL_VERIFY_PEER|SSL_VERIFY_CLIENT_ONCE;
|
||||
verify=SSL_VERIFY_PEER|SSL_VERIFY_CLIENT_ONCE;
|
||||
if (--argc < 1) goto bad;
|
||||
verify_depth=atoi(*(++argv));
|
||||
BIO_printf(bio_err,"verify depth is %d\n",verify_depth);
|
||||
}
|
||||
else if (strcmp(*argv,"-Verify") == 0)
|
||||
{
|
||||
s_server_verify=SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT|
|
||||
verify=SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT|
|
||||
SSL_VERIFY_CLIENT_ONCE;
|
||||
if (--argc < 1) goto bad;
|
||||
verify_depth=atoi(*(++argv));
|
||||
@@ -300,16 +263,6 @@ char *argv[];
|
||||
if (--argc < 1) goto bad;
|
||||
s_key_file= *(++argv);
|
||||
}
|
||||
else if (strcmp(*argv,"-dcert") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
s_dcert_file= *(++argv);
|
||||
}
|
||||
else if (strcmp(*argv,"-dkey") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
s_dkey_file= *(++argv);
|
||||
}
|
||||
else if (strcmp(*argv,"-nocert") == 0)
|
||||
{
|
||||
nocert=1;
|
||||
@@ -356,12 +309,6 @@ char *argv[];
|
||||
{ www=1; }
|
||||
else if (strcmp(*argv,"-WWW") == 0)
|
||||
{ www=2; }
|
||||
else if (strcmp(*argv,"-no_ssl2") == 0)
|
||||
{ off|=SSL_OP_NO_SSLv2; }
|
||||
else if (strcmp(*argv,"-no_ssl3") == 0)
|
||||
{ off|=SSL_OP_NO_SSLv3; }
|
||||
else if (strcmp(*argv,"-no_tls1") == 0)
|
||||
{ off|=SSL_OP_NO_TLSv1; }
|
||||
#ifndef NO_SSL2
|
||||
else if (strcmp(*argv,"-ssl2") == 0)
|
||||
{ meth=SSLv2_server_method(); }
|
||||
@@ -369,10 +316,6 @@ char *argv[];
|
||||
#ifndef NO_SSL3
|
||||
else if (strcmp(*argv,"-ssl3") == 0)
|
||||
{ meth=SSLv3_server_method(); }
|
||||
#endif
|
||||
#ifndef NO_TLS1
|
||||
else if (strcmp(*argv,"-tls1") == 0)
|
||||
{ meth=TLSv1_server_method(); }
|
||||
#endif
|
||||
else
|
||||
{
|
||||
@@ -409,8 +352,6 @@ bad:
|
||||
{
|
||||
s_cert_file=NULL;
|
||||
s_key_file=NULL;
|
||||
s_dcert_file=NULL;
|
||||
s_dkey_file=NULL;
|
||||
}
|
||||
|
||||
SSL_load_error_strings();
|
||||
@@ -423,16 +364,12 @@ bad:
|
||||
goto end;
|
||||
}
|
||||
|
||||
SSL_CTX_set_quiet_shutdown(ctx,1);
|
||||
if (bugs) SSL_CTX_set_options(ctx,SSL_OP_ALL);
|
||||
if (hack) SSL_CTX_set_options(ctx,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG);
|
||||
SSL_CTX_set_options(ctx,off);
|
||||
if (hack) SSL_CTX_set_options(ctx,SSL_OP_NON_EXPORT_FIRST);
|
||||
|
||||
if (state) SSL_CTX_set_info_callback(ctx,apps_ssl_info_callback);
|
||||
|
||||
SSL_CTX_sess_set_cache_size(ctx,128);
|
||||
|
||||
#if 0
|
||||
if (cipher == NULL) cipher=getenv("SSL_CIPHER");
|
||||
#endif
|
||||
@@ -448,9 +385,9 @@ bad:
|
||||
if ((!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)) ||
|
||||
(!SSL_CTX_set_default_verify_paths(ctx)))
|
||||
{
|
||||
/* BIO_printf(bio_err,"X509_load_verify_locations\n"); */
|
||||
BIO_printf(bio_err,"X509_load_verify_locations\n");
|
||||
ERR_print_errors(bio_err);
|
||||
/* goto end; */
|
||||
goto end;
|
||||
}
|
||||
|
||||
#ifndef NO_DH
|
||||
@@ -473,11 +410,6 @@ bad:
|
||||
|
||||
if (!set_cert_stuff(ctx,s_cert_file,s_key_file))
|
||||
goto end;
|
||||
if (s_dcert_file != NULL)
|
||||
{
|
||||
if (!set_cert_stuff(ctx,s_dcert_file,s_dkey_file))
|
||||
goto end;
|
||||
}
|
||||
|
||||
#if 1
|
||||
SSL_CTX_set_tmp_rsa_callback(ctx,tmp_rsa_cb);
|
||||
@@ -503,7 +435,7 @@ bad:
|
||||
|
||||
if (cipher != NULL)
|
||||
SSL_CTX_set_cipher_list(ctx,cipher);
|
||||
SSL_CTX_set_verify(ctx,s_server_verify,verify_callback);
|
||||
SSL_CTX_set_verify(ctx,verify,verify_callback);
|
||||
|
||||
SSL_CTX_set_client_CA_list(ctx,SSL_load_client_CA_file(s_cert_file));
|
||||
|
||||
@@ -532,23 +464,16 @@ SSL_CTX *ssl_ctx;
|
||||
SSL_CTX_sess_number(ssl_ctx));
|
||||
BIO_printf(bio,"%4d client connects (SSL_connect())\n",
|
||||
SSL_CTX_sess_connect(ssl_ctx));
|
||||
BIO_printf(bio,"%4d client renegotiates (SSL_connect())\n",
|
||||
SSL_CTX_sess_connect_renegotiate(ssl_ctx));
|
||||
BIO_printf(bio,"%4d client connects that finished\n",
|
||||
SSL_CTX_sess_connect_good(ssl_ctx));
|
||||
BIO_printf(bio,"%4d server accepts (SSL_accept())\n",
|
||||
SSL_CTX_sess_accept(ssl_ctx));
|
||||
BIO_printf(bio,"%4d server renegotiates (SSL_accept())\n",
|
||||
SSL_CTX_sess_accept_renegotiate(ssl_ctx));
|
||||
BIO_printf(bio,"%4d server accepts that finished\n",
|
||||
SSL_CTX_sess_accept_good(ssl_ctx));
|
||||
BIO_printf(bio,"%4d session cache hits\n",SSL_CTX_sess_hits(ssl_ctx));
|
||||
BIO_printf(bio,"%4d session cache misses\n",SSL_CTX_sess_misses(ssl_ctx));
|
||||
BIO_printf(bio,"%4d session cache timeouts\n",SSL_CTX_sess_timeouts(ssl_ctx));
|
||||
BIO_printf(bio,"%4d callback cache hits\n",SSL_CTX_sess_cb_hits(ssl_ctx));
|
||||
BIO_printf(bio,"%4d cache full overflows (%d allowed)\n",
|
||||
SSL_CTX_sess_cache_full(ssl_ctx),
|
||||
SSL_CTX_sess_get_cache_size(ssl_ctx));
|
||||
}
|
||||
|
||||
static int sv_body(hostname, s)
|
||||
@@ -563,7 +488,7 @@ int s;
|
||||
SSL *con=NULL;
|
||||
BIO *sbio;
|
||||
|
||||
if ((buf=Malloc(bufsize)) == NULL)
|
||||
if ((buf=Malloc(BUFSIZZ)) == NULL)
|
||||
{
|
||||
BIO_printf(bio_err,"out of memory\n");
|
||||
goto err;
|
||||
@@ -575,8 +500,7 @@ int s;
|
||||
|
||||
if (!s_quiet)
|
||||
BIO_printf(bio_err,"turning on non blocking io\n");
|
||||
if (BIO_socket_ioctl(s,FIONBIO,&sl) < 0)
|
||||
ERR_print_errors(bio_err);
|
||||
socket_ioctl(s,FIONBIO,&sl);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -615,7 +539,7 @@ int s;
|
||||
if (i <= 0) continue;
|
||||
if (FD_ISSET(fileno(stdin),&readfds))
|
||||
{
|
||||
i=read(fileno(stdin),buf,bufsize);
|
||||
i=read(fileno(stdin),buf,BUFSIZZ);
|
||||
if (!s_quiet)
|
||||
{
|
||||
if ((i <= 0) || (buf[0] == 'Q'))
|
||||
@@ -634,27 +558,21 @@ int s;
|
||||
ret= -11;*/
|
||||
goto err;
|
||||
}
|
||||
if ((buf[0] == 'r') &&
|
||||
((buf[1] == '\n') || (buf[1] == '\r')))
|
||||
if (buf[0] == 'r')
|
||||
{
|
||||
SSL_renegotiate(con);
|
||||
i=SSL_do_handshake(con);
|
||||
printf("SSL_do_handshake -> %d\n",i);
|
||||
i=0; /*13; */
|
||||
continue;
|
||||
/* strcpy(buf,"server side RE-NEGOTIATE\n"); */
|
||||
strcpy(buf,"server side RE-NEGOTIATE\n");
|
||||
}
|
||||
if ((buf[0] == 'R') &&
|
||||
((buf[1] == '\0') || (buf[1] == '\r')))
|
||||
if (buf[0] == 'R')
|
||||
{
|
||||
SSL_set_verify(con,
|
||||
SSL_VERIFY_PEER|SSL_VERIFY_CLIENT_ONCE,NULL);
|
||||
SSL_renegotiate(con);
|
||||
i=SSL_do_handshake(con);
|
||||
printf("SSL_do_handshake -> %d\n",i);
|
||||
i=0; /* 13; */
|
||||
continue;
|
||||
/* strcpy(buf,"server side RE-NEGOTIATE asking for client cert\n"); */
|
||||
strcpy(buf,"server side RE-NEGOTIATE asking for client cert\n");
|
||||
}
|
||||
if (buf[0] == 'P')
|
||||
{
|
||||
@@ -670,27 +588,19 @@ int s;
|
||||
for (;;)
|
||||
{
|
||||
/* should do a select for the write */
|
||||
#ifdef RENEG
|
||||
{ static count=0; if (++count == 100) { count=0; SSL_renegotiate(con); } }
|
||||
#endif
|
||||
k=SSL_write(con,&(buf[l]),(unsigned int)i);
|
||||
switch (SSL_get_error(con,k))
|
||||
if (
|
||||
#ifdef FIONBIO
|
||||
s_nbio &&
|
||||
#endif
|
||||
BIO_sock_should_retry(k))
|
||||
{
|
||||
case SSL_ERROR_NONE:
|
||||
break;
|
||||
case SSL_ERROR_WANT_WRITE:
|
||||
case SSL_ERROR_WANT_READ:
|
||||
case SSL_ERROR_WANT_X509_LOOKUP:
|
||||
BIO_printf(bio_s_out,"Write BLOCK\n");
|
||||
break;
|
||||
case SSL_ERROR_SYSCALL:
|
||||
case SSL_ERROR_SSL:
|
||||
BIO_printf(bio_s_out,"ERROR\n");
|
||||
continue;
|
||||
}
|
||||
if (k <= 0)
|
||||
{
|
||||
ERR_print_errors(bio_err);
|
||||
ret=1;
|
||||
goto err;
|
||||
/* break; */
|
||||
case SSL_ERROR_ZERO_RETURN:
|
||||
BIO_printf(bio_s_out,"DONE\n");
|
||||
ret=1;
|
||||
goto err;
|
||||
@@ -719,31 +629,25 @@ int s;
|
||||
}
|
||||
else
|
||||
{
|
||||
again:
|
||||
i=SSL_read(con,(char *)buf,bufsize);
|
||||
switch (SSL_get_error(con,i))
|
||||
i=SSL_read(con,(char *)buf,BUFSIZZ);
|
||||
if ((i <= 0) &&
|
||||
#ifdef FIONBIO
|
||||
s_nbio &&
|
||||
#endif
|
||||
BIO_sock_should_retry(i))
|
||||
{
|
||||
case SSL_ERROR_NONE:
|
||||
write(fileno(stdout),buf,
|
||||
(unsigned int)i);
|
||||
if (SSL_pending(con)) goto again;
|
||||
break;
|
||||
case SSL_ERROR_WANT_WRITE:
|
||||
case SSL_ERROR_WANT_READ:
|
||||
case SSL_ERROR_WANT_X509_LOOKUP:
|
||||
BIO_printf(bio_s_out,"Read BLOCK\n");
|
||||
break;
|
||||
case SSL_ERROR_SYSCALL:
|
||||
case SSL_ERROR_SSL:
|
||||
BIO_printf(bio_s_out,"ERROR\n");
|
||||
}
|
||||
else if (i <= 0)
|
||||
{
|
||||
ERR_print_errors(bio_err);
|
||||
ret=1;
|
||||
goto err;
|
||||
case SSL_ERROR_ZERO_RETURN:
|
||||
BIO_printf(bio_s_out,"DONE\n");
|
||||
ret=1;
|
||||
goto err;
|
||||
}
|
||||
else
|
||||
write(fileno(stdout),buf,
|
||||
(unsigned int)i);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -758,7 +662,7 @@ err:
|
||||
BIO_printf(bio_s_out,"CONNECTION CLOSED\n");
|
||||
if (buf != NULL)
|
||||
{
|
||||
memset(buf,0,bufsize);
|
||||
memset(buf,0,BUFSIZZ);
|
||||
Free(buf);
|
||||
}
|
||||
if (ret >= 0)
|
||||
@@ -781,7 +685,7 @@ SSL *con;
|
||||
int i;
|
||||
char *str;
|
||||
X509 *peer;
|
||||
long verify_error;
|
||||
int verify_error;
|
||||
MS_STATIC char buf[BUFSIZ];
|
||||
|
||||
if ((i=SSL_accept(con)) <= 0)
|
||||
@@ -823,27 +727,23 @@ SSL *con;
|
||||
str=SSL_CIPHER_get_name(SSL_get_current_cipher(con));
|
||||
BIO_printf(bio_s_out,"CIPHER is %s\n",(str != NULL)?str:"(NONE)");
|
||||
if (con->hit) BIO_printf(bio_s_out,"Reused session-id\n");
|
||||
if (SSL_ctrl(con,SSL_CTRL_GET_FLAGS,0,NULL) &
|
||||
TLS1_FLAGS_TLS_PADDING_BUG)
|
||||
BIO_printf(bio_s_out,"Peer has incorrect TLSv1 block padding\n");
|
||||
|
||||
return(1);
|
||||
}
|
||||
|
||||
#ifndef NO_DH
|
||||
static DH *load_dh_param()
|
||||
{
|
||||
DH *ret=NULL;
|
||||
BIO *bio;
|
||||
|
||||
#ifndef NO_DH
|
||||
if ((bio=BIO_new_file(DH_PARAM,"r")) == NULL)
|
||||
goto err;
|
||||
ret=PEM_read_bio_DHparams(bio,NULL,NULL);
|
||||
err:
|
||||
if (bio != NULL) BIO_free(bio);
|
||||
#endif
|
||||
return(ret);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
static int load_CA(ctx,file)
|
||||
@@ -872,17 +772,14 @@ static int www_body(hostname, s)
|
||||
char *hostname;
|
||||
int s;
|
||||
{
|
||||
char *buf=NULL;
|
||||
char buf[1024];
|
||||
int ret=1;
|
||||
int i,j,k,blank,dot;
|
||||
struct stat st_buf;
|
||||
SSL *con;
|
||||
SSL_CIPHER *c;
|
||||
BIO *io,*ssl_bio,*sbio;
|
||||
long total_bytes;
|
||||
|
||||
buf=Malloc(bufsize);
|
||||
if (buf == NULL) return(0);
|
||||
io=BIO_new(BIO_f_buffer());
|
||||
ssl_bio=BIO_new(BIO_f_ssl());
|
||||
if ((io == NULL) || (ssl_bio == NULL)) goto err;
|
||||
@@ -890,17 +787,16 @@ int s;
|
||||
#ifdef FIONBIO
|
||||
if (s_nbio)
|
||||
{
|
||||
unsigned long sl=1;
|
||||
unsigned int long sl=1;
|
||||
|
||||
if (!s_quiet)
|
||||
BIO_printf(bio_err,"turning on non blocking io\n");
|
||||
if (BIO_socket_ioctl(s,FIONBIO,&sl) < 0)
|
||||
ERR_print_errors(bio_err);
|
||||
socket_ioctl(s,FIONBIO,&sl);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* lets make the output buffer a reasonable size */
|
||||
if (!BIO_set_write_buffer_size(io,bufsize)) goto err;
|
||||
if (!BIO_set_write_buffer_size(io,16*1024)) goto err;
|
||||
|
||||
if ((con=(SSL *)SSL_new(ctx)) == NULL) goto err;
|
||||
|
||||
@@ -946,14 +842,14 @@ int s;
|
||||
case SSL_ERROR_ZERO_RETURN:
|
||||
ret=1;
|
||||
goto err;
|
||||
/* break; */
|
||||
break;
|
||||
}
|
||||
|
||||
SSL_renegotiate(con);
|
||||
SSL_write(con,NULL,0);
|
||||
}
|
||||
|
||||
i=BIO_gets(io,buf,bufsize-1);
|
||||
i=BIO_gets(io,buf,sizeof(buf)-1);
|
||||
if (i < 0) /* error */
|
||||
{
|
||||
if (!BIO_should_retry(io))
|
||||
@@ -979,15 +875,14 @@ int s;
|
||||
|
||||
/* else we have data */
|
||||
if ( ((www == 1) && (strncmp("GET ",buf,4) == 0)) ||
|
||||
((www == 2) && (strncmp("GET /stats ",buf,10) == 0)))
|
||||
((www == 2) && (strncmp("GET stats ",buf,10) == 0)))
|
||||
{
|
||||
char *p;
|
||||
X509 *peer;
|
||||
STACK *sk;
|
||||
static char *space=" ";
|
||||
static char *space=" ";
|
||||
|
||||
BIO_puts(io,"HTTP/1.0 200 ok\r\nContent-type: text/html\r\n\r\n");
|
||||
BIO_puts(io,"<HTML><BODY BGCOLOR=ffffff>\n");
|
||||
BIO_puts(io,"<pre>\n");
|
||||
/* BIO_puts(io,SSLeay_version(SSLEAY_VERSION));*/
|
||||
BIO_puts(io,"\n");
|
||||
@@ -1006,14 +901,14 @@ int s;
|
||||
for (i=0; i<j; i++)
|
||||
{
|
||||
c=(SSL_CIPHER *)sk_value(sk,i);
|
||||
BIO_printf(io,"%-11s:%-25s",
|
||||
BIO_printf(io,"%s:%-25s",
|
||||
SSL_CIPHER_get_version(c),
|
||||
SSL_CIPHER_get_name(c));
|
||||
if ((((i+1)%2) == 0) && (i+1 != j))
|
||||
if ((((i+1)%3) == 0) && (i+1 != j))
|
||||
BIO_puts(io,"\n");
|
||||
}
|
||||
BIO_puts(io,"\n");
|
||||
p=SSL_get_shared_ciphers(con,buf,bufsize);
|
||||
p=SSL_get_shared_ciphers(con,buf,sizeof(buf));
|
||||
if (p != NULL)
|
||||
{
|
||||
BIO_printf(io,"---\nCiphers common between both SSL end points:\n");
|
||||
@@ -1022,7 +917,7 @@ int s;
|
||||
{
|
||||
if (*p == ':')
|
||||
{
|
||||
BIO_write(io,space,26-j);
|
||||
BIO_write(io,space,15-j);
|
||||
i++;
|
||||
j=0;
|
||||
BIO_write(io,((i%3)?" ":"\n"),1);
|
||||
@@ -1040,7 +935,7 @@ int s;
|
||||
?"---\nReused, "
|
||||
:"---\nNew, "));
|
||||
c=SSL_get_current_cipher(con);
|
||||
BIO_printf(io,"%s, Cipher is %s\n",
|
||||
BIO_printf(io,"SSLv%d, Cipher is %s\n",
|
||||
SSL_CIPHER_get_version(c),
|
||||
SSL_CIPHER_get_name(c));
|
||||
SSL_SESSION_print(io,SSL_get_session(con));
|
||||
@@ -1056,7 +951,6 @@ int s;
|
||||
}
|
||||
else
|
||||
BIO_puts(io,"no client certificate available\n");
|
||||
BIO_puts(io,"</BODY></HTML>\r\n\r\n");
|
||||
break;
|
||||
}
|
||||
else if ((www == 2) && (strncmp("GET ",buf,4) == 0))
|
||||
@@ -1075,7 +969,6 @@ int s;
|
||||
(strncmp(&(e[-1]),"/../",4) == 0))
|
||||
dot=1;
|
||||
}
|
||||
|
||||
|
||||
if (*e == '\0')
|
||||
{
|
||||
@@ -1135,33 +1028,18 @@ int s;
|
||||
else
|
||||
BIO_puts(io,"HTTP/1.0 200 ok\r\nContent-type: text/plain\r\n\r\n");
|
||||
/* send the file */
|
||||
total_bytes=0;
|
||||
for (;;)
|
||||
{
|
||||
i=BIO_read(file,buf,bufsize);
|
||||
i=BIO_read(file,buf,1024);
|
||||
if (i <= 0) break;
|
||||
|
||||
#ifdef RENEG
|
||||
total_bytes+=i;
|
||||
fprintf(stderr,"%d\n",i);
|
||||
if (total_bytes > 3*1024)
|
||||
{
|
||||
total_bytes=0;
|
||||
fprintf(stderr,"RENEGOTIATE\n");
|
||||
SSL_renegotiate(con);
|
||||
}
|
||||
#endif
|
||||
|
||||
for (j=0; j<i; )
|
||||
{
|
||||
#ifdef RENEG
|
||||
{ static count=0; if (++count == 13) { SSL_renegotiate(con); } }
|
||||
#endif
|
||||
k=BIO_write(io,&(buf[j]),i-j);
|
||||
if (k <= 0)
|
||||
{
|
||||
if (!BIO_should_retry(io))
|
||||
goto write_error;
|
||||
break;
|
||||
else
|
||||
{
|
||||
BIO_printf(bio_s_out,"rwrite W BLOCK\n");
|
||||
@@ -1173,7 +1051,6 @@ int s;
|
||||
}
|
||||
}
|
||||
}
|
||||
write_error:
|
||||
BIO_free(file);
|
||||
break;
|
||||
}
|
||||
@@ -1191,13 +1068,12 @@ write_error:
|
||||
break;
|
||||
}
|
||||
end:
|
||||
#if 1
|
||||
#if 0
|
||||
/* make sure we re-use sessions */
|
||||
SSL_set_shutdown(con,SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN);
|
||||
#else
|
||||
/* This kills performace */
|
||||
/* SSL_shutdown(con); A shutdown gets sent in the
|
||||
* BIO_free_all(io) procession */
|
||||
SSL_shutdown(con);
|
||||
#endif
|
||||
|
||||
err:
|
||||
@@ -1205,9 +1081,8 @@ err:
|
||||
if (ret >= 0)
|
||||
BIO_printf(bio_s_out,"ACCEPT\n");
|
||||
|
||||
if (buf != NULL) Free(buf);
|
||||
if (io != NULL) BIO_free_all(io);
|
||||
/* if (ssl_bio != NULL) BIO_free(ssl_bio);*/
|
||||
/* if (ssl_bio != NULL) BIO_free(ssl_bio); */
|
||||
return(ret);
|
||||
}
|
||||
|
||||
@@ -1225,7 +1100,7 @@ int export;
|
||||
BIO_flush(bio_err);
|
||||
}
|
||||
#ifndef NO_RSA
|
||||
rsa_tmp=RSA_generate_key(512,RSA_F4,NULL,NULL);
|
||||
rsa_tmp=RSA_generate_key(512,RSA_F4,NULL);
|
||||
#endif
|
||||
if (!s_quiet)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/s_socket.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -262,7 +262,7 @@ int port;
|
||||
*sock=s;
|
||||
|
||||
#ifdef FIONBIO
|
||||
BIO_socket_ioctl(s,FIONBIO,&l);
|
||||
socket_ioctl(s,FIONBIO,&l);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@@ -306,19 +306,18 @@ int (*cb)();
|
||||
}
|
||||
i=(*cb)(name,sock);
|
||||
if (name != NULL) Free(name);
|
||||
SHUTDOWN2(sock);
|
||||
SHUTDOWN(sock);
|
||||
if (i < 0)
|
||||
{
|
||||
SHUTDOWN2(accept_socket);
|
||||
SHUTDOWN(accept_socket);
|
||||
return(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int init_server_long(sock, port, ip)
|
||||
int init_server(sock, port)
|
||||
int *sock;
|
||||
int port;
|
||||
char *ip;
|
||||
{
|
||||
int ret=0;
|
||||
struct sockaddr_in server;
|
||||
@@ -329,10 +328,7 @@ char *ip;
|
||||
memset((char *)&server,0,sizeof(server));
|
||||
server.sin_family=AF_INET;
|
||||
server.sin_port=htons((unsigned short)port);
|
||||
if (ip == NULL)
|
||||
server.sin_addr.s_addr=INADDR_ANY;
|
||||
else
|
||||
memcpy(&server.sin_addr.s_addr,ip,4);
|
||||
server.sin_addr.s_addr=INADDR_ANY;
|
||||
s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
|
||||
|
||||
if (s == INVALID_SOCKET) goto err;
|
||||
@@ -343,8 +339,7 @@ char *ip;
|
||||
#endif
|
||||
goto err;
|
||||
}
|
||||
/* Make it 128 for linux */
|
||||
if (listen(s,128) == -1) goto err;
|
||||
if (listen(s,5) == -1) goto err;
|
||||
i=0;
|
||||
*sock=s;
|
||||
ret=1;
|
||||
@@ -356,13 +351,6 @@ err:
|
||||
return(ret);
|
||||
}
|
||||
|
||||
int init_server(sock,port)
|
||||
int *sock;
|
||||
int port;
|
||||
{
|
||||
return(init_server_long(sock, port, NULL));
|
||||
}
|
||||
|
||||
int do_accept(acc_sock, sock, host)
|
||||
int acc_sock;
|
||||
int *sock;
|
||||
@@ -411,14 +399,9 @@ redoit:
|
||||
*/
|
||||
|
||||
if (host == NULL) goto end;
|
||||
#ifndef BIT_FIELD_LIMITS
|
||||
/* I should use WSAAsyncGetHostByName() under windows */
|
||||
h1=gethostbyaddr((char *)&from.sin_addr.s_addr,
|
||||
sizeof(from.sin_addr.s_addr),AF_INET);
|
||||
#else
|
||||
h1=gethostbyaddr((char *)&from.sin_addr,
|
||||
sizeof(struct in_addr),AF_INET);
|
||||
#endif
|
||||
if (h1 == NULL)
|
||||
{
|
||||
BIO_printf(bio_err,"bad gethostbyaddr\n");
|
||||
@@ -452,6 +435,38 @@ end:
|
||||
return(1);
|
||||
}
|
||||
|
||||
int socket_ioctl(fd,type,arg)
|
||||
int fd;
|
||||
long type;
|
||||
unsigned long *arg;
|
||||
{
|
||||
int i,err;
|
||||
#ifdef WINDOWS
|
||||
i=ioctlsocket(fd,type,arg);
|
||||
#else
|
||||
i=ioctl(fd,type,arg);
|
||||
#endif
|
||||
if (i < 0)
|
||||
{
|
||||
#ifdef WINDOWS
|
||||
err=WSAGetLastError();
|
||||
#else
|
||||
err=errno;
|
||||
#endif
|
||||
BIO_printf(bio_err,"ioctl on socket failed:error %d\n",err);
|
||||
}
|
||||
return(i);
|
||||
}
|
||||
|
||||
int sock_err()
|
||||
{
|
||||
#ifdef WINDOWS
|
||||
return(WSAGetLastError());
|
||||
#else
|
||||
return(errno);
|
||||
#endif
|
||||
}
|
||||
|
||||
int extract_host_port(str,host_ptr,ip,port_ptr)
|
||||
char *str;
|
||||
char **host_ptr;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/s_time.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -56,7 +56,7 @@
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
|
||||
#define NO_SHUTDOWN
|
||||
#undef NO_SHUTDOWN
|
||||
|
||||
/*-----------------------------------------
|
||||
cntime - SSL client connection timer program
|
||||
@@ -67,7 +67,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef NO_STDIO
|
||||
#ifdef WIN16
|
||||
#define APPS_WIN16
|
||||
#endif
|
||||
#include "x509.h"
|
||||
@@ -111,8 +111,7 @@ struct tms {
|
||||
#include <sys/select.h>
|
||||
#endif
|
||||
|
||||
#if defined(sun) || defined(__ultrix)
|
||||
#define _POSIX_SOURCE
|
||||
#ifdef sun
|
||||
#include <limits.h>
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
@@ -155,12 +154,10 @@ extern int verify_error;
|
||||
static void s_time_usage(void);
|
||||
static int parseArgs( int argc, char **argv );
|
||||
static SSL *doConnection( SSL *scon );
|
||||
static void s_time_init(void);
|
||||
#else
|
||||
static void s_time_usage();
|
||||
static int parseArgs();
|
||||
static SSL *doConnection();
|
||||
static void s_time_init();
|
||||
#endif
|
||||
|
||||
|
||||
@@ -183,38 +180,15 @@ static char *s_www_path=NULL;
|
||||
static long bytes_read=0;
|
||||
static int st_bugs=0;
|
||||
static int perform=0;
|
||||
|
||||
#ifdef FIONBIO
|
||||
static int t_nbio=0;
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
static int exitNow = 0; /* Set when it's time to exit main */
|
||||
#endif
|
||||
|
||||
static void s_time_init()
|
||||
{
|
||||
host=SSL_CONNECT_NAME;
|
||||
t_cert_file=NULL;
|
||||
t_key_file=NULL;
|
||||
CApath=NULL;
|
||||
CAfile=NULL;
|
||||
tm_cipher=NULL;
|
||||
tm_verify = SSL_VERIFY_NONE;
|
||||
maxTime = SECONDS;
|
||||
tm_ctx=NULL;
|
||||
s_time_meth=NULL;
|
||||
s_www_path=NULL;
|
||||
bytes_read=0;
|
||||
st_bugs=0;
|
||||
perform=0;
|
||||
|
||||
#ifdef FIONBIO
|
||||
t_nbio=0;
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
exitNow = 0; /* Set when it's time to exit main */
|
||||
#endif
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* usage - display usage message
|
||||
*/
|
||||
@@ -263,7 +237,6 @@ char **argv;
|
||||
#endif
|
||||
|
||||
apps_startup();
|
||||
s_time_init();
|
||||
|
||||
if (bio_err == NULL)
|
||||
bio_err=BIO_new_fp(stderr,BIO_NOCLOSE);
|
||||
@@ -423,7 +396,6 @@ char **argv;
|
||||
long finishtime=0;
|
||||
int ret=1,i;
|
||||
MS_STATIC char buf[1024*8];
|
||||
int ver;
|
||||
|
||||
#if !defined(NO_SSL2) && !defined(NO_SSL3)
|
||||
s_time_meth=SSLv23_client_method();
|
||||
@@ -440,8 +412,6 @@ char **argv;
|
||||
SSLeay_add_ssl_algorithms();
|
||||
if ((tm_ctx=SSL_CTX_new(s_time_meth)) == NULL) return(1);
|
||||
|
||||
SSL_CTX_set_quiet_shutdown(tm_ctx,1);
|
||||
|
||||
if (st_bugs) SSL_CTX_set_options(tm_ctx,SSL_OP_ALL);
|
||||
SSL_CTX_set_cipher_list(tm_ctx,tm_cipher);
|
||||
if(!set_cert_stuff(tm_ctx,t_cert_file,t_key_file))
|
||||
@@ -452,9 +422,9 @@ char **argv;
|
||||
if ((!SSL_CTX_load_verify_locations(tm_ctx,CAfile,CApath)) ||
|
||||
(!SSL_CTX_set_default_verify_paths(tm_ctx)))
|
||||
{
|
||||
/* BIO_printf(bio_err,"error seting default verify locations\n"); */
|
||||
BIO_printf(bio_err,"error seting default verify locations\n");
|
||||
ERR_print_errors(bio_err);
|
||||
/* goto end; */
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (tm_cipher == NULL)
|
||||
@@ -501,24 +471,11 @@ char **argv;
|
||||
#else
|
||||
SSL_shutdown(scon);
|
||||
#endif
|
||||
SHUTDOWN2(SSL_get_fd(scon));
|
||||
SHUTDOWN(SSL_get_fd(scon));
|
||||
|
||||
nConn += 1;
|
||||
if (SSL_session_reused(scon))
|
||||
ver='r';
|
||||
else
|
||||
{
|
||||
ver=SSL_version(scon);
|
||||
if (ver == TLS1_VERSION)
|
||||
ver='t';
|
||||
else if (ver == SSL3_VERSION)
|
||||
ver='3';
|
||||
else if (ver == SSL2_VERSION)
|
||||
ver='2';
|
||||
else
|
||||
ver='*';
|
||||
}
|
||||
fputc(ver,stdout);
|
||||
fputc(SSL_session_reused(scon)?'r':
|
||||
(SSL_version(scon))+'0', stdout );
|
||||
fflush(stdout);
|
||||
|
||||
SSL_free( scon );
|
||||
@@ -555,7 +512,7 @@ next:
|
||||
#else
|
||||
SSL_shutdown(scon);
|
||||
#endif
|
||||
SHUTDOWN2(SSL_get_fd(scon));
|
||||
SHUTDOWN(SSL_get_fd(scon));
|
||||
|
||||
nConn = 0;
|
||||
totalTime = 0.0;
|
||||
@@ -594,24 +551,11 @@ next:
|
||||
#else
|
||||
SSL_shutdown(scon);
|
||||
#endif
|
||||
SHUTDOWN2(SSL_get_fd(scon));
|
||||
SHUTDOWN(SSL_get_fd(scon));
|
||||
|
||||
nConn += 1;
|
||||
if (SSL_session_reused(scon))
|
||||
ver='r';
|
||||
else
|
||||
{
|
||||
ver=SSL_version(scon);
|
||||
if (ver == TLS1_VERSION)
|
||||
ver='t';
|
||||
else if (ver == SSL3_VERSION)
|
||||
ver='3';
|
||||
else if (ver == SSL2_VERSION)
|
||||
ver='2';
|
||||
else
|
||||
ver='*';
|
||||
}
|
||||
fputc(ver,stdout);
|
||||
fputc(SSL_session_reused(scon)?'r':
|
||||
(SSL_version(scon))+'0', stdout );
|
||||
fflush(stdout);
|
||||
}
|
||||
totalTime += tm_Time_F(STOP); /* Add the time for this iteration*/
|
||||
@@ -651,8 +595,8 @@ SSL *scon;
|
||||
if ((conn=BIO_new(BIO_s_connect())) == NULL)
|
||||
return(NULL);
|
||||
|
||||
/* BIO_set_conn_port(conn,port);*/
|
||||
BIO_set_conn_hostname(conn,host);
|
||||
/* BIO_set_port(conn,port);*/
|
||||
BIO_set_hostname(conn,host);
|
||||
|
||||
if (scon == NULL)
|
||||
serverCon=(SSL *)SSL_new(tm_ctx);
|
||||
|
||||
780
apps/sc.c
780
apps/sc.c
@@ -1,780 +0,0 @@
|
||||
/* apps/s_client.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
* by Eric Young (eay@cryptsoft.com).
|
||||
* The implementation was written so as to conform with Netscapes SSL.
|
||||
*
|
||||
* This library is free for commercial and non-commercial use as long as
|
||||
* the following conditions are aheared to. The following conditions
|
||||
* apply to all code found in this distribution, be it the RC4, RSA,
|
||||
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
||||
* included with this distribution is covered by the same copyright terms
|
||||
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
* Copyright remains Eric Young's, and as such any Copyright notices in
|
||||
* the code are not to be removed.
|
||||
* If this package is used in a product, Eric Young should be given attribution
|
||||
* as the author of the parts of the library used.
|
||||
* This can be in the form of a textual message at program startup or
|
||||
* in documentation (online or textual) provided with the package.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* "This product includes cryptographic software written by
|
||||
* Eric Young (eay@cryptsoft.com)"
|
||||
* The word 'cryptographic' can be left out if the rouines from the library
|
||||
* being used are not cryptographic related :-).
|
||||
* 4. If you include any Windows specific code (or a derivative thereof) from
|
||||
* the apps directory (application code) you must include an acknowledgement:
|
||||
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* 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
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#define USE_SOCKETS
|
||||
#ifdef NO_STDIO
|
||||
#define APPS_WIN16
|
||||
#endif
|
||||
#include "apps.h"
|
||||
#include "x509.h"
|
||||
#include "ssl.h"
|
||||
#include "err.h"
|
||||
#include "pem.h"
|
||||
#include "s_apps.h"
|
||||
|
||||
#ifdef WINDOWS
|
||||
/* Most of the #if(n)def WINDOWS put in by Gerrit van Niekerk
|
||||
<gerritvn@osi.co.za> to support the keyboard under Windows.
|
||||
Tested using Win95, *should* work with NT and Win3.x
|
||||
*/
|
||||
#include <conio.h>
|
||||
#endif
|
||||
|
||||
#undef PROG
|
||||
#define PROG s_client_main
|
||||
|
||||
/*#define SSL_HOST_NAME "www.netscape.com" */
|
||||
/*#define SSL_HOST_NAME "193.118.187.102" */
|
||||
#define SSL_HOST_NAME "localhost"
|
||||
|
||||
/*#define TEST_CERT "client.pem" */ /* no default cert. */
|
||||
|
||||
#undef BUFSIZZ
|
||||
#define BUFSIZZ 1024*8
|
||||
|
||||
extern int verify_depth;
|
||||
extern int verify_error;
|
||||
|
||||
#ifdef FIONBIO
|
||||
static int c_nbio=0;
|
||||
#endif
|
||||
static int c_Pause=0;
|
||||
static int c_debug=0;
|
||||
|
||||
#ifndef NOPROTO
|
||||
static void sc_usage(void);
|
||||
static void print_stuff(BIO *berr,SSL *con,int full);
|
||||
#else
|
||||
static void sc_usage();
|
||||
static void print_stuff();
|
||||
#endif
|
||||
|
||||
static BIO *bio_c_out=NULL;
|
||||
static int c_quiet=0;
|
||||
|
||||
static void sc_usage()
|
||||
{
|
||||
BIO_printf(bio_err,"usage: client args\n");
|
||||
BIO_printf(bio_err,"\n");
|
||||
BIO_printf(bio_err," -host host - use -connect instead\n");
|
||||
BIO_printf(bio_err," -port port - use -connect instead\n");
|
||||
BIO_printf(bio_err," -connect host:port - who to connect to (default is %s:%s)\n",SSL_HOST_NAME,PORT_STR);
|
||||
|
||||
BIO_printf(bio_err," -verify arg - turn on peer certificate verification\n");
|
||||
BIO_printf(bio_err," -cert arg - certificate file to use, PEM format assumed\n");
|
||||
BIO_printf(bio_err," -key arg - Private key file to use, PEM format assumed, in cert file if\n");
|
||||
BIO_printf(bio_err," not specified but cert file is.\n");
|
||||
BIO_printf(bio_err," -CApath arg - PEM format directory of CA's\n");
|
||||
BIO_printf(bio_err," -CAfile arg - PEM format file of CA's\n");
|
||||
BIO_printf(bio_err," -reconnect - Drop and re-make the connection with the same Session-ID\n");
|
||||
BIO_printf(bio_err," -pause - sleep(1) after each read(2) and write(2) system call\n");
|
||||
BIO_printf(bio_err," -debug - extra output\n");
|
||||
BIO_printf(bio_err," -nbio_test - more ssl protocol testing\n");
|
||||
BIO_printf(bio_err," -state - print the 'ssl' states\n");
|
||||
#ifdef FIONBIO
|
||||
BIO_printf(bio_err," -nbio - Run with non-blocking IO\n");
|
||||
#endif
|
||||
BIO_printf(bio_err," -quiet - no s_client output\n");
|
||||
BIO_printf(bio_err," -ssl2 - just use SSLv2\n");
|
||||
BIO_printf(bio_err," -ssl3 - just use SSLv3\n");
|
||||
BIO_printf(bio_err," -tls1 - just use TLSv1\n");
|
||||
BIO_printf(bio_err," -no_tls1/-no_ssl3/-no_ssl2 - turn off that protocol\n");
|
||||
BIO_printf(bio_err," -bugs - Switch on all SSL implementation bug workarounds\n");
|
||||
BIO_printf(bio_err," -cipher - prefered cipher to use, use the 'ssleay ciphers'\n");
|
||||
BIO_printf(bio_err," command to see what is available\n");
|
||||
|
||||
}
|
||||
|
||||
int MAIN(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
int off=0;
|
||||
SSL *con=NULL,*con2=NULL;
|
||||
int s,k,width,state=0;
|
||||
char *cbuf=NULL,*sbuf=NULL;
|
||||
int cbuf_len,cbuf_off;
|
||||
int sbuf_len,sbuf_off;
|
||||
fd_set readfds,writefds;
|
||||
short port=PORT;
|
||||
int full_log=1;
|
||||
char *host=SSL_HOST_NAME;
|
||||
char *cert_file=NULL,*key_file=NULL;
|
||||
char *CApath=NULL,*CAfile=NULL,*cipher=NULL;
|
||||
int reconnect=0,badop=0,verify=SSL_VERIFY_NONE,bugs=0;
|
||||
int write_tty,read_tty,write_ssl,read_ssl,tty_on;
|
||||
SSL_CTX *ctx=NULL;
|
||||
int ret=1,in_init=1,i,nbio_test=0;
|
||||
SSL_METHOD *meth=NULL;
|
||||
BIO *sbio;
|
||||
/*static struct timeval timeout={10,0};*/
|
||||
|
||||
#if !defined(NO_SSL2) && !defined(NO_SSL3)
|
||||
meth=SSLv23_client_method();
|
||||
#elif !defined(NO_SSL3)
|
||||
meth=SSLv3_client_method();
|
||||
#elif !defined(NO_SSL2)
|
||||
meth=SSLv2_client_method();
|
||||
#endif
|
||||
|
||||
apps_startup();
|
||||
c_Pause=0;
|
||||
c_quiet=0;
|
||||
c_debug=0;
|
||||
|
||||
if (bio_err == NULL)
|
||||
bio_err=BIO_new_fp(stderr,BIO_NOCLOSE);
|
||||
|
||||
if ( ((cbuf=Malloc(BUFSIZZ)) == NULL) ||
|
||||
((sbuf=Malloc(BUFSIZZ)) == NULL))
|
||||
{
|
||||
BIO_printf(bio_err,"out of memory\n");
|
||||
goto end;
|
||||
}
|
||||
|
||||
verify_depth=0;
|
||||
verify_error=X509_V_OK;
|
||||
#ifdef FIONBIO
|
||||
c_nbio=0;
|
||||
#endif
|
||||
#ifdef WINDOWS
|
||||
c_nbio = 1;
|
||||
#endif
|
||||
|
||||
argc--;
|
||||
argv++;
|
||||
while (argc >= 1)
|
||||
{
|
||||
if (strcmp(*argv,"-host") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
host= *(++argv);
|
||||
}
|
||||
else if (strcmp(*argv,"-port") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
port=atoi(*(++argv));
|
||||
if (port == 0) goto bad;
|
||||
}
|
||||
else if (strcmp(*argv,"-connect") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
if (!extract_host_port(*(++argv),&host,NULL,&port))
|
||||
goto bad;
|
||||
}
|
||||
else if (strcmp(*argv,"-verify") == 0)
|
||||
{
|
||||
verify=SSL_VERIFY_PEER;
|
||||
if (--argc < 1) goto bad;
|
||||
verify_depth=atoi(*(++argv));
|
||||
BIO_printf(bio_err,"verify depth is %d\n",verify_depth);
|
||||
}
|
||||
else if (strcmp(*argv,"-cert") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
cert_file= *(++argv);
|
||||
}
|
||||
else if (strcmp(*argv,"-quiet") == 0)
|
||||
c_quiet=1;
|
||||
else if (strcmp(*argv,"-pause") == 0)
|
||||
c_Pause=1;
|
||||
else if (strcmp(*argv,"-debug") == 0)
|
||||
c_debug=1;
|
||||
else if (strcmp(*argv,"-nbio_test") == 0)
|
||||
nbio_test=1;
|
||||
else if (strcmp(*argv,"-state") == 0)
|
||||
state=1;
|
||||
#ifndef NO_SSL2
|
||||
else if (strcmp(*argv,"-ssl2") == 0)
|
||||
meth=SSLv2_client_method();
|
||||
#endif
|
||||
#ifndef NO_SSL3
|
||||
else if (strcmp(*argv,"-ssl3") == 0)
|
||||
meth=SSLv3_client_method();
|
||||
#endif
|
||||
#ifndef NO_TLS1
|
||||
else if (strcmp(*argv,"-tls1") == 0)
|
||||
meth=TLSv1_client_method();
|
||||
#endif
|
||||
else if (strcmp(*argv,"-bugs") == 0)
|
||||
bugs=1;
|
||||
else if (strcmp(*argv,"-key") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
key_file= *(++argv);
|
||||
}
|
||||
else if (strcmp(*argv,"-reconnect") == 0)
|
||||
{
|
||||
reconnect=5;
|
||||
}
|
||||
else if (strcmp(*argv,"-CApath") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
CApath= *(++argv);
|
||||
}
|
||||
else if (strcmp(*argv,"-CAfile") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
CAfile= *(++argv);
|
||||
}
|
||||
else if (strcmp(*argv,"-no_tls1") == 0)
|
||||
off|=SSL_OP_NO_TLSv1;
|
||||
else if (strcmp(*argv,"-no_ssl3") == 0)
|
||||
off|=SSL_OP_NO_SSLv3;
|
||||
else if (strcmp(*argv,"-no_ssl2") == 0)
|
||||
off|=SSL_OP_NO_SSLv2;
|
||||
else if (strcmp(*argv,"-cipher") == 0)
|
||||
{
|
||||
if (--argc < 1) goto bad;
|
||||
cipher= *(++argv);
|
||||
}
|
||||
#ifdef FIONBIO
|
||||
else if (strcmp(*argv,"-nbio") == 0)
|
||||
{ c_nbio=1; }
|
||||
#endif
|
||||
else
|
||||
{
|
||||
BIO_printf(bio_err,"unknown option %s\n",*argv);
|
||||
badop=1;
|
||||
break;
|
||||
}
|
||||
argc--;
|
||||
argv++;
|
||||
}
|
||||
if (badop)
|
||||
{
|
||||
bad:
|
||||
sc_usage();
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (bio_c_out == NULL)
|
||||
{
|
||||
if (c_quiet)
|
||||
{
|
||||
bio_c_out=BIO_new(BIO_s_null());
|
||||
}
|
||||
else
|
||||
{
|
||||
if (bio_c_out == NULL)
|
||||
bio_c_out=BIO_new_fp(stdout,BIO_NOCLOSE);
|
||||
}
|
||||
}
|
||||
|
||||
SSLeay_add_ssl_algorithms();
|
||||
ctx=SSL_CTX_new(meth);
|
||||
if (ctx == NULL)
|
||||
{
|
||||
ERR_print_errors(bio_err);
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (bugs)
|
||||
SSL_CTX_set_options(ctx,SSL_OP_ALL|off);
|
||||
else
|
||||
SSL_CTX_set_options(ctx,off);
|
||||
|
||||
if (state) SSL_CTX_set_info_callback(ctx,apps_ssl_info_callback);
|
||||
if (cipher != NULL)
|
||||
SSL_CTX_set_cipher_list(ctx,cipher);
|
||||
#if 0
|
||||
else
|
||||
SSL_CTX_set_cipher_list(ctx,getenv("SSL_CIPHER"));
|
||||
#endif
|
||||
|
||||
SSL_CTX_set_verify(ctx,verify,verify_callback);
|
||||
if (!set_cert_stuff(ctx,cert_file,key_file))
|
||||
goto end;
|
||||
|
||||
if ((!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)) ||
|
||||
(!SSL_CTX_set_default_verify_paths(ctx)))
|
||||
{
|
||||
/* BIO_printf(bio_err,"error seting default verify locations\n"); */
|
||||
ERR_print_errors(bio_err);
|
||||
/* goto end; */
|
||||
}
|
||||
|
||||
SSL_load_error_strings();
|
||||
|
||||
con=(SSL *)SSL_new(ctx);
|
||||
/* SSL_set_cipher_list(con,"RC4-MD5"); */
|
||||
|
||||
re_start:
|
||||
|
||||
if (init_client(&s,host,port) == 0)
|
||||
{
|
||||
BIO_printf(bio_err,"connect:errno=%d\n",get_last_socket_error());
|
||||
SHUTDOWN(s);
|
||||
goto end;
|
||||
}
|
||||
BIO_printf(bio_c_out,"CONNECTED(%08X)\n",s);
|
||||
|
||||
#ifdef FIONBIO
|
||||
if (c_nbio)
|
||||
{
|
||||
unsigned long l=1;
|
||||
BIO_printf(bio_c_out,"turning on non blocking io\n");
|
||||
if (BIO_socket_ioctl(s,FIONBIO,&l) < 0)
|
||||
{
|
||||
ERR_print_errors(bio_err);
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (c_Pause & 0x01) con->debug=1;
|
||||
sbio=BIO_new_socket(s,BIO_NOCLOSE);
|
||||
|
||||
if (nbio_test)
|
||||
{
|
||||
BIO *test;
|
||||
|
||||
test=BIO_new(BIO_f_nbio_test());
|
||||
sbio=BIO_push(test,sbio);
|
||||
}
|
||||
|
||||
if (c_debug)
|
||||
{
|
||||
con->debug=1;
|
||||
BIO_set_callback(sbio,bio_dump_cb);
|
||||
BIO_set_callback_arg(sbio,bio_c_out);
|
||||
}
|
||||
|
||||
SSL_set_bio(con,sbio,sbio);
|
||||
SSL_set_connect_state(con);
|
||||
|
||||
/* ok, lets connect */
|
||||
width=SSL_get_fd(con)+1;
|
||||
|
||||
read_tty=1;
|
||||
write_tty=0;
|
||||
tty_on=0;
|
||||
read_ssl=1;
|
||||
write_ssl=1;
|
||||
|
||||
cbuf_len=0;
|
||||
cbuf_off=0;
|
||||
sbuf_len=0;
|
||||
sbuf_off=0;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
FD_ZERO(&readfds);
|
||||
FD_ZERO(&writefds);
|
||||
|
||||
if (SSL_in_init(con) && !SSL_total_renegotiations(con))
|
||||
{
|
||||
in_init=1;
|
||||
tty_on=0;
|
||||
}
|
||||
else
|
||||
{
|
||||
tty_on=1;
|
||||
if (in_init)
|
||||
{
|
||||
in_init=0;
|
||||
print_stuff(bio_c_out,con,full_log);
|
||||
if (full_log > 0) full_log--;
|
||||
|
||||
if (reconnect)
|
||||
{
|
||||
reconnect--;
|
||||
BIO_printf(bio_c_out,"drop connection and then reconnect\n");
|
||||
SSL_shutdown(con);
|
||||
SSL_set_connect_state(con);
|
||||
SHUTDOWN(SSL_get_fd(con));
|
||||
goto re_start;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef WINDOWS
|
||||
if (tty_on)
|
||||
{
|
||||
if (read_tty) FD_SET(fileno(stdin),&readfds);
|
||||
if (write_tty) FD_SET(fileno(stdout),&writefds);
|
||||
}
|
||||
#endif
|
||||
if (read_ssl)
|
||||
FD_SET(SSL_get_fd(con),&readfds);
|
||||
if (write_ssl)
|
||||
FD_SET(SSL_get_fd(con),&writefds);
|
||||
|
||||
/* printf("mode tty(%d %d%d) ssl(%d%d)\n",
|
||||
tty_on,read_tty,write_tty,read_ssl,write_ssl);*/
|
||||
|
||||
#ifndef WINDOWS
|
||||
i=select(width,&readfds,&writefds,NULL,NULL);
|
||||
if ( i < 0)
|
||||
{
|
||||
BIO_printf(bio_err,"bad select %d\n",
|
||||
get_last_socket_error());
|
||||
goto shut;
|
||||
/* goto end; */
|
||||
}
|
||||
|
||||
if (FD_ISSET(SSL_get_fd(con),&writefds))
|
||||
#else
|
||||
if (write_ssl)
|
||||
#endif
|
||||
{
|
||||
k=SSL_write(con,&(cbuf[cbuf_off]),
|
||||
(unsigned int)cbuf_len);
|
||||
switch (SSL_get_error(con,k))
|
||||
{
|
||||
case SSL_ERROR_NONE:
|
||||
cbuf_off+=k;
|
||||
cbuf_len-=k;
|
||||
if (k <= 0) goto end;
|
||||
/* we have done a write(con,NULL,0); */
|
||||
if (cbuf_len <= 0)
|
||||
{
|
||||
read_tty=1;
|
||||
write_ssl=0;
|
||||
}
|
||||
else /* if (cbuf_len > 0) */
|
||||
{
|
||||
read_tty=0;
|
||||
write_ssl=1;
|
||||
}
|
||||
break;
|
||||
case SSL_ERROR_WANT_WRITE:
|
||||
#ifndef WINDOWS
|
||||
BIO_printf(bio_c_out,"write W BLOCK\n");
|
||||
#endif
|
||||
write_ssl=1;
|
||||
read_tty=0;
|
||||
break;
|
||||
case SSL_ERROR_WANT_READ:
|
||||
#ifndef WINDOWS
|
||||
BIO_printf(bio_c_out,"write R BLOCK\n");
|
||||
#endif
|
||||
write_tty=0;
|
||||
read_ssl=1;
|
||||
write_ssl=0;
|
||||
break;
|
||||
case SSL_ERROR_WANT_X509_LOOKUP:
|
||||
BIO_printf(bio_c_out,"write X BLOCK\n");
|
||||
break;
|
||||
case SSL_ERROR_ZERO_RETURN:
|
||||
if (cbuf_len != 0)
|
||||
{
|
||||
BIO_printf(bio_c_out,"shutdown\n");
|
||||
goto shut;
|
||||
}
|
||||
else
|
||||
{
|
||||
read_tty=1;
|
||||
write_ssl=0;
|
||||
break;
|
||||
}
|
||||
|
||||
case SSL_ERROR_SYSCALL:
|
||||
if ((k != 0) || (cbuf_len != 0))
|
||||
{
|
||||
BIO_printf(bio_err,"write:errno=%d\n",
|
||||
get_last_socket_error());
|
||||
goto shut;
|
||||
}
|
||||
else
|
||||
{
|
||||
read_tty=1;
|
||||
write_ssl=0;
|
||||
}
|
||||
break;
|
||||
case SSL_ERROR_SSL:
|
||||
ERR_print_errors(bio_err);
|
||||
goto shut;
|
||||
}
|
||||
}
|
||||
#ifndef WINDOWS
|
||||
else if (FD_ISSET(fileno(stdout),&writefds))
|
||||
#else
|
||||
else if (tty_on && write_tty)
|
||||
#endif
|
||||
{
|
||||
i=write(fileno(stdout),&(sbuf[sbuf_off]),sbuf_len);
|
||||
|
||||
if (i <= 0)
|
||||
{
|
||||
BIO_printf(bio_c_out,"DONE\n");
|
||||
goto shut;
|
||||
/* goto end; */
|
||||
}
|
||||
|
||||
sbuf_len-=i;;
|
||||
sbuf_off+=i;
|
||||
if (sbuf_len <= 0)
|
||||
{
|
||||
read_ssl=1;
|
||||
write_tty=0;
|
||||
}
|
||||
}
|
||||
#ifndef WINDOWS
|
||||
else if (FD_ISSET(SSL_get_fd(con),&readfds))
|
||||
#else
|
||||
if (read_ssl)
|
||||
#endif
|
||||
{
|
||||
#ifdef RENEG
|
||||
{ static int iiii; if (++iiii == 52) { SSL_renegotiate(con); iiii=0; } }
|
||||
#endif
|
||||
k=SSL_read(con,sbuf,1024 /* BUFSIZZ */ );
|
||||
|
||||
switch (SSL_get_error(con,k))
|
||||
{
|
||||
case SSL_ERROR_NONE:
|
||||
if (k <= 0)
|
||||
goto end;
|
||||
sbuf_off=0;
|
||||
sbuf_len=k;
|
||||
|
||||
read_ssl=0;
|
||||
write_tty=1;
|
||||
break;
|
||||
case SSL_ERROR_WANT_WRITE:
|
||||
#ifndef WINDOWS
|
||||
BIO_printf(bio_c_out,"read W BLOCK\n");
|
||||
#endif
|
||||
write_ssl=1;
|
||||
read_tty=0;
|
||||
break;
|
||||
case SSL_ERROR_WANT_READ:
|
||||
#ifndef WINDOWS
|
||||
BIO_printf(bio_c_out,"read R BLOCK\n");
|
||||
#endif
|
||||
write_tty=0;
|
||||
read_ssl=1;
|
||||
if ((read_tty == 0) && (write_ssl == 0))
|
||||
write_ssl=1;
|
||||
break;
|
||||
case SSL_ERROR_WANT_X509_LOOKUP:
|
||||
BIO_printf(bio_c_out,"read X BLOCK\n");
|
||||
break;
|
||||
case SSL_ERROR_SYSCALL:
|
||||
BIO_printf(bio_err,"read:errno=%d\n",get_last_socket_error());
|
||||
goto shut;
|
||||
case SSL_ERROR_ZERO_RETURN:
|
||||
BIO_printf(bio_c_out,"closed\n");
|
||||
goto shut;
|
||||
case SSL_ERROR_SSL:
|
||||
ERR_print_errors(bio_err);
|
||||
goto shut;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef WINDOWS
|
||||
else if (FD_ISSET(fileno(stdin),&readfds))
|
||||
{
|
||||
i=read(fileno(stdin),cbuf,BUFSIZZ);
|
||||
#else
|
||||
if (tty_on && read_tty && _kbhit())
|
||||
{
|
||||
i = 1;
|
||||
cbuf[0] = _getch();
|
||||
#endif
|
||||
|
||||
if ((!c_quiet) && ((i <= 0) || (cbuf[0] == 'Q')))
|
||||
{
|
||||
BIO_printf(bio_err,"DONE\n");
|
||||
goto shut;
|
||||
}
|
||||
|
||||
if ((!c_quiet) && (cbuf[0] == 'R'))
|
||||
{
|
||||
SSL_renegotiate(con);
|
||||
read_tty=0;
|
||||
write_ssl=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
cbuf_len=i;
|
||||
cbuf_off=0;
|
||||
}
|
||||
|
||||
read_tty=0;
|
||||
write_ssl=1;
|
||||
}
|
||||
}
|
||||
shut:
|
||||
SSL_shutdown(con);
|
||||
SHUTDOWN(SSL_get_fd(con));
|
||||
ret=0;
|
||||
end:
|
||||
if (con != NULL) SSL_free(con);
|
||||
if (con2 != NULL) SSL_free(con2);
|
||||
if (ctx != NULL) SSL_CTX_free(ctx);
|
||||
if (cbuf != NULL) { memset(cbuf,0,BUFSIZZ); Free(cbuf); }
|
||||
if (sbuf != NULL) { memset(sbuf,0,BUFSIZZ); Free(sbuf); }
|
||||
if (bio_c_out != NULL)
|
||||
{
|
||||
BIO_free(bio_c_out);
|
||||
bio_c_out=NULL;
|
||||
}
|
||||
EXIT(ret);
|
||||
}
|
||||
|
||||
|
||||
static void print_stuff(bio,s,full)
|
||||
BIO *bio;
|
||||
SSL *s;
|
||||
int full;
|
||||
{
|
||||
X509 *peer=NULL;
|
||||
char *p;
|
||||
static char *space=" ";
|
||||
char buf[BUFSIZ];
|
||||
STACK *sk;
|
||||
SSL_CIPHER *c;
|
||||
X509_NAME *xn;
|
||||
int j,i;
|
||||
|
||||
if (full)
|
||||
{
|
||||
sk=SSL_get_peer_cert_chain(s);
|
||||
if (sk != NULL)
|
||||
{
|
||||
BIO_printf(bio,"---\nCertificate chain\n");
|
||||
for (i=0; i<sk_num(sk); i++)
|
||||
{
|
||||
X509_NAME_oneline(X509_get_subject_name((X509 *)
|
||||
sk_value(sk,i)),buf,BUFSIZ);
|
||||
BIO_printf(bio,"%2d s:%s\n",i,buf);
|
||||
X509_NAME_oneline(X509_get_issuer_name((X509 *)
|
||||
sk_value(sk,i)),buf,BUFSIZ);
|
||||
BIO_printf(bio," i:%s\n",buf);
|
||||
}
|
||||
}
|
||||
|
||||
BIO_printf(bio,"---\n");
|
||||
peer=SSL_get_peer_certificate(s);
|
||||
if (peer != NULL)
|
||||
{
|
||||
BIO_printf(bio,"Server certificate\n");
|
||||
PEM_write_bio_X509(bio,peer);
|
||||
X509_NAME_oneline(X509_get_subject_name(peer),
|
||||
buf,BUFSIZ);
|
||||
BIO_printf(bio,"subject=%s\n",buf);
|
||||
X509_NAME_oneline(X509_get_issuer_name(peer),
|
||||
buf,BUFSIZ);
|
||||
BIO_printf(bio,"issuer=%s\n",buf);
|
||||
}
|
||||
else
|
||||
BIO_printf(bio,"no peer certificate available\n");
|
||||
|
||||
sk=SSL_get_client_CA_list(s);
|
||||
if ((sk != NULL) && (sk_num(sk) > 0))
|
||||
{
|
||||
BIO_printf(bio,"---\nAcceptable client certificate CA names\n");
|
||||
for (i=0; i<sk_num(sk); i++)
|
||||
{
|
||||
xn=(X509_NAME *)sk_value(sk,i);
|
||||
X509_NAME_oneline(xn,buf,sizeof(buf));
|
||||
BIO_write(bio,buf,strlen(buf));
|
||||
BIO_write(bio,"\n",1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
BIO_printf(bio,"---\nNo client certificate CA names sent\n");
|
||||
}
|
||||
p=SSL_get_shared_ciphers(s,buf,BUFSIZ);
|
||||
if (p != NULL)
|
||||
{
|
||||
BIO_printf(bio,"---\nCiphers common between both SSL endpoints:\n");
|
||||
j=i=0;
|
||||
while (*p)
|
||||
{
|
||||
if (*p == ':')
|
||||
{
|
||||
BIO_write(bio,space,15-j%25);
|
||||
i++;
|
||||
j=0;
|
||||
BIO_write(bio,((i%3)?" ":"\n"),1);
|
||||
}
|
||||
else
|
||||
{
|
||||
BIO_write(bio,p,1);
|
||||
j++;
|
||||
}
|
||||
p++;
|
||||
}
|
||||
BIO_write(bio,"\n",1);
|
||||
}
|
||||
|
||||
BIO_printf(bio,"---\nSSL handshake has read %ld bytes and written %ld bytes\n",
|
||||
BIO_number_read(SSL_get_rbio(s)),
|
||||
BIO_number_written(SSL_get_wbio(s)));
|
||||
}
|
||||
BIO_printf(bio,((s->hit)?"---\nReused, ":"---\nNew, "));
|
||||
c=SSL_get_current_cipher(s);
|
||||
BIO_printf(bio,"%s, Cipher is %s\n",
|
||||
SSL_CIPHER_get_version(c),
|
||||
SSL_CIPHER_get_name(c));
|
||||
if (peer != NULL)
|
||||
BIO_printf(bio,"Server public key is %d bit\n",
|
||||
EVP_PKEY_bits(X509_get_pubkey(peer)));
|
||||
SSL_SESSION_print(bio,SSL_get_session(s));
|
||||
BIO_printf(bio,"---\n");
|
||||
if (peer != NULL)
|
||||
X509_free(peer);
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
issuer= /C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Test CA (1024 bit)
|
||||
subject=/C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Server test cert (512 bit)
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIB6TCCAVICAQQwDQYJKoZIhvcNAQEEBQAwWzELMAkGA1UEBhMCQVUxEzARBgNV
|
||||
MIIB6TCCAVICAQAwDQYJKoZIhvcNAQEEBQAwWzELMAkGA1UEBhMCQVUxEzARBgNV
|
||||
BAgTClF1ZWVuc2xhbmQxGjAYBgNVBAoTEUNyeXB0U29mdCBQdHkgTHRkMRswGQYD
|
||||
VQQDExJUZXN0IENBICgxMDI0IGJpdCkwHhcNOTgwNjI5MjM1MjQwWhcNMDAwNjI4
|
||||
MjM1MjQwWjBjMQswCQYDVQQGEwJBVTETMBEGA1UECBMKUXVlZW5zbGFuZDEaMBgG
|
||||
VQQDExJUZXN0IENBICgxMDI0IGJpdCkwHhcNOTcwNjA5MTM1NzQ2WhcNOTgwNjA5
|
||||
MTM1NzQ2WjBjMQswCQYDVQQGEwJBVTETMBEGA1UECBMKUXVlZW5zbGFuZDEaMBgG
|
||||
A1UEChMRQ3J5cHRTb2Z0IFB0eSBMdGQxIzAhBgNVBAMTGlNlcnZlciB0ZXN0IGNl
|
||||
cnQgKDUxMiBiaXQpMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJ+zw4Qnlf8SMVIP
|
||||
Fe9GEcStgOY2Ww/dgNdhjeD8ckUJNP5VZkVDTGiXav6ooKXfX3j/7tdkuD8Ey2//
|
||||
Kv7+ue0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCVvvfkGSe2GHgDFfmOua4Isjb9
|
||||
JVhImWMASiOClkZlMESDJjsszg/6+d/W+8TrbObhazpl95FivXBVucbj9dudh7AO
|
||||
IZu1h1MAPlyknc9Ud816vz3FejB4qqUoaXjnlkrIgEbr/un7jSS86WOe0hRhwHkJ
|
||||
FUGcPZf9ND22Etc+AQ==
|
||||
Kv7+ue0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQB4TMR2CvacKE9wAsu9jyCX8YiW
|
||||
mgCM+YoP6kt4Zkj2z5IRfm7WrycKsnpnOR+tGeqAjkCeZ6/36o9l91RvPnN1VJ/i
|
||||
xQv2df0KFeMr00IkDdTNAdIWqFkSsZTAY2QAdgenb7MB1joejquYzO2DQIO7+wpH
|
||||
irObpESxAZLySCmPPg==
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIBPAIBAAJBAJ+zw4Qnlf8SMVIPFe9GEcStgOY2Ww/dgNdhjeD8ckUJNP5VZkVD
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
01
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/sess_id.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -69,6 +69,11 @@
|
||||
#undef PROG
|
||||
#define PROG sess_id_main
|
||||
|
||||
#define FORMAT_UNDEF 0
|
||||
#define FORMAT_ASN1 1
|
||||
#define FORMAT_TEXT 2
|
||||
#define FORMAT_PEM 3
|
||||
|
||||
static char *sess_id_usage[]={
|
||||
"usage: crl args\n",
|
||||
"\n",
|
||||
@@ -104,7 +109,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
informat=FORMAT_PEM;
|
||||
outformat=FORMAT_PEM;
|
||||
|
||||
265
apps/speed.c
265
apps/speed.c
@@ -1,5 +1,5 @@
|
||||
/* apps/speed.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -60,8 +60,8 @@
|
||||
|
||||
#undef SECONDS
|
||||
#define SECONDS 3
|
||||
#define RSA_SECONDS 10
|
||||
#define DSA_SECONDS 10
|
||||
#define RSA_SECONDS 10
|
||||
#define DSA_SECONDS 10
|
||||
|
||||
/* 11-Sep-92 Andrew Daviel Support for Silicon Graphics IRIX added */
|
||||
/* 06-Apr-92 Luke Brennan Support for VMS and add extra signal calls */
|
||||
@@ -73,9 +73,8 @@
|
||||
#include <stdlib.h>
|
||||
#include <signal.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
#include "apps.h"
|
||||
#ifdef NO_STDIO
|
||||
#ifdef WIN16
|
||||
#define APPS_WIN16
|
||||
#endif
|
||||
#include "crypto.h"
|
||||
@@ -107,8 +106,7 @@ struct tms {
|
||||
#include <sys/timeb.h>
|
||||
#endif
|
||||
|
||||
#if defined(sun) || defined(__ultrix)
|
||||
#define _POSIX_SOURCE
|
||||
#ifdef sun
|
||||
#include <limits.h>
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
@@ -124,21 +122,13 @@ struct tms {
|
||||
#endif
|
||||
#ifndef NO_MD5
|
||||
#include "md5.h"
|
||||
#include "hmac.h"
|
||||
#include "evp.h"
|
||||
#endif
|
||||
#ifndef NO_SHA1
|
||||
#if !defined(NO_SHA) && !defined(NO_SHA1)
|
||||
#include "sha.h"
|
||||
#endif
|
||||
#ifndef NO_RMD160
|
||||
#include "ripemd.h"
|
||||
#endif
|
||||
#ifndef NO_RC4
|
||||
#include "rc4.h"
|
||||
#endif
|
||||
#ifndef NO_RC5
|
||||
#include "rc5.h"
|
||||
#endif
|
||||
#ifndef NO_RC2
|
||||
#include "rc2.h"
|
||||
#endif
|
||||
@@ -148,9 +138,6 @@ struct tms {
|
||||
#ifndef NO_BLOWFISH
|
||||
#include "blowfish.h"
|
||||
#endif
|
||||
#ifndef NO_CAST
|
||||
#include "cast.h"
|
||||
#endif
|
||||
#ifndef NO_RSA
|
||||
#include "rsa.h"
|
||||
#endif
|
||||
@@ -178,7 +165,7 @@ struct tms {
|
||||
#endif
|
||||
|
||||
#undef BUFSIZE
|
||||
#define BUFSIZE ((long)1024*8+1)
|
||||
#define BUFSIZE ((long)1024*8)
|
||||
int run=0;
|
||||
|
||||
#ifndef NOPROTO
|
||||
@@ -261,12 +248,13 @@ char **argv;
|
||||
{
|
||||
unsigned char *buf=NULL,*buf2=NULL;
|
||||
int ret=1;
|
||||
#define ALGOR_NUM 14
|
||||
#define ALGOR_NUM 11
|
||||
#define SIZE_NUM 5
|
||||
#define RSA_NUM 4
|
||||
#define DSA_NUM 3
|
||||
long count,rsa_count;
|
||||
int i,j,k,rsa_num,rsa_num2;
|
||||
unsigned int kk;
|
||||
#ifndef NO_MD2
|
||||
unsigned char md2[MD2_DIGEST_LENGTH];
|
||||
#endif
|
||||
@@ -275,20 +263,13 @@ char **argv;
|
||||
#endif
|
||||
#ifndef NO_MD5
|
||||
unsigned char md5[MD5_DIGEST_LENGTH];
|
||||
unsigned char hmac[MD5_DIGEST_LENGTH];
|
||||
#endif
|
||||
#ifndef NO_SHA1
|
||||
#if !defined(NO_SHA) || !defined(NO_SHA1)
|
||||
unsigned char sha[SHA_DIGEST_LENGTH];
|
||||
#endif
|
||||
#ifndef NO_RMD160
|
||||
unsigned char rmd160[RIPEMD160_DIGEST_LENGTH];
|
||||
#endif
|
||||
#ifndef NO_RC4
|
||||
RC4_KEY rc4_ks;
|
||||
#endif
|
||||
#ifndef NO_RC5
|
||||
RC5_32_KEY rc5_ks;
|
||||
#endif
|
||||
#ifndef NO_RC2
|
||||
RC2_KEY rc2_ks;
|
||||
#endif
|
||||
@@ -297,9 +278,6 @@ char **argv;
|
||||
#endif
|
||||
#ifndef NO_BLOWFISH
|
||||
BF_KEY bf_ks;
|
||||
#endif
|
||||
#ifndef NO_CAST
|
||||
CAST_KEY cast_ks;
|
||||
#endif
|
||||
static unsigned char key16[16]=
|
||||
{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
|
||||
@@ -314,24 +292,21 @@ char **argv;
|
||||
#define D_MD2 0
|
||||
#define D_MDC2 1
|
||||
#define D_MD5 2
|
||||
#define D_HMAC 3
|
||||
#define D_SHA 3
|
||||
#define D_SHA1 4
|
||||
#define D_RMD160 5
|
||||
#define D_RC4 6
|
||||
#define D_CBC_DES 7
|
||||
#define D_EDE3_DES 8
|
||||
#define D_CBC_IDEA 9
|
||||
#define D_CBC_RC2 10
|
||||
#define D_CBC_RC5 11
|
||||
#define D_CBC_BF 12
|
||||
#define D_CBC_CAST 13
|
||||
#define D_RC4 5
|
||||
#define D_CBC_DES 6
|
||||
#define D_EDE3_DES 7
|
||||
#define D_CBC_IDEA 8
|
||||
#define D_CBC_RC2 9
|
||||
#define D_CBC_BF 10
|
||||
double d,results[ALGOR_NUM][SIZE_NUM];
|
||||
static int lengths[SIZE_NUM]={8,64,256,1024,8*1024};
|
||||
long c[ALGOR_NUM][SIZE_NUM];
|
||||
static char *names[ALGOR_NUM]={
|
||||
"md2","mdc2","md5","hmac(md5)","sha1","rmd160","rc4",
|
||||
"md2","mdc2","md5","sha","sha1","rc4",
|
||||
"des cbc","des ede3","idea cbc",
|
||||
"rc2 cbc","rc5-32/12 cbc","blowfish cbc","cast cbc"};
|
||||
"rc2 cbc","blowfish cbc"};
|
||||
#define R_DSA_512 0
|
||||
#define R_DSA_1024 1
|
||||
#define R_DSA_2048 2
|
||||
@@ -340,41 +315,35 @@ char **argv;
|
||||
#define R_RSA_2048 2
|
||||
#define R_RSA_4096 3
|
||||
RSA *rsa_key[RSA_NUM];
|
||||
DSA *dsa_key[DSA_NUM];
|
||||
long rsa_c[RSA_NUM][2];
|
||||
long dsa_c[DSA_NUM][2];
|
||||
#ifndef NO_RSA
|
||||
double rsa_results[RSA_NUM][2];
|
||||
#endif
|
||||
#ifndef NO_DSA
|
||||
double dsa_results[DSA_NUM][2];
|
||||
#endif
|
||||
static unsigned int rsa_bits[RSA_NUM]={512,1024,2048,4096};
|
||||
static unsigned int dsa_bits[DSA_NUM]={512,1024,2048};
|
||||
static unsigned char *rsa_data[RSA_NUM]=
|
||||
{test512,test1024,test2048,test4096};
|
||||
static int rsa_data_length[RSA_NUM]={
|
||||
sizeof(test512),sizeof(test1024),
|
||||
sizeof(test2048),sizeof(test4096)};
|
||||
#endif
|
||||
#ifndef NO_DSA
|
||||
DSA *dsa_key[DSA_NUM];
|
||||
long dsa_c[DSA_NUM][2];
|
||||
double dsa_results[DSA_NUM][2];
|
||||
static unsigned int dsa_bits[DSA_NUM]={512,1024,2048};
|
||||
#endif
|
||||
int doit[ALGOR_NUM];
|
||||
int rsa_doit[RSA_NUM];
|
||||
int dsa_doit[DSA_NUM];
|
||||
int doit[ALGOR_NUM];
|
||||
int pr_header=0;
|
||||
|
||||
apps_startup();
|
||||
#ifdef NO_DSA
|
||||
memset(dsa_key,0,sizeof(dsa_key));
|
||||
#endif
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
#ifndef NO_RSA
|
||||
memset(rsa_key,0,sizeof(rsa_key));
|
||||
for (i=0; i<RSA_NUM; i++)
|
||||
rsa_key[i]=NULL;
|
||||
#endif
|
||||
|
||||
if ((buf=(unsigned char *)Malloc((int)BUFSIZE)) == NULL)
|
||||
{
|
||||
@@ -414,23 +383,13 @@ char **argv;
|
||||
if (strcmp(*argv,"md5") == 0) doit[D_MD5]=1;
|
||||
else
|
||||
#endif
|
||||
#ifndef NO_MD5
|
||||
if (strcmp(*argv,"hmac") == 0) doit[D_HMAC]=1;
|
||||
#ifndef NO_SHA
|
||||
if (strcmp(*argv,"sha") == 0) doit[D_SHA]=1;
|
||||
else
|
||||
#endif
|
||||
#ifndef NO_SHA1
|
||||
if (strcmp(*argv,"sha1") == 0) doit[D_SHA1]=1;
|
||||
else
|
||||
if (strcmp(*argv,"sha") == 0) doit[D_SHA1]=1;
|
||||
else
|
||||
#endif
|
||||
#ifndef NO_RMD160
|
||||
if (strcmp(*argv,"ripemd") == 0) doit[D_RMD160]=1;
|
||||
else
|
||||
if (strcmp(*argv,"rmd160") == 0) doit[D_RMD160]=1;
|
||||
else
|
||||
if (strcmp(*argv,"ripemd160") == 0) doit[D_RMD160]=1;
|
||||
else
|
||||
#endif
|
||||
#ifndef NO_RC4
|
||||
if (strcmp(*argv,"rc4") == 0) doit[D_RC4]=1;
|
||||
@@ -470,11 +429,6 @@ char **argv;
|
||||
else if (strcmp(*argv,"rc2") == 0) doit[D_CBC_RC2]=1;
|
||||
else
|
||||
#endif
|
||||
#ifndef NO_RC5
|
||||
if (strcmp(*argv,"rc5-cbc") == 0) doit[D_CBC_RC5]=1;
|
||||
else if (strcmp(*argv,"rc5") == 0) doit[D_CBC_RC5]=1;
|
||||
else
|
||||
#endif
|
||||
#ifndef NO_IDEA
|
||||
if (strcmp(*argv,"idea-cbc") == 0) doit[D_CBC_IDEA]=1;
|
||||
else if (strcmp(*argv,"idea") == 0) doit[D_CBC_IDEA]=1;
|
||||
@@ -483,13 +437,6 @@ char **argv;
|
||||
#ifndef NO_BLOWFISH
|
||||
if (strcmp(*argv,"bf-cbc") == 0) doit[D_CBC_BF]=1;
|
||||
else if (strcmp(*argv,"blowfish") == 0) doit[D_CBC_BF]=1;
|
||||
else if (strcmp(*argv,"bf") == 0) doit[D_CBC_BF]=1;
|
||||
else
|
||||
#endif
|
||||
#ifndef NO_CAST
|
||||
if (strcmp(*argv,"cast-cbc") == 0) doit[D_CBC_CAST]=1;
|
||||
else if (strcmp(*argv,"cast") == 0) doit[D_CBC_CAST]=1;
|
||||
else if (strcmp(*argv,"cast5") == 0) doit[D_CBC_CAST]=1;
|
||||
else
|
||||
#endif
|
||||
#ifndef NO_DES
|
||||
@@ -520,20 +467,17 @@ char **argv;
|
||||
#endif
|
||||
{
|
||||
BIO_printf(bio_err,"bad value, pick one of\n");
|
||||
BIO_printf(bio_err,"md2 mdc2 md5 hmac sha1 rmd160\n");
|
||||
BIO_printf(bio_err,"md2 mdc2 md5 sha sha1\n");
|
||||
#ifndef NO_IDEA
|
||||
BIO_printf(bio_err,"idea-cbc ");
|
||||
#endif
|
||||
#ifndef NO_RC2
|
||||
BIO_printf(bio_err,"rc2-cbc ");
|
||||
#endif
|
||||
#ifndef NO_RC5
|
||||
BIO_printf(bio_err,"rc5-cbc ");
|
||||
#endif
|
||||
#ifndef NO_BLOWFISH
|
||||
#ifndef NO_RC2
|
||||
BIO_printf(bio_err,"bf-cbc");
|
||||
#endif
|
||||
#if !defined(NO_IDEA) && !defined(NO_RC2) && !defined(NO_BLOWFISH) && !defined(NO_RC5)
|
||||
#if !defined(NO_IDEA) && !defined(NO_RC2) && !defined(NO_BLOWFISH)
|
||||
BIO_printf(bio_err,"\n");
|
||||
#endif
|
||||
BIO_printf(bio_err,"des-cbc des-ede3 ");
|
||||
@@ -583,14 +527,6 @@ char **argv;
|
||||
BIO_printf(bio_err,"internal error loading RSA key number %d\n",i);
|
||||
goto end;
|
||||
}
|
||||
#if 0
|
||||
else
|
||||
{
|
||||
BIO_printf(bio_err,"Loaded RSA key, %d bit modulus and e= 0x",BN_num_bits(rsa_key[i]->n));
|
||||
BN_print(bio_err,rsa_key[i]->e);
|
||||
BIO_printf(bio_err,"\n");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -614,15 +550,9 @@ char **argv;
|
||||
#ifndef NO_RC2
|
||||
RC2_set_key(&rc2_ks,16,key16,128);
|
||||
#endif
|
||||
#ifndef NO_RC5
|
||||
RC5_32_set_key(&rc5_ks,16,key16,12);
|
||||
#endif
|
||||
#ifndef NO_BLOWFISH
|
||||
BF_set_key(&bf_ks,16,key16);
|
||||
#endif
|
||||
#ifndef NO_CAST
|
||||
CAST_set_key(&cast_ks,16,key16);
|
||||
#endif
|
||||
|
||||
memset(rsa_c,0,sizeof(rsa_c));
|
||||
#ifndef SIGALRM
|
||||
@@ -640,26 +570,22 @@ char **argv;
|
||||
c[D_MD2][0]=count/10;
|
||||
c[D_MDC2][0]=count/10;
|
||||
c[D_MD5][0]=count;
|
||||
c[D_HMAC][0]=count;
|
||||
c[D_SHA][0]=count;
|
||||
c[D_SHA1][0]=count;
|
||||
c[D_RMD160][0]=count;
|
||||
c[D_RC4][0]=count*5;
|
||||
c[D_CBC_DES][0]=count;
|
||||
c[D_EDE3_DES][0]=count/3;
|
||||
c[D_CBC_IDEA][0]=count;
|
||||
c[D_CBC_RC2][0]=count;
|
||||
c[D_CBC_RC5][0]=count;
|
||||
c[D_CBC_BF][0]=count;
|
||||
c[D_CBC_CAST][0]=count;
|
||||
|
||||
for (i=1; i<SIZE_NUM; i++)
|
||||
{
|
||||
c[D_MD2][i]=c[D_MD2][0]*4*lengths[0]/lengths[i];
|
||||
c[D_MDC2][i]=c[D_MDC2][0]*4*lengths[0]/lengths[i];
|
||||
c[D_MD5][i]=c[D_MD5][0]*4*lengths[0]/lengths[i];
|
||||
c[D_HMAC][i]=c[D_HMAC][0]*4*lengths[0]/lengths[i];
|
||||
c[D_SHA][i]=c[D_SHA][0]*4*lengths[0]/lengths[i];
|
||||
c[D_SHA1][i]=c[D_SHA1][0]*4*lengths[0]/lengths[i];
|
||||
c[D_RMD160][i]=c[D_RMD160][0]*4*lengths[0]/lengths[i];
|
||||
}
|
||||
for (i=1; i<SIZE_NUM; i++)
|
||||
{
|
||||
@@ -672,9 +598,7 @@ char **argv;
|
||||
c[D_EDE3_DES][i]=c[D_EDE3_DES][i-1]*l0/l1;
|
||||
c[D_CBC_IDEA][i]=c[D_CBC_IDEA][i-1]*l0/l1;
|
||||
c[D_CBC_RC2][i]=c[D_CBC_RC2][i-1]*l0/l1;
|
||||
c[D_CBC_RC5][i]=c[D_CBC_RC5][i-1]*l0/l1;
|
||||
c[D_CBC_BF][i]=c[D_CBC_BF][i-1]*l0/l1;
|
||||
c[D_CBC_CAST][i]=c[D_CBC_CAST][i-1]*l0/l1;
|
||||
}
|
||||
rsa_c[R_RSA_512][0]=count/2000;
|
||||
rsa_c[R_RSA_512][1]=count/400;
|
||||
@@ -686,7 +610,7 @@ char **argv;
|
||||
rsa_doit[i]=0;
|
||||
else
|
||||
{
|
||||
if (rsa_c[i][0] == 0)
|
||||
if (rsa_c[i] == 0)
|
||||
{
|
||||
rsa_c[i][0]=1;
|
||||
rsa_c[i][1]=20;
|
||||
@@ -712,7 +636,7 @@ char **argv;
|
||||
}
|
||||
}
|
||||
|
||||
#define COND(d) (count < (d))
|
||||
#define COND(d) (count != (d))
|
||||
#define COUNT(d) (d)
|
||||
#else
|
||||
#define COND(c) (run)
|
||||
@@ -761,7 +685,7 @@ char **argv;
|
||||
print_message(names[D_MD5],c[D_MD5][j],lengths[j]);
|
||||
Time_F(START);
|
||||
for (count=0,run=1; COND(c[D_MD5][j]); count++)
|
||||
MD5(&(buf[0]),(unsigned long)lengths[j],&(md5[0]));
|
||||
MD5(buf,(unsigned long)lengths[j],&(md5[0]));
|
||||
d=Time_F(STOP);
|
||||
BIO_printf(bio_err,"%ld %s's in %.2fs\n",
|
||||
count,names[D_MD5],d);
|
||||
@@ -770,27 +694,19 @@ char **argv;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef NO_MD5
|
||||
if (doit[D_HMAC])
|
||||
#ifndef NO_SHA
|
||||
if (doit[D_SHA])
|
||||
{
|
||||
HMAC_CTX hctx;
|
||||
HMAC_Init(&hctx,(unsigned char *)"This is a key...",
|
||||
16,EVP_md5());
|
||||
|
||||
for (j=0; j<SIZE_NUM; j++)
|
||||
{
|
||||
print_message(names[D_HMAC],c[D_HMAC][j],lengths[j]);
|
||||
print_message(names[D_SHA],c[D_SHA][j],lengths[j]);
|
||||
Time_F(START);
|
||||
for (count=0,run=1; COND(c[D_HMAC][j]); count++)
|
||||
{
|
||||
HMAC_Init(&hctx,NULL,0,NULL);
|
||||
HMAC_Update(&hctx,buf,lengths[j]);
|
||||
HMAC_Final(&hctx,&(hmac[0]),NULL);
|
||||
}
|
||||
for (count=0,run=1; COND(c[D_SHA][j]); count++)
|
||||
SHA(buf,(unsigned long)lengths[j],&(sha[0]));
|
||||
d=Time_F(STOP);
|
||||
BIO_printf(bio_err,"%ld %s's in %.2fs\n",
|
||||
count,names[D_HMAC],d);
|
||||
results[D_HMAC][j]=((double)count)/d*lengths[j];
|
||||
count,names[D_SHA],d);
|
||||
results[D_SHA][j]=((double)count)/d*lengths[j];
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -810,22 +726,6 @@ char **argv;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifndef NO_RMD160
|
||||
if (doit[D_RMD160])
|
||||
{
|
||||
for (j=0; j<SIZE_NUM; j++)
|
||||
{
|
||||
print_message(names[D_RMD160],c[D_RMD160][j],lengths[j]);
|
||||
Time_F(START);
|
||||
for (count=0,run=1; COND(c[D_RMD160][j]); count++)
|
||||
RIPEMD160(buf,(unsigned long)lengths[j],&(rmd160[0]));
|
||||
d=Time_F(STOP);
|
||||
BIO_printf(bio_err,"%ld %s's in %.2fs\n",
|
||||
count,names[D_RMD160],d);
|
||||
results[D_RMD160][j]=((double)count)/d*lengths[j];
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifndef NO_RC4
|
||||
if (doit[D_RC4])
|
||||
{
|
||||
@@ -916,24 +816,6 @@ char **argv;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifndef NO_RC5
|
||||
if (doit[D_CBC_RC5])
|
||||
{
|
||||
for (j=0; j<SIZE_NUM; j++)
|
||||
{
|
||||
print_message(names[D_CBC_RC5],c[D_CBC_RC5][j],lengths[j]);
|
||||
Time_F(START);
|
||||
for (count=0,run=1; COND(c[D_CBC_RC5][j]); count++)
|
||||
RC5_32_cbc_encrypt(buf,buf,
|
||||
(unsigned long)lengths[j],&rc5_ks,
|
||||
(unsigned char *)&(iv[0]),RC5_ENCRYPT);
|
||||
d=Time_F(STOP);
|
||||
BIO_printf(bio_err,"%ld %s's in %.2fs\n",
|
||||
count,names[D_CBC_RC5],d);
|
||||
results[D_CBC_RC5][j]=((double)count)/d*lengths[j];
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifndef NO_BLOWFISH
|
||||
if (doit[D_CBC_BF])
|
||||
{
|
||||
@@ -952,35 +834,14 @@ char **argv;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifndef NO_CAST
|
||||
if (doit[D_CBC_CAST])
|
||||
{
|
||||
for (j=0; j<SIZE_NUM; j++)
|
||||
{
|
||||
print_message(names[D_CBC_CAST],c[D_CBC_CAST][j],lengths[j]);
|
||||
Time_F(START);
|
||||
for (count=0,run=1; COND(c[D_CBC_CAST][j]); count++)
|
||||
CAST_cbc_encrypt(buf,buf,
|
||||
(unsigned long)lengths[j],&cast_ks,
|
||||
(unsigned char *)&(iv[0]),CAST_ENCRYPT);
|
||||
d=Time_F(STOP);
|
||||
BIO_printf(bio_err,"%ld %s's in %.2fs\n",
|
||||
count,names[D_CBC_CAST],d);
|
||||
results[D_CBC_CAST][j]=((double)count)/d*lengths[j];
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
RAND_bytes(buf,30);
|
||||
#ifndef NO_RSA
|
||||
for (j=0; j<RSA_NUM; j++)
|
||||
{
|
||||
if (!rsa_doit[j]) continue;
|
||||
rsa_num=RSA_private_encrypt(30,buf,buf2,rsa_key[j],
|
||||
RSA_PKCS1_PADDING);
|
||||
pkey_print_message("private","rsa",rsa_c[j][0],rsa_bits[j],
|
||||
RSA_SECONDS);
|
||||
/* RSA_blinding_on(rsa_key[j],NULL); */
|
||||
Time_F(START);
|
||||
for (count=0,run=1; COND(rsa_c[j][0]); count++)
|
||||
{
|
||||
@@ -1000,9 +861,6 @@ char **argv;
|
||||
rsa_results[j][0]=d/(double)count;
|
||||
rsa_count=count;
|
||||
|
||||
#if 1
|
||||
rsa_num2=RSA_public_decrypt(rsa_num,buf2,buf,rsa_key[j],
|
||||
RSA_PKCS1_PADDING);
|
||||
pkey_print_message("public","rsa",rsa_c[j][1],rsa_bits[j],
|
||||
RSA_SECONDS);
|
||||
Time_F(START);
|
||||
@@ -1022,7 +880,6 @@ char **argv;
|
||||
BIO_printf(bio_err,"%ld %d bit public RSA's in %.2fs\n",
|
||||
count,rsa_bits[j],d);
|
||||
rsa_results[j][1]=d/(double)count;
|
||||
#endif
|
||||
|
||||
if (rsa_count <= 1)
|
||||
{
|
||||
@@ -1037,13 +894,9 @@ char **argv;
|
||||
#ifndef NO_DSA
|
||||
for (j=0; j<DSA_NUM; j++)
|
||||
{
|
||||
unsigned int kk;
|
||||
|
||||
if (!dsa_doit[j]) continue;
|
||||
DSA_generate_key(dsa_key[j]);
|
||||
/* DSA_sign_setup(dsa_key[j],NULL); */
|
||||
rsa_num=DSA_sign(EVP_PKEY_DSA,buf,20,buf2,
|
||||
&kk,dsa_key[j]);
|
||||
pkey_print_message("sign","dsa",dsa_c[j][0],dsa_bits[j],
|
||||
DSA_SECONDS);
|
||||
Time_F(START);
|
||||
@@ -1065,8 +918,6 @@ char **argv;
|
||||
dsa_results[j][0]=d/(double)count;
|
||||
rsa_count=count;
|
||||
|
||||
rsa_num2=DSA_verify(EVP_PKEY_DSA,buf,20,buf2,
|
||||
kk,dsa_key[j]);
|
||||
pkey_print_message("verify","dsa",dsa_c[j][1],dsa_bits[j],
|
||||
DSA_SECONDS);
|
||||
Time_F(START);
|
||||
@@ -1115,7 +966,7 @@ char **argv;
|
||||
#ifndef NO_BLOWFISH
|
||||
printf("%s ",BF_options());
|
||||
#endif
|
||||
fprintf(stdout,"\n%s\n",SSLeay_version(SSLEAY_CFLAGS));
|
||||
fprintf(stdout,"%s\n",SSLeay_version(SSLEAY_CFLAGS));
|
||||
|
||||
if (pr_header)
|
||||
{
|
||||
@@ -1129,7 +980,7 @@ char **argv;
|
||||
for (k=0; k<ALGOR_NUM; k++)
|
||||
{
|
||||
if (!doit[k]) continue;
|
||||
fprintf(stdout,"%-13s",names[k]);
|
||||
fprintf(stdout,"%-12s",names[k]);
|
||||
for (j=0; j<SIZE_NUM; j++)
|
||||
{
|
||||
if (results[k][j] > 10000)
|
||||
@@ -1144,14 +995,9 @@ char **argv;
|
||||
for (k=0; k<RSA_NUM; k++)
|
||||
{
|
||||
if (!rsa_doit[k]) continue;
|
||||
if (j)
|
||||
{
|
||||
printf("%18ssign verify sign/s verify/s\n"," ");
|
||||
j=0;
|
||||
}
|
||||
fprintf(stdout,"rsa %4d bits %8.4fs %8.4fs %8.1f %8.1f",
|
||||
rsa_bits[k],rsa_results[k][0],rsa_results[k][1],
|
||||
1.0/rsa_results[k][0],1.0/rsa_results[k][1]);
|
||||
if (j) { printf("%18ssign verify\n"," "); j=0; }
|
||||
fprintf(stdout,"rsa %4d bits %8.4fs %8.4fs",
|
||||
rsa_bits[k],rsa_results[k][0],rsa_results[k][1]);
|
||||
fprintf(stdout,"\n");
|
||||
}
|
||||
#endif
|
||||
@@ -1160,13 +1006,9 @@ char **argv;
|
||||
for (k=0; k<DSA_NUM; k++)
|
||||
{
|
||||
if (!dsa_doit[k]) continue;
|
||||
if (j) {
|
||||
printf("%18ssign verify sign/s verify/s\n"," ");
|
||||
j=0;
|
||||
}
|
||||
fprintf(stdout,"dsa %4d bits %8.4fs %8.4fs %8.1f %8.1f",
|
||||
dsa_bits[k],dsa_results[k][0],dsa_results[k][1],
|
||||
1.0/dsa_results[k][0],1.0/dsa_results[k][1]);
|
||||
if (j) { printf("%18ssign verify\n"," "); j=0; }
|
||||
fprintf(stdout,"dsa %4d bits %8.4fs %8.4fs",
|
||||
dsa_bits[k],dsa_results[k][0],dsa_results[k][1]);
|
||||
fprintf(stdout,"\n");
|
||||
}
|
||||
#endif
|
||||
@@ -1224,4 +1066,3 @@ int tm;
|
||||
num=num;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/ssleay.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -56,13 +56,14 @@
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
|
||||
#ifndef DEBUG
|
||||
#undef DEBUG
|
||||
#endif
|
||||
#define DEBUG
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#ifdef WIN16
|
||||
#define APPS_WIN16
|
||||
#endif
|
||||
#include "bio.h"
|
||||
#include "crypto.h"
|
||||
#include "lhash.h"
|
||||
@@ -77,22 +78,19 @@
|
||||
#include "s_apps.h"
|
||||
#include "err.h"
|
||||
|
||||
/*
|
||||
#ifdef WINDOWS
|
||||
#include "bss_file.c"
|
||||
#endif
|
||||
*/
|
||||
|
||||
#ifndef NOPROTO
|
||||
static unsigned long MS_CALLBACK hash(FUNCTION *a);
|
||||
static int MS_CALLBACK cmp(FUNCTION *a,FUNCTION *b);
|
||||
static LHASH *prog_init(void );
|
||||
static int do_cmd(LHASH *prog,int argc,char *argv[]);
|
||||
static void sig_stop(int i);
|
||||
#else
|
||||
static unsigned long MS_CALLBACK hash();
|
||||
static int MS_CALLBACK cmp();
|
||||
static LHASH *prog_init();
|
||||
static int do_cmd();
|
||||
static void sig_stop();
|
||||
#endif
|
||||
|
||||
LHASH *config=NULL;
|
||||
@@ -145,7 +143,7 @@ char *Argv[];
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
|
||||
|
||||
@@ -226,7 +224,6 @@ char *Argv[];
|
||||
}
|
||||
if (ret != 0)
|
||||
BIO_printf(bio_err,"error in %s\n",argv[0]);
|
||||
BIO_flush(bio_err);
|
||||
}
|
||||
BIO_printf(bio_err,"bad exit\n");
|
||||
ret=1;
|
||||
@@ -241,7 +238,6 @@ end:
|
||||
ERR_remove_state(0);
|
||||
|
||||
EVP_cleanup();
|
||||
ERR_free_strings();
|
||||
|
||||
CRYPTO_mem_leaks(bio_err);
|
||||
if (bio_err != NULL)
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#
|
||||
|
||||
RANDFILE = $ENV::HOME/.rnd
|
||||
oid_file = $ENV::HOME/.oid
|
||||
|
||||
####################################################################
|
||||
[ ca ]
|
||||
@@ -91,8 +90,6 @@ commonName_max = 64
|
||||
emailAddress = Email Address
|
||||
emailAddress_max = 40
|
||||
|
||||
SET-ex3 = SET extension number 3
|
||||
|
||||
[ req_attributes ]
|
||||
challengePassword = A challenge password
|
||||
challengePassword_min = 4
|
||||
|
||||
912
apps/testrsa.h
912
apps/testrsa.h
@@ -1,5 +1,5 @@
|
||||
/* apps/testrsa.h */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -57,461 +57,475 @@
|
||||
*/
|
||||
|
||||
static unsigned char test512[]={
|
||||
0x30,0x82,0x01,0x3a,0x02,0x01,0x00,0x02,0x41,0x00,
|
||||
0xd6,0x33,0xb9,0xc8,0xfb,0x4f,0x3c,0x7d,0xc0,0x01,
|
||||
0x86,0xd0,0xe7,0xa0,0x55,0xf2,0x95,0x93,0xcc,0x4f,
|
||||
0xb7,0x5b,0x67,0x5b,0x94,0x68,0xc9,0x34,0x15,0xde,
|
||||
0xa5,0x2e,0x1c,0x33,0xc2,0x6e,0xfc,0x34,0x5e,0x71,
|
||||
0x13,0xb7,0xd6,0xee,0xd8,0xa5,0x65,0x05,0x72,0x87,
|
||||
0xa8,0xb0,0x77,0xfe,0x57,0xf5,0xfc,0x5f,0x55,0x83,
|
||||
0x87,0xdd,0x57,0x49,0x02,0x03,0x01,0x00,0x01,0x02,
|
||||
0x41,0x00,0xa7,0xf7,0x91,0xc5,0x0f,0x84,0x57,0xdc,
|
||||
0x07,0xf7,0x6a,0x7f,0x60,0x52,0xb3,0x72,0xf1,0x66,
|
||||
0x1f,0x7d,0x97,0x3b,0x9e,0xb6,0x0a,0x8f,0x8c,0xcf,
|
||||
0x42,0x23,0x00,0x04,0xd4,0x28,0x0e,0x1c,0x90,0xc4,
|
||||
0x11,0x25,0x25,0xa5,0x93,0xa5,0x2f,0x70,0x02,0xdf,
|
||||
0x81,0x9c,0x49,0x03,0xa0,0xf8,0x6d,0x54,0x2e,0x26,
|
||||
0xde,0xaa,0x85,0x59,0xa8,0x31,0x02,0x21,0x00,0xeb,
|
||||
0x47,0xd7,0x3b,0xf6,0xc3,0xdd,0x5a,0x46,0xc5,0xb9,
|
||||
0x2b,0x9a,0xa0,0x09,0x8f,0xa6,0xfb,0xf3,0x78,0x7a,
|
||||
0x33,0x70,0x9d,0x0f,0x42,0x6b,0x13,0x68,0x24,0xd3,
|
||||
0x15,0x02,0x21,0x00,0xe9,0x10,0xb0,0xb3,0x0d,0xe2,
|
||||
0x82,0x68,0x77,0x8a,0x6e,0x7c,0xda,0xbc,0x3e,0x53,
|
||||
0x83,0xfb,0xd6,0x22,0xe7,0xb5,0xae,0x6e,0x80,0xda,
|
||||
0x00,0x55,0x97,0xc1,0xd0,0x65,0x02,0x20,0x4c,0xf8,
|
||||
0x73,0xb1,0x6a,0x49,0x29,0x61,0x1f,0x46,0x10,0x0d,
|
||||
0xf3,0xc7,0xe7,0x58,0xd7,0x88,0x15,0x5e,0x94,0x9b,
|
||||
0xbf,0x7b,0xa2,0x42,0x58,0x45,0x41,0x0c,0xcb,0x01,
|
||||
0x02,0x20,0x12,0x11,0xba,0x31,0x57,0x9d,0x3d,0x11,
|
||||
0x0e,0x5b,0x8c,0x2f,0x5f,0xe2,0x02,0x4f,0x05,0x47,
|
||||
0x8c,0x15,0x8e,0xb3,0x56,0x3f,0xb8,0xfb,0xad,0xd4,
|
||||
0xf4,0xfc,0x10,0xc5,0x02,0x20,0x18,0xa1,0x29,0x99,
|
||||
0x5b,0xd9,0xc8,0xd4,0xfc,0x49,0x7a,0x2a,0x21,0x2c,
|
||||
0x49,0xe4,0x4f,0xeb,0xef,0x51,0xf1,0xab,0x6d,0xfb,
|
||||
0x4b,0x14,0xe9,0x4b,0x52,0xb5,0x82,0x2c,
|
||||
0x30,0x82,0x01,0x39,0x02,0x01,0x00,0x02,0x40,0x48,
|
||||
0xd3,0xa9,0x8f,0x3b,0x92,0xce,0x20,0xcc,0xc7,0xe8,
|
||||
0x1f,0x28,0x67,0xdb,0xd1,0xb3,0x06,0x94,0x7d,0x9b,
|
||||
0x88,0x05,0x9d,0xf5,0xab,0x36,0xaa,0x3f,0x15,0xcd,
|
||||
0x40,0x0a,0x76,0xfd,0xab,0x33,0xfa,0x07,0x31,0xc8,
|
||||
0x0d,0xa8,0x23,0x60,0x4e,0xd4,0xda,0x2e,0xed,0xbc,
|
||||
0x43,0x8a,0xc0,0xd8,0xd9,0xf4,0xcb,0xfa,0x12,0xa2,
|
||||
0xec,0x49,0x31,0x02,0x03,0x01,0x00,0x01,0x02,0x40,
|
||||
0x02,0x5e,0x80,0x61,0x9c,0x7a,0x86,0x22,0x23,0x07,
|
||||
0x4d,0xd1,0xd5,0xaa,0xab,0x48,0x03,0x1e,0xef,0xad,
|
||||
0xb6,0x65,0x92,0x69,0x35,0x18,0xc0,0xca,0x81,0x0a,
|
||||
0xe0,0x86,0x6f,0xec,0x00,0x0f,0x1d,0x08,0x43,0xc8,
|
||||
0x82,0x7d,0x89,0xc4,0x3a,0xc4,0x44,0x6a,0x10,0xc6,
|
||||
0xdd,0xd0,0x63,0x1c,0x65,0xd6,0x09,0xc5,0x00,0x51,
|
||||
0x2b,0xc3,0x7c,0xc1,0x02,0x21,0x00,0x8f,0x03,0xfc,
|
||||
0x35,0x08,0xae,0x85,0x41,0x35,0x30,0x02,0xbd,0x96,
|
||||
0xaa,0x84,0x60,0x75,0xb5,0x0c,0x2b,0x64,0xbf,0x28,
|
||||
0x26,0xe2,0x76,0xfd,0xec,0xdc,0x94,0x36,0xcd,0x02,
|
||||
0x21,0x00,0x82,0x5c,0x6f,0x13,0x93,0x98,0x41,0xf7,
|
||||
0x81,0x54,0x3f,0xd7,0x8e,0x06,0x64,0xd9,0x29,0x04,
|
||||
0xfc,0x12,0x46,0x17,0xab,0x9a,0x9f,0xa7,0xd3,0x8a,
|
||||
0xa0,0xcd,0x33,0xf5,0x02,0x21,0x00,0x8a,0xf4,0xe7,
|
||||
0x4f,0xac,0x40,0xcd,0xae,0xbe,0xfc,0x08,0x1d,0xa7,
|
||||
0xcf,0xc4,0x51,0x68,0xec,0xe1,0x87,0x24,0x1b,0x6b,
|
||||
0xea,0xe4,0x2d,0x93,0xa9,0x59,0xe5,0x14,0x9d,0x02,
|
||||
0x20,0x70,0x6b,0xd2,0x86,0xe9,0x74,0x16,0xff,0xa1,
|
||||
0x92,0xcc,0x73,0xd2,0x51,0x85,0x4b,0x19,0xea,0xe8,
|
||||
0x8f,0xc1,0xce,0xcb,0xf8,0xce,0xd2,0xe6,0xc5,0xd8,
|
||||
0xa2,0xde,0xb9,0x02,0x20,0x0f,0x73,0xf0,0xf0,0x91,
|
||||
0x53,0xdf,0x4f,0x37,0xf8,0x3f,0x1f,0x82,0x59,0xe3,
|
||||
0xe8,0xaa,0x04,0x64,0xd1,0x51,0x77,0xa8,0x36,0x65,
|
||||
0x8c,0x6d,0x91,0xf8,0xb2,0xc3,0x03,
|
||||
};
|
||||
|
||||
static unsigned char test1024[]={
|
||||
0x30,0x82,0x02,0x5c,0x02,0x01,0x00,0x02,0x81,0x81,
|
||||
0x00,0xdc,0x98,0x43,0xe8,0x3d,0x43,0x5b,0xe4,0x05,
|
||||
0xcd,0xd0,0xa9,0x3e,0xcb,0x83,0x75,0xf6,0xb5,0xa5,
|
||||
0x9f,0x6b,0xe9,0x34,0x41,0x29,0x18,0xfa,0x6a,0x55,
|
||||
0x4d,0x70,0xfc,0xec,0xae,0x87,0x38,0x0a,0x20,0xa9,
|
||||
0xc0,0x45,0x77,0x6e,0x57,0x60,0x57,0xf4,0xed,0x96,
|
||||
0x22,0xcb,0x8f,0xe1,0x33,0x3a,0x17,0x1f,0xed,0x37,
|
||||
0xa5,0x6f,0xeb,0xa6,0xbc,0x12,0x80,0x1d,0x53,0xbd,
|
||||
0x70,0xeb,0x21,0x76,0x3e,0xc9,0x2f,0x1a,0x45,0x24,
|
||||
0x82,0xff,0xcd,0x59,0x32,0x06,0x2e,0x12,0x3b,0x23,
|
||||
0x78,0xed,0x12,0x3d,0xe0,0x8d,0xf9,0x67,0x4f,0x37,
|
||||
0x4e,0x47,0x02,0x4c,0x2d,0xc0,0x4f,0x1f,0xb3,0x94,
|
||||
0xe1,0x41,0x2e,0x2d,0x90,0x10,0xfc,0x82,0x91,0x8b,
|
||||
0x0f,0x22,0xd4,0xf2,0xfc,0x2c,0xab,0x53,0x55,0x02,
|
||||
0x03,0x01,0x00,0x01,0x02,0x81,0x80,0x2b,0xcc,0x3f,
|
||||
0x8f,0x58,0xba,0x8b,0x00,0x16,0xf6,0xea,0x3a,0xf0,
|
||||
0x30,0xd0,0x05,0x17,0xda,0xb0,0xeb,0x9a,0x2d,0x4f,
|
||||
0x26,0xb0,0xd6,0x38,0xc1,0xeb,0xf5,0xd8,0x3d,0x1f,
|
||||
0x70,0xf7,0x7f,0xf4,0xe2,0xcf,0x51,0x51,0x79,0x88,
|
||||
0xfa,0xe8,0x32,0x0e,0x7b,0x2d,0x97,0xf2,0xfa,0xba,
|
||||
0x27,0xc5,0x9c,0xd9,0xc5,0xeb,0x8a,0x79,0x52,0x3c,
|
||||
0x64,0x34,0x7d,0xc2,0xcf,0x28,0xc7,0x4e,0xd5,0x43,
|
||||
0x0b,0xd1,0xa6,0xca,0x6d,0x03,0x2d,0x72,0x23,0xbc,
|
||||
0x6d,0x05,0xfa,0x16,0x09,0x2f,0x2e,0x5c,0xb6,0xee,
|
||||
0x74,0xdd,0xd2,0x48,0x8e,0x36,0x0c,0x06,0x3d,0x4d,
|
||||
0xe5,0x10,0x82,0xeb,0x6a,0xf3,0x4b,0x9f,0xd6,0xed,
|
||||
0x11,0xb1,0x6e,0xec,0xf4,0xfe,0x8e,0x75,0x94,0x20,
|
||||
0x2f,0xcb,0xac,0x46,0xf1,0x02,0x41,0x00,0xf9,0x8c,
|
||||
0xa3,0x85,0xb1,0xdd,0x29,0xaf,0x65,0xc1,0x33,0xf3,
|
||||
0x95,0xc5,0x52,0x68,0x0b,0xd4,0xf1,0xe5,0x0e,0x02,
|
||||
0x9f,0x4f,0xfa,0x77,0xdc,0x46,0x9e,0xc7,0xa6,0xe4,
|
||||
0x16,0x29,0xda,0xb0,0x07,0xcf,0x5b,0xa9,0x12,0x8a,
|
||||
0xdd,0x63,0x0a,0xde,0x2e,0x8c,0x66,0x8b,0x8c,0xdc,
|
||||
0x19,0xa3,0x7e,0xf4,0x3b,0xd0,0x1a,0x8c,0xa4,0xc2,
|
||||
0xe1,0xd3,0x02,0x41,0x00,0xe2,0x4c,0x05,0xf2,0x04,
|
||||
0x86,0x4e,0x61,0x43,0xdb,0xb0,0xb9,0x96,0x86,0x52,
|
||||
0x2c,0xca,0x8d,0x7b,0xab,0x0b,0x13,0x0d,0x7e,0x38,
|
||||
0x5b,0xe2,0x2e,0x7b,0x0e,0xe7,0x19,0x99,0x38,0xe7,
|
||||
0xf2,0x21,0xbd,0x85,0x85,0xe3,0xfd,0x28,0x77,0x20,
|
||||
0x31,0x71,0x2c,0xd0,0xff,0xfb,0x2e,0xaf,0x85,0xb4,
|
||||
0x86,0xca,0xf3,0xbb,0xca,0xaa,0x0f,0x95,0x37,0x02,
|
||||
0x40,0x0e,0x41,0x9a,0x95,0xe8,0xb3,0x59,0xce,0x4b,
|
||||
0x61,0xde,0x35,0xec,0x38,0x79,0x9c,0xb8,0x10,0x52,
|
||||
0x41,0x63,0xab,0x82,0xae,0x6f,0x00,0xa9,0xf4,0xde,
|
||||
0xdd,0x49,0x0b,0x7e,0xb8,0xa5,0x65,0xa9,0x0c,0x8f,
|
||||
0x8f,0xf9,0x1f,0x35,0xc6,0x92,0xb8,0x5e,0xb0,0x66,
|
||||
0xab,0x52,0x40,0xc0,0xb6,0x36,0x6a,0x7d,0x80,0x46,
|
||||
0x04,0x02,0xe5,0x9f,0x41,0x02,0x41,0x00,0xc0,0xad,
|
||||
0xcc,0x4e,0x21,0xee,0x1d,0x24,0x91,0xfb,0xa7,0x80,
|
||||
0x8d,0x9a,0xb6,0xb3,0x2e,0x8f,0xc2,0xe1,0x82,0xdf,
|
||||
0x69,0x18,0xb4,0x71,0xff,0xa6,0x65,0xde,0xed,0x84,
|
||||
0x8d,0x42,0xb7,0xb3,0x21,0x69,0x56,0x1c,0x07,0x60,
|
||||
0x51,0x29,0x04,0xff,0x34,0x06,0xdd,0xb9,0x67,0x2c,
|
||||
0x7c,0x04,0x93,0x0e,0x46,0x15,0xbb,0x2a,0xb7,0x1b,
|
||||
0xe7,0x87,0x02,0x40,0x78,0xda,0x5d,0x07,0x51,0x0c,
|
||||
0x16,0x7a,0x9f,0x29,0x20,0x84,0x0d,0x42,0xfa,0xd7,
|
||||
0x00,0xd8,0x77,0x7e,0xb0,0xb0,0x6b,0xd6,0x5b,0x53,
|
||||
0xb8,0x9b,0x7a,0xcd,0xc7,0x2b,0xb8,0x6a,0x63,0xa9,
|
||||
0xfb,0x6f,0xa4,0x72,0xbf,0x4c,0x5d,0x00,0x14,0xba,
|
||||
0xfa,0x59,0x88,0xed,0xe4,0xe0,0x8c,0xa2,0xec,0x14,
|
||||
0x7e,0x2d,0xe2,0xf0,0x46,0x49,0x95,0x45,
|
||||
0x30,0x82,0x02,0x58,0x02,0x01,0x00,0x02,
|
||||
0x81,0x80,0x53,0x66,0xb3,0x9b,0xd1,0xde,
|
||||
0xb6,0x55,0x67,0xdc,0xe1,0x91,0xdb,0xc7,
|
||||
0xf2,0xef,0xcc,0x98,0x48,0xbe,0x22,0xb2,
|
||||
0xa5,0x92,0x88,0xa2,0xe7,0xf6,0x8a,0xea,
|
||||
0xc1,0x5e,0xd8,0xb3,0xd6,0xb8,0x9a,0xb7,
|
||||
0xf8,0xaa,0x9d,0x0a,0xa1,0x9e,0xb5,0x81,
|
||||
0xd4,0xd9,0x86,0x92,0x49,0x1d,0x30,0x50,
|
||||
0x18,0x4f,0x40,0x52,0x3c,0xf2,0xb7,0x14,
|
||||
0x5f,0x06,0x4d,0x92,0xab,0x0d,0xe5,0x61,
|
||||
0x9a,0xb3,0xdf,0xb0,0xaa,0x88,0x7d,0x47,
|
||||
0x78,0xbf,0xd5,0x15,0x88,0x6b,0xe7,0x43,
|
||||
0xd3,0x96,0x15,0xed,0x5b,0x33,0xff,0x9d,
|
||||
0x06,0x88,0xb6,0xe1,0x21,0xcb,0xe8,0xb5,
|
||||
0xe3,0x3c,0xef,0xb6,0xe7,0x89,0xc0,0x44,
|
||||
0x71,0x6b,0x38,0xe2,0x7a,0xd4,0x92,0x49,
|
||||
0x14,0xcf,0x36,0xc1,0x7d,0xa4,0x13,0x7a,
|
||||
0xb7,0x3f,0x02,0x01,0x03,0x02,0x81,0x80,
|
||||
0x37,0x99,0xcd,0x12,0x8b,0xe9,0xce,0xe3,
|
||||
0x9a,0x93,0x41,0x0b,0xe7,0xda,0xa1,0xf5,
|
||||
0x33,0x10,0x30,0x7e,0xc1,0xcc,0x6e,0x61,
|
||||
0xb0,0x6c,0x9a,0xa4,0x5c,0x9c,0x80,0xe9,
|
||||
0xe5,0xcd,0x39,0xd0,0x67,0x25,0x50,0x71,
|
||||
0xbe,0x07,0x16,0x69,0xce,0x56,0x8d,0xe6,
|
||||
0x59,0xb6,0xdb,0x68,0xca,0xe0,0x10,0x34,
|
||||
0xd5,0x8c,0x28,0xa1,0xcf,0x62,0xea,0x03,
|
||||
0x70,0xc5,0x5e,0x5e,0x08,0x04,0xb3,0x37,
|
||||
0x06,0x45,0x20,0xe5,0x69,0x8a,0x49,0x7d,
|
||||
0x05,0x47,0x1a,0x33,0x0d,0xfd,0x7f,0xf7,
|
||||
0x7b,0xac,0x2a,0x07,0xc3,0x04,0xbf,0xb2,
|
||||
0x41,0x26,0xfa,0xf8,0xf1,0x88,0x06,0x25,
|
||||
0xb7,0xe7,0x57,0xe4,0x4c,0xc6,0x57,0xd1,
|
||||
0x6a,0xbb,0x9a,0xdc,0x45,0x5f,0x48,0x6f,
|
||||
0x8d,0x75,0xb5,0x7d,0xd6,0x6a,0x03,0x2b,
|
||||
0x02,0x41,0x00,0x97,0x52,0x4f,0x91,0xe0,
|
||||
0xc1,0x67,0x42,0xb0,0x41,0xf2,0xc5,0x56,
|
||||
0x6f,0x66,0x5e,0x5c,0x4e,0x7f,0xc7,0xaf,
|
||||
0xef,0x2d,0x60,0xbd,0x00,0x3b,0x07,0xed,
|
||||
0xec,0xfa,0x12,0x14,0xd0,0xc1,0x32,0xd3,
|
||||
0x47,0x50,0xb9,0x0f,0xd5,0xbd,0x0d,0xd1,
|
||||
0xcf,0xef,0x71,0x1c,0x0c,0xa4,0x2c,0x74,
|
||||
0x2a,0xed,0x5d,0x9b,0x00,0x68,0xec,0x51,
|
||||
0x33,0x73,0xa1,0x02,0x41,0x00,0x8d,0x18,
|
||||
0x4d,0xee,0xf8,0x99,0x26,0x9e,0xa6,0x07,
|
||||
0x06,0x6b,0x08,0x88,0xa4,0x25,0xf0,0xdc,
|
||||
0x61,0x57,0xa2,0x58,0x66,0x42,0x1f,0x6a,
|
||||
0xe1,0x20,0x6d,0x28,0xec,0xeb,0x40,0x55,
|
||||
0xe8,0x23,0xab,0x22,0x89,0x4b,0x4c,0x06,
|
||||
0x26,0xa5,0x7b,0x4a,0xfe,0x3f,0xfc,0xbc,
|
||||
0x6e,0x5d,0xb6,0x0f,0x3a,0xca,0x47,0x90,
|
||||
0x84,0x7b,0x00,0xa8,0x3e,0xdf,0x02,0x40,
|
||||
0x64,0xe1,0x8a,0x61,0x40,0x80,0xef,0x81,
|
||||
0xca,0xd6,0xa1,0xd8,0xe4,0x4a,0x44,0x3e,
|
||||
0xe8,0x34,0x55,0x2f,0xca,0x9f,0x73,0x95,
|
||||
0xd3,0x55,0x7c,0xaf,0xf3,0xf3,0x51,0x61,
|
||||
0x63,0x35,0xd6,0x21,0xe2,0x2f,0x8b,0x26,
|
||||
0x0a,0x8e,0x7e,0x09,0x36,0x8a,0x9f,0xa0,
|
||||
0xbd,0x5d,0xc2,0xc8,0x4d,0x71,0xf3,0x93,
|
||||
0xbc,0xaa,0xf0,0x9d,0x8b,0x77,0xa2,0x6b,
|
||||
0x02,0x40,0x5e,0x10,0x33,0xf4,0xa5,0xbb,
|
||||
0x6f,0x14,0x6e,0xaf,0x59,0x9c,0xb0,0x5b,
|
||||
0x18,0x19,0x4b,0x3d,0x96,0x3a,0x6c,0x3a,
|
||||
0xee,0xd6,0xbf,0x9c,0x96,0x15,0x9e,0x1b,
|
||||
0x48,0x9c,0xd5,0x8e,0x9a,0xc2,0x72,0x17,
|
||||
0x06,0x32,0x32,0xae,0xc4,0x6e,0x52,0x31,
|
||||
0xfe,0xd5,0x53,0x28,0x49,0x93,0xce,0xb4,
|
||||
0xd1,0xdc,0x2f,0xb5,0xad,0xa7,0x55,0xc5,
|
||||
0x7f,0x3f,0x02,0x40,0x37,0xa4,0xcc,0xd7,
|
||||
0x63,0x63,0x6b,0x53,0xd6,0xf3,0xf2,0xfe,
|
||||
0xeb,0x8d,0x4a,0x3d,0xab,0x97,0xfe,0xf8,
|
||||
0x27,0xc5,0x87,0xc7,0xbf,0x2c,0xef,0xae,
|
||||
0xcb,0x61,0x62,0x5e,0x30,0x86,0x8f,0xb5,
|
||||
0x0e,0xeb,0x9a,0xa9,0x09,0x6a,0x4e,0x1c,
|
||||
0xc7,0x1e,0xa2,0xce,0x8e,0xc2,0xc8,0x15,
|
||||
0x13,0x06,0x47,0x9e,0x7c,0x2a,0x3c,0x62,
|
||||
0x26,0xf0,0x9c,0x86,
|
||||
};
|
||||
|
||||
static unsigned char test2048[]={
|
||||
0x30,0x82,0x04,0xa3,0x02,0x01,0x00,0x02,0x82,0x01,
|
||||
0x01,0x00,0xc0,0xc0,0xce,0x3e,0x3c,0x53,0x67,0x3f,
|
||||
0x4f,0xc5,0x2f,0xa4,0xc2,0x5a,0x2f,0x58,0xfd,0x27,
|
||||
0x52,0x6a,0xe8,0xcf,0x4a,0x73,0x47,0x8d,0x25,0x0f,
|
||||
0x5f,0x03,0x26,0x78,0xef,0xf0,0x22,0x12,0xd3,0xde,
|
||||
0x47,0xb2,0x1c,0x0b,0x38,0x63,0x1a,0x6c,0x85,0x7a,
|
||||
0x80,0xc6,0x8f,0xa0,0x41,0xaf,0x62,0xc4,0x67,0x32,
|
||||
0x88,0xf8,0xa6,0x9c,0xf5,0x23,0x1d,0xe4,0xac,0x3f,
|
||||
0x29,0xf9,0xec,0xe1,0x8b,0x26,0x03,0x2c,0xb2,0xab,
|
||||
0xf3,0x7d,0xb5,0xca,0x49,0xc0,0x8f,0x1c,0xdf,0x33,
|
||||
0x3a,0x60,0xda,0x3c,0xb0,0x16,0xf8,0xa9,0x12,0x8f,
|
||||
0x64,0xac,0x23,0x0c,0x69,0x64,0x97,0x5d,0x99,0xd4,
|
||||
0x09,0x83,0x9b,0x61,0xd3,0xac,0xf0,0xde,0xdd,0x5e,
|
||||
0x9f,0x44,0x94,0xdb,0x3a,0x4d,0x97,0xe8,0x52,0x29,
|
||||
0xf7,0xdb,0x94,0x07,0x45,0x90,0x78,0x1e,0x31,0x0b,
|
||||
0x80,0xf7,0x57,0xad,0x1c,0x79,0xc5,0xcb,0x32,0xb0,
|
||||
0xce,0xcd,0x74,0xb3,0xe2,0x94,0xc5,0x78,0x2f,0x34,
|
||||
0x1a,0x45,0xf7,0x8c,0x52,0xa5,0xbc,0x8d,0xec,0xd1,
|
||||
0x2f,0x31,0x3b,0xf0,0x49,0x59,0x5e,0x88,0x9d,0x15,
|
||||
0x92,0x35,0x32,0xc1,0xe7,0x61,0xec,0x50,0x48,0x7c,
|
||||
0xba,0x05,0xf9,0xf8,0xf8,0xa7,0x8c,0x83,0xe8,0x66,
|
||||
0x5b,0xeb,0xfe,0xd8,0x4f,0xdd,0x6d,0x36,0xc0,0xb2,
|
||||
0x90,0x0f,0xb8,0x52,0xf9,0x04,0x9b,0x40,0x2c,0x27,
|
||||
0xd6,0x36,0x8e,0xc2,0x1b,0x44,0xf3,0x92,0xd5,0x15,
|
||||
0x9e,0x9a,0xbc,0xf3,0x7d,0x03,0xd7,0x02,0x14,0x20,
|
||||
0xe9,0x10,0x92,0xfd,0xf9,0xfc,0x8f,0xe5,0x18,0xe1,
|
||||
0x95,0xcc,0x9e,0x60,0xa6,0xfa,0x38,0x4d,0x02,0x03,
|
||||
0x01,0x00,0x01,0x02,0x82,0x01,0x00,0x00,0xc3,0xc3,
|
||||
0x0d,0xb4,0x27,0x90,0x8d,0x4b,0xbf,0xb8,0x84,0xaa,
|
||||
0xd0,0xb8,0xc7,0x5d,0x99,0xbe,0x55,0xf6,0x3e,0x7c,
|
||||
0x49,0x20,0xcb,0x8a,0x8e,0x19,0x0e,0x66,0x24,0xac,
|
||||
0xaf,0x03,0x33,0x97,0xeb,0x95,0xd5,0x3b,0x0f,0x40,
|
||||
0x56,0x04,0x50,0xd1,0xe6,0xbe,0x84,0x0b,0x25,0xd3,
|
||||
0x9c,0xe2,0x83,0x6c,0xf5,0x62,0x5d,0xba,0x2b,0x7d,
|
||||
0x3d,0x7a,0x6c,0xe1,0xd2,0x0e,0x54,0x93,0x80,0x01,
|
||||
0x91,0x51,0x09,0xe8,0x5b,0x8e,0x47,0xbd,0x64,0xe4,
|
||||
0x0e,0x03,0x83,0x55,0xcf,0x5a,0x37,0xf0,0x25,0xb5,
|
||||
0x7d,0x21,0xd7,0x69,0xdf,0x6f,0xc2,0xcf,0x10,0xc9,
|
||||
0x8a,0x40,0x9f,0x7a,0x70,0xc0,0xe8,0xe8,0xc0,0xe6,
|
||||
0x9a,0x15,0x0a,0x8d,0x4e,0x46,0xcb,0x7a,0xdb,0xb3,
|
||||
0xcb,0x83,0x02,0xc4,0xf0,0xab,0xeb,0x02,0x01,0x0e,
|
||||
0x23,0xfc,0x1d,0xc4,0xbd,0xd4,0xaa,0x5d,0x31,0x46,
|
||||
0x99,0xce,0x9e,0xf8,0x04,0x75,0x10,0x67,0xc4,0x53,
|
||||
0x47,0x44,0xfa,0xc2,0x25,0x73,0x7e,0xd0,0x8e,0x59,
|
||||
0xd1,0xb2,0x5a,0xf4,0xc7,0x18,0x92,0x2f,0x39,0xab,
|
||||
0xcd,0xa3,0xb5,0xc2,0xb9,0xc7,0xb9,0x1b,0x9f,0x48,
|
||||
0xfa,0x13,0xc6,0x98,0x4d,0xca,0x84,0x9c,0x06,0xca,
|
||||
0xe7,0x89,0x01,0x04,0xc4,0x6c,0xfd,0x29,0x59,0x35,
|
||||
0xe7,0xf3,0xdd,0xce,0x64,0x59,0xbf,0x21,0x13,0xa9,
|
||||
0x9f,0x0e,0xc5,0xff,0xbd,0x33,0x00,0xec,0xac,0x6b,
|
||||
0x11,0xef,0x51,0x5e,0xad,0x07,0x15,0xde,0xb8,0x5f,
|
||||
0xc6,0xb9,0xa3,0x22,0x65,0x46,0x83,0x14,0xdf,0xd0,
|
||||
0xf1,0x44,0x8a,0xe1,0x9c,0x23,0x33,0xb4,0x97,0x33,
|
||||
0xe6,0x6b,0x81,0x02,0x81,0x81,0x00,0xec,0x12,0xa7,
|
||||
0x59,0x74,0x6a,0xde,0x3e,0xad,0xd8,0x36,0x80,0x50,
|
||||
0xa2,0xd5,0x21,0x81,0x07,0xf1,0xd0,0x91,0xf2,0x6c,
|
||||
0x12,0x2f,0x9d,0x1a,0x26,0xf8,0x30,0x65,0xdf,0xe8,
|
||||
0xc0,0x9b,0x6a,0x30,0x98,0x82,0x87,0xec,0xa2,0x56,
|
||||
0x87,0x62,0x6f,0xe7,0x9f,0xf6,0x56,0xe6,0x71,0x8f,
|
||||
0x49,0x86,0x93,0x5a,0x4d,0x34,0x58,0xfe,0xd9,0x04,
|
||||
0x13,0xaf,0x79,0xb7,0xad,0x11,0xd1,0x30,0x9a,0x14,
|
||||
0x06,0xa0,0xfa,0xb7,0x55,0xdc,0x6c,0x5a,0x4c,0x2c,
|
||||
0x59,0x56,0xf6,0xe8,0x9d,0xaf,0x0a,0x78,0x99,0x06,
|
||||
0x06,0x9e,0xe7,0x9c,0x51,0x55,0x43,0xfc,0x3b,0x6c,
|
||||
0x0b,0xbf,0x2d,0x41,0xa7,0xaf,0xb7,0xe0,0xe8,0x28,
|
||||
0x18,0xb4,0x13,0xd1,0xe6,0x97,0xd0,0x9f,0x6a,0x80,
|
||||
0xca,0xdd,0x1a,0x7e,0x15,0x02,0x81,0x81,0x00,0xd1,
|
||||
0x06,0x0c,0x1f,0xe3,0xd0,0xab,0xd6,0xca,0x7c,0xbc,
|
||||
0x7d,0x13,0x35,0xce,0x27,0xcd,0xd8,0x49,0x51,0x63,
|
||||
0x64,0x0f,0xca,0x06,0x12,0xfc,0x07,0x3e,0xaf,0x61,
|
||||
0x6d,0xe2,0x53,0x39,0x27,0xae,0xc3,0x11,0x9e,0x94,
|
||||
0x01,0x4f,0xe3,0xf3,0x67,0xf9,0x77,0xf9,0xe7,0x95,
|
||||
0x3a,0x6f,0xe2,0x20,0x73,0x3e,0xa4,0x7a,0x28,0xd4,
|
||||
0x61,0x97,0xf6,0x17,0xa0,0x23,0x10,0x2b,0xce,0x84,
|
||||
0x57,0x7e,0x25,0x1f,0xf4,0xa8,0x54,0xd2,0x65,0x94,
|
||||
0xcc,0x95,0x0a,0xab,0x30,0xc1,0x59,0x1f,0x61,0x8e,
|
||||
0xb9,0x6b,0xd7,0x4e,0xb9,0x83,0x43,0x79,0x85,0x11,
|
||||
0xbc,0x0f,0xae,0x25,0x20,0x05,0xbc,0xd2,0x48,0xa1,
|
||||
0x68,0x09,0x84,0xf6,0x12,0x9a,0x66,0xb9,0x2b,0xbb,
|
||||
0x76,0x03,0x17,0x46,0x4e,0x97,0x59,0x02,0x81,0x80,
|
||||
0x09,0x4c,0xfa,0xd6,0xe5,0x65,0x48,0x78,0x43,0xb5,
|
||||
0x1f,0x00,0x93,0x2c,0xb7,0x24,0xe8,0xc6,0x7d,0x5a,
|
||||
0x70,0x45,0x92,0xc8,0x6c,0xa3,0xcd,0xe1,0xf7,0x29,
|
||||
0x40,0xfa,0x3f,0x5b,0x47,0x44,0x39,0xc1,0xe8,0x72,
|
||||
0x9e,0x7a,0x0e,0xda,0xaa,0xa0,0x2a,0x09,0xfd,0x54,
|
||||
0x93,0x23,0xaa,0x37,0x85,0x5b,0xcc,0xd4,0xf9,0xd8,
|
||||
0xff,0xc1,0x61,0x0d,0xbd,0x7e,0x18,0x24,0x73,0x6d,
|
||||
0x40,0x72,0xf1,0x93,0x09,0x48,0x97,0x6c,0x84,0x90,
|
||||
0xa8,0x46,0x14,0x01,0x39,0x11,0xe5,0x3c,0x41,0x27,
|
||||
0x32,0x75,0x24,0xed,0xa1,0xd9,0x12,0x29,0x8a,0x28,
|
||||
0x71,0x89,0x8d,0xca,0x30,0xb0,0x01,0xc4,0x2f,0x82,
|
||||
0x19,0x14,0x4c,0x70,0x1c,0xb8,0x23,0x2e,0xe8,0x90,
|
||||
0x49,0x97,0x92,0x97,0x6b,0x7a,0x9d,0xb9,0x02,0x81,
|
||||
0x80,0x0f,0x0e,0xa1,0x76,0xf6,0xa1,0x44,0x8f,0xaf,
|
||||
0x7c,0x76,0xd3,0x87,0xbb,0xbb,0x83,0x10,0x88,0x01,
|
||||
0x18,0x14,0xd1,0xd3,0x75,0x59,0x24,0xaa,0xf5,0x16,
|
||||
0xa5,0xe9,0x9d,0xd1,0xcc,0xee,0xf4,0x15,0xd9,0xc5,
|
||||
0x7e,0x27,0xe9,0x44,0x49,0x06,0x72,0xb9,0xfc,0xd3,
|
||||
0x8a,0xc4,0x2c,0x36,0x7d,0x12,0x9b,0x5a,0xaa,0xdc,
|
||||
0x85,0xee,0x6e,0xad,0x54,0xb3,0xf4,0xfc,0x31,0xa1,
|
||||
0x06,0x3a,0x70,0x57,0x0c,0xf3,0x95,0x5b,0x3e,0xe8,
|
||||
0xfd,0x1a,0x4f,0xf6,0x78,0x93,0x46,0x6a,0xd7,0x31,
|
||||
0xb4,0x84,0x64,0x85,0x09,0x38,0x89,0x92,0x94,0x1c,
|
||||
0xbf,0xe2,0x3c,0x2a,0xe0,0xff,0x99,0xa3,0xf0,0x2b,
|
||||
0x31,0xc2,0x36,0xcd,0x60,0xbf,0x9d,0x2d,0x74,0x32,
|
||||
0xe8,0x9c,0x93,0x6e,0xbb,0x91,0x7b,0xfd,0xd9,0x02,
|
||||
0x81,0x81,0x00,0xa2,0x71,0x25,0x38,0xeb,0x2a,0xe9,
|
||||
0x37,0xcd,0xfe,0x44,0xce,0x90,0x3f,0x52,0x87,0x84,
|
||||
0x52,0x1b,0xae,0x8d,0x22,0x94,0xce,0x38,0xe6,0x04,
|
||||
0x88,0x76,0x85,0x9a,0xd3,0x14,0x09,0xe5,0x69,0x9a,
|
||||
0xff,0x58,0x92,0x02,0x6a,0x7d,0x7c,0x1e,0x2c,0xfd,
|
||||
0xa8,0xca,0x32,0x14,0x4f,0x0d,0x84,0x0d,0x37,0x43,
|
||||
0xbf,0xe4,0x5d,0x12,0xc8,0x24,0x91,0x27,0x8d,0x46,
|
||||
0xd9,0x54,0x53,0xe7,0x62,0x71,0xa8,0x2b,0x71,0x41,
|
||||
0x8d,0x75,0xf8,0x3a,0xa0,0x61,0x29,0x46,0xa6,0xe5,
|
||||
0x82,0xfa,0x3a,0xd9,0x08,0xfa,0xfc,0x63,0xfd,0x6b,
|
||||
0x30,0xbc,0xf4,0x4e,0x9e,0x8c,0x25,0x0c,0xb6,0x55,
|
||||
0xe7,0x3c,0xd4,0x4e,0x0b,0xfd,0x8b,0xc3,0x0e,0x1d,
|
||||
0x9c,0x44,0x57,0x8f,0x1f,0x86,0xf7,0xd5,0x1b,0xe4,
|
||||
0x95,
|
||||
0x30,0x82,0x04,0xa1,0x02,0x01,0x00,0x02,0x82,0x01,
|
||||
0x00,0x7a,0x52,0xa1,0xd0,0xdb,0x8c,0x38,0xcf,0x0f,
|
||||
0x01,0x25,0x98,0xee,0x84,0xc1,0xf3,0x8e,0x90,0xb5,
|
||||
0x85,0x5e,0x5f,0x3a,0x33,0x8f,0xc6,0x49,0xe0,0x07,
|
||||
0xd3,0x66,0x26,0xcc,0x47,0xc3,0x04,0xcf,0x91,0x74,
|
||||
0x65,0x07,0x56,0x35,0x7d,0x0a,0xbf,0xcd,0xd2,0x8a,
|
||||
0xf9,0x05,0x62,0xc0,0x63,0xc2,0x54,0xb8,0x14,0x89,
|
||||
0x88,0x58,0x1c,0xeb,0xbc,0xbf,0xf2,0x0d,0xcb,0x05,
|
||||
0x62,0x1c,0xe9,0x48,0x0f,0x2b,0x8d,0x28,0x67,0x92,
|
||||
0x31,0x86,0xe3,0xa4,0x20,0x80,0xfc,0x5c,0x41,0x9d,
|
||||
0x21,0x6d,0x7f,0x12,0x6b,0x54,0xb1,0x04,0x0f,0x87,
|
||||
0x15,0xd7,0xbf,0xc5,0x6b,0x13,0x81,0x80,0x88,0x1e,
|
||||
0x86,0x16,0x66,0xd9,0xcf,0xa5,0x4e,0xe1,0xcf,0xa4,
|
||||
0x4c,0x38,0xdd,0xf9,0x5d,0x5f,0x30,0xdf,0x0d,0x2b,
|
||||
0xfa,0xa0,0x1f,0xb8,0xe3,0x3c,0x62,0xff,0x13,0xf0,
|
||||
0x61,0xc1,0xcd,0x3c,0xb7,0xc3,0xf7,0xec,0x91,0xcf,
|
||||
0x7c,0x4e,0x11,0x4e,0x96,0x7e,0xe5,0x6c,0x9e,0x1b,
|
||||
0xbe,0x3f,0x71,0xc5,0xb1,0xe6,0xeb,0x7e,0xa3,0x97,
|
||||
0xc1,0xd6,0x1b,0x48,0x4f,0x84,0xaf,0x69,0xc2,0x96,
|
||||
0xed,0xbc,0x81,0xdf,0x5f,0xc6,0xda,0xd3,0x25,0x2d,
|
||||
0xc6,0x9f,0x62,0xd2,0x1c,0xef,0xcb,0x0a,0x75,0xd0,
|
||||
0x23,0x1c,0x3b,0x88,0x22,0x70,0x08,0x05,0x46,0xed,
|
||||
0x8a,0xda,0x45,0x94,0x8d,0x0d,0x9b,0x61,0xf3,0x07,
|
||||
0xdc,0x81,0xaa,0x3c,0xcc,0xad,0x06,0x24,0xd7,0xbc,
|
||||
0x28,0x98,0xb4,0x43,0xe3,0x9b,0x0f,0x93,0xa4,0x6e,
|
||||
0x49,0xea,0x3a,0xe6,0x1e,0x56,0x5a,0xff,0x0c,0x93,
|
||||
0x9e,0x9b,0x28,0x7e,0x63,0xb7,0x71,0x02,0x03,0x01,
|
||||
0x00,0x01,0x02,0x82,0x01,0x00,0x34,0xd9,0x5c,0xb6,
|
||||
0x5b,0x14,0xd3,0x3a,0x8a,0x96,0x09,0x43,0x70,0xd2,
|
||||
0x04,0xe6,0x10,0xd3,0x6e,0xc9,0xc7,0x83,0x47,0x27,
|
||||
0x1d,0xd8,0x22,0xf4,0xdb,0x0c,0xb7,0xd6,0xcd,0x6d,
|
||||
0xb7,0xd1,0x6d,0x48,0xbf,0xcc,0x22,0x86,0x59,0xa7,
|
||||
0xc3,0xac,0x28,0xe5,0xed,0x4b,0x37,0xcb,0x79,0xa9,
|
||||
0xe0,0x3d,0x30,0x27,0x17,0x60,0xc4,0x09,0x02,0xc4,
|
||||
0xd2,0xfd,0x66,0x7e,0x2f,0xbe,0x3b,0x15,0x83,0x1f,
|
||||
0xa2,0xc6,0x63,0x0d,0x94,0x79,0x37,0x79,0x44,0xe1,
|
||||
0x12,0x39,0x76,0x36,0x97,0x07,0xe9,0x41,0xfc,0x98,
|
||||
0x48,0xc8,0x0e,0x24,0x13,0x4e,0x19,0x9f,0xee,0x50,
|
||||
0x9b,0xe5,0xd8,0xbd,0x76,0xca,0xa2,0x05,0x1f,0xd7,
|
||||
0xf9,0xe9,0x01,0xe0,0xef,0x70,0x4b,0x25,0x84,0x66,
|
||||
0x96,0x09,0x0c,0x65,0x0f,0x0b,0xa8,0xd6,0xf5,0xc2,
|
||||
0xe3,0xcb,0x3c,0x43,0x66,0xa4,0x15,0x36,0xa5,0xe2,
|
||||
0x9d,0xe9,0xf7,0x32,0x10,0x0e,0x96,0x57,0xaa,0x84,
|
||||
0xf9,0x4d,0x91,0x37,0x5a,0x80,0x01,0x05,0x63,0x1c,
|
||||
0x6e,0xe6,0x8c,0xf7,0x70,0xc1,0x03,0x4f,0x5d,0xde,
|
||||
0x19,0x90,0x1e,0x53,0x98,0xc9,0xc6,0x41,0x66,0xb0,
|
||||
0xc2,0x6f,0x30,0xfe,0xb1,0x26,0x47,0x82,0x0a,0x7b,
|
||||
0x50,0xf8,0x7c,0x88,0x13,0x4d,0x77,0xa0,0xd0,0xba,
|
||||
0x60,0x87,0x21,0xdd,0x74,0xaa,0x32,0xdb,0xbe,0x23,
|
||||
0xee,0x81,0xc0,0xca,0xc9,0x94,0x2f,0x75,0x78,0x08,
|
||||
0xc4,0x04,0x4e,0x67,0x3c,0xb9,0x99,0xd5,0xe5,0xbc,
|
||||
0x4d,0x6b,0x12,0x59,0xfe,0x55,0xff,0x28,0x0a,0x8d,
|
||||
0x6c,0xb1,0xd3,0x23,0x7c,0x33,0x87,0x35,0xba,0x8c,
|
||||
0xb3,0x51,0x02,0x81,0x81,0x00,0xcb,0xbc,0x6f,0x2c,
|
||||
0xa4,0xbb,0x7b,0x51,0x0e,0xfe,0xdb,0x16,0x83,0x16,
|
||||
0x91,0x4a,0xb9,0x31,0x42,0x81,0x8b,0x39,0x44,0x11,
|
||||
0x8b,0x82,0x6f,0x19,0x58,0xd4,0xba,0x38,0x44,0x95,
|
||||
0xec,0x99,0x32,0x4d,0x98,0xd7,0xad,0x3d,0xd1,0x00,
|
||||
0xd4,0x1e,0x62,0x90,0xc4,0xac,0x65,0x29,0xb7,0x5c,
|
||||
0x7c,0x54,0x55,0x33,0xb9,0x22,0x55,0x61,0xc8,0x08,
|
||||
0xdd,0x5d,0x4d,0xc0,0x19,0xa6,0x89,0x3a,0x33,0x19,
|
||||
0xc7,0x1d,0x43,0x16,0x9e,0x7e,0x47,0xce,0xe3,0xde,
|
||||
0xbb,0x52,0x8d,0xcd,0xe3,0x6a,0xe3,0x79,0x9e,0x27,
|
||||
0x0f,0x6d,0x3b,0x74,0x25,0x39,0xe7,0x87,0x3a,0xad,
|
||||
0x98,0x82,0xfc,0xae,0x7d,0x53,0x41,0x79,0x7e,0xb6,
|
||||
0xdc,0xc5,0x75,0x69,0x47,0xd5,0x83,0x26,0x56,0x32,
|
||||
0xfb,0xdf,0x77,0x9d,0x02,0x81,0x81,0x00,0x99,0xb3,
|
||||
0xb3,0x33,0x1e,0xea,0x65,0x5d,0x57,0x27,0x99,0xad,
|
||||
0xd4,0xb7,0xb5,0x5e,0x6a,0x53,0x9d,0x60,0xe9,0x4f,
|
||||
0xa5,0xd9,0x18,0x24,0x05,0x5b,0xda,0x9a,0x24,0xbe,
|
||||
0xdc,0xb1,0xa9,0x2e,0x18,0xc6,0x54,0xb1,0xff,0x65,
|
||||
0x8a,0xaa,0x2b,0x98,0xab,0x27,0x83,0xe6,0x33,0xf5,
|
||||
0x97,0xa1,0x0b,0x09,0x68,0x98,0x0d,0xa2,0x85,0x06,
|
||||
0x99,0x73,0xec,0x1c,0x6d,0x5c,0x9d,0x23,0x49,0xef,
|
||||
0x05,0xea,0x92,0x99,0xeb,0x0b,0xe8,0x15,0xbc,0x87,
|
||||
0xb3,0x30,0xbf,0x10,0xfe,0x99,0x3b,0xd6,0xe5,0x6c,
|
||||
0x8b,0x58,0xa6,0xfb,0xae,0xe5,0x4f,0x10,0xb0,0x28,
|
||||
0xea,0x85,0x5b,0x9b,0x08,0x38,0x75,0x56,0xc3,0xeb,
|
||||
0x3b,0x47,0xea,0x60,0x86,0x77,0x9b,0x84,0xee,0xc1,
|
||||
0x58,0x60,0x88,0x33,0x18,0xe5,0x02,0x81,0x80,0x17,
|
||||
0x3a,0x74,0xb2,0x72,0x55,0xad,0xc9,0xa0,0x1c,0x0e,
|
||||
0x7e,0x92,0x93,0x90,0x1d,0x24,0xe0,0x28,0xe4,0xfc,
|
||||
0x2a,0x9b,0x48,0x24,0xcf,0xca,0x3a,0xe9,0x95,0xd7,
|
||||
0x65,0x72,0xec,0x64,0xfd,0x52,0x6e,0xe6,0x6e,0x30,
|
||||
0xa2,0x4b,0xa1,0xfc,0x8d,0x3a,0x4f,0xa7,0x1c,0xc0,
|
||||
0xab,0xf0,0xeb,0xea,0x80,0xf2,0xf5,0xe2,0xb5,0xb7,
|
||||
0x66,0x5e,0x98,0x24,0x24,0xef,0x28,0x67,0xc4,0x45,
|
||||
0x01,0x0d,0xb2,0x72,0xb1,0x33,0x64,0xf0,0xcd,0x15,
|
||||
0x02,0xd1,0x98,0x23,0x63,0x56,0x27,0x93,0x36,0x2c,
|
||||
0x99,0x41,0x1e,0xd2,0xf3,0x71,0x43,0xdc,0xba,0xad,
|
||||
0x5b,0x0d,0xa5,0x9d,0x2d,0xd2,0x01,0x52,0xe8,0x9b,
|
||||
0x1e,0x6f,0x04,0x0a,0x47,0xb9,0x0b,0x37,0xd5,0x70,
|
||||
0x0e,0x7e,0xe5,0x71,0x32,0x19,0x41,0x02,0x81,0x80,
|
||||
0x23,0xc3,0x55,0x51,0xf2,0xc2,0x95,0x5d,0x57,0x97,
|
||||
0x26,0x41,0xf5,0x39,0xdd,0xa0,0x9f,0x5a,0xdf,0x46,
|
||||
0x9a,0x62,0xe6,0xf3,0x11,0x93,0xe8,0x0f,0x4c,0x59,
|
||||
0x0b,0x6d,0xc1,0x8a,0x31,0x14,0x41,0xbd,0x7c,0x1d,
|
||||
0x82,0x90,0x8c,0xe8,0x35,0x86,0xab,0x64,0x61,0x63,
|
||||
0x61,0xf9,0xa6,0x13,0x59,0xaf,0x11,0xc0,0x37,0x83,
|
||||
0xf6,0x31,0xe7,0xe8,0xba,0x2a,0x8f,0x23,0xba,0x88,
|
||||
0x68,0x7e,0x8e,0x40,0xdb,0x65,0xa6,0xf4,0x39,0x47,
|
||||
0x3d,0x7b,0xd1,0xac,0xe8,0xf8,0x3a,0x55,0x4b,0x40,
|
||||
0x20,0x57,0xd6,0x40, 0x85,0x72,0x10,0x6a,0xd8,0xaf,
|
||||
0xc8,0x5d,0x6c,0xdc,0x24,0xc9,0x78,0xeb,0x32,0x1a,
|
||||
0x43,0x31,0xeb,0xb4,0x3b,0x0b,0xc4,0x9d,0xf5,0xf8,
|
||||
0xc3,0x59,0x07,0x88,0x46,0x88,0xa5,0x25,0x02,0x81,
|
||||
0x80,0x55,0xf5,0x12,0x2e,0x48,0xce,0xef,0xb3,0x1d,
|
||||
0xbf,0xab,0x06,0xf7,0x09,0x8c,0xf0,0x1a,0xe9,0xfa,
|
||||
0x01,0xf9,0x97,0xa4,0x57,0x6f,0x7a,0x73,0x63,0x2a,
|
||||
0x57,0x30,0x97,0xce,0xf7,0xe5,0xd4,0x8c,0x35,0xa2,
|
||||
0x12,0xb7,0xf3,0xf6,0x66,0x76,0x9e,0x90,0x3f,0xb4,
|
||||
0x70,0x0f,0x99,0x7a,0xc9,0x36,0xcf,0x46,0x74,0x39,
|
||||
0x91,0xf2,0x66,0xa2,0x55,0x19,0x1b,0x70,0xe3,0xd6,
|
||||
0x9a,0x8b,0x94,0x79,0x18,0x8a,0x93,0xcf,0x27,0x2a,
|
||||
0xc1,0xb3,0xda,0x51,0x52,0x9d,0x14,0xb7,0xc9,0x2e,
|
||||
0x2f,0x75,0x6d,0xc9,0xdb,0x8f,0x69,0xa7,0xc9,0x5e,
|
||||
0x1f,0x9d,0x3c,0x6e,0x1f,0xa4,0x08,0x33,0x0a,0x7a,
|
||||
0xde,0x90,0x18,0xf2,0x43,0xf7,0x60,0x8b,0x51,0xa3,
|
||||
0x50,0xf8,0x52,0xfc,0xed,0x5c,0x63,0xbc,0x1a,
|
||||
};
|
||||
|
||||
static unsigned char test4096[]={
|
||||
0x30,0x82,0x09,0x29,0x02,0x01,0x00,0x02,0x82,0x02,
|
||||
0x01,0x00,0xc0,0x71,0xac,0x1a,0x13,0x88,0x82,0x43,
|
||||
0x3b,0x51,0x57,0x71,0x8d,0xb6,0x2b,0x82,0x65,0x21,
|
||||
0x53,0x5f,0x28,0x29,0x4f,0x8d,0x7c,0x8a,0xb9,0x44,
|
||||
0xb3,0x28,0x41,0x4f,0xd3,0xfa,0x6a,0xf8,0xb9,0x28,
|
||||
0x50,0x39,0x67,0x53,0x2c,0x3c,0xd7,0xcb,0x96,0x41,
|
||||
0x40,0x32,0xbb,0xeb,0x70,0xae,0x1f,0xb0,0x65,0xf7,
|
||||
0x3a,0xd9,0x22,0xfd,0x10,0xae,0xbd,0x02,0xe2,0xdd,
|
||||
0xf3,0xc2,0x79,0x3c,0xc6,0xfc,0x75,0xbb,0xaf,0x4e,
|
||||
0x3a,0x36,0xc2,0x4f,0xea,0x25,0xdf,0x13,0x16,0x4b,
|
||||
0x20,0xfe,0x4b,0x69,0x16,0xc4,0x7f,0x1a,0x43,0xa6,
|
||||
0x17,0x1b,0xb9,0x0a,0xf3,0x09,0x86,0x28,0x89,0xcf,
|
||||
0x2c,0xd0,0xd4,0x81,0xaf,0xc6,0x6d,0xe6,0x21,0x8d,
|
||||
0xee,0xef,0xea,0xdc,0xb7,0xc6,0x3b,0x63,0x9f,0x0e,
|
||||
0xad,0x89,0x78,0x23,0x18,0xbf,0x70,0x7e,0x84,0xe0,
|
||||
0x37,0xec,0xdb,0x8e,0x9c,0x3e,0x6a,0x19,0xcc,0x99,
|
||||
0x72,0xe6,0xb5,0x7d,0x6d,0xfa,0xe5,0xd3,0xe4,0x90,
|
||||
0xb5,0xb2,0xb2,0x12,0x70,0x4e,0xca,0xf8,0x10,0xf8,
|
||||
0xa3,0x14,0xc2,0x48,0x19,0xeb,0x60,0x99,0xbb,0x2a,
|
||||
0x1f,0xb1,0x7a,0xb1,0x3d,0x24,0xfb,0xa0,0x29,0xda,
|
||||
0xbd,0x1b,0xd7,0xa4,0xbf,0xef,0x60,0x2d,0x22,0xca,
|
||||
0x65,0x98,0xf1,0xc4,0xe1,0xc9,0x02,0x6b,0x16,0x28,
|
||||
0x2f,0xa1,0xaa,0x79,0x00,0xda,0xdc,0x7c,0x43,0xf7,
|
||||
0x42,0x3c,0xa0,0xef,0x68,0xf7,0xdf,0xb9,0x69,0xfb,
|
||||
0x8e,0x01,0xed,0x01,0x42,0xb5,0x4e,0x57,0xa6,0x26,
|
||||
0xb8,0xd0,0x7b,0x56,0x6d,0x03,0xc6,0x40,0x8c,0x8c,
|
||||
0x2a,0x55,0xd7,0x9c,0x35,0x00,0x94,0x93,0xec,0x03,
|
||||
0xeb,0x22,0xef,0x77,0xbb,0x79,0x13,0x3f,0x15,0xa1,
|
||||
0x8f,0xca,0xdf,0xfd,0xd3,0xb8,0xe1,0xd4,0xcc,0x09,
|
||||
0x3f,0x3c,0x2c,0xdb,0xd1,0x49,0x7f,0x38,0x07,0x83,
|
||||
0x6d,0xeb,0x08,0x66,0xe9,0x06,0x44,0x12,0xac,0x95,
|
||||
0x22,0x90,0x23,0x67,0xd4,0x08,0xcc,0xf4,0xb7,0xdc,
|
||||
0xcc,0x87,0xd4,0xac,0x69,0x35,0x4c,0xb5,0x39,0x36,
|
||||
0xcd,0xa4,0xd2,0x95,0xca,0x0d,0xc5,0xda,0xc2,0xc5,
|
||||
0x22,0x32,0x28,0x08,0xe3,0xd2,0x8b,0x38,0x30,0xdc,
|
||||
0x8c,0x75,0x4f,0x6a,0xec,0x7a,0xac,0x16,0x3e,0xa8,
|
||||
0xd4,0x6a,0x45,0xe1,0xa8,0x4f,0x2e,0x80,0x34,0xaa,
|
||||
0x54,0x1b,0x02,0x95,0x7d,0x8a,0x6d,0xcc,0x79,0xca,
|
||||
0xf2,0xa4,0x2e,0x8d,0xfb,0xfe,0x15,0x51,0x10,0x0e,
|
||||
0x4d,0x88,0xb1,0xc7,0xf4,0x79,0xdb,0xf0,0xb4,0x56,
|
||||
0x44,0x37,0xca,0x5a,0xc1,0x8c,0x48,0xac,0xae,0x48,
|
||||
0x80,0x83,0x01,0x3f,0xde,0xd9,0xd3,0x2c,0x51,0x46,
|
||||
0xb1,0x41,0xb6,0xc6,0x91,0x72,0xf9,0x83,0x55,0x1b,
|
||||
0x8c,0xba,0xf3,0x73,0xe5,0x2c,0x74,0x50,0x3a,0xbe,
|
||||
0xc5,0x2f,0xa7,0xb2,0x6d,0x8c,0x9e,0x13,0x77,0xa3,
|
||||
0x13,0xcd,0x6d,0x8c,0x45,0xe1,0xfc,0x0b,0xb7,0x69,
|
||||
0xe9,0x27,0xbc,0x65,0xc3,0xfa,0x9b,0xd0,0xef,0xfe,
|
||||
0xe8,0x1f,0xb3,0x5e,0x34,0xf4,0x8c,0xea,0xfc,0xd3,
|
||||
0x81,0xbf,0x3d,0x30,0xb2,0xb4,0x01,0xe8,0x43,0x0f,
|
||||
0xba,0x02,0x23,0x42,0x76,0x82,0x31,0x73,0x91,0xed,
|
||||
0x07,0x46,0x61,0x0d,0x39,0x83,0x40,0xce,0x7a,0xd4,
|
||||
0xdb,0x80,0x2c,0x1f,0x0d,0xd1,0x34,0xd4,0x92,0xe3,
|
||||
0xd4,0xf1,0xc2,0x01,0x02,0x03,0x01,0x00,0x01,0x02,
|
||||
0x82,0x02,0x01,0x00,0x97,0x6c,0xda,0x6e,0xea,0x4f,
|
||||
0xcf,0xaf,0xf7,0x4c,0xd9,0xf1,0x90,0x00,0x77,0xdb,
|
||||
0xf2,0x97,0x76,0x72,0xb9,0xb7,0x47,0xd1,0x9c,0xdd,
|
||||
0xcb,0x4a,0x33,0x6e,0xc9,0x75,0x76,0xe6,0xe4,0xa5,
|
||||
0x31,0x8c,0x77,0x13,0xb4,0x29,0xcd,0xf5,0x52,0x17,
|
||||
0xef,0xf3,0x08,0x00,0xe3,0xbd,0x2e,0xbc,0xd4,0x52,
|
||||
0x88,0xe9,0x30,0x75,0x0b,0x02,0xf5,0xcd,0x89,0x0c,
|
||||
0x6c,0x57,0x19,0x27,0x3d,0x1e,0x85,0xb4,0xc1,0x2f,
|
||||
0x1d,0x92,0x00,0x5c,0x76,0x29,0x4b,0xa4,0xe1,0x12,
|
||||
0xb3,0xc8,0x09,0xfe,0x0e,0x78,0x72,0x61,0xcb,0x61,
|
||||
0x6f,0x39,0x91,0x95,0x4e,0xd5,0x3e,0xc7,0x8f,0xb8,
|
||||
0xf6,0x36,0xfe,0x9c,0x93,0x9a,0x38,0x25,0x7a,0xf4,
|
||||
0x4a,0x12,0xd4,0xa0,0x13,0xbd,0xf9,0x1d,0x12,0x3e,
|
||||
0x21,0x39,0xfb,0x72,0xe0,0x05,0x3d,0xc3,0xe5,0x50,
|
||||
0xa8,0x5d,0x85,0xa3,0xea,0x5f,0x1c,0xb2,0x3f,0xea,
|
||||
0x6d,0x03,0x91,0x55,0xd8,0x19,0x0a,0x21,0x12,0x16,
|
||||
0xd9,0x12,0xc4,0xe6,0x07,0x18,0x5b,0x26,0xa4,0xae,
|
||||
0xed,0x2b,0xb7,0xa6,0xed,0xf8,0xad,0xec,0x77,0xe6,
|
||||
0x7f,0x4f,0x76,0x00,0xc0,0xfa,0x15,0x92,0xb4,0x2c,
|
||||
0x22,0xc2,0xeb,0x6a,0xad,0x14,0x05,0xb2,0xe5,0x8a,
|
||||
0x9e,0x85,0x83,0xcc,0x04,0xf1,0x56,0x78,0x44,0x5e,
|
||||
0xde,0xe0,0x60,0x1a,0x65,0x79,0x31,0x23,0x05,0xbb,
|
||||
0x01,0xff,0xdd,0x2e,0xb7,0xb3,0xaa,0x74,0xe0,0xa5,
|
||||
0x94,0xaf,0x4b,0xde,0x58,0x0f,0x55,0xde,0x33,0xf6,
|
||||
0xe3,0xd6,0x34,0x36,0x57,0xd6,0x79,0x91,0x2e,0xbe,
|
||||
0x3b,0xd9,0x4e,0xb6,0x9d,0x21,0x5c,0xd3,0x48,0x14,
|
||||
0x7f,0x4a,0xc4,0x60,0xa9,0x29,0xf8,0x53,0x7f,0x88,
|
||||
0x11,0x2d,0xb5,0xc5,0x2d,0x6f,0xee,0x85,0x0b,0xf7,
|
||||
0x8d,0x9a,0xbe,0xb0,0x42,0xf2,0x2e,0x71,0xaf,0x19,
|
||||
0x31,0x6d,0xec,0xcd,0x6f,0x2b,0x23,0xdf,0xb4,0x40,
|
||||
0xaf,0x2c,0x0a,0xc3,0x1b,0x7d,0x7d,0x03,0x1d,0x4b,
|
||||
0xf3,0xb5,0xe0,0x85,0xd8,0xdf,0x91,0x6b,0x0a,0x69,
|
||||
0xf7,0xf2,0x69,0x66,0x5b,0xf1,0xcf,0x46,0x7d,0xe9,
|
||||
0x70,0xfa,0x6d,0x7e,0x75,0x4e,0xa9,0x77,0xe6,0x8c,
|
||||
0x02,0xf7,0x14,0x4d,0xa5,0x41,0x8f,0x3f,0xc1,0x62,
|
||||
0x1e,0x71,0x5e,0x38,0xb4,0xd6,0xe6,0xe1,0x4b,0xc2,
|
||||
0x2c,0x30,0x83,0x81,0x6f,0x49,0x2e,0x96,0xe6,0xc9,
|
||||
0x9a,0xf7,0x5d,0x09,0xa0,0x55,0x02,0xa5,0x3a,0x25,
|
||||
0x23,0xd0,0x92,0xc3,0xa3,0xe3,0x0e,0x12,0x2f,0x4d,
|
||||
0xef,0xf3,0x55,0x5a,0xbe,0xe6,0x19,0x86,0x31,0xab,
|
||||
0x75,0x9a,0xd3,0xf0,0x2c,0xc5,0x41,0x92,0xd9,0x1f,
|
||||
0x5f,0x11,0x8c,0x75,0x1c,0x63,0xd0,0x02,0x80,0x2c,
|
||||
0x68,0xcb,0x93,0xfb,0x51,0x73,0x49,0xb4,0x60,0xda,
|
||||
0xe2,0x26,0xaf,0xa9,0x46,0x12,0xb8,0xec,0x50,0xdd,
|
||||
0x12,0x06,0x5f,0xce,0x59,0xe6,0xf6,0x1c,0xe0,0x54,
|
||||
0x10,0xad,0xf6,0xcd,0x98,0xcc,0x0f,0xfb,0xcb,0x41,
|
||||
0x14,0x9d,0xed,0xe4,0xb4,0x74,0x5f,0x09,0x60,0xc7,
|
||||
0x12,0xf6,0x7b,0x3c,0x8f,0xa7,0x20,0xbc,0xe4,0xb1,
|
||||
0xef,0xeb,0xa4,0x93,0xc5,0x06,0xca,0x9a,0x27,0x9d,
|
||||
0x87,0xf3,0xde,0xca,0xe5,0xe7,0xf6,0x1c,0x01,0x65,
|
||||
0x5b,0xfb,0x19,0x79,0x6e,0x08,0x26,0xc5,0xc8,0x28,
|
||||
0x0e,0xb6,0x3b,0x07,0x08,0xc1,0x02,0x82,0x01,0x01,
|
||||
0x00,0xe8,0x1c,0x73,0xa6,0xb8,0xe0,0x0e,0x6d,0x8d,
|
||||
0x1b,0xb9,0x53,0xed,0x58,0x94,0xe6,0x1d,0x60,0x14,
|
||||
0x5c,0x76,0x43,0xc4,0x58,0x19,0xc4,0x24,0xe8,0xbc,
|
||||
0x1b,0x3b,0x0b,0x13,0x24,0x45,0x54,0x0e,0xcc,0x37,
|
||||
0xf0,0xe0,0x63,0x7d,0xc3,0xf7,0xfb,0x81,0x74,0x81,
|
||||
0xc4,0x0f,0x1a,0x21,0x48,0xaf,0xce,0xc1,0xc4,0x94,
|
||||
0x18,0x06,0x44,0x8d,0xd3,0xd2,0x22,0x2d,0x2d,0x3e,
|
||||
0x5a,0x31,0xdc,0x95,0x8e,0xf4,0x41,0xfc,0x58,0xc9,
|
||||
0x40,0x92,0x17,0x5f,0xe3,0xda,0xac,0x9e,0x3f,0x1c,
|
||||
0x2a,0x6b,0x58,0x5f,0x48,0x78,0x20,0xb1,0xaf,0x24,
|
||||
0x9b,0x3c,0x20,0x8b,0x93,0x25,0x9e,0xe6,0x6b,0xbc,
|
||||
0x13,0x42,0x14,0x6c,0x36,0x31,0xff,0x7a,0xd1,0xc1,
|
||||
0x1a,0x26,0x14,0x7f,0xa9,0x76,0xa7,0x0c,0xf8,0xcc,
|
||||
0xed,0x07,0x6a,0xd2,0xdf,0x62,0xee,0x0a,0x7c,0x84,
|
||||
0xcb,0x49,0x90,0xb2,0x03,0x0d,0xa2,0x82,0x06,0x77,
|
||||
0xf1,0xcd,0x67,0xf2,0x47,0x21,0x02,0x3f,0x43,0x21,
|
||||
0xf0,0x46,0x30,0x62,0x51,0x72,0xb1,0xe7,0x48,0xc6,
|
||||
0x67,0x12,0xcd,0x9e,0xd6,0x15,0xe5,0x21,0xed,0xfa,
|
||||
0x8f,0x30,0xa6,0x41,0xfe,0xb6,0xfa,0x8f,0x34,0x14,
|
||||
0x19,0xe8,0x11,0xf7,0xa5,0x77,0x3e,0xb7,0xf9,0x39,
|
||||
0x07,0x8c,0x67,0x2a,0xab,0x7b,0x08,0xf8,0xb0,0x06,
|
||||
0xa8,0xea,0x2f,0x8f,0xfa,0xcc,0xcc,0x40,0xce,0xf3,
|
||||
0x70,0x4f,0x3f,0x7f,0xe2,0x0c,0xea,0x76,0x4a,0x35,
|
||||
0x4e,0x47,0xad,0x2b,0xa7,0x97,0x5d,0x74,0x43,0x97,
|
||||
0x90,0xd2,0xfb,0xd9,0xf9,0x96,0x01,0x33,0x05,0xed,
|
||||
0x7b,0x03,0x05,0xad,0xf8,0x49,0x03,0x02,0x82,0x01,
|
||||
0x01,0x00,0xd4,0x40,0x17,0x66,0x10,0x92,0x95,0xc8,
|
||||
0xec,0x62,0xa9,0x7a,0xcb,0x93,0x8e,0xe6,0x53,0xd4,
|
||||
0x80,0x48,0x27,0x4b,0x41,0xce,0x61,0xdf,0xbf,0x94,
|
||||
0xa4,0x3d,0x71,0x03,0x0b,0xed,0x25,0x71,0x98,0xa4,
|
||||
0xd6,0xd5,0x4a,0x57,0xf5,0x6c,0x1b,0xda,0x21,0x7d,
|
||||
0x35,0x45,0xb3,0xf3,0x6a,0xd9,0xd3,0x43,0xe8,0x5c,
|
||||
0x54,0x1c,0x83,0x1b,0xb4,0x5f,0xf2,0x97,0x24,0x2e,
|
||||
0xdc,0x40,0xde,0x92,0x23,0x59,0x8e,0xbc,0xd2,0xa1,
|
||||
0xf2,0xe0,0x4c,0xdd,0x0b,0xd1,0xe7,0xae,0x65,0xbc,
|
||||
0xb5,0xf5,0x5b,0x98,0xe9,0xd7,0xc2,0xb7,0x0e,0x55,
|
||||
0x71,0x0e,0x3c,0x0a,0x24,0x6b,0xa6,0xe6,0x14,0x61,
|
||||
0x11,0xfd,0x33,0x42,0x99,0x2b,0x84,0x77,0x74,0x92,
|
||||
0x91,0xf5,0x79,0x79,0xcf,0xad,0x8e,0x04,0xef,0x80,
|
||||
0x1e,0x57,0xf4,0x14,0xf5,0x35,0x09,0x74,0xb2,0x13,
|
||||
0x71,0x58,0x6b,0xea,0x32,0x5d,0xf3,0xd3,0x76,0x48,
|
||||
0x39,0x10,0x23,0x84,0x9d,0xbe,0x92,0x77,0x4a,0xed,
|
||||
0x70,0x3e,0x1a,0xa2,0x6c,0xb3,0x81,0x00,0xc3,0xc9,
|
||||
0xe4,0x52,0xc8,0x24,0x88,0x0c,0x41,0xad,0x87,0x5a,
|
||||
0xea,0xa3,0x7a,0x85,0x1c,0x5e,0x31,0x7f,0xc3,0x35,
|
||||
0xc6,0xfa,0x10,0xc8,0x75,0x10,0xc4,0x96,0x99,0xe7,
|
||||
0xfe,0x01,0xb4,0x74,0xdb,0xb4,0x11,0xc3,0xc8,0x8c,
|
||||
0xf6,0xf7,0x3b,0x66,0x50,0xfc,0xdb,0xeb,0xca,0x47,
|
||||
0x85,0x89,0xe1,0x65,0xd9,0x62,0x34,0x3c,0x70,0xd8,
|
||||
0x2e,0xb4,0x2f,0x65,0x3c,0x4a,0xa6,0x2a,0xe7,0xc7,
|
||||
0xd8,0x41,0x8f,0x8a,0x43,0xbf,0x42,0xf2,0x4d,0xbc,
|
||||
0xfc,0x9e,0x27,0x95,0xfb,0x75,0xff,0xab,0x02,0x82,
|
||||
0x01,0x00,0x41,0x2f,0x44,0x57,0x6d,0x12,0x17,0x5b,
|
||||
0x32,0xc6,0xb7,0x6c,0x57,0x7a,0x8a,0x0e,0x79,0xef,
|
||||
0x72,0xa8,0x68,0xda,0x2d,0x38,0xe4,0xbb,0x8d,0xf6,
|
||||
0x02,0x65,0xcf,0x56,0x13,0xe1,0x1a,0xcb,0x39,0x80,
|
||||
0xa6,0xb1,0x32,0x03,0x1e,0xdd,0xbb,0x35,0xd9,0xac,
|
||||
0x43,0x89,0x31,0x08,0x90,0x92,0x5e,0x35,0x3d,0x7b,
|
||||
0x9c,0x6f,0x86,0xcb,0x17,0xdd,0x85,0xe4,0xed,0x35,
|
||||
0x08,0x8e,0xc1,0xf4,0x05,0xd8,0x68,0xc6,0x63,0x3c,
|
||||
0xf7,0xff,0xf7,0x47,0x33,0x39,0xc5,0x3e,0xb7,0x0e,
|
||||
0x58,0x35,0x9d,0x81,0xea,0xf8,0x6a,0x2c,0x1c,0x5a,
|
||||
0x68,0x78,0x64,0x11,0x6b,0xc1,0x3e,0x4e,0x7a,0xbd,
|
||||
0x84,0xcb,0x0f,0xc2,0xb6,0x85,0x1d,0xd3,0x76,0xc5,
|
||||
0x93,0x6a,0x69,0x89,0x56,0x34,0xdc,0x4a,0x9b,0xbc,
|
||||
0xff,0xa8,0x0d,0x6e,0x35,0x9c,0x60,0xa7,0x23,0x30,
|
||||
0xc7,0x06,0x64,0x39,0x8b,0x94,0x89,0xee,0xba,0x7f,
|
||||
0x60,0x8d,0xfa,0xb6,0x97,0x76,0xdc,0x51,0x4a,0x3c,
|
||||
0xeb,0x3a,0x14,0x2c,0x20,0x60,0x69,0x4a,0x86,0xfe,
|
||||
0x8c,0x21,0x84,0x49,0x54,0xb3,0x20,0xe1,0x01,0x7f,
|
||||
0x58,0xdf,0x7f,0xb5,0x21,0x51,0x8c,0x47,0x9f,0x91,
|
||||
0xeb,0x97,0x3e,0xf2,0x54,0xcf,0x16,0x46,0xf9,0xd9,
|
||||
0xb6,0xe7,0x64,0xc9,0xd0,0x54,0xea,0x2f,0xa1,0xcf,
|
||||
0xa5,0x7f,0x28,0x8d,0x84,0xec,0xd5,0x39,0x03,0x76,
|
||||
0x5b,0x2d,0x8e,0x43,0xf2,0x01,0x24,0xc9,0x6f,0xc0,
|
||||
0xf5,0x69,0x6f,0x7d,0xb5,0x85,0xd2,0x5f,0x7f,0x78,
|
||||
0x40,0x07,0x7f,0x09,0x15,0xb5,0x1f,0x28,0x65,0x10,
|
||||
0xe4,0x19,0xa8,0xc6,0x9e,0x8d,0xdc,0xcb,0x02,0x82,
|
||||
0x01,0x00,0x13,0x01,0xee,0x56,0x80,0x93,0x70,0x00,
|
||||
0x7f,0x52,0xd2,0x94,0xa1,0x98,0x84,0x4a,0x92,0x25,
|
||||
0x4c,0x9b,0xa9,0x91,0x2e,0xc2,0x79,0xb7,0x5c,0xe3,
|
||||
0xc5,0xd5,0x8e,0xc2,0x54,0x16,0x17,0xad,0x55,0x9b,
|
||||
0x25,0x76,0x12,0x63,0x50,0x22,0x2f,0x58,0x58,0x79,
|
||||
0x6b,0x04,0xe3,0xf9,0x9f,0x8f,0x04,0x41,0x67,0x94,
|
||||
0xa5,0x1f,0xac,0x8a,0x15,0x9c,0x26,0x10,0x6c,0xf8,
|
||||
0x19,0x57,0x61,0xd7,0x3a,0x7d,0x31,0xb0,0x2d,0x38,
|
||||
0xbd,0x94,0x62,0xad,0xc4,0xfa,0x36,0x42,0x42,0xf0,
|
||||
0x24,0x67,0x65,0x9d,0x8b,0x0b,0x7c,0x6f,0x82,0x44,
|
||||
0x1a,0x8c,0xc8,0xc9,0xab,0xbb,0x4c,0x45,0xfc,0x7b,
|
||||
0x38,0xee,0x30,0xe1,0xfc,0xef,0x8d,0xbc,0x58,0xdf,
|
||||
0x2b,0x5d,0x0d,0x54,0xe0,0x49,0x4d,0x97,0x99,0x8f,
|
||||
0x22,0xa8,0x83,0xbe,0x40,0xbb,0x50,0x2e,0x78,0x28,
|
||||
0x0f,0x95,0x78,0x8c,0x8f,0x98,0x24,0x56,0xc2,0x97,
|
||||
0xf3,0x2c,0x43,0xd2,0x03,0x82,0x66,0x81,0x72,0x5f,
|
||||
0x53,0x16,0xec,0xb1,0xb1,0x04,0x5e,0x40,0x20,0x48,
|
||||
0x7b,0x3f,0x02,0x97,0x6a,0xeb,0x96,0x12,0x21,0x35,
|
||||
0xfe,0x1f,0x47,0xc0,0x95,0xea,0xc5,0x8a,0x08,0x84,
|
||||
0x4f,0x5e,0x63,0x94,0x60,0x0f,0x71,0x5b,0x7f,0x4a,
|
||||
0xec,0x4f,0x60,0xc6,0xba,0x4a,0x24,0xf1,0x20,0x8b,
|
||||
0xa7,0x2e,0x3a,0xce,0x8d,0xe0,0x27,0x1d,0xb5,0x8e,
|
||||
0xb4,0x21,0xc5,0xe2,0xa6,0x16,0x0a,0x51,0x83,0x55,
|
||||
0x88,0xd1,0x30,0x11,0x63,0xd5,0xd7,0x8d,0xae,0x16,
|
||||
0x12,0x82,0xc4,0x85,0x00,0x4e,0x27,0x83,0xa5,0x7c,
|
||||
0x90,0x2e,0xe5,0xa2,0xa3,0xd3,0x4c,0x63,0x02,0x82,
|
||||
0x01,0x01,0x00,0x86,0x08,0x98,0x98,0xa5,0x00,0x05,
|
||||
0x39,0x77,0xd9,0x66,0xb3,0xcf,0xca,0xa0,0x71,0xb3,
|
||||
0x50,0xce,0x3d,0xb1,0x93,0x95,0x35,0xc4,0xd4,0x2e,
|
||||
0x90,0xdf,0x0f,0xfc,0x60,0xc1,0x94,0x68,0x61,0x43,
|
||||
0xca,0x9a,0x23,0x4a,0x1e,0x45,0x72,0x99,0xb5,0x1e,
|
||||
0x61,0x8d,0x77,0x0f,0xa0,0xbb,0xd7,0x77,0xb4,0x2a,
|
||||
0x15,0x11,0x88,0x2d,0xb3,0x56,0x61,0x5e,0x6a,0xed,
|
||||
0xa4,0x46,0x4a,0x3f,0x50,0x11,0xd6,0xba,0xb6,0xd7,
|
||||
0x95,0x65,0x53,0xc3,0xa1,0x8f,0xe0,0xa3,0xf5,0x1c,
|
||||
0xfd,0xaf,0x6e,0x43,0xd7,0x17,0xa7,0xd3,0x81,0x1b,
|
||||
0xa4,0xdf,0xe0,0x97,0x8a,0x46,0x03,0xd3,0x46,0x0e,
|
||||
0x83,0x48,0x4e,0xd2,0x02,0xcb,0xc0,0xad,0x79,0x95,
|
||||
0x8c,0x96,0xba,0x40,0x34,0x11,0x71,0x5e,0xe9,0x11,
|
||||
0xf9,0xc5,0x4a,0x5e,0x91,0x9d,0xf5,0x92,0x4f,0xeb,
|
||||
0xc6,0x70,0x02,0x2d,0x3d,0x04,0xaa,0xe9,0x3a,0x8e,
|
||||
0xd5,0xa8,0xad,0xf7,0xce,0x0d,0x16,0xb2,0xec,0x0a,
|
||||
0x9c,0xf5,0x94,0x39,0xb9,0x8a,0xfc,0x1e,0xf9,0xcc,
|
||||
0xf2,0x5f,0x21,0x31,0x74,0x72,0x6b,0x64,0xae,0x35,
|
||||
0x61,0x8d,0x0d,0xcb,0xe7,0xda,0x39,0xca,0xf3,0x21,
|
||||
0x66,0x0b,0x95,0xd7,0x0a,0x7c,0xca,0xa1,0xa9,0x5a,
|
||||
0xe8,0xac,0xe0,0x71,0x54,0xaf,0x28,0xcf,0xd5,0x70,
|
||||
0x89,0xe0,0xf3,0x9e,0x43,0x6c,0x8d,0x7b,0x99,0x01,
|
||||
0x68,0x4d,0xa1,0x45,0x46,0x0c,0x43,0xbc,0xcc,0x2c,
|
||||
0xdd,0xc5,0x46,0xc8,0x4e,0x0e,0xbe,0xed,0xb9,0x26,
|
||||
0xab,0x2e,0xdb,0xeb,0x8f,0xff,0xdb,0xb0,0xc6,0x55,
|
||||
0xaf,0xf8,0x2a,0x91,0x9d,0x50,0x44,0x21,0x17,
|
||||
0x30,0x82,0x09,0x28,0x02,0x01,0x00,0x02,0x82,0x02,
|
||||
0x01,0x00,0x92,0x1f,0x39,0xc3,0x7c,0xc2,0xfe,0x5c,
|
||||
0x2c,0x83,0x5d,0x08,0x5e,0x76,0xe6,0x53,0x30,0x86,
|
||||
0x47,0x62,0xe9,0x21,0x22,0x2c,0xeb,0x3b,0xe5,0xb3,
|
||||
0x30,0xbf,0x1c,0x37,0x23,0xe2,0x4b,0x27,0xf2,0x8c,
|
||||
0x6a,0x8c,0xcb,0x54,0xf0,0x47,0x91,0xbc,0x3b,0x41,
|
||||
0x6d,0xa6,0xe3,0x9b,0x25,0x3e,0x2f,0x3d,0x8e,0x67,
|
||||
0x9d,0xe9,0x2b,0x7d,0xcd,0x39,0xf5,0xc9,0x2b,0xd0,
|
||||
0xe5,0xe6,0xe7,0x62,0x1e,0x6c,0xe1,0x8f,0xc2,0xa3,
|
||||
0xc9,0x02,0x11,0xf3,0x51,0x63,0x27,0x25,0x82,0x01,
|
||||
0xaa,0x0a,0x68,0x6d,0x4c,0x02,0x5c,0xaf,0xb1,0x72,
|
||||
0xb5,0xf4,0x53,0x43,0xb1,0x90,0x28,0x1b,0x54,0xdd,
|
||||
0xfd,0x57,0x36,0xac,0xf8,0x44,0x34,0x7a,0x85,0x66,
|
||||
0x37,0x62,0xe9,0x80,0xd2,0xe2,0xdc,0xa0,0xe8,0x76,
|
||||
0x09,0x6d,0xc1,0x38,0xac,0x55,0x57,0x44,0xbe,0x0e,
|
||||
0x81,0x0d,0x81,0x63,0xb7,0x73,0xd7,0xbf,0x5d,0x84,
|
||||
0x2f,0x31,0xdc,0x79,0x69,0xf5,0xa9,0x7e,0x60,0x5b,
|
||||
0xc1,0x92,0x26,0xb1,0xf0,0xdf,0x0c,0xe4,0x76,0xf7,
|
||||
0xa3,0x68,0x79,0x9f,0x14,0x5c,0x52,0x97,0x21,0x76,
|
||||
0xd7,0x19,0x8b,0x47,0xc0,0xb6,0x36,0x01,0xa8,0x73,
|
||||
0x54,0xfc,0x61,0xd1,0x64,0x44,0xd3,0x36,0x4b,0xbe,
|
||||
0xc8,0x26,0xcd,0x24,0xb5,0x35,0xdc,0x5a,0xe9,0x25,
|
||||
0x26,0xb4,0x60,0x19,0x1f,0xc7,0x57,0x47,0xd6,0xf1,
|
||||
0x5a,0xae,0xc8,0x16,0xfd,0xa8,0x85,0x0b,0x3a,0xbd,
|
||||
0xd7,0x4c,0xfb,0xd1,0x75,0xa4,0x86,0x91,0x4a,0xb8,
|
||||
0x0a,0x1b,0x83,0xe4,0xce,0x10,0xd2,0x2b,0xe3,0xe4,
|
||||
0x87,0x8c,0xfd,0xb9,0xfb,0x8d,0xb6,0x70,0xa5,0x2b,
|
||||
0xbe,0xe6,0x43,0x4c,0x44,0x09,0x6b,0xd6,0x5a,0xcc,
|
||||
0x89,0x78,0xb7,0xd8,0xc9,0xa9,0x24,0xe9,0xa6,0x87,
|
||||
0x2f,0xd4,0x3f,0xad,0x98,0x32,0x57,0x19,0xf0,0xdd,
|
||||
0x65,0x2e,0x69,0x5f,0x83,0x24,0x3c,0xea,0xc0,0x36,
|
||||
0x88,0xd2,0x1c,0x27,0x29,0x83,0x80,0xd0,0xdf,0xf1,
|
||||
0x1e,0x2d,0x62,0x4c,0x24,0xb1,0xb8,0xa2,0x70,0xc7,
|
||||
0xc5,0xdf,0x8d,0xea,0xf7,0xea,0xb8,0x68,0x99,0x7c,
|
||||
0xd6,0xf0,0x3b,0x6b,0xb0,0xc5,0xb0,0x0c,0x96,0xfd,
|
||||
0x07,0x46,0x5f,0xc8,0xde,0xb4,0x4f,0x7b,0x0f,0xd1,
|
||||
0x71,0x1e,0x84,0x27,0x93,0x95,0xfc,0x7b,0x3f,0x3a,
|
||||
0xf1,0xe9,0x82,0x4f,0x09,0xc0,0x79,0x35,0xb1,0xe4,
|
||||
0x45,0x87,0x26,0xe7,0xf9,0x9a,0xcd,0x63,0x42,0x98,
|
||||
0x9a,0xf8,0x11,0x20,0xf1,0x42,0xd2,0x31,0xdc,0x03,
|
||||
0xb5,0xa9,0xeb,0x87,0x08,0x2a,0x76,0xb4,0xbf,0x0e,
|
||||
0x5b,0xa9,0x52,0xd5,0x12,0xda,0x87,0xfa,0x01,0x23,
|
||||
0x5b,0x78,0x97,0x73,0xcc,0xf8,0x0e,0xf0,0xde,0x34,
|
||||
0x9f,0xb2,0xcd,0x8c,0x5a,0xce,0xd6,0x3f,0x17,0xe1,
|
||||
0x45,0xd5,0xeb,0xab,0x6a,0x47,0x0f,0x3c,0x02,0xfb,
|
||||
0xa5,0xcd,0x85,0x54,0x07,0x0b,0xba,0x74,0x16,0x87,
|
||||
0x2e,0x9e,0xe5,0x2a,0x80,0x4c,0x27,0xc6,0x9e,0xe2,
|
||||
0xfd,0x60,0xa7,0x89,0x13,0x3e,0x03,0x7f,0x55,0xf5,
|
||||
0xd2,0x67,0xab,0x37,0x40,0xbf,0x33,0x03,0xe2,0xd1,
|
||||
0x60,0xcb,0x48,0xae,0x80,0x30,0x87,0xf6,0xd8,0x34,
|
||||
0xef,0x61,0xb3,0x9b,0x75,0x25,0x2a,0xe9,0xfa,0xb6,
|
||||
0x08,0xbe,0xbf,0x80,0x63,0x46,0x77,0x89,0xe7,0x9c,
|
||||
0xd0,0xe4,0x50,0xa9,0x02,0x03,0x01,0x00,0x01,0x02,
|
||||
0x82,0x02,0x00,0x73,0xcb,0x78,0xfc,0x18,0xbf,0x71,
|
||||
0xd0,0xdb,0x99,0x92,0x3d,0x12,0x97,0x08,0xb9,0x3e,
|
||||
0x07,0xfb,0x44,0x3f,0xd8,0xf8,0xfb,0x3d,0xc2,0xee,
|
||||
0xa9,0x8c,0xe4,0xb5,0xd8,0x60,0x80,0x70,0xec,0x8c,
|
||||
0x42,0x88,0x21,0x60,0xf4,0xc3,0xa1,0x03,0xb5,0x76,
|
||||
0x03,0xc8,0x80,0x6b,0x78,0x44,0x10,0x3e,0x61,0x7a,
|
||||
0x9b,0x54,0x41,0x36,0x2c,0xf0,0x58,0x91,0x15,0x45,
|
||||
0xba,0xba,0xa5,0xbc,0x11,0x3e,0x69,0x2c,0x6a,0xbf,
|
||||
0x65,0x09,0xe2,0xb1,0x14,0xf0,0x17,0x32,0x2b,0x80,
|
||||
0x16,0x0f,0x89,0x45,0xed,0xef,0x41,0x23,0xf0,0x3b,
|
||||
0x1f,0xdb,0x5f,0x6e,0x28,0x83,0xea,0xe8,0x4d,0x98,
|
||||
0x78,0x7e,0xce,0x01,0x4f,0x1b,0x42,0xf9,0x8f,0x6a,
|
||||
0x6d,0x71,0x50,0xda,0x18,0x33,0x86,0x82,0x2e,0xa5,
|
||||
0x68,0xfc,0xd9,0xd4,0x38,0x34,0x21,0x41,0x12,0x01,
|
||||
0xc6,0xfe,0xb0,0x14,0x2c,0x50,0x71,0xe5,0xb4,0x09,
|
||||
0xc8,0xb9,0x99,0xba,0xcd,0x20,0x92,0x04,0x2a,0x58,
|
||||
0xf3,0xfd,0xb6,0xf3,0x21,0x29,0xef,0xa8,0x88,0xd8,
|
||||
0x5a,0x30,0x4d,0x97,0xab,0xdf,0xf7,0xb5,0x9f,0x7c,
|
||||
0x6e,0x6f,0xd1,0x17,0x55,0xda,0x3a,0xcb,0x1b,0x8f,
|
||||
0x41,0x2e,0x44,0xfe,0xc3,0x6f,0xc1,0x36,0xdb,0x9d,
|
||||
0x34,0xe7,0xea,0x0f,0xc1,0x9a,0x34,0xbf,0x95,0xef,
|
||||
0x92,0x78,0x54,0x92,0x9e,0xf6,0x57,0x03,0x2c,0xb4,
|
||||
0x01,0xf9,0xc9,0xee,0x58,0x81,0xd5,0x6c,0xf1,0x54,
|
||||
0x30,0xa3,0x10,0xa7,0xb1,0xfa,0x97,0x51,0xe8,0x8b,
|
||||
0x9c,0xc2,0xad,0xc1,0x5c,0xad,0x8c,0x18,0xf1,0x9d,
|
||||
0x1c,0x39,0xeb,0x1a,0x1a,0xab,0x65,0x47,0x00,0x54,
|
||||
0x89,0x4d,0xf4,0x22,0xaf,0x35,0x8a,0x2b,0x11,0x9d,
|
||||
0x73,0xb3,0x48,0xf9,0xe9,0x9b,0x73,0xa8,0xeb,0x32,
|
||||
0x4f,0xf2,0x33,0x5e,0xc8,0xc7,0xe3,0xdb,0xbf,0xcd,
|
||||
0x8a,0x5b,0xbe,0x19,0x91,0xe1,0x34,0x2c,0x6a,0xd8,
|
||||
0x56,0xe4,0x92,0x89,0x6f,0x9c,0xda,0x4d,0x9e,0xca,
|
||||
0xd4,0x2d,0xbb,0x06,0x4b,0x77,0x79,0xe1,0x2e,0xab,
|
||||
0x2e,0x14,0x0f,0xe3,0x6b,0xc6,0x44,0x18,0xdb,0xd0,
|
||||
0x51,0xb4,0x72,0xf5,0x77,0x57,0xe8,0x9c,0xad,0x35,
|
||||
0xb2,0x6c,0x24,0x8b,0x67,0xcc,0xc2,0x6a,0xfa,0xf0,
|
||||
0xd4,0x40,0x19,0xf1,0x76,0x24,0x42,0x25,0x7b,0x5b,
|
||||
0xe1,0x25,0xde,0xa4,0x4d,0x00,0xf1,0x80,0x02,0xd0,
|
||||
0x09,0x48,0x65,0x76,0x8c,0xb3,0x2d,0xe2,0xad,0x87,
|
||||
0x4f,0xbb,0x76,0xa9,0xac,0xa3,0x1d,0xb9,0x0d,0x4c,
|
||||
0xb3,0xba,0xdf,0x62,0x91,0xb5,0x3b,0x00,0x11,0x2b,
|
||||
0x6f,0x74,0x87,0x6d,0xe8,0xed,0x04,0xc4,0xc9,0xf4,
|
||||
0xc9,0xa3,0xc7,0x0a,0xb8,0x80,0xd8,0x5d,0x30,0x4b,
|
||||
0xdc,0x79,0x4a,0x5b,0xa4,0x7d,0xf5,0xb2,0x16,0x02,
|
||||
0x48,0x6d,0x89,0x3a,0xb6,0x3f,0x2d,0x1f,0x91,0xaa,
|
||||
0xd3,0xc8,0x54,0x17,0x5e,0xb3,0x59,0x05,0xb5,0xf3,
|
||||
0xe5,0x2e,0xb1,0x41,0xd6,0x87,0xa5,0xcb,0xd1,0xeb,
|
||||
0x03,0x35,0x7b,0x94,0x06,0x09,0xbb,0x7b,0x67,0x14,
|
||||
0x83,0x65,0xa1,0x82,0x52,0x70,0xf8,0x3c,0xf2,0x21,
|
||||
0xb7,0x26,0xa8,0xdd,0x56,0x75,0xc8,0xda,0xc8,0x05,
|
||||
0x6f,0xba,0xea,0x6a,0x14,0x0f,0x13,0xc6,0x9d,0xea,
|
||||
0xc3,0xb4,0x95,0x9b,0xc4,0x6b,0x35,0xbd,0x10,0xce,
|
||||
0xb6,0xf6,0x07,0x72,0xbd,0x02,0x82,0x01,0x01,0x00,
|
||||
0xcb,0x3c,0x4c,0xfb,0xcf,0xae,0xa9,0xb8,0x2a,0xcc,
|
||||
0x31,0xa3,0x5d,0xce,0x43,0xbf,0xf9,0x93,0x18,0xcc,
|
||||
0x17,0x50,0x67,0x7e,0x52,0x6c,0xd5,0xbf,0x3e,0xc2,
|
||||
0x99,0x56,0xbc,0x7a,0x1a,0xc5,0x92,0x76,0xb3,0x38,
|
||||
0xbf,0xf4,0xf8,0xae,0x41,0x17,0xb0,0x17,0x1b,0x1a,
|
||||
0x4d,0x6b,0x3d,0x0c,0xc1,0x25,0x5c,0x54,0xa7,0x39,
|
||||
0x2c,0x38,0x72,0x1f,0x0a,0xe9,0xd4,0x5b,0xa4,0x81,
|
||||
0x5d,0xf1,0xc2,0xf7,0xd2,0x5c,0x4c,0x7e,0x24,0x02,
|
||||
0x81,0xa1,0x3a,0xf5,0xd0,0x11,0x15,0x4e,0x03,0x3d,
|
||||
0x82,0xfa,0xcd,0x32,0x89,0x10,0xe1,0x4f,0x47,0x32,
|
||||
0x54,0xfc,0x95,0xf2,0x3a,0x58,0x8e,0xbb,0x9b,0xbf,
|
||||
0x7c,0x5b,0xc0,0x73,0x25,0xdc,0x04,0xf6,0x98,0xc1,
|
||||
0xed,0xa9,0x2a,0x6a,0x7b,0xc4,0x8d,0x2a,0x0f,0x51,
|
||||
0xb3,0xa3,0x75,0x79,0x40,0x76,0xf6,0xbe,0xb2,0xd9,
|
||||
0xc1,0x6e,0xb1,0xfa,0x96,0xd2,0xea,0x07,0xee,0xe9,
|
||||
0xf2,0xdb,0x3f,0x20,0xdc,0xe0,0x63,0xdc,0x86,0x7f,
|
||||
0xbb,0xfb,0x60,0x2f,0xc6,0xaf,0x5f,0x46,0x26,0x39,
|
||||
0xcf,0xc4,0x10,0x60,0xf1,0x24,0x9b,0x49,0x5f,0x91,
|
||||
0x3e,0xac,0x7a,0x53,0x3e,0x84,0x71,0xcd,0x9d,0x45,
|
||||
0x3a,0x75,0x87,0x2c,0x96,0xfb,0x03,0xa5,0xc7,0x59,
|
||||
0x9a,0xaa,0x99,0xcf,0x8e,0x89,0x3a,0xdc,0x26,0x06,
|
||||
0xdf,0x14,0x6a,0x95,0xf7,0x88,0x72,0xcb,0x4e,0x91,
|
||||
0xde,0xeb,0x14,0x23,0xac,0x58,0x69,0x84,0x2b,0xea,
|
||||
0xdf,0xc8,0x35,0xb2,0x01,0x9d,0x7f,0xaa,0x73,0x51,
|
||||
0xf5,0xc7,0x2e,0xba,0xa0,0xb4,0x49,0xb6,0x74,0xa3,
|
||||
0x73,0x17,0xc2,0xfa,0xc8,0xf3,0x02,0x82,0x01,0x01,
|
||||
0x00,0xb8,0x0e,0xf8,0x50,0x74,0x42,0x79,0x90,0xd0,
|
||||
0x47,0x8d,0x48,0x2e,0x84,0x3b,0x30,0xe0,0x26,0x31,
|
||||
0x95,0x54,0x34,0x93,0xa0,0x30,0xd5,0x03,0x50,0xb2,
|
||||
0x19,0xbf,0xe8,0x22,0x1f,0xbe,0x40,0xec,0x94,0xd8,
|
||||
0x21,0x17,0xaa,0x95,0xf9,0x62,0xa5,0xf5,0x25,0xd1,
|
||||
0x72,0x36,0x22,0x67,0x94,0xcf,0xc0,0x06,0x22,0x93,
|
||||
0x0d,0x6a,0x22,0xfe,0xff,0xb3,0xc2,0xde,0x8f,0x5f,
|
||||
0x75,0x84,0xe4,0x88,0xf3,0xe4,0x04,0xbb,0x9c,0x6b,
|
||||
0xb3,0x14,0x9d,0xb7,0xb4,0xa9,0x63,0x3f,0xdc,0xe8,
|
||||
0x0c,0x05,0xa8,0x76,0xab,0xa1,0xbb,0x23,0x1d,0x6a,
|
||||
0xcd,0x31,0xbc,0x19,0xb5,0x49,0xa1,0x71,0xee,0x93,
|
||||
0x46,0x71,0xce,0xba,0xd2,0xa8,0x4e,0x08,0x8d,0x7b,
|
||||
0x85,0x3d,0x77,0x46,0x9a,0x71,0x71,0xeb,0x03,0x5c,
|
||||
0xd2,0x0f,0xb1,0xf4,0x78,0xb4,0xf4,0x8d,0xd4,0xd9,
|
||||
0x9b,0x79,0x99,0xce,0x9b,0xa9,0x38,0xaa,0xd6,0x76,
|
||||
0x9f,0x9c,0xb1,0xbd,0xd3,0x7c,0x18,0x54,0x62,0xbc,
|
||||
0x54,0x2a,0x0f,0xef,0x76,0x39,0xd5,0x10,0x2f,0xbf,
|
||||
0xc5,0x60,0x92,0x21,0x99,0x46,0xbc,0x36,0x65,0x0b,
|
||||
0x31,0xb6,0x6f,0xa8,0x5d,0x8e,0x2f,0xf0,0xed,0x86,
|
||||
0x8c,0xf2,0x2a,0x83,0xa7,0x34,0x11,0x06,0xd9,0x6f,
|
||||
0xb3,0xf5,0x7b,0x31,0x45,0x17,0x5a,0xdc,0x22,0xc3,
|
||||
0xe8,0xe1,0x89,0x78,0xde,0xae,0x49,0x1a,0x5f,0x4d,
|
||||
0x06,0xf6,0xb5,0x23,0x66,0xe0,0x00,0xd6,0x37,0x8d,
|
||||
0xb4,0x5b,0x67,0xb0,0xdb,0x7a,0x10,0x03,0x91,0x64,
|
||||
0xa6,0xaa,0xc6,0x30,0x49,0x3c,0x81,0x72,0x57,0x9f,
|
||||
0xd9,0x72,0xae,0xa9,0xce,0xa6,0xf3,0x02,0x82,0x01,
|
||||
0x01,0x00,0xa3,0x69,0x55,0xe0,0xf6,0xe9,0x52,0xaf,
|
||||
0xb1,0x41,0xc3,0xfb,0xbe,0x56,0x36,0x25,0x6a,0xef,
|
||||
0xfa,0x75,0x47,0x9d,0xaf,0xc9,0x63,0x4e,0xfd,0x42,
|
||||
0xab,0x9c,0xde,0x9c,0x5e,0x29,0xb3,0xd2,0xfe,0x64,
|
||||
0x10,0xd0,0xe5,0x8f,0x7c,0x50,0xe8,0x27,0xba,0xbf,
|
||||
0xa9,0x5c,0x29,0xb9,0xbb,0x39,0xc1,0x27,0x60,0x28,
|
||||
0xf4,0xd8,0x44,0x95,0x12,0x35,0xa1,0x99,0xc7,0xd4,
|
||||
0xf3,0xdd,0xcd,0x02,0xb2,0x28,0x7f,0x6d,0x15,0x58,
|
||||
0x2b,0x6e,0x14,0x7a,0xe6,0x24,0x75,0xea,0xf6,0x7d,
|
||||
0x66,0x9f,0x93,0xec,0x43,0x07,0x8a,0x2c,0x17,0x6d,
|
||||
0x9e,0x2a,0x7b,0x29,0x29,0x0b,0xbe,0x1c,0x2c,0x8f,
|
||||
0xee,0xb8,0x35,0xae,0xb4,0x7c,0x21,0x89,0xda,0x37,
|
||||
0xc9,0x35,0xcc,0xf9,0x43,0x10,0xa1,0x79,0xb5,0xa3,
|
||||
0x86,0xf3,0xc3,0x83,0xff,0xd5,0xc1,0x9e,0xa5,0xe1,
|
||||
0x49,0x7f,0x4b,0x47,0xcd,0x35,0x57,0x06,0x39,0x84,
|
||||
0xad,0x76,0x50,0x7e,0x37,0x31,0x1e,0x48,0x12,0x23,
|
||||
0x63,0xc5,0xdb,0x09,0x51,0x1a,0xb9,0x1f,0x93,0x74,
|
||||
0x9d,0x11,0xc8,0xdb,0xb5,0xeb,0xac,0x99,0x29,0x7f,
|
||||
0x02,0xa7,0x8f,0x84,0x31,0x4b,0x33,0xae,0x5c,0xae,
|
||||
0xdd,0xf0,0xa7,0x03,0x8e,0xef,0xac,0x6a,0x22,0x51,
|
||||
0xae,0x8b,0x7e,0x90,0x03,0xe2,0x5e,0x92,0x3a,0xd0,
|
||||
0x7e,0x86,0xf1,0xe1,0xc1,0x9d,0xd9,0x8d,0x4d,0xf7,
|
||||
0xe8,0xb1,0xe3,0x52,0x93,0x3b,0xe7,0xbc,0xa3,0x02,
|
||||
0xd2,0x29,0x25,0x4c,0x1e,0xd8,0x84,0xf1,0xf5,0x8f,
|
||||
0xc0,0xef,0xba,0xb6,0x2f,0xfd,0x81,0x6f,0xd5,0x01,
|
||||
0x2e,0xa1,0xa9,0xce,0x06,0x49,0x8d,0x3f,0x02,0x82,
|
||||
0x01,0x00,0x16,0x9d,0x20,0x3d,0x22,0x4b,0x98,0x8c,
|
||||
0x06,0x4b,0x04,0x3c,0xbe,0x1a,0x58,0xfb,0x64,0x4e,
|
||||
0xcd,0x00,0xbf,0xdb,0xc5,0xd7,0x84,0xa8,0x67,0x43,
|
||||
0xde,0xdd,0xf3,0x0a,0x1e,0x47,0x30,0x24,0xe1,0xec,
|
||||
0x57,0xb1,0x99,0x2a,0xc8,0x4a,0x5f,0xa8,0x6c,0x3a,
|
||||
0x3d,0x45,0x7f,0x09,0x33,0x18,0xc1,0x7d,0xa2,0x43,
|
||||
0x55,0x35,0xec,0xb8,0x68,0x04,0x1a,0x9d,0xf2,0xa2,
|
||||
0x42,0xe4,0x39,0x73,0xaa,0xaf,0xec,0x6f,0xf8,0x6c,
|
||||
0xfb,0x7e,0x81,0x25,0xef,0x90,0x2e,0xcf,0x96,0xe5,
|
||||
0x19,0x4d,0x80,0xd4,0x75,0xe0,0x18,0x7a,0xd9,0x91,
|
||||
0x9f,0xb1,0x9e,0x4e,0xb2,0x09,0xe8,0x06,0x01,0xed,
|
||||
0x82,0x02,0xc1,0xb0,0xd8,0x9b,0x51,0x3a,0x65,0x2a,
|
||||
0x9c,0xe6,0x7d,0xea,0xcd,0xad,0xe4,0x0a,0x4f,0x09,
|
||||
0x96,0xb9,0xe8,0x5b,0xc0,0xe1,0xa3,0xb9,0xf8,0x43,
|
||||
0x12,0x89,0x5b,0xa3,0x5e,0x13,0x19,0xf3,0x70,0x69,
|
||||
0xf1,0x21,0x23,0x2b,0x63,0x5b,0x3c,0x7f,0xf0,0xbe,
|
||||
0x40,0xcd,0x46,0x6d,0xb6,0xca,0x1b,0xc8,0xe5,0xb8,
|
||||
0x38,0x23,0x93,0xfd,0xe0,0x4a,0xe8,0xb9,0xef,0x24,
|
||||
0xf2,0xff,0x24,0x9f,0x0b,0x5c,0x93,0x3f,0xa8,0xa6,
|
||||
0x46,0x45,0xc2,0xeb,0x1e,0x49,0xc8,0xc7,0xde,0xc3,
|
||||
0x90,0x49,0xd7,0xfb,0x4e,0xce,0x62,0x54,0x33,0x7f,
|
||||
0xc1,0xfa,0x36,0xdb,0xa1,0x12,0x1a,0xef,0xb8,0x61,
|
||||
0xc5,0x20,0xf9,0xe6,0xbf,0x76,0xc0,0x46,0xda,0x0a,
|
||||
0xf1,0x4a,0x1b,0x80,0xdd,0xe5,0xd9,0x55,0x66,0x5a,
|
||||
0xd2,0xb6,0xf7,0x7c,0x6a,0x2a,0x55,0x58,0xc2,0x27,
|
||||
0xa9,0xe8,0x19,0x83,0x04,0x31,0xf3,0xa9,0x02,0x82,
|
||||
0x01,0x00,0x5f,0x4d,0xd9,0x71,0x24,0x28,0x84,0xbd,
|
||||
0x39,0x5a,0x17,0x19,0x78,0x0a,0x95,0x01,0xf7,0x42,
|
||||
0x23,0x16,0xb9,0x86,0x51,0x4b,0xa0,0x59,0x0e,0x30,
|
||||
0xf3,0xa2,0x61,0xbd,0x66,0x4e,0xa7,0x26,0xc0,0xdc,
|
||||
0xa7,0x31,0x94,0x1e,0xc2,0x96,0x41,0xe6,0x91,0x4e,
|
||||
0x6c,0x9a,0xcc,0x80,0xf4,0xb8,0x0a,0x06,0x58,0xb1,
|
||||
0x20,0x16,0x89,0xb0,0xaa,0x2a,0x31,0x0c,0x7c,0xae,
|
||||
0x79,0x1e,0x63,0x9a,0x3c,0x8c,0xc4,0x02,0x51,0x3a,
|
||||
0x58,0x75,0xf7,0xb7,0x2c,0x02,0xc8,0x4c,0x8b,0x09,
|
||||
0xd2,0x69,0xff,0xcd,0xa3,0x5d,0x9b,0x09,0x1c,0x27,
|
||||
0xb5,0xc0,0xf0,0x0c,0xa7,0x54,0xc0,0xef,0x86,0x0b,
|
||||
0x20,0x71,0x46,0x04,0xe4,0x02,0x82,0x7b,0xac,0x26,
|
||||
0x80,0xc3,0xb1,0x22,0x19,0x6f,0xc6,0x3a,0xdd,0xdc,
|
||||
0x68,0x3d,0x95,0x5c,0xff,0xc5,0xbf,0x0c,0xf1,0x8f,
|
||||
0x5e,0xca,0x74,0xd0,0xf3,0xa9,0xe3,0x21,0x34,0x11,
|
||||
0x11,0xd9,0xc1,0x91,0x65,0xc0,0xde,0x54,0x2e,0xb5,
|
||||
0xac,0x17,0xb1,0x46,0x3f,0x8e,0xbe,0xbc,0x48,0x0c,
|
||||
0x96,0x4f,0x48,0x13,0xd4,0x4e,0xb5,0xe4,0xc4,0xbe,
|
||||
0x55,0xe8,0x7b,0x00,0x36,0x1b,0xd0,0x85,0x24,0xdb,
|
||||
0x29,0xaf,0x76,0x82,0xb5,0x90,0xcb,0xb1,0xbd,0xb4,
|
||||
0x45,0x57,0x61,0xcd,0x6e,0xa8,0x23,0xf2,0x7a,0x47,
|
||||
0x4e,0x01,0x52,0x92,0x55,0x61,0xe5,0xd0,0x4e,0x0a,
|
||||
0xe7,0x18,0x65,0xf1,0x33,0x2b,0x71,0xf3,0x4b,0x8b,
|
||||
0xdb,0x28,0x63,0x65,0x9b,0x02,0x5d,0x00,0xc1,0xd1,
|
||||
0x26,0x9d,0x2a,0x15,0x12,0xf2,0xc8,0xd9,0xb9,0x87,
|
||||
0x56,0x2c,0xe7,0xa6,0x6d,0xc2,0xd7,0x6b,
|
||||
};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/verify.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -97,7 +97,7 @@ char **argv;
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
argc--;
|
||||
argv++;
|
||||
@@ -141,7 +141,6 @@ char **argv;
|
||||
X509_LOOKUP_add_dir(lookup,NULL,X509_FILETYPE_DEFAULT);
|
||||
|
||||
|
||||
ERR_clear_error();
|
||||
if (argc < 1) check(cert_ctx,NULL);
|
||||
else
|
||||
for (i=0; i<argc; i++)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* apps/version.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -71,13 +71,13 @@ int argc;
|
||||
char **argv;
|
||||
{
|
||||
int i,ret=0;
|
||||
int cflags=0,version=0,date=0,options=0,platform=0;
|
||||
int cflags=0,version=0,date=0,options=0;
|
||||
|
||||
apps_startup();
|
||||
|
||||
if (bio_err == NULL)
|
||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE);
|
||||
|
||||
if (argc == 1) version=1;
|
||||
for (i=1; i<argc; i++)
|
||||
@@ -90,13 +90,11 @@ char **argv;
|
||||
cflags=1;
|
||||
else if (strcmp(argv[i],"-o") == 0)
|
||||
options=1;
|
||||
else if (strcmp(argv[i],"-p") == 0)
|
||||
platform=1;
|
||||
else if (strcmp(argv[i],"-a") == 0)
|
||||
date=version=cflags=options=platform=1;
|
||||
date=version=cflags=options=1;
|
||||
else
|
||||
{
|
||||
BIO_printf(bio_err,"usage:version -[avbofp]\n");
|
||||
BIO_printf(bio_err,"usage:version [-a] [-v] [-b] [-o] [-f]\n");
|
||||
ret=1;
|
||||
goto end;
|
||||
}
|
||||
@@ -104,7 +102,6 @@ char **argv;
|
||||
|
||||
if (version) printf("%s\n",SSLeay_version(SSLEAY_VERSION));
|
||||
if (date) printf("%s\n",SSLeay_version(SSLEAY_BUILT_ON));
|
||||
if (platform) printf("%s\n",SSLeay_version(SSLEAY_PLATFORM));
|
||||
if (options)
|
||||
{
|
||||
printf("options:");
|
||||
@@ -124,7 +121,6 @@ char **argv;
|
||||
#ifndef NO_BLOWFISH
|
||||
printf("%s ",BF_options());
|
||||
#endif
|
||||
printf("\n");
|
||||
}
|
||||
if (cflags) printf("%s\n",SSLeay_version(SSLEAY_CFLAGS));
|
||||
end:
|
||||
|
||||
99
apps/x509.c
99
apps/x509.c
@@ -1,5 +1,5 @@
|
||||
/* apps/x509.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -59,7 +59,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifdef NO_STDIO
|
||||
#ifdef WIN16
|
||||
#define APPS_WIN16
|
||||
#endif
|
||||
#include "apps.h"
|
||||
@@ -79,6 +79,11 @@
|
||||
#define POSTFIX ".srl"
|
||||
#define DEF_DAYS 30
|
||||
|
||||
#define FORMAT_UNDEF 0
|
||||
#define FORMAT_ASN1 1
|
||||
#define FORMAT_TEXT 2
|
||||
#define FORMAT_PEM 3
|
||||
|
||||
#define CERT_HDR "certificate"
|
||||
|
||||
static char *x509_usage[]={
|
||||
@@ -214,7 +219,7 @@ char **argv;
|
||||
days=atoi(*(++argv));
|
||||
if (days == 0)
|
||||
{
|
||||
BIO_printf(STDout,"bad number of days\n");
|
||||
BIO_printf(bio_err,"bad number of days\n");
|
||||
goto bad;
|
||||
}
|
||||
}
|
||||
@@ -339,7 +344,7 @@ bad:
|
||||
}
|
||||
|
||||
if (infile == NULL)
|
||||
BIO_set_fp(in,stdin,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||
BIO_set_fp(in,stdin,BIO_NOCLOSE);
|
||||
else
|
||||
{
|
||||
if (BIO_read_filename(in,infile) <= 0)
|
||||
@@ -395,13 +400,9 @@ bad:
|
||||
X509_gmtime_adj(X509_get_notBefore(x),0);
|
||||
X509_gmtime_adj(X509_get_notAfter(x),(long)60*60*24*days);
|
||||
|
||||
#if 0
|
||||
X509_PUBKEY_free(ci->key);
|
||||
ci->key=req->req_info->pubkey;
|
||||
req->req_info->pubkey=NULL;
|
||||
#else
|
||||
X509_set_pubkey(x,X509_REQ_get_pubkey(req));
|
||||
#endif
|
||||
}
|
||||
else
|
||||
x=load_cert(infile,informat);
|
||||
@@ -415,7 +416,7 @@ bad:
|
||||
|
||||
if (!noout || text)
|
||||
{
|
||||
OBJ_create("2.99999.3",
|
||||
OBJ_create_and_add_object("2.99999.3",
|
||||
"SET.ex3","SET x509v3 extension 3");
|
||||
|
||||
out=BIO_new(BIO_s_file());
|
||||
@@ -444,23 +445,24 @@ bad:
|
||||
{
|
||||
X509_NAME_oneline(X509_get_issuer_name(x),
|
||||
buf,256);
|
||||
BIO_printf(STDout,"issuer= %s\n",buf);
|
||||
fprintf(stdout,"issuer= %s\n",buf);
|
||||
}
|
||||
else if (subject == i)
|
||||
{
|
||||
X509_NAME_oneline(X509_get_subject_name(x),
|
||||
buf,256);
|
||||
BIO_printf(STDout,"subject=%s\n",buf);
|
||||
fprintf(stdout,"subject=%s\n",buf);
|
||||
}
|
||||
else if (serial == i)
|
||||
{
|
||||
BIO_printf(STDout,"serial=");
|
||||
fprintf(stdout,"serial=");
|
||||
i2a_ASN1_INTEGER(STDout,x->cert_info->serialNumber);
|
||||
BIO_printf(STDout,"\n");
|
||||
fprintf(stdout,"\n");
|
||||
}
|
||||
else if (hash == i)
|
||||
{
|
||||
BIO_printf(STDout,"%08lx\n",X509_subject_name_hash(x));
|
||||
fprintf(stdout,"%08lx\n",
|
||||
X509_subject_name_hash(x));
|
||||
}
|
||||
else
|
||||
#ifndef NO_RSA
|
||||
@@ -471,16 +473,16 @@ bad:
|
||||
pkey=X509_get_pubkey(x);
|
||||
if (pkey == NULL)
|
||||
{
|
||||
BIO_printf(bio_err,"Modulus=unavailable\n");
|
||||
fprintf(stdout,"Modulus=unavailable\n");
|
||||
ERR_print_errors(bio_err);
|
||||
goto end;
|
||||
}
|
||||
BIO_printf(STDout,"Modulus=");
|
||||
fprintf(stdout,"Modulus=");
|
||||
if (pkey->type == EVP_PKEY_RSA)
|
||||
BN_print(STDout,pkey->pkey.rsa->n);
|
||||
else
|
||||
BIO_printf(STDout,"Wrong Algorithm type");
|
||||
BIO_printf(STDout,"\n");
|
||||
fprintf(stdout,"Wrong Algorithm type");
|
||||
fprintf(stdout,"\n");
|
||||
}
|
||||
else
|
||||
#endif
|
||||
@@ -492,49 +494,47 @@ bad:
|
||||
|
||||
X509_NAME_oneline(X509_get_subject_name(x),
|
||||
buf,256);
|
||||
BIO_printf(STDout,"/* subject:%s */\n",buf);
|
||||
printf("/* subject:%s */\n",buf);
|
||||
m=X509_NAME_oneline(
|
||||
X509_get_issuer_name(x),buf,256);
|
||||
BIO_printf(STDout,"/* issuer :%s */\n",buf);
|
||||
printf("/* issuer :%s */\n",buf);
|
||||
|
||||
z=i2d_X509(x,NULL);
|
||||
m=Malloc(z);
|
||||
|
||||
d=(unsigned char *)m;
|
||||
z=i2d_X509_NAME(X509_get_subject_name(x),&d);
|
||||
BIO_printf(STDout,"unsigned char XXX_subject_name[%d]={\n",z);
|
||||
printf("unsigned char XXX_subject_name[%d]={\n",z);
|
||||
d=(unsigned char *)m;
|
||||
for (y=0; y<z; y++)
|
||||
{
|
||||
BIO_printf(STDout,"0x%02X,",d[y]);
|
||||
if ((y & 0x0f) == 0x0f) BIO_printf(STDout,"\n");
|
||||
printf("0x%02X,",d[y]);
|
||||
if ((y & 0x0f) == 0x0f) printf("\n");
|
||||
}
|
||||
if (y%16 != 0) BIO_printf(STDout,"\n");
|
||||
BIO_printf(STDout,"};\n");
|
||||
if (y%16 != 0) printf("\n");
|
||||
printf("};\n");
|
||||
|
||||
z=i2d_X509_PUBKEY(X509_get_X509_PUBKEY(x),&d);
|
||||
BIO_printf(STDout,"unsigned char XXX_public_key[%d]={\n",z);
|
||||
printf("unsigned char XXX_public_key[%d]={\n",z);
|
||||
d=(unsigned char *)m;
|
||||
for (y=0; y<z; y++)
|
||||
{
|
||||
BIO_printf(STDout,"0x%02X,",d[y]);
|
||||
if ((y & 0x0f) == 0x0f)
|
||||
BIO_printf(STDout,"\n");
|
||||
printf("0x%02X,",d[y]);
|
||||
if ((y & 0x0f) == 0x0f) printf("\n");
|
||||
}
|
||||
if (y%16 != 0) BIO_printf(STDout,"\n");
|
||||
BIO_printf(STDout,"};\n");
|
||||
if (y%16 != 0) printf("\n");
|
||||
printf("};\n");
|
||||
|
||||
z=i2d_X509(x,&d);
|
||||
BIO_printf(STDout,"unsigned char XXX_certificate[%d]={\n",z);
|
||||
printf("unsigned char XXX_certificate[%d]={\n",z);
|
||||
d=(unsigned char *)m;
|
||||
for (y=0; y<z; y++)
|
||||
{
|
||||
BIO_printf(STDout,"0x%02X,",d[y]);
|
||||
if ((y & 0x0f) == 0x0f)
|
||||
BIO_printf(STDout,"\n");
|
||||
printf("0x%02X,",d[y]);
|
||||
if ((y & 0x0f) == 0x0f) printf("\n");
|
||||
}
|
||||
if (y%16 != 0) BIO_printf(STDout,"\n");
|
||||
BIO_printf(STDout,"};\n");
|
||||
if (y%16 != 0) printf("\n");
|
||||
printf("};\n");
|
||||
|
||||
Free(m);
|
||||
}
|
||||
@@ -565,10 +565,10 @@ bad:
|
||||
BIO_printf(bio_err,"out of memory\n");
|
||||
goto end;
|
||||
}
|
||||
BIO_printf(STDout,"MD5 Fingerprint=");
|
||||
fprintf(stdout,"MD5 Fingerprint=");
|
||||
for (j=0; j<(int)n; j++)
|
||||
{
|
||||
BIO_printf(STDout,"%02X%c",md[j],
|
||||
fprintf(stdout,"%02X%c",md[j],
|
||||
(j+1 == (int)n)
|
||||
?'\n':':');
|
||||
}
|
||||
@@ -602,7 +602,6 @@ bad:
|
||||
if (CApkey->type == EVP_PKEY_DSA)
|
||||
digest=EVP_dss1();
|
||||
#endif
|
||||
|
||||
if (!x509_certify(ctx,CAfile,digest,x,xca,
|
||||
CApkey,
|
||||
CAserial,CA_createserial,days))
|
||||
@@ -626,7 +625,7 @@ bad:
|
||||
|
||||
BIO_printf(bio_err,"Generating certificate request\n");
|
||||
|
||||
rq=X509_to_X509_REQ(x,pk,EVP_md5());
|
||||
rq=X509_to_X509_REQ(x,pk);
|
||||
EVP_PKEY_free(pk);
|
||||
if (rq == NULL)
|
||||
{
|
||||
@@ -803,12 +802,6 @@ int days;
|
||||
if (!reqfile && !X509_verify_cert(&xsc))
|
||||
goto end;
|
||||
|
||||
if (!X509_check_private_key(xca,pkey))
|
||||
{
|
||||
BIO_printf(bio_err,"CA certificate and CA private key do not match\n");
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (!X509_set_issuer_name(x,X509_get_subject_name(xca))) goto end;
|
||||
if (!X509_set_serialNumber(x,bs)) goto end;
|
||||
|
||||
@@ -819,11 +812,9 @@ int days;
|
||||
if (X509_gmtime_adj(X509_get_notAfter(x),(long)60*60*24*days) == NULL)
|
||||
goto end;
|
||||
|
||||
/* don't save DSA parameters in child if parent has them
|
||||
* and the parents and the childs are the same. */
|
||||
/* don't save DSA parameters in child if parent has them. */
|
||||
upkey=X509_get_pubkey(x);
|
||||
if (!EVP_PKEY_missing_parameters(pkey) &&
|
||||
(EVP_PKEY_cmp_parameters(pkey,upkey) == 0))
|
||||
if (!EVP_PKEY_missing_parameters(pkey))
|
||||
{
|
||||
EVP_PKEY_save_parameters(upkey,0);
|
||||
/* Force a re-write */
|
||||
@@ -863,15 +854,15 @@ X509_STORE_CTX *ctx;
|
||||
* DEPTH_ZERO_SELF_.... */
|
||||
if (ok)
|
||||
{
|
||||
BIO_printf(bio_err,"error with certificate to be certified - should be self signed\n");
|
||||
printf("error with certificate to be certified - should be self signed\n");
|
||||
return(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
err_cert=X509_STORE_CTX_get_current_cert(ctx);
|
||||
X509_NAME_oneline(X509_get_subject_name(err_cert),buf,256);
|
||||
BIO_printf(bio_err,"%s\n",buf);
|
||||
BIO_printf(bio_err,"error with certificate - error %d at depth %d\n%s\n",
|
||||
printf("%s\n",buf);
|
||||
printf("error with certificate - error %d at depth %d\n%s\n",
|
||||
err,X509_STORE_CTX_get_error_depth(ctx),
|
||||
X509_verify_cert_error_string(err));
|
||||
return(1);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* bugs/alpha.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
/* This compiler bug it present on IRIX 5.3, 5.1 and 4.0.5 (these are
|
||||
* the only versions of IRIX I have access to.
|
||||
* defining FIXBUG removes the bug.
|
||||
* (bug is still present in IRIX 6.3 according to
|
||||
* Gage <agage@forgetmenot.Mines.EDU>
|
||||
*/
|
||||
|
||||
/* Compare the output from
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* bugs/stream.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
#include <stdio.h>
|
||||
|
||||
/* This is a cc optimiser bug for ultrix 4.3, mips CPU.
|
||||
* What happens is that the compiler, due to the (a)&7,
|
||||
* does
|
||||
* i=a&7;
|
||||
* i--;
|
||||
* i*=4;
|
||||
* Then uses i as the offset into a jump table.
|
||||
* The problem is that a value of 0 generates an offset of
|
||||
* 0xfffffffc.
|
||||
*/
|
||||
|
||||
main()
|
||||
{
|
||||
f(5);
|
||||
f(0);
|
||||
}
|
||||
|
||||
int f(a)
|
||||
int a;
|
||||
{
|
||||
switch(a&7)
|
||||
{
|
||||
case 7:
|
||||
printf("7\n");
|
||||
case 6:
|
||||
printf("6\n");
|
||||
case 5:
|
||||
printf("5\n");
|
||||
case 4:
|
||||
printf("4\n");
|
||||
case 3:
|
||||
printf("3\n");
|
||||
case 2:
|
||||
printf("2\n");
|
||||
case 1:
|
||||
printf("1\n");
|
||||
#ifdef FIX_BUG
|
||||
case 0:
|
||||
;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 1 (0x1)
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
Issuer: O=European ICE-TEL project, OU=V3-Certification Authority
|
||||
Validity
|
||||
Not Before: Apr 2 17:35:53 1997 GMT
|
||||
Not After : Apr 2 17:35:53 1998 GMT
|
||||
Subject: O=European ICE-TEL project, OU=V3-Certification Authority, L=Darmstadt
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsa
|
||||
RSA Public Key: (512 bit)
|
||||
Modulus (512 bit):
|
||||
00:82:75:ba:f6:d1:60:b5:f9:15:b3:6a:dd:29:8f:
|
||||
8b:a4:6f:1a:88:e0:50:43:40:0b:79:41:d5:d3:16:
|
||||
44:7d:74:65:17:42:06:52:0b:e9:50:c8:10:cd:24:
|
||||
e2:ae:8d:22:30:73:e6:b4:b7:93:1f:e5:6e:a2:ae:
|
||||
49:11:a5:c9:45
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Authority Key Identifier:
|
||||
0.........z.."p......e..
|
||||
X509v3 Subject Key Identifier:
|
||||
..~r..:..B.44fu......3
|
||||
X509v3 Key Usage: critical
|
||||
....
|
||||
X509v3 Certificate Policies: critical
|
||||
0.0...*...
|
||||
X509v3 Subject Alternative Name:
|
||||
0!..secude-support@darmstadt.gmd.de
|
||||
X509v3 Issuer Alternative Name:
|
||||
0I..ice-tel-ca@darmstadt.gmd.de.*http://www.darmstadt.gmd.de/ice-tel/euroca
|
||||
X509v3 Basic Constraints: critical
|
||||
0....
|
||||
X509v3 CRL Distribution Points:
|
||||
0200...,.*http://www.darmstadt.gmd.de/ice-tel/euroca
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
17:a2:88:b7:99:5a:05:41:e4:13:34:67:e6:1f:3e:26:ec:4b:
|
||||
69:f9:3e:28:22:be:9d:1c:ab:41:6f:0c:00:85:fe:45:74:f6:
|
||||
98:f0:ce:9b:65:53:4a:50:42:c7:d4:92:bd:d7:a2:a8:3d:98:
|
||||
88:73:cd:60:28:79:a3:fc:48:7a
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICzDCCAnagAwIBAgIBATANBgkqhkiG9w0BAQQFADBIMSEwHwYDVQQKExhFdXJv
|
||||
cGVhbiBJQ0UtVEVMIHByb2plY3QxIzAhBgNVBAsTGlYzLUNlcnRpZmljYXRpb24g
|
||||
QXV0aG9yaXR5MB4XDTk3MDQwMjE3MzU1M1oXDTk4MDQwMjE3MzU1M1owXDEhMB8G
|
||||
A1UEChMYRXVyb3BlYW4gSUNFLVRFTCBwcm9qZWN0MSMwIQYDVQQLExpWMy1DZXJ0
|
||||
aWZpY2F0aW9uIEF1dGhvcml0eTESMBAGA1UEBxMJRGFybXN0YWR0MFkwCgYEVQgB
|
||||
AQICAgADSwAwSAJBAIJ1uvbRYLX5FbNq3SmPi6RvGojgUENAC3lB1dMWRH10ZRdC
|
||||
BlIL6VDIEM0k4q6NIjBz5rS3kx/lbqKuSRGlyUUCAwEAAaOCATgwggE0MB8GA1Ud
|
||||
IwQYMBaAFIr3yNUOx3ro1yJw4AuJ1bbsZbzPMB0GA1UdDgQWBBR+cvL4OoacQog0
|
||||
NGZ1w9T80aIRMzAOBgNVHQ8BAf8EBAMCAfYwFAYDVR0gAQH/BAowCDAGBgQqAwQF
|
||||
MCoGA1UdEQQjMCGBH3NlY3VkZS1zdXBwb3J0QGRhcm1zdGFkdC5nbWQuZGUwUgYD
|
||||
VR0SBEswSYEbaWNlLXRlbC1jYUBkYXJtc3RhZHQuZ21kLmRlhipodHRwOi8vd3d3
|
||||
LmRhcm1zdGFkdC5nbWQuZGUvaWNlLXRlbC9ldXJvY2EwDwYDVR0TAQH/BAUwAwEB
|
||||
/zA7BgNVHR8ENDAyMDCgLqAshipodHRwOi8vd3d3LmRhcm1zdGFkdC5nbWQuZGUv
|
||||
aWNlLXRlbC9ldXJvY2EwDQYJKoZIhvcNAQEEBQADQQAXooi3mVoFQeQTNGfmHz4m
|
||||
7Etp+T4oIr6dHKtBbwwAhf5FdPaY8M6bZVNKUELH1JK916KoPZiIc81gKHmj/Eh6
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,48 +0,0 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 0 (0x0)
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
Issuer: O=European ICE-TEL project, OU=V3-Certification Authority
|
||||
Validity
|
||||
Not Before: Apr 2 17:33:36 1997 GMT
|
||||
Not After : Apr 2 17:33:36 1998 GMT
|
||||
Subject: O=European ICE-TEL project, OU=V3-Certification Authority
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsa
|
||||
RSA Public Key: (512 bit)
|
||||
Modulus (512 bit):
|
||||
00:80:3e:eb:ae:47:a9:fe:10:54:0b:81:8b:9c:2b:
|
||||
82:ab:3a:61:36:65:8b:f3:73:9f:ac:ac:7a:15:a7:
|
||||
13:8f:b4:c4:ba:a3:0f:bc:a5:58:8d:cc:b1:93:31:
|
||||
9e:81:9e:8c:19:61:86:fa:52:73:54:d1:97:76:22:
|
||||
e7:c7:9f:41:cd
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Subject Key Identifier:
|
||||
........z.."p......e..
|
||||
X509v3 Key Usage: critical
|
||||
....
|
||||
X509v3 Subject Alternative Name:
|
||||
0I.*http://www.darmstadt.gmd.de/ice-tel/euroca..ice-tel-ca@darmstadt.gmd.de
|
||||
X509v3 Basic Constraints: critical
|
||||
0....
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
76:69:61:db:b7:cf:8b:06:9e:d8:8c:96:53:d2:4d:a8:23:a6:
|
||||
03:44:e8:8f:24:a5:c0:84:a8:4b:77:d4:2d:2b:7d:37:91:67:
|
||||
f2:2c:ce:02:31:4c:6b:cc:ce:f2:68:a6:11:11:ab:7d:88:b8:
|
||||
7e:22:9f:25:06:60:bd:79:30:3d
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICFjCCAcCgAwIBAgIBADANBgkqhkiG9w0BAQQFADBIMSEwHwYDVQQKExhFdXJv
|
||||
cGVhbiBJQ0UtVEVMIHByb2plY3QxIzAhBgNVBAsTGlYzLUNlcnRpZmljYXRpb24g
|
||||
QXV0aG9yaXR5MB4XDTk3MDQwMjE3MzMzNloXDTk4MDQwMjE3MzMzNlowSDEhMB8G
|
||||
A1UEChMYRXVyb3BlYW4gSUNFLVRFTCBwcm9qZWN0MSMwIQYDVQQLExpWMy1DZXJ0
|
||||
aWZpY2F0aW9uIEF1dGhvcml0eTBZMAoGBFUIAQECAgIAA0sAMEgCQQCAPuuuR6n+
|
||||
EFQLgYucK4KrOmE2ZYvzc5+srHoVpxOPtMS6ow+8pViNzLGTMZ6BnowZYYb6UnNU
|
||||
0Zd2IufHn0HNAgMBAAGjgZcwgZQwHQYDVR0OBBYEFIr3yNUOx3ro1yJw4AuJ1bbs
|
||||
ZbzPMA4GA1UdDwEB/wQEAwIB9jBSBgNVHREESzBJhipodHRwOi8vd3d3LmRhcm1z
|
||||
dGFkdC5nbWQuZGUvaWNlLXRlbC9ldXJvY2GBG2ljZS10ZWwtY2FAZGFybXN0YWR0
|
||||
LmdtZC5kZTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBAUAA0EAdmlh27fP
|
||||
iwae2IyWU9JNqCOmA0TojySlwISoS3fULSt9N5Fn8izOAjFMa8zO8mimERGrfYi4
|
||||
fiKfJQZgvXkwPQ==
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,63 +0,0 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 1 (0x1)
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
Issuer: O=European ICE-TEL project, OU=V3-Certification Authority, L=Darmstadt
|
||||
Validity
|
||||
Not Before: Apr 2 17:35:59 1997 GMT
|
||||
Not After : Apr 2 17:35:59 1998 GMT
|
||||
Subject: O=European ICE-TEL project, OU=V3-Certification Authority, L=Darmstadt, CN=USER
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsa
|
||||
RSA Public Key: (512 bit)
|
||||
Modulus (512 bit):
|
||||
00:a8:a8:53:63:49:1b:93:c3:c3:0b:6c:88:11:55:
|
||||
de:7e:6a:e2:f9:52:a0:dc:69:25:c4:c8:bf:55:e1:
|
||||
31:a8:ce:e4:a9:29:85:99:8a:15:9a:de:f6:2f:e1:
|
||||
b4:50:5f:5e:04:75:a6:f4:76:dc:3c:0e:39:dc:3a:
|
||||
be:3e:a4:61:8b
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Authority Key Identifier:
|
||||
0...~r..:..B.44fu......3
|
||||
X509v3 Subject Key Identifier:
|
||||
...... .*...1.*.......
|
||||
X509v3 Key Usage: critical
|
||||
....
|
||||
X509v3 Certificate Policies: critical
|
||||
0.0...*...0.......
|
||||
X509v3 Subject Alternative Name:
|
||||
0:..user@darmstadt.gmd.de.!http://www.darmstadt.gmd.de/~user
|
||||
X509v3 Issuer Alternative Name:
|
||||
0....gmdca@gmd.de..http://www.gmd.de..saturn.darmstadt.gmd.de.\1!0...U.
|
||||
..European ICE-TEL project1#0!..U....V3-Certification Authority1.0...U....Darmstadt..141.12.62.26
|
||||
X509v3 Basic Constraints: critical
|
||||
0.
|
||||
X509v3 CRL Distribution Points:
|
||||
0.0.......gmdca@gmd.de
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
69:0c:e1:b7:a7:f2:d8:fb:e8:69:c0:13:cd:37:ad:21:06:22:
|
||||
4d:e8:c6:db:f1:04:0b:b7:e0:b3:d6:0c:81:03:ce:c3:6a:3e:
|
||||
c7:e7:24:24:a4:92:64:c2:83:83:06:42:53:0e:6f:09:1e:84:
|
||||
9a:f7:6f:63:9b:94:99:83:d6:a4
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDTzCCAvmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBcMSEwHwYDVQQKExhFdXJv
|
||||
cGVhbiBJQ0UtVEVMIHByb2plY3QxIzAhBgNVBAsTGlYzLUNlcnRpZmljYXRpb24g
|
||||
QXV0aG9yaXR5MRIwEAYDVQQHEwlEYXJtc3RhZHQwHhcNOTcwNDAyMTczNTU5WhcN
|
||||
OTgwNDAyMTczNTU5WjBrMSEwHwYDVQQKExhFdXJvcGVhbiBJQ0UtVEVMIHByb2pl
|
||||
Y3QxIzAhBgNVBAsTGlYzLUNlcnRpZmljYXRpb24gQXV0aG9yaXR5MRIwEAYDVQQH
|
||||
EwlEYXJtc3RhZHQxDTALBgNVBAMTBFVTRVIwWTAKBgRVCAEBAgICAANLADBIAkEA
|
||||
qKhTY0kbk8PDC2yIEVXefmri+VKg3GklxMi/VeExqM7kqSmFmYoVmt72L+G0UF9e
|
||||
BHWm9HbcPA453Dq+PqRhiwIDAQABo4IBmDCCAZQwHwYDVR0jBBgwFoAUfnLy+DqG
|
||||
nEKINDRmdcPU/NGiETMwHQYDVR0OBBYEFJfc4B8gjSoRmLUx4Sq/ucIYiMrPMA4G
|
||||
A1UdDwEB/wQEAwIB8DAcBgNVHSABAf8EEjAQMAYGBCoDBAUwBgYECQgHBjBDBgNV
|
||||
HREEPDA6gRV1c2VyQGRhcm1zdGFkdC5nbWQuZGWGIWh0dHA6Ly93d3cuZGFybXN0
|
||||
YWR0LmdtZC5kZS9+dXNlcjCBsQYDVR0SBIGpMIGmgQxnbWRjYUBnbWQuZGWGEWh0
|
||||
dHA6Ly93d3cuZ21kLmRlghdzYXR1cm4uZGFybXN0YWR0LmdtZC5kZaRcMSEwHwYD
|
||||
VQQKExhFdXJvcGVhbiBJQ0UtVEVMIHByb2plY3QxIzAhBgNVBAsTGlYzLUNlcnRp
|
||||
ZmljYXRpb24gQXV0aG9yaXR5MRIwEAYDVQQHEwlEYXJtc3RhZHSHDDE0MS4xMi42
|
||||
Mi4yNjAMBgNVHRMBAf8EAjAAMB0GA1UdHwQWMBQwEqAQoA6BDGdtZGNhQGdtZC5k
|
||||
ZTANBgkqhkiG9w0BAQQFAANBAGkM4ben8tj76GnAE803rSEGIk3oxtvxBAu34LPW
|
||||
DIEDzsNqPsfnJCSkkmTCg4MGQlMObwkehJr3b2OblJmD1qQ=
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,9 +0,0 @@
|
||||
-----BEGIN X509 CRL-----
|
||||
MIIBNDCBnjANBgkqhkiG9w0BAQIFADBFMSEwHwYDVQQKExhFdXJvcGVhbiBJQ0Ut
|
||||
VEVMIFByb2plY3QxIDAeBgNVBAsTF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5Fw05
|
||||
NzA2MDkxNDQyNDNaFw05NzA3MDkxNDQyNDNaMCgwEgIBChcNOTcwMzAzMTQ0MjU0
|
||||
WjASAgEJFw05NjEwMDIxMjI5MjdaMA0GCSqGSIb3DQEBAgUAA4GBAH4vgWo2Tej/
|
||||
i7kbiw4Imd30If91iosjClNpBFwvwUDBclPEeMuYimHbLOk4H8Nofc0fw11+U/IO
|
||||
KSNouUDcqG7B64oY7c4SXKn+i1MWOb5OJiWeodX3TehHjBlyWzoNMWCnYA8XqFP1
|
||||
mOKp8Jla1BibEZf14+/HqCi2hnZUiEXh
|
||||
-----END X509 CRL-----
|
||||
@@ -1,59 +0,0 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 1 (0x1)
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
Issuer: O=European ICE-TEL project, OU=V3-Certification Authority
|
||||
Validity
|
||||
Not Before: Apr 2 17:35:53 1997 GMT
|
||||
Not After : Apr 2 17:35:53 1998 GMT
|
||||
Subject: O=European ICE-TEL project, OU=V3-Certification Authority, L=Darmstadt
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsa
|
||||
RSA Public Key: (512 bit)
|
||||
Modulus (512 bit):
|
||||
00:82:75:ba:f6:d1:60:b5:f9:15:b3:6a:dd:29:8f:
|
||||
8b:a4:6f:1a:88:e0:50:43:40:0b:79:41:d5:d3:16:
|
||||
44:7d:74:65:17:42:06:52:0b:e9:50:c8:10:cd:24:
|
||||
e2:ae:8d:22:30:73:e6:b4:b7:93:1f:e5:6e:a2:ae:
|
||||
49:11:a5:c9:45
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Authority Key Identifier:
|
||||
0.........z.."p......e..
|
||||
X509v3 Subject Key Identifier:
|
||||
..~r..:..B.44fu......3
|
||||
X509v3 Key Usage: critical
|
||||
....
|
||||
X509v3 Certificate Policies: critical
|
||||
0.0...*...
|
||||
X509v3 Subject Alternative Name:
|
||||
0!..secude-support@darmstadt.gmd.de
|
||||
X509v3 Issuer Alternative Name:
|
||||
0I..ice-tel-ca@darmstadt.gmd.de.*http://www.darmstadt.gmd.de/ice-tel/euroca
|
||||
X509v3 Basic Constraints: critical
|
||||
0....
|
||||
X509v3 CRL Distribution Points:
|
||||
0200...,.*http://www.darmstadt.gmd.de/ice-tel/euroca
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
17:a2:88:b7:99:5a:05:41:e4:13:34:67:e6:1f:3e:26:ec:4b:
|
||||
69:f9:3e:28:22:be:9d:1c:ab:41:6f:0c:00:85:fe:45:74:f6:
|
||||
98:f0:ce:9b:65:53:4a:50:42:c7:d4:92:bd:d7:a2:a8:3d:98:
|
||||
88:73:cd:60:28:79:a3:fc:48:7a
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICzDCCAnagAwIBAgIBATANBgkqhkiG9w0BAQQFADBIMSEwHwYDVQQKExhFdXJv
|
||||
cGVhbiBJQ0UtVEVMIHByb2plY3QxIzAhBgNVBAsTGlYzLUNlcnRpZmljYXRpb24g
|
||||
QXV0aG9yaXR5MB4XDTk3MDQwMjE3MzU1M1oXDTk4MDQwMjE3MzU1M1owXDEhMB8G
|
||||
A1UEChMYRXVyb3BlYW4gSUNFLVRFTCBwcm9qZWN0MSMwIQYDVQQLExpWMy1DZXJ0
|
||||
aWZpY2F0aW9uIEF1dGhvcml0eTESMBAGA1UEBxMJRGFybXN0YWR0MFkwCgYEVQgB
|
||||
AQICAgADSwAwSAJBAIJ1uvbRYLX5FbNq3SmPi6RvGojgUENAC3lB1dMWRH10ZRdC
|
||||
BlIL6VDIEM0k4q6NIjBz5rS3kx/lbqKuSRGlyUUCAwEAAaOCATgwggE0MB8GA1Ud
|
||||
IwQYMBaAFIr3yNUOx3ro1yJw4AuJ1bbsZbzPMB0GA1UdDgQWBBR+cvL4OoacQog0
|
||||
NGZ1w9T80aIRMzAOBgNVHQ8BAf8EBAMCAfYwFAYDVR0gAQH/BAowCDAGBgQqAwQF
|
||||
MCoGA1UdEQQjMCGBH3NlY3VkZS1zdXBwb3J0QGRhcm1zdGFkdC5nbWQuZGUwUgYD
|
||||
VR0SBEswSYEbaWNlLXRlbC1jYUBkYXJtc3RhZHQuZ21kLmRlhipodHRwOi8vd3d3
|
||||
LmRhcm1zdGFkdC5nbWQuZGUvaWNlLXRlbC9ldXJvY2EwDwYDVR0TAQH/BAUwAwEB
|
||||
/zA7BgNVHR8ENDAyMDCgLqAshipodHRwOi8vd3d3LmRhcm1zdGFkdC5nbWQuZGUv
|
||||
aWNlLXRlbC9ldXJvY2EwDQYJKoZIhvcNAQEEBQADQQAXooi3mVoFQeQTNGfmHz4m
|
||||
7Etp+T4oIr6dHKtBbwwAhf5FdPaY8M6bZVNKUELH1JK916KoPZiIc81gKHmj/Eh6
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,48 +0,0 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 0 (0x0)
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
Issuer: O=European ICE-TEL project, OU=V3-Certification Authority
|
||||
Validity
|
||||
Not Before: Apr 2 17:33:36 1997 GMT
|
||||
Not After : Apr 2 17:33:36 1998 GMT
|
||||
Subject: O=European ICE-TEL project, OU=V3-Certification Authority
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsa
|
||||
RSA Public Key: (512 bit)
|
||||
Modulus (512 bit):
|
||||
00:80:3e:eb:ae:47:a9:fe:10:54:0b:81:8b:9c:2b:
|
||||
82:ab:3a:61:36:65:8b:f3:73:9f:ac:ac:7a:15:a7:
|
||||
13:8f:b4:c4:ba:a3:0f:bc:a5:58:8d:cc:b1:93:31:
|
||||
9e:81:9e:8c:19:61:86:fa:52:73:54:d1:97:76:22:
|
||||
e7:c7:9f:41:cd
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Subject Key Identifier:
|
||||
........z.."p......e..
|
||||
X509v3 Key Usage: critical
|
||||
....
|
||||
X509v3 Subject Alternative Name:
|
||||
0I.*http://www.darmstadt.gmd.de/ice-tel/euroca..ice-tel-ca@darmstadt.gmd.de
|
||||
X509v3 Basic Constraints: critical
|
||||
0....
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
76:69:61:db:b7:cf:8b:06:9e:d8:8c:96:53:d2:4d:a8:23:a6:
|
||||
03:44:e8:8f:24:a5:c0:84:a8:4b:77:d4:2d:2b:7d:37:91:67:
|
||||
f2:2c:ce:02:31:4c:6b:cc:ce:f2:68:a6:11:11:ab:7d:88:b8:
|
||||
7e:22:9f:25:06:60:bd:79:30:3d
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICFjCCAcCgAwIBAgIBADANBgkqhkiG9w0BAQQFADBIMSEwHwYDVQQKExhFdXJv
|
||||
cGVhbiBJQ0UtVEVMIHByb2plY3QxIzAhBgNVBAsTGlYzLUNlcnRpZmljYXRpb24g
|
||||
QXV0aG9yaXR5MB4XDTk3MDQwMjE3MzMzNloXDTk4MDQwMjE3MzMzNlowSDEhMB8G
|
||||
A1UEChMYRXVyb3BlYW4gSUNFLVRFTCBwcm9qZWN0MSMwIQYDVQQLExpWMy1DZXJ0
|
||||
aWZpY2F0aW9uIEF1dGhvcml0eTBZMAoGBFUIAQECAgIAA0sAMEgCQQCAPuuuR6n+
|
||||
EFQLgYucK4KrOmE2ZYvzc5+srHoVpxOPtMS6ow+8pViNzLGTMZ6BnowZYYb6UnNU
|
||||
0Zd2IufHn0HNAgMBAAGjgZcwgZQwHQYDVR0OBBYEFIr3yNUOx3ro1yJw4AuJ1bbs
|
||||
ZbzPMA4GA1UdDwEB/wQEAwIB9jBSBgNVHREESzBJhipodHRwOi8vd3d3LmRhcm1z
|
||||
dGFkdC5nbWQuZGUvaWNlLXRlbC9ldXJvY2GBG2ljZS10ZWwtY2FAZGFybXN0YWR0
|
||||
LmdtZC5kZTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBAUAA0EAdmlh27fP
|
||||
iwae2IyWU9JNqCOmA0TojySlwISoS3fULSt9N5Fn8izOAjFMa8zO8mimERGrfYi4
|
||||
fiKfJQZgvXkwPQ==
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,63 +0,0 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 1 (0x1)
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
Issuer: O=European ICE-TEL project, OU=V3-Certification Authority, L=Darmstadt
|
||||
Validity
|
||||
Not Before: Apr 2 17:35:59 1997 GMT
|
||||
Not After : Apr 2 17:35:59 1998 GMT
|
||||
Subject: O=European ICE-TEL project, OU=V3-Certification Authority, L=Darmstadt, CN=USER
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsa
|
||||
RSA Public Key: (512 bit)
|
||||
Modulus (512 bit):
|
||||
00:a8:a8:53:63:49:1b:93:c3:c3:0b:6c:88:11:55:
|
||||
de:7e:6a:e2:f9:52:a0:dc:69:25:c4:c8:bf:55:e1:
|
||||
31:a8:ce:e4:a9:29:85:99:8a:15:9a:de:f6:2f:e1:
|
||||
b4:50:5f:5e:04:75:a6:f4:76:dc:3c:0e:39:dc:3a:
|
||||
be:3e:a4:61:8b
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Authority Key Identifier:
|
||||
0...~r..:..B.44fu......3
|
||||
X509v3 Subject Key Identifier:
|
||||
...... .*...1.*.......
|
||||
X509v3 Key Usage: critical
|
||||
....
|
||||
X509v3 Certificate Policies: critical
|
||||
0.0...*...0.......
|
||||
X509v3 Subject Alternative Name:
|
||||
0:..user@darmstadt.gmd.de.!http://www.darmstadt.gmd.de/~user
|
||||
X509v3 Issuer Alternative Name:
|
||||
0....gmdca@gmd.de..http://www.gmd.de..saturn.darmstadt.gmd.de.\1!0...U.
|
||||
..European ICE-TEL project1#0!..U....V3-Certification Authority1.0...U....Darmstadt..141.12.62.26
|
||||
X509v3 Basic Constraints: critical
|
||||
0.
|
||||
X509v3 CRL Distribution Points:
|
||||
0.0.......gmdca@gmd.de
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
69:0c:e1:b7:a7:f2:d8:fb:e8:69:c0:13:cd:37:ad:21:06:22:
|
||||
4d:e8:c6:db:f1:04:0b:b7:e0:b3:d6:0c:81:03:ce:c3:6a:3e:
|
||||
c7:e7:24:24:a4:92:64:c2:83:83:06:42:53:0e:6f:09:1e:84:
|
||||
9a:f7:6f:63:9b:94:99:83:d6:a4
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDTzCCAvmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBcMSEwHwYDVQQKExhFdXJv
|
||||
cGVhbiBJQ0UtVEVMIHByb2plY3QxIzAhBgNVBAsTGlYzLUNlcnRpZmljYXRpb24g
|
||||
QXV0aG9yaXR5MRIwEAYDVQQHEwlEYXJtc3RhZHQwHhcNOTcwNDAyMTczNTU5WhcN
|
||||
OTgwNDAyMTczNTU5WjBrMSEwHwYDVQQKExhFdXJvcGVhbiBJQ0UtVEVMIHByb2pl
|
||||
Y3QxIzAhBgNVBAsTGlYzLUNlcnRpZmljYXRpb24gQXV0aG9yaXR5MRIwEAYDVQQH
|
||||
EwlEYXJtc3RhZHQxDTALBgNVBAMTBFVTRVIwWTAKBgRVCAEBAgICAANLADBIAkEA
|
||||
qKhTY0kbk8PDC2yIEVXefmri+VKg3GklxMi/VeExqM7kqSmFmYoVmt72L+G0UF9e
|
||||
BHWm9HbcPA453Dq+PqRhiwIDAQABo4IBmDCCAZQwHwYDVR0jBBgwFoAUfnLy+DqG
|
||||
nEKINDRmdcPU/NGiETMwHQYDVR0OBBYEFJfc4B8gjSoRmLUx4Sq/ucIYiMrPMA4G
|
||||
A1UdDwEB/wQEAwIB8DAcBgNVHSABAf8EEjAQMAYGBCoDBAUwBgYECQgHBjBDBgNV
|
||||
HREEPDA6gRV1c2VyQGRhcm1zdGFkdC5nbWQuZGWGIWh0dHA6Ly93d3cuZGFybXN0
|
||||
YWR0LmdtZC5kZS9+dXNlcjCBsQYDVR0SBIGpMIGmgQxnbWRjYUBnbWQuZGWGEWh0
|
||||
dHA6Ly93d3cuZ21kLmRlghdzYXR1cm4uZGFybXN0YWR0LmdtZC5kZaRcMSEwHwYD
|
||||
VQQKExhFdXJvcGVhbiBJQ0UtVEVMIHByb2plY3QxIzAhBgNVBAsTGlYzLUNlcnRp
|
||||
ZmljYXRpb24gQXV0aG9yaXR5MRIwEAYDVQQHEwlEYXJtc3RhZHSHDDE0MS4xMi42
|
||||
Mi4yNjAMBgNVHRMBAf8EAjAAMB0GA1UdHwQWMBQwEqAQoA6BDGdtZGNhQGdtZC5k
|
||||
ZTANBgkqhkiG9w0BAQQFAANBAGkM4ben8tj76GnAE803rSEGIk3oxtvxBAu34LPW
|
||||
DIEDzsNqPsfnJCSkkmTCg4MGQlMObwkehJr3b2OblJmD1qQ=
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,9 +0,0 @@
|
||||
-----BEGIN X509 CRL-----
|
||||
MIIBNDCBnjANBgkqhkiG9w0BAQIFADBFMSEwHwYDVQQKExhFdXJvcGVhbiBJQ0Ut
|
||||
VEVMIFByb2plY3QxIDAeBgNVBAsTF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5Fw05
|
||||
NzA2MDkxNDQyNDNaFw05NzA3MDkxNDQyNDNaMCgwEgIBChcNOTcwMzAzMTQ0MjU0
|
||||
WjASAgEJFw05NjEwMDIxMjI5MjdaMA0GCSqGSIb3DQEBAgUAA4GBAH4vgWo2Tej/
|
||||
i7kbiw4Imd30If91iosjClNpBFwvwUDBclPEeMuYimHbLOk4H8Nofc0fw11+U/IO
|
||||
KSNouUDcqG7B64oY7c4SXKn+i1MWOb5OJiWeodX3TehHjBlyWzoNMWCnYA8XqFP1
|
||||
mOKp8Jla1BibEZf14+/HqCi2hnZUiEXh
|
||||
-----END X509 CRL-----
|
||||
@@ -1,17 +1,15 @@
|
||||
subject=/C=US/O=VeriSign, Inc./OU=Class 1 Public Primary Certification Authority
|
||||
notBefore=Jan 29 00:00:00 1996 GMT
|
||||
notAfter=Jan 7 23:59:59 2020 GMT
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICPDCCAaUCEDJQM89Q0VbzXIGtZVxPyCUwDQYJKoZIhvcNAQECBQAwXzELMAkG
|
||||
A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
|
||||
cyAxIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
|
||||
MDEyOTAwMDAwMFoXDTIwMDEwNzIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
|
||||
BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmlt
|
||||
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
|
||||
ADCBiQKBgQDlGb9to1ZhLZlIcfZn3rmN67eehoAKkQ76OCWvRoiC5XOooJskXQ0f
|
||||
zGVuDLDQVoQYh5oGmxChc9+0WDlrbsH2FdWoqD+qEgaNMax/sDTXjzRniAnNFBHi
|
||||
TkVWaR94AoDa3EeRKbs2yWNcxeDXLYd7obcysHswuiovMaruo2fa2wIDAQABMA0G
|
||||
CSqGSIb3DQEBAgUAA4GBAEtEZmBoZOSYG/OwcuaViXzde7OVwB0u2NgZ0C00PcZQ
|
||||
mhCGjKo/O6gE/DdSlcPZydvN8oYGxLEb8IKIMEKOF1AcZHq4PplJdJf8rAJD+5YM
|
||||
VgQlDHx8h50kp9jwMim1pN9dokzFFjKoQvZFprY2ueC/ZTaTwtLXa9zeWdaiNfhF
|
||||
MIAwgKADAgECAgEAMA0GCSqGSIb3DQEBBAUAMGIxETAPBgNVBAcTCEludGVybmV0
|
||||
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE0MDIGA1UECxMrVmVyaVNpZ24gQ2xh
|
||||
c3MgMSBDQSAtIEluZGl2aWR1YWwgU3Vic2NyaWJlcjAeFw05NjA0MDgxMDIwMjda
|
||||
Fw05NzA0MDgxMDIwMjdaMGIxETAPBgNVBAcTCEludGVybmV0MRcwFQYDVQQKEw5W
|
||||
ZXJpU2lnbiwgSW5jLjE0MDIGA1UECxMrVmVyaVNpZ24gQ2xhc3MgMSBDQSAtIElu
|
||||
ZGl2aWR1YWwgU3Vic2NyaWJlcjCAMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2
|
||||
FKbPTdAFDdjKI9BvqrQpkmOOLPhvltcunXZLEbE2jVfJw/0cxrr+Hgi6M8qV6r7j
|
||||
W80GqLd5HUQq7XPysVKDaBBwZJHXPmv5912dFEObbpdFmIFH0S3L3bty10w/cari
|
||||
QPJUObwW7s987LrbP2wqsxaxhhKdrpM01bjV0Pc+qQIDAQABAAAAADANBgkqhkiG
|
||||
9w0BAQQFAAOBgQA+1nJryNt8VBRjRr07ArDAV/3jAH7GjDc9jsrxZS68ost9v06C
|
||||
TvTNKGL+LISNmFLXl+JXhgGB0JZ9fvyYzNgHQ46HBUng1H6voalfJgS2KdEo50wW
|
||||
8EFZYMDkT1k4uynwJqkVN2QJK/2q4/A/VCov5h6SlM8Affg2W+1TLqvqkwAA
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
|
||||
@@ -1,18 +1,31 @@
|
||||
subject=/C=US/O=VeriSign, Inc./OU=Class 2 Public Primary Certification Authority
|
||||
notBefore=Jan 29 00:00:00 1996 GMT
|
||||
notAfter=Jan 7 23:59:59 2004 GMT
|
||||
subject=/L=Internet/O=VeriSign, Inc./OU=VeriSign Class 2 CA - Individual Subscriber
|
||||
issuer= /L=Internet/O=VeriSign, Inc./OU=VeriSign Class 2 CA - Individual Subscriber
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICPTCCAaYCEQC6WslMBTuS1qe2307QU5INMA0GCSqGSIb3DQEBAgUAMF8xCzAJ
|
||||
BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xh
|
||||
c3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05
|
||||
NjAxMjkwMDAwMDBaFw0wNDAxMDcyMzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYD
|
||||
VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMiBQdWJsaWMgUHJp
|
||||
bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOB
|
||||
jQAwgYkCgYEAtlqLow1qI4OAa885h/QhEzMGTCWi7VUSl8WngLn6g8EgoPovFQ18
|
||||
oWBrfnks+gYPOq72G2+x0v8vKFJfg31LxHq3+GYfgFT8t8KOWUoUV0bRmpO+QZED
|
||||
uxWAk1zr58wIbD8+s0r8/0tsI9VQgiZEGY4jw3HqGSRHBJ51v8imAB8CAwEAATAN
|
||||
BgkqhkiG9w0BAQIFAAOBgQC2AB+TV6QHp0DOZUA/VV7t7/pUSaUw1iF8YYfug5ML
|
||||
v7Qz8pisnwa/TqjOFIFMywROWMPPX+5815pvy0GKt3+BuP+EYcYnQ2UdDOyxAArd
|
||||
G6S7x3ggKLKi3TaVLuFUT79guXdoEZkj6OpS6KoATmdOu5C1RZtG644W78QzWzM9
|
||||
1Q==
|
||||
MIIEkzCCA/ygAwIBAgIRANDTUpSRL3nTFeMrMayFSPAwDQYJKoZIhvcNAQECBQAw
|
||||
YjERMA8GA1UEBxMISW50ZXJuZXQxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTQw
|
||||
MgYDVQQLEytWZXJpU2lnbiBDbGFzcyAyIENBIC0gSW5kaXZpZHVhbCBTdWJzY3Jp
|
||||
YmVyMB4XDTk2MDYwNDAwMDAwMFoXDTk4MDYwNDIzNTk1OVowYjERMA8GA1UEBxMI
|
||||
SW50ZXJuZXQxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTQwMgYDVQQLEytWZXJp
|
||||
U2lnbiBDbGFzcyAyIENBIC0gSW5kaXZpZHVhbCBTdWJzY3JpYmVyMIGfMA0GCSqG
|
||||
SIb3DQEBAQUAA4GNADCBiQKBgQC6A+2czKGRcYMfm8gdnk+0de99TDDzsqo0v5nb
|
||||
RsbUmMcdRQ7nsMbRWe0SAb/9QoLTZ/cJ0iOBqdrkz7UpqqKarVoTSdlSMVM92tWp
|
||||
3bJncZHQD1t4xd6lQVdI1/T6R+5J0T1ukOdsI9Jmf+F28S6g3R3L1SFwiHKeZKZv
|
||||
z+793wIDAQABo4ICRzCCAkMwggIpBgNVHQMBAf8EggIdMIICGTCCAhUwggIRBgtg
|
||||
hkgBhvhFAQcBATCCAgAWggGrVGhpcyBjZXJ0aWZpY2F0ZSBpbmNvcnBvcmF0ZXMg
|
||||
YnkgcmVmZXJlbmNlLCBhbmQgaXRzIHVzZSBpcyBzdHJpY3RseSBzdWJqZWN0IHRv
|
||||
LCB0aGUgVmVyaVNpZ24gQ2VydGlmaWNhdGlvbiBQcmFjdGljZSBTdGF0ZW1lbnQg
|
||||
KENQUyksIGF2YWlsYWJsZSBhdDogaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQ
|
||||
Uy0xLjA7IGJ5IEUtbWFpbCBhdCBDUFMtcmVxdWVzdHNAdmVyaXNpZ24uY29tOyBv
|
||||
ciBieSBtYWlsIGF0IFZlcmlTaWduLCBJbmMuLCAyNTkzIENvYXN0IEF2ZS4sIE1v
|
||||
dW50YWluIFZpZXcsIENBIDk0MDQzIFVTQSBUZWwuICsxICg0MTUpIDk2MS04ODMw
|
||||
IENvcHlyaWdodCAoYykgMTk5NiBWZXJpU2lnbiwgSW5jLiAgQWxsIFJpZ2h0cyBS
|
||||
ZXNlcnZlZC4gQ0VSVEFJTiBXQVJSQU5USUVTIERJU0NMQUlNRUQgYW5kIExJQUJJ
|
||||
TElUWSBMSU1JVEVELqAOBgxghkgBhvhFAQcBAQGhDgYMYIZIAYb4RQEHAQECMC8w
|
||||
LRYraHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JlcG9zaXRvcnkvQ1BTLTEuMDAU
|
||||
BglghkgBhvhCAQEBAf8EBAMCAgQwDQYJKoZIhvcNAQECBQADgYEApRJRkNBqLLgs
|
||||
53IR/d18ODdLOWMTZ+QOOxBrq460iBEdUwgF8vmPRX1ku7UiDeNzaLlurE6eFqHq
|
||||
2zPyK5j60zfTLVJMWKcQWwTJLjHtXrW8pxhNtFc6Fdvy5ZkHnC/9NIl7/t4U6WqB
|
||||
p4y+p7SdMIkEwIZfds0VbnQyX5MRUJY=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
subject=/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
|
||||
notBefore=Jan 29 00:00:00 1996 GMT
|
||||
notAfter=Jan 7 23:59:59 2004 GMT
|
||||
subject=/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
|
||||
issuer= /C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICPTCCAaYCEQDknv3zOugOz6URPhmkJAIyMA0GCSqGSIb3DQEBAgUAMF8xCzAJ
|
||||
BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xh
|
||||
c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05
|
||||
NjAxMjkwMDAwMDBaFw0wNDAxMDcyMzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYD
|
||||
VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp
|
||||
bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOB
|
||||
jQAwgYkCgYEAyVxZnvIbigEUtBDfBEDb41evakVAj4QMC9Ez2dkRz+4CWB8l9yqo
|
||||
RAWq7AMfeH+ek7maAKojfdashaJjRcdyJ8z0TMZ1cdI5709C8HXfCpDGjiBvmA/4
|
||||
rCNfcCk2pMmG57GaIMtTpYXnPb59mv4kRTPcdhXtD6JxZExlLoFoRacCAwEAATAN
|
||||
BgkqhkiG9w0BAQIFAAOBgQBhcOwvP579K+ZoVCGwZ3kIDCCWMYoNer62Jt95LCJp
|
||||
STbjl3diYaIy13pUITa6Ask05yXaRDWw0lyAXbOU+Pms7qRgdSoflUkjsUp89LNH
|
||||
ciFbfperVKxi513srpvSybIk+4Kt6WcVS7qqpvCXoPawl1cAyAw8CaCCBLpB2veZ
|
||||
pA==
|
||||
MIICMTCCAZoCBQKhAAABMA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVTMRcw
|
||||
FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMg
|
||||
UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05NjAxMjkwMDAwMDBa
|
||||
Fw05OTEyMzEyMzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2ln
|
||||
biwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZp
|
||||
Y2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyVxZ
|
||||
nvIbigEUtBDfBEDb41evakVAj4QMC9Ez2dkRz+4CWB8l9yqoRAWq7AMfeH+ek7ma
|
||||
AKojfdashaJjRcdyJ8z0TMZ1cdI5709C8HXfCpDGjiBvmA/4rCNfcCk2pMmG57Ga
|
||||
IMtTpYXnPb59mv4kRTPcdhXtD6JxZExlLoFoRacCAwEAATANBgkqhkiG9w0BAQIF
|
||||
AAOBgQB1Zmw+0c2B27X4LzZRtvdCvM1Cr9wO+hVs+GeTVzrrtpLotgHKjLeOQ7RJ
|
||||
Zfk+7r11Ri7J/CVdqMcvi5uPaM+0nJcYwE3vH9mvgrPmZLiEXIqaB1JDYft0nls6
|
||||
NvxMsvwaPxUupVs8G5DsiCnkWRb5zget7Ond2tIxik/W2O8XjQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
subject=/C=US/O=RSA Data Security, Inc./OU=Secure Server Certification Authority
|
||||
notBefore=Nov 9 00:00:00 1994 GMT
|
||||
notAfter=Jan 7 23:59:59 2010 GMT
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkG
|
||||
A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD
|
||||
VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0
|
||||
MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVowXzELMAkGA1UEBhMCVVMxIDAeBgNV
|
||||
BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2Vy
|
||||
dmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUAA4GJ
|
||||
ADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII
|
||||
0haGN1XpsSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphI
|
||||
uR2nKRoTLkoRWZweFdVJVCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZI
|
||||
hvcNAQECBQADfgBl3X7hsuyw4jrg7HFGmhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3
|
||||
YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2qUtN8iD3zV9/ZHuO3ABc
|
||||
1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA==
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,18 +0,0 @@
|
||||
subject=/O=VeriSign, Inc/OU=www.verisign.com/repository/TestCPS Incorp. By Ref. Liab. LTD./OU=For VeriSign authorized testing only. No assurances (C)VS1997
|
||||
notBefore=Mar 4 00:00:00 1997 GMT
|
||||
notAfter=Mar 4 23:59:59 2025 GMT
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICTTCCAfcCEEdoCqpuXxnoK27q7d58Qc4wDQYJKoZIhvcNAQEEBQAwgakxFjAU
|
||||
BgNVBAoTDVZlcmlTaWduLCBJbmMxRzBFBgNVBAsTPnd3dy52ZXJpc2lnbi5jb20v
|
||||
cmVwb3NpdG9yeS9UZXN0Q1BTIEluY29ycC4gQnkgUmVmLiBMaWFiLiBMVEQuMUYw
|
||||
RAYDVQQLEz1Gb3IgVmVyaVNpZ24gYXV0aG9yaXplZCB0ZXN0aW5nIG9ubHkuIE5v
|
||||
IGFzc3VyYW5jZXMgKEMpVlMxOTk3MB4XDTk3MDMwNDAwMDAwMFoXDTI1MDMwNDIz
|
||||
NTk1OVowgakxFjAUBgNVBAoTDVZlcmlTaWduLCBJbmMxRzBFBgNVBAsTPnd3dy52
|
||||
ZXJpc2lnbi5jb20vcmVwb3NpdG9yeS9UZXN0Q1BTIEluY29ycC4gQnkgUmVmLiBM
|
||||
aWFiLiBMVEQuMUYwRAYDVQQLEz1Gb3IgVmVyaVNpZ24gYXV0aG9yaXplZCB0ZXN0
|
||||
aW5nIG9ubHkuIE5vIGFzc3VyYW5jZXMgKEMpVlMxOTk3MFwwDQYJKoZIhvcNAQEB
|
||||
BQADSwAwSAJBAMak6xImJx44jMKcbkACy5/CyMA2fqXK4PlzTtCxRq5tFkDzne7s
|
||||
cI8oFK/J+gFZNE3bjidDxf07O3JOYG9RGx8CAwEAATANBgkqhkiG9w0BAQQFAANB
|
||||
ADT523tENOKrEheZFpsJx1UUjPrG7TwYc/C4NBHrZI4gZJcKVFIfNulftVS6UMYW
|
||||
ToLEMaUojc3DuNXHG21PDG8=
|
||||
-----END CERTIFICATE-----
|
||||
351
config
351
config
@@ -1,351 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# config - this is a merge of minarch and GuessOS from the Apache Group
|
||||
# which then automatically runs Configure from SSLeay after
|
||||
# mapping the Apache names for OSs into SSLeay names
|
||||
#
|
||||
# 29-May-97 eay Added no-asm option
|
||||
# 27-May-97 eay Alpha linux mods
|
||||
# ??-May-97 eay IRIX mods
|
||||
# 16-Sep-97 tjh first cut of merged version
|
||||
#
|
||||
# Tim Hudson
|
||||
# tjh@cryptsoft.com
|
||||
#
|
||||
|
||||
# Original Apache Group comments on GuessOS
|
||||
|
||||
# Simple OS/Platform guesser. Similar to config.guess but
|
||||
# much, much smaller. Since it was developed for use with
|
||||
# Apache, it follows under Apache's regular licensing
|
||||
# with one specific addition: Any changes or additions
|
||||
# to this script should be Emailed to the Apache
|
||||
# group (apache@apache.org) in general and to
|
||||
# Jim Jagielski (jim@jaguNET.com) in specific.
|
||||
#
|
||||
# Be as similar to the output of config.guess/config.sub
|
||||
# as possible.
|
||||
|
||||
# First get uname entries that we use below
|
||||
|
||||
MACHINE=`(uname -m) 2>/dev/null` || MACHINE="unknown"
|
||||
RELEASE=`(uname -r) 2>/dev/null` || RELEASE="unknown"
|
||||
SYSTEM=`(uname -s) 2>/dev/null` || SYSTEM="unknown"
|
||||
VERSION=`(uname -v) 2>/dev/null` || VERSION="unknown"
|
||||
|
||||
# Now test for ISC and SCO, since it is has a braindamaged uname.
|
||||
#
|
||||
# We need to work around FreeBSD 1.1.5.1
|
||||
(
|
||||
XREL=`uname -X 2>/dev/null | grep "^Release" | awk '{print $3}'`
|
||||
if [ "x$XREL" != "x" ]; then
|
||||
if [ -f /etc/kconfig ]; then
|
||||
case "$XREL" in
|
||||
4.0|4.1)
|
||||
echo "${MACHINE}-whatever-isc4"; exit 0
|
||||
;;
|
||||
esac
|
||||
else
|
||||
case "$XREL" in
|
||||
3.2v4.2)
|
||||
echo "whatever-whatever-sco3"; exit 0
|
||||
;;
|
||||
3.2v5.0*)
|
||||
echo "whatever-whatever-sco5"; exit 0
|
||||
;;
|
||||
4.2MP)
|
||||
if [ "x$VERSION" = "x2.1.1" ]; then
|
||||
echo "${MACHINE}-whatever-unixware211"; exit 0
|
||||
else
|
||||
echo "${MACHINE}-whatever-unixware2"; exit 0
|
||||
fi
|
||||
;;
|
||||
4.2)
|
||||
echo "whatever-whatever-unixware1"; exit 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
# Now we simply scan though... In most cases, the SYSTEM info is enough
|
||||
#
|
||||
case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
|
||||
A/UX:*)
|
||||
echo "m68k-apple-aux3"; exit 0
|
||||
;;
|
||||
|
||||
AIX:*)
|
||||
echo "${MACHINE}-ibm-aix"; exit 0
|
||||
;;
|
||||
|
||||
dgux:*)
|
||||
echo "${MACHINE}-dg-dgux"; exit 0
|
||||
;;
|
||||
|
||||
HI-UX:*)
|
||||
echo "${MACHINE}-hi-hiux"; exit 0
|
||||
;;
|
||||
|
||||
HP-UX:*)
|
||||
HPUXVER=`echo ${RELEASE}|sed -e 's/[^.]*.[0B]*//'`
|
||||
case "$HPUXVER" in
|
||||
10.*)
|
||||
echo "${MACHINE}-hp-hpux10."; exit 0
|
||||
;;
|
||||
*)
|
||||
echo "${MACHINE}-hp-hpux"; exit 0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
IRIX:*)
|
||||
echo "${MACHINE}-sgi-irix"; exit 0
|
||||
;;
|
||||
|
||||
IRIX64:*)
|
||||
echo "${MACHINE}-sgi-irix64"; exit 0
|
||||
;;
|
||||
|
||||
Linux:[2-9].*)
|
||||
echo "${MACHINE}-whatever-linux2"; exit 0
|
||||
;;
|
||||
|
||||
Linux:1.*)
|
||||
echo "${MACHINE}-whatever-linux1"; exit 0
|
||||
;;
|
||||
|
||||
LynxOS:*)
|
||||
echo "${MACHINE}-lynx-lynxos"; exit 0
|
||||
;;
|
||||
|
||||
BSD/386:*:*:*486*|BSD/OS:*:*:*:*486*)
|
||||
echo "i486-whatever-bsdi"; exit 0
|
||||
;;
|
||||
|
||||
BSD/386:*|BSD/OS:*)
|
||||
echo "${MACHINE}-whatever-bsdi"; exit 0
|
||||
;;
|
||||
|
||||
FreeBSD:*:*:*486*)
|
||||
echo "i486-whatever-freebsd"; exit 0
|
||||
;;
|
||||
|
||||
FreeBSD:*)
|
||||
echo "${MACHINE}-whatever-freebsd"; exit 0
|
||||
;;
|
||||
|
||||
NetBSD:*:*:*486*)
|
||||
echo "i486-whatever-netbsd"; exit 0
|
||||
;;
|
||||
|
||||
NetBSD:*)
|
||||
echo "${MACHINE}-whatever-netbsd"; exit 0
|
||||
;;
|
||||
|
||||
OpenBSD:*)
|
||||
echo "${MACHINE}-whatever-openbsd"; exit 0
|
||||
;;
|
||||
|
||||
OSF1:*:*:*alpha*)
|
||||
echo "${MACHINE}-dec-osf"; exit 0
|
||||
;;
|
||||
|
||||
QNX:*)
|
||||
case "$VERSION" in
|
||||
423)
|
||||
echo "${MACHINE}-qssl-qnx32"
|
||||
;;
|
||||
*)
|
||||
echo "${MACHINE}-qssl-qnx"
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
;;
|
||||
|
||||
Paragon*:*:*:*)
|
||||
echo "i860-intel-osf1"; exit 0
|
||||
;;
|
||||
|
||||
SunOS:5.*)
|
||||
echo "${MACHINE}-sun-solaris2"; exit 0
|
||||
;;
|
||||
|
||||
SunOS:*)
|
||||
echo "${MACHINE}-sun-sunos4"; exit 0
|
||||
;;
|
||||
|
||||
UNIX_System_V:4.*:*)
|
||||
echo "${MACHINE}-whatever-sysv4"; exit 0
|
||||
;;
|
||||
|
||||
*:4*:R4*:m88k)
|
||||
echo "${MACHINE}-whatever-sysv4"; exit 0
|
||||
;;
|
||||
|
||||
DYNIX/ptx:4*:*)
|
||||
echo "${MACHINE}-whatever-sysv4"; exit 0
|
||||
;;
|
||||
|
||||
*:4.0:3.0:3[34]?? | *:4.0:3.0:3[34]??,*)
|
||||
echo "i486-ncr-sysv4"; exit 0
|
||||
;;
|
||||
|
||||
ULTRIX:*)
|
||||
echo "${MACHINE}-unknown-ultrix"; exit 0
|
||||
;;
|
||||
|
||||
SINIX*)
|
||||
echo "${MACHINE}-sni-sysv4"; exit 0
|
||||
;;
|
||||
|
||||
machten:*)
|
||||
echo "${MACHINE}-tenon-${SYSTEM}"; exit 0;
|
||||
;;
|
||||
|
||||
library:*)
|
||||
echo "${MACHINE}-ncr-sysv4"; exit 0
|
||||
;;
|
||||
|
||||
ConvexOS:*:11.0:*)
|
||||
echo "${MACHINE}-v11-${SYSTEM}"; exit 0;
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
#
|
||||
# Ugg. These are all we can determine by what we know about
|
||||
# the output of uname. Be more creative:
|
||||
#
|
||||
|
||||
# Do the Apollo stuff first. Here, we just simply assume
|
||||
# that the existance of the /usr/apollo directory is proof
|
||||
# enough
|
||||
if [ -d /usr/apollo ]; then
|
||||
echo "whatever-apollo-whatever"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Now NeXT
|
||||
ISNEXT=`hostinfo 2>/dev/null`
|
||||
case "$ISNEXT" in
|
||||
*NeXT*)
|
||||
echo "whatever-next-nextstep"; exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
# At this point we gone through all the one's
|
||||
# we know of: Punt
|
||||
|
||||
echo "${MACHINE}-whatever-${SYSTEM}|${RELEASE}|${VERSION}"
|
||||
exit 0
|
||||
) 2>/dev/null | (
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# this is where the translation occurs into SSLeay terms
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
PREFIX=""
|
||||
SUFFIX=""
|
||||
VERBOSE="false"
|
||||
TEST="false"
|
||||
|
||||
# pick up any command line args to config
|
||||
for i
|
||||
do
|
||||
case "$i" in
|
||||
-d*) PREFIX="debug-";;
|
||||
-v*) VERBOSE="true";;
|
||||
-t*) TEST="true";;
|
||||
-h*) cat <<EOF
|
||||
usage: config [options]
|
||||
-d Add a debug- prefix to machine choice.
|
||||
-v Verbose mode.
|
||||
-t Test mode, do not run the Configure perl script.
|
||||
-h This help.
|
||||
|
||||
Any other text will be passed to ther Configure perl script.
|
||||
Usefull options include
|
||||
no-asm Build with no assember code.
|
||||
-Dxxx Add xxx define to compilation.
|
||||
-Lxxx Add xxx library include path to build.
|
||||
-lxxx Add xxx library to build.
|
||||
|
||||
eg, to build using RSAref, without assember, building to allow anon-DH
|
||||
ciphers and null encryption ciphers,
|
||||
config no-asm -DRSAref -DSSL_ALLOW_ADH -DSSL_ALLOW_ENULL -lrsaref
|
||||
EOF
|
||||
;;
|
||||
*) options=$options" $i" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# figure out if gcc is available and if so we use it otherwise
|
||||
# we fallback to whatever cc does on the system
|
||||
GCCVER=`gcc -v 2>&1`
|
||||
if [ $? = "0" ]; then
|
||||
CC=gcc
|
||||
else
|
||||
CC=cc
|
||||
fi
|
||||
|
||||
# read the output of the embedded GuessOS
|
||||
read GUESSOS
|
||||
|
||||
if [ "$VERBOSE" = "true" ]; then
|
||||
echo GUESSOS $GUESSOS
|
||||
fi
|
||||
|
||||
# now map the output into SSLeay terms ... really should hack into the
|
||||
# script above so we end up with values in vars but that would take
|
||||
# more time that I want to waste at the moment
|
||||
case "$GUESSOS" in
|
||||
alpha-*-linux2) OUT="alpha-gcc" ;;
|
||||
*-*-linux2) OUT="linux-elf" ;;
|
||||
*-*-linux) OUT="linux-aout" ;;
|
||||
sun4*-sun-solaris2) OUT="solaris-sparc-$CC" ;;
|
||||
*86*-sun-solaris2) OUT="solaris-x86-$CC" ;;
|
||||
*-*-sunos4) OUT="sunos-$CC" ;;
|
||||
*-freebsd) OUT="FreeBSD" ;;
|
||||
*86*-*-netbsd) OUT="NetBSD-x86" ;;
|
||||
sun3*-*-netbsd) OUT="NetBSD-m68" ;;
|
||||
*-*-netbsd) OUT="NetBSD-sparc" ;;
|
||||
*86*-*-openbsd) OUT="OpenBSD-x86" ;;
|
||||
alpha*-*-openbsd) OUT="OpenBSD-alpha" ;;
|
||||
pmax*-*-openbsd) OUT="OpenBSD-mips" ;;
|
||||
*-*-openbsd) OUT="OpenBSD" ;;
|
||||
*-*-osf) OUT="alpha-cc" ;;
|
||||
*-*-unixware*) OUT="unixware-2.0" ;;
|
||||
*-sni-sysv4) OUT="SINIX" ;;
|
||||
*-hpux*) OUT="hpux-$CC" ;;
|
||||
# these are all covered by the catchall below
|
||||
# *-aix) OUT="aix-$CC" ;;
|
||||
# *-dgux) OUT="dgux" ;;
|
||||
*) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;;
|
||||
esac
|
||||
|
||||
if [ -z "$OUT" ]; then
|
||||
OUT="$CC"
|
||||
fi
|
||||
|
||||
# run Configure to check to see if we need to specify the
|
||||
# compiler for the platform ... in which case we add it on
|
||||
# the end ... otherwise we leave it off
|
||||
perl ./Configure 2>&1 | grep "$OUT-$CC" > /dev/null
|
||||
if [ $? = "0" ]; then
|
||||
OUT="$OUT-$CC"
|
||||
fi
|
||||
|
||||
OUT="$PREFIX$OUT"
|
||||
|
||||
# at this point we have the answer ... which we could check again
|
||||
# and then fallback to a vanilla SSLeay build but then this script
|
||||
# wouldn't get updated
|
||||
echo Configuring for $OUT
|
||||
|
||||
if [ "$TEST" = "true" ]; then
|
||||
echo ./Configure $OUT $options
|
||||
else
|
||||
perl ./Configure $OUT $options
|
||||
fi
|
||||
|
||||
)
|
||||
|
||||
@@ -22,29 +22,26 @@ MAKEFILE= Makefile.ssl
|
||||
PEX_LIBS=
|
||||
EX_LIBS=
|
||||
|
||||
CFLAGS= $(INCLUDE) $(CFLAG) -DCFLAGS=" \"$(CC) $(CFLAG)\" " -DPLATFORM=" \"$(PLATFORM)\" "
|
||||
|
||||
ERR=crypto
|
||||
ERRC=cpt_err
|
||||
CFLAGS= $(INCLUDE) $(CFLAG) -DCFLAGS=" \"$(CC) $(CFLAG)\" "
|
||||
|
||||
LIBS=
|
||||
|
||||
SDIRS= md2 md5 sha mdc2 hmac ripemd \
|
||||
des rc2 rc4 rc5 idea bf cast \
|
||||
SDIRS= md sha mdc2 \
|
||||
des rc4 rc2 idea bf \
|
||||
bn rsa dsa dh \
|
||||
buffer bio stack lhash rand err objects \
|
||||
evp pem x509 \
|
||||
asn1 conf txt_db pkcs7 comp
|
||||
asn1 conf txt_db pkcs7
|
||||
|
||||
GENERAL=Makefile README
|
||||
|
||||
LIB= $(TOP)/libcrypto.a
|
||||
LIBSRC= cryptlib.c mem.c cversion.c ex_data.c tmdiff.c $(ERRC).c
|
||||
LIBOBJ= cryptlib.o mem.o cversion.o ex_data.o tmdiff.o $(ERRC).o
|
||||
LIBSRC= cryptlib.c mem.c cversion.c
|
||||
LIBOBJ= cryptlib.o mem.o cversion.o
|
||||
|
||||
SRC= $(LIBSRC)
|
||||
|
||||
EXHEADER= crypto.h cryptall.h tmdiff.h
|
||||
EXHEADER= crypto.h cryptall.h
|
||||
HEADER= cryptlib.h date.h $(EXHEADER)
|
||||
|
||||
ALL= $(GENERAL) $(SRC) $(HEADER)
|
||||
@@ -61,7 +58,7 @@ subdirs:
|
||||
@for i in $(SDIRS) ;\
|
||||
do \
|
||||
(cd $$i; echo "making all in $$i..."; \
|
||||
$(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' AR='${AR}' all ); \
|
||||
$(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_MULW='${BN_MULW}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' AR='${AR}' all ); \
|
||||
done;
|
||||
|
||||
files:
|
||||
@@ -75,7 +72,7 @@ files:
|
||||
links:
|
||||
/bin/rm -f Makefile
|
||||
$(TOP)/util/point.sh Makefile.ssl Makefile ;
|
||||
$(TOP)/util/mklink.sh ../include $(HEADER) ;
|
||||
$(TOP)/util/mklink.sh ../include $(EXHEADER) ;
|
||||
$(TOP)/util/mklink.sh ../test $(TEST) ;
|
||||
$(TOP)/util/mklink.sh ../apps $(APPS) ;
|
||||
$(TOP)/util/point.sh Makefile.ssl Makefile;
|
||||
@@ -149,9 +146,7 @@ dclean:
|
||||
done;
|
||||
|
||||
errors:
|
||||
perl ./err/err_code.pl -conf err/ssleay.ec *.c */*.c ../ssl/*.c ../rsaref/*.c
|
||||
perl $(TOP)/util/err-ins.pl $(ERR).err $(ERR).h
|
||||
perl err/err_genc.pl -s $(ERR).h $(ERRC).c
|
||||
perl ./err/err_code.pl */*.c ../ssl/*.c ../rsaref/*.c
|
||||
@for i in $(SDIRS) ;\
|
||||
do \
|
||||
(cd $$i; echo "making errors in $$i..."; \
|
||||
|
||||
@@ -23,7 +23,7 @@ APPS=
|
||||
|
||||
LIB=$(TOP)/libcrypto.a
|
||||
LIBSRC= a_object.c a_bitstr.c a_utctm.c a_int.c a_octet.c a_print.c \
|
||||
a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c a_bmp.c \
|
||||
a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c \
|
||||
a_sign.c a_digest.c a_verify.c \
|
||||
x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c \
|
||||
x_name.c x_cinf.c x_x509.c x_crl.c x_info.c x_spki.c \
|
||||
@@ -35,10 +35,9 @@ LIBSRC= a_object.c a_bitstr.c a_utctm.c a_int.c a_octet.c a_print.c \
|
||||
p7_dgst.c p7_s_e.c p7_enc.c p7_lib.c \
|
||||
f_int.c f_string.c i2d_dhp.c i2d_dsap.c d2i_dhp.c d2i_dsap.c n_pkey.c \
|
||||
a_hdr.c x_pkey.c a_bool.c x_exten.c \
|
||||
asn1_par.c asn1_lib.c $(ERRC).c a_meth.c a_bytes.c \
|
||||
evp_asn1.c
|
||||
asn1_par.c asn1_lib.c $(ERRC).c a_meth.c a_bytes.c
|
||||
LIBOBJ= a_object.o a_bitstr.o a_utctm.o a_int.o a_octet.o a_print.o \
|
||||
a_type.o a_set.o a_dup.o a_d2i_fp.o a_i2d_fp.o a_bmp.o \
|
||||
a_type.o a_set.o a_dup.o a_d2i_fp.o a_i2d_fp.o \
|
||||
a_sign.o a_digest.o a_verify.o \
|
||||
x_algor.o x_val.o x_pubkey.o x_sig.o x_req.o x_attrib.o \
|
||||
x_name.o x_cinf.o x_x509.o x_crl.o x_info.o x_spki.o \
|
||||
@@ -50,8 +49,7 @@ LIBOBJ= a_object.o a_bitstr.o a_utctm.o a_int.o a_octet.o a_print.o \
|
||||
p7_dgst.o p7_s_e.o p7_enc.o p7_lib.o \
|
||||
f_int.o f_string.o i2d_dhp.o i2d_dsap.o d2i_dhp.o d2i_dsap.o n_pkey.o \
|
||||
a_hdr.o x_pkey.o a_bool.o x_exten.o \
|
||||
asn1_par.o asn1_lib.o $(ERRC).o a_meth.o a_bytes.o \
|
||||
evp_asn1.o
|
||||
asn1_par.o asn1_lib.o $(ERRC).o a_meth.o a_bytes.o
|
||||
|
||||
SRC= $(LIBSRC)
|
||||
|
||||
@@ -115,6 +113,6 @@ clean:
|
||||
|
||||
errors:
|
||||
perl $(TOP)/util/err-ins.pl $(ERR).err $(ERR).h
|
||||
perl ../err/err_genc.pl -s $(ERR).h $(ERRC).c
|
||||
perl ../err/err_genc.pl $(ERR).h $(ERRC).c
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* crypto/asn1/a_bitstr.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -68,50 +68,27 @@ int i2d_ASN1_BIT_STRING(a,pp)
|
||||
ASN1_BIT_STRING *a;
|
||||
unsigned char **pp;
|
||||
{
|
||||
int ret,j,r,bits,len;
|
||||
int ret,j,r,bits;
|
||||
unsigned char *p,*d;
|
||||
|
||||
if (a == NULL) return(0);
|
||||
|
||||
len=a->length;
|
||||
|
||||
if (len > 0)
|
||||
{
|
||||
if (a->flags & ASN1_STRING_FLAG_BITS_LEFT)
|
||||
{
|
||||
bits=(int)a->flags&0x07;
|
||||
}
|
||||
else
|
||||
{
|
||||
for ( ; len > 0; len--)
|
||||
{
|
||||
if (a->data[len-1]) break;
|
||||
}
|
||||
j=a->data[len-1];
|
||||
if (j & 0x01) bits=0;
|
||||
else if (j & 0x02) bits=1;
|
||||
else if (j & 0x04) bits=2;
|
||||
else if (j & 0x08) bits=3;
|
||||
else if (j & 0x10) bits=4;
|
||||
else if (j & 0x20) bits=5;
|
||||
else if (j & 0x40) bits=6;
|
||||
else if (j & 0x80) bits=7;
|
||||
else bits=0; /* should not happen */
|
||||
}
|
||||
}
|
||||
else
|
||||
bits=0;
|
||||
ret=1+len;
|
||||
/* our bit strings are always a multiple of 8 :-) */
|
||||
bits=0;
|
||||
ret=1+a->length;
|
||||
r=ASN1_object_size(0,ret,V_ASN1_BIT_STRING);
|
||||
if (pp == NULL) return(r);
|
||||
p= *pp;
|
||||
|
||||
ASN1_put_object(&p,0,ret,V_ASN1_BIT_STRING,V_ASN1_UNIVERSAL);
|
||||
*(p++)=(unsigned char)bits;
|
||||
if (bits == 0)
|
||||
j=0;
|
||||
else j=8-bits;
|
||||
*(p++)=(unsigned char)j;
|
||||
d=a->data;
|
||||
memcpy(p,d,len);
|
||||
p+=len;
|
||||
if (len > 0) p[-1]&=(0xff<<bits);
|
||||
memcpy(p,d,a->length);
|
||||
p+=a->length;
|
||||
if (a->length > 0) p[-1]&=(0xff<<j);
|
||||
*pp=p;
|
||||
return(r);
|
||||
}
|
||||
@@ -150,12 +127,6 @@ long length;
|
||||
if (len < 1) { i=ASN1_R_STRING_TOO_SHORT; goto err; }
|
||||
|
||||
i= *(p++);
|
||||
/* We do this to preserve the settings. If we modify
|
||||
* the settings, via the _set_bit function, we will recalculate
|
||||
* on output */
|
||||
ret->flags&= ~(ASN1_STRING_FLAG_BITS_LEFT|0x07); /* clear */
|
||||
ret->flags|=(ASN1_STRING_FLAG_BITS_LEFT|(i&0x07)); /* set */
|
||||
|
||||
if (len-- > 1) /* using one because of the bits left byte */
|
||||
{
|
||||
s=(unsigned char *)Malloc((int)len);
|
||||
@@ -185,51 +156,3 @@ err:
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
/* These next 2 functions from Goetz Babin-Ebell <babinebell@trustcenter.de>
|
||||
*/
|
||||
int ASN1_BIT_STRING_set_bit(a,n,value)
|
||||
ASN1_BIT_STRING *a;
|
||||
int n;
|
||||
int value;
|
||||
{
|
||||
int w,v,iv;
|
||||
unsigned char *c;
|
||||
|
||||
w=n/8;
|
||||
v=1<<(7-(n&0x07));
|
||||
iv= ~v;
|
||||
|
||||
a->flags&= ~(ASN1_STRING_FLAG_BITS_LEFT|0x07); /* clear, set on write */
|
||||
|
||||
if (a == NULL) return(0);
|
||||
if ((a->length < (w+1)) || (a->data == NULL))
|
||||
{
|
||||
if (!value) return(1); /* Don't need to set */
|
||||
if (a->data == NULL)
|
||||
c=(unsigned char *)Malloc(w+1);
|
||||
else
|
||||
c=(unsigned char *)Realloc(a->data,w+1);
|
||||
if (c == NULL) return(0);
|
||||
a->data=c;
|
||||
a->length=w+1;
|
||||
c[w]=0;
|
||||
}
|
||||
a->data[w]=((a->data[w])&iv)|v;
|
||||
while ((a->length > 0) && (a->data[a->length-1] == 0))
|
||||
a->length--;
|
||||
return(1);
|
||||
}
|
||||
|
||||
int ASN1_BIT_STRING_get_bit(a,n)
|
||||
ASN1_BIT_STRING *a;
|
||||
int n;
|
||||
{
|
||||
int w,v;
|
||||
|
||||
w=n/8;
|
||||
v=1<<(7-(n&0x07));
|
||||
if ((a == NULL) || (a->length < (w+1)) || (a->data == NULL))
|
||||
return(0);
|
||||
return((a->data[w]&v) != 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,236 +0,0 @@
|
||||
/* crypto/asn1/a_bitstr.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
* by Eric Young (eay@cryptsoft.com).
|
||||
* The implementation was written so as to conform with Netscapes SSL.
|
||||
*
|
||||
* This library is free for commercial and non-commercial use as long as
|
||||
* the following conditions are aheared to. The following conditions
|
||||
* apply to all code found in this distribution, be it the RC4, RSA,
|
||||
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
||||
* included with this distribution is covered by the same copyright terms
|
||||
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
* Copyright remains Eric Young's, and as such any Copyright notices in
|
||||
* the code are not to be removed.
|
||||
* If this package is used in a product, Eric Young should be given attribution
|
||||
* as the author of the parts of the library used.
|
||||
* This can be in the form of a textual message at program startup or
|
||||
* in documentation (online or textual) provided with the package.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* "This product includes cryptographic software written by
|
||||
* Eric Young (eay@cryptsoft.com)"
|
||||
* The word 'cryptographic' can be left out if the rouines from the library
|
||||
* being used are not cryptographic related :-).
|
||||
* 4. If you include any Windows specific code (or a derivative thereof) from
|
||||
* the apps directory (application code) you must include an acknowledgement:
|
||||
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* 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
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "cryptlib.h"
|
||||
#include "asn1.h"
|
||||
|
||||
/* ASN1err(ASN1_F_ASN1_STRING_NEW,ASN1_R_STRING_TOO_SHORT);
|
||||
* ASN1err(ASN1_F_D2I_ASN1_BIT_STRING,ASN1_R_EXPECTING_A_BIT_STRING);
|
||||
*/
|
||||
|
||||
int i2d_ASN1_BIT_STRING(a,pp)
|
||||
ASN1_BIT_STRING *a;
|
||||
unsigned char **pp;
|
||||
{
|
||||
int ret,i,j,r,bits,len;
|
||||
unsigned char *p,*d;
|
||||
|
||||
if (a == NULL) return(0);
|
||||
|
||||
len=a->length;
|
||||
|
||||
if ((len > 0)
|
||||
{
|
||||
if (a->flags & ASN1_FG_BITS_LEFT))
|
||||
{
|
||||
bits=a->flags&0x07;
|
||||
}
|
||||
else
|
||||
{
|
||||
for ( ; len > 0; len--)
|
||||
{
|
||||
if (a->data[len-1]) break;
|
||||
}
|
||||
j=a->data[len-1];
|
||||
if (j & 0x80) bits=1;
|
||||
else if (j & 0x40) bits=2;
|
||||
else if (j & 0x20) bits=3;
|
||||
else if (j & 0x10) bits=4;
|
||||
else if (j & 0x08) bits=5;
|
||||
else if (j & 0x04) bits=6;
|
||||
else if (j & 0x02) bits=7;
|
||||
else if (j & 0x01) bits=8;
|
||||
else bits=0;
|
||||
}
|
||||
}
|
||||
else
|
||||
bits=0;
|
||||
ret=1+len;
|
||||
r=ASN1_object_size(0,ret,V_ASN1_BIT_STRING);
|
||||
if (pp == NULL) return(r);
|
||||
p= *pp;
|
||||
|
||||
ASN1_put_object(&p,0,ret,V_ASN1_BIT_STRING,V_ASN1_UNIVERSAL);
|
||||
if (bits == 0)
|
||||
j=0;
|
||||
else j=8-bits;
|
||||
*(p++)=(unsigned char)j;
|
||||
d=a->data;
|
||||
memcpy(p,d,len);
|
||||
p+=len;
|
||||
if (len > 0) p[-1]&=(0xff<<j);
|
||||
*pp=p;
|
||||
return(r);
|
||||
}
|
||||
|
||||
ASN1_BIT_STRING *d2i_ASN1_BIT_STRING(a, pp, length)
|
||||
ASN1_BIT_STRING **a;
|
||||
unsigned char **pp;
|
||||
long length;
|
||||
{
|
||||
ASN1_BIT_STRING *ret=NULL;
|
||||
unsigned char *p,*s;
|
||||
long len;
|
||||
int inf,tag,xclass;
|
||||
int i;
|
||||
|
||||
if ((a == NULL) || ((*a) == NULL))
|
||||
{
|
||||
if ((ret=ASN1_BIT_STRING_new()) == NULL) return(NULL);
|
||||
}
|
||||
else
|
||||
ret=(*a);
|
||||
|
||||
p= *pp;
|
||||
inf=ASN1_get_object(&p,&len,&tag,&xclass,length);
|
||||
if (inf & 0x80)
|
||||
{
|
||||
i=ASN1_R_BAD_OBJECT_HEADER;
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (tag != V_ASN1_BIT_STRING)
|
||||
{
|
||||
i=ASN1_R_EXPECTING_A_BIT_STRING;
|
||||
goto err;
|
||||
}
|
||||
if (len < 1) { i=ASN1_R_STRING_TOO_SHORT; goto err; }
|
||||
|
||||
i= *(p++);
|
||||
ret->flag&= ~(ASN1_FG_BITS_LEFT|0x07); /* clear */
|
||||
if (i > 0)
|
||||
ret->flag|=(ASN1_FG_BITS_LEFT|(i&0x07)); /* set */
|
||||
|
||||
if (len-- > 1) /* using one because of the bits left byte */
|
||||
{
|
||||
s=(unsigned char *)Malloc((int)len);
|
||||
if (s == NULL)
|
||||
{
|
||||
i=ERR_R_MALLOC_FAILURE;
|
||||
goto err;
|
||||
}
|
||||
memcpy(s,p,(int)len);
|
||||
s[len-1]&=(0xff<<i);
|
||||
p+=len;
|
||||
}
|
||||
else
|
||||
s=NULL;
|
||||
|
||||
ret->length=(int)len;
|
||||
if (ret->data != NULL) Free((char *)ret->data);
|
||||
ret->data=s;
|
||||
ret->type=V_ASN1_BIT_STRING;
|
||||
if (a != NULL) (*a)=ret;
|
||||
*pp=p;
|
||||
return(ret);
|
||||
err:
|
||||
ASN1err(ASN1_F_D2I_ASN1_BIT_STRING,i);
|
||||
if ((ret != NULL) && ((a == NULL) || (*a != ret)))
|
||||
ASN1_BIT_STRING_free(ret);
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
/* These next 2 functions from Goetz Babin-Ebell <babinebell@trustcenter.de>
|
||||
*/
|
||||
int ASN1_BIT_STRING_set_bit(a,n,value)
|
||||
ASN1_BIT_STRING *a;
|
||||
int n;
|
||||
int value;
|
||||
{
|
||||
int w,v,iv;
|
||||
unsigned char *c;
|
||||
|
||||
w=n/8;
|
||||
v=1<<(7-(n&0x07));
|
||||
iv= ~v;
|
||||
|
||||
a->flag&= ~(ASN1_FG_BITS_LEFT|0x07); /* clear, set on write */
|
||||
|
||||
if (a == NULL) return(0);
|
||||
if ((a->length < (w+1)) || (a->data == NULL))
|
||||
{
|
||||
if (!value) return(1); /* Don't need to set */
|
||||
if (a->data == NULL)
|
||||
c=(unsigned char *)Malloc(w+1);
|
||||
else
|
||||
c=(unsigned char *)Realloc(a->data,w+1);
|
||||
if (c == NULL) return(0);
|
||||
a->data=c;
|
||||
a->length=w+1;
|
||||
c[w]=0;
|
||||
}
|
||||
a->data[w]=((a->data[w])&iv)|v;
|
||||
while ((a->length > 0) && (a->data[a->length-1] == 0))
|
||||
a->length--;
|
||||
return(1);
|
||||
}
|
||||
|
||||
int ASN1_BIT_STRING_get_bit(a,n)
|
||||
ASN1_BIT_STRING *a;
|
||||
int n;
|
||||
{
|
||||
int w,v;
|
||||
|
||||
w=n/8;
|
||||
v=1<<(7-(n&0x07));
|
||||
if ((a == NULL) || (a->length < (w+1)) || (a->data == NULL))
|
||||
return(0);
|
||||
return((a->data[w]&v) != 0);
|
||||
}
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
/* crypto/asn1/a_bmp.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
* by Eric Young (eay@cryptsoft.com).
|
||||
* The implementation was written so as to conform with Netscapes SSL.
|
||||
*
|
||||
* This library is free for commercial and non-commercial use as long as
|
||||
* the following conditions are aheared to. The following conditions
|
||||
* apply to all code found in this distribution, be it the RC4, RSA,
|
||||
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
||||
* included with this distribution is covered by the same copyright terms
|
||||
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
* Copyright remains Eric Young's, and as such any Copyright notices in
|
||||
* the code are not to be removed.
|
||||
* If this package is used in a product, Eric Young should be given attribution
|
||||
* as the author of the parts of the library used.
|
||||
* This can be in the form of a textual message at program startup or
|
||||
* in documentation (online or textual) provided with the package.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* "This product includes cryptographic software written by
|
||||
* Eric Young (eay@cryptsoft.com)"
|
||||
* The word 'cryptographic' can be left out if the rouines from the library
|
||||
* being used are not cryptographic related :-).
|
||||
* 4. If you include any Windows specific code (or a derivative thereof) from
|
||||
* the apps directory (application code) you must include an acknowledgement:
|
||||
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* 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
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "cryptlib.h"
|
||||
#include "asn1.h"
|
||||
|
||||
/* ASN1err(ASN1_F_D2I_ASN1_INTEGER,ASN1_R_EXPECTING_AN_INTEGER);
|
||||
*/
|
||||
|
||||
int i2d_ASN1_BMPSTRING(a, pp)
|
||||
ASN1_BMPSTRING *a;
|
||||
unsigned char **pp;
|
||||
{
|
||||
return(i2d_ASN1_bytes((ASN1_STRING *)a,pp,
|
||||
V_ASN1_BMPSTRING,V_ASN1_UNIVERSAL));
|
||||
}
|
||||
|
||||
ASN1_BMPSTRING *d2i_ASN1_BMPSTRING(a, pp, length)
|
||||
ASN1_BMPSTRING **a;
|
||||
unsigned char **pp;
|
||||
long length;
|
||||
{
|
||||
ASN1_BMPSTRING *ret=NULL;
|
||||
|
||||
ret=(ASN1_BMPSTRING *)d2i_ASN1_bytes((ASN1_STRING **)a,
|
||||
pp,length,V_ASN1_BMPSTRING,V_ASN1_UNIVERSAL);
|
||||
if (ret == NULL)
|
||||
{
|
||||
ASN1err(ASN1_F_D2I_ASN1_BMPSTRING,ERR_R_NESTED_ASN1_ERROR);
|
||||
return(NULL);
|
||||
}
|
||||
return(ret);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* crypto/asn1/a_bool.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* crypto/asn1/a_bytes.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -60,19 +60,21 @@
|
||||
#include "cryptlib.h"
|
||||
#include "asn1_mac.h"
|
||||
|
||||
/* ASN1err(ASN1_F_D2I_ASN1_TYPE_BYTES,ASN1_R_WRONG_TYPE);
|
||||
/* ASN1err(ASN1_F_ASN1_TYPE_NEW,ASN1_R_ERROR_STACK);
|
||||
* ASN1err(ASN1_F_D2I_ASN1_TYPE_BYTES,ASN1_R_ERROR_STACK);
|
||||
* ASN1err(ASN1_F_D2I_ASN1_TYPE_BYTES,ASN1_R_WRONG_TYPE);
|
||||
* ASN1err(ASN1_F_ASN1_COLLATE_PRIMATIVE,ASN1_R_WRONG_TAG);
|
||||
*/
|
||||
|
||||
static unsigned long tag2bit[32]={
|
||||
0, 0, 0, B_ASN1_BIT_STRING, /* tags 0 - 3 */
|
||||
0, 0, 0, 0, /* tags 0 - 3 */
|
||||
B_ASN1_OCTET_STRING, 0, 0, B_ASN1_UNKNOWN,/* tags 4- 7 */
|
||||
B_ASN1_UNKNOWN, B_ASN1_UNKNOWN, B_ASN1_UNKNOWN, B_ASN1_UNKNOWN,/* tags 8-11 */
|
||||
B_ASN1_UNKNOWN, B_ASN1_UNKNOWN, B_ASN1_UNKNOWN, B_ASN1_UNKNOWN,/* tags 12-15 */
|
||||
0, 0, B_ASN1_NUMERICSTRING,B_ASN1_PRINTABLESTRING,
|
||||
B_ASN1_T61STRING,B_ASN1_VIDEOTEXSTRING,B_ASN1_IA5STRING,0,
|
||||
0,B_ASN1_GRAPHICSTRING,B_ASN1_ISO64STRING,B_ASN1_GENERALSTRING,
|
||||
B_ASN1_UNIVERSALSTRING,B_ASN1_UNKNOWN,B_ASN1_BMPSTRING,B_ASN1_UNKNOWN,
|
||||
B_ASN1_UNIVERSALSTRING,B_ASN1_UNKNOWN,B_ASN1_UNKNOWN,B_ASN1_UNKNOWN,
|
||||
};
|
||||
|
||||
#ifndef NOPROTO
|
||||
@@ -95,6 +97,13 @@ int type;
|
||||
int inf,tag,xclass;
|
||||
int i=0;
|
||||
|
||||
if ((a == NULL) || ((*a) == NULL))
|
||||
{
|
||||
if ((ret=ASN1_STRING_new()) == NULL) return(NULL);
|
||||
}
|
||||
else
|
||||
ret=(*a);
|
||||
|
||||
p= *pp;
|
||||
inf=ASN1_get_object(&p,&len,&tag,&xclass,length);
|
||||
if (inf & 0x80) goto err;
|
||||
@@ -109,18 +118,6 @@ int type;
|
||||
i=ASN1_R_WRONG_TYPE;
|
||||
goto err;
|
||||
}
|
||||
|
||||
/* If a bit-string, exit early */
|
||||
if (tag == V_ASN1_BIT_STRING)
|
||||
return(d2i_ASN1_BIT_STRING(a,pp,length));
|
||||
|
||||
if ((a == NULL) || ((*a) == NULL))
|
||||
{
|
||||
if ((ret=ASN1_STRING_new()) == NULL) return(NULL);
|
||||
}
|
||||
else
|
||||
ret=(*a);
|
||||
|
||||
if (len != 0)
|
||||
{
|
||||
s=(unsigned char *)Malloc((int)len+1);
|
||||
@@ -160,10 +157,6 @@ int xclass;
|
||||
unsigned char *p;
|
||||
|
||||
if (a == NULL) return(0);
|
||||
|
||||
if (tag == V_ASN1_BIT_STRING)
|
||||
return(i2d_ASN1_BIT_STRING(a,pp));
|
||||
|
||||
ret=a->length;
|
||||
r=ASN1_object_size(0,ret,tag);
|
||||
if (pp == NULL) return(r);
|
||||
@@ -236,7 +229,7 @@ int Pclass;
|
||||
{
|
||||
if (len != 0)
|
||||
{
|
||||
if ((ret->length < len) || (ret->data == NULL))
|
||||
if (ret->length < len)
|
||||
{
|
||||
if (ret->data != NULL) Free((char *)ret->data);
|
||||
s=(unsigned char *)Malloc((int)len);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* crypto/asn1/a_d2i_fp.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
#define HEADER_SIZE 8
|
||||
|
||||
#ifndef NO_FP_API
|
||||
#ifndef WIN16
|
||||
char *ASN1_d2i_fp(xnew,d2i,in,x)
|
||||
char *(*xnew)();
|
||||
char *(*d2i)();
|
||||
@@ -108,7 +108,6 @@ unsigned char **x;
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
ERR_clear_error();
|
||||
for (;;)
|
||||
{
|
||||
if (want >= (len-off))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* crypto/asn1/a_digest.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* crypto/asn1/a_dup.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* crypto/asn1/a_hdr.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -62,10 +62,10 @@
|
||||
#include "asn1.h"
|
||||
|
||||
/*
|
||||
* ASN1err(ASN1_F_D2I_ASN1_HEADER,ERR_R_ASN1_LENGTH_MISMATCH);
|
||||
* ASN1err(ASN1_F_I2D_ASN1_HEADER,ERR_R_BAD_GET_ASN1_OBJECT_CALL);
|
||||
* ASN1err(ASN1_F_I2D_ASN1_HEADER,ERR_R_BAD_GET_ASN1_OBJECT_CALL);
|
||||
* ASN1err(ASN1_F_ASN1_HEADER_NEW,ERR_R_BAD_GET_ASN1_OBJECT_CALL);
|
||||
* ASN1err(ASN1_F_D2I_ASN1_HEADER,ASN1_R_LENGTH_MISMATCH);
|
||||
* ASN1err(ASN1_F_I2D_ASN1_HEADER,ASN1_R_BAD_GET_OBJECT);
|
||||
* ASN1err(ASN1_F_I2D_ASN1_HEADER,ASN1_R_BAD_GET_OBJECT);
|
||||
* ASN1err(ASN1_F_ASN1_HEADER_NEW,ASN1_R_BAD_GET_OBJECT);
|
||||
*/
|
||||
|
||||
int i2d_ASN1_HEADER(a,pp)
|
||||
@@ -110,7 +110,6 @@ long length;
|
||||
ASN1_HEADER *ASN1_HEADER_new()
|
||||
{
|
||||
ASN1_HEADER *ret=NULL;
|
||||
ASN1_CTX c;
|
||||
|
||||
M_ASN1_New_Malloc(ret,ASN1_HEADER);
|
||||
M_ASN1_New(ret->header,ASN1_OCTET_STRING_new);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* crypto/asn1/a_i2d_fp.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -61,7 +61,7 @@
|
||||
#include "buffer.h"
|
||||
#include "asn1_mac.h"
|
||||
|
||||
#ifndef NO_FP_API
|
||||
#ifndef WIN16
|
||||
int ASN1_i2d_fp(i2d,out,x)
|
||||
int (*i2d)();
|
||||
FILE *out;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* crypto/asn1/a_int.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
@@ -251,8 +251,7 @@ ASN1_INTEGER *a;
|
||||
|
||||
if (a->length > sizeof(long))
|
||||
{
|
||||
/* hmm... a bit ugly */
|
||||
return(0xffffffffL);
|
||||
return(0xFFFFFFFFL);
|
||||
}
|
||||
if (a->data == NULL)
|
||||
return(0);
|
||||
@@ -279,7 +278,7 @@ ASN1_INTEGER *ai;
|
||||
ret=ai;
|
||||
if (ret == NULL)
|
||||
{
|
||||
ASN1err(ASN1_F_BN_TO_ASN1_INTEGER,ERR_R_NESTED_ASN1_ERROR);
|
||||
ASN1err(ASN1_F_BN_TO_ASN1_INTEGER,ASN1_R_ERROR_STACK);
|
||||
goto err;
|
||||
}
|
||||
ret->type=V_ASN1_INTEGER;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user