Compare commits

..

1 Commits

Author SHA1 Message Date
Steve Dower
4155d3c2bd Import OpenSSL 1.0.2q 2018-12-07 11:08:57 -08:00
75 changed files with 3071 additions and 1937 deletions

30
CHANGES
View File

@@ -7,6 +7,36 @@
https://github.com/openssl/openssl/commits/ and pick the appropriate
release branch.
Changes between 1.0.2p and 1.0.2q [20 Nov 2018]
*) Microarchitecture timing vulnerability in ECC scalar multiplication
OpenSSL ECC scalar multiplication, used in e.g. ECDSA and ECDH, has been
shown to be vulnerable to a microarchitecture timing side channel attack.
An attacker with sufficient access to mount local timing attacks during
ECDSA signature generation could recover the private key.
This issue was reported to OpenSSL on 26th October 2018 by Alejandro
Cabrera Aldaya, Billy Brumley, Sohaib ul Hassan, Cesar Pereida Garcia and
Nicola Tuveri.
(CVE-2018-5407)
[Billy Brumley]
*) Timing vulnerability in DSA signature generation
The OpenSSL DSA signature algorithm has been shown to be vulnerable to a
timing side channel attack. An attacker could use variations in the signing
algorithm to recover the private key.
This issue was reported to OpenSSL on 16th October 2018 by Samuel Weiser.
(CVE-2018-0734)
[Paul Dale]
*) Resolve a compatibility issue in EC_GROUP handling with the FIPS Object
Module, accidentally introduced while backporting security fixes from the
development branch and hindering the use of ECC in FIPS mode.
[Nicola Tuveri]
Changes between 1.0.2o and 1.0.2p [14 Aug 2018]
*) Client DoS due to large DH parameter

16
MINFO
View File

@@ -53,7 +53,7 @@ MANSUFFIX=
MD5_ASM_OBJ=md5-586.o
MINOR=0.2
MODES_ASM_OBJ=ghash-x86.o
NAME=openssl-1.0.2p
NAME=openssl-1.0.2q
NM=nm
ONEDIRS=out tmp
OPENSSLDIR=/usr/local/ssl
@@ -85,19 +85,19 @@ SHLIB_TARGET=
SHLIB_VERSION_HISTORY=
SHLIB_VERSION_NUMBER=1.0.0
TAR=tar
TARFILE=../openssl-1.0.2p.tar
TARFILE=../openssl-1.0.2q.tar
TARFLAGS=--no-recursion
TAR_COMMAND=tar --no-recursion --files-from ../openssl-1.0.2p.tar.list --owner 0 --group 0 --transform 's|^|openssl-1.0.2p/|' -cvf -
TAR_COMMAND=tar --no-recursion --files-from ../openssl-1.0.2q.tar.list --owner 0 --group 0 --transform 's|^|openssl-1.0.2q/|' -cvf -
TESTS=alltests
TOP=.
VERSION=1.0.2p
VERSION=1.0.2q
WDIRS=windows
WP_ASM_OBJ=wp_block.o wp-mmx.o
ZLIB_INCLUDE=
RELATIVE_DIRECTORY=
RELATIVE_DIRECTORY=crypto
AFLAGS=-I. -I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
ALL=Makefile README crypto-lib.com install.com cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h constant_time_locl.h bn_int.h crypto.h opensslv.h opensslconf.h ebcdic.h symhacks.h ossl_typ.h
ALL=Makefile README crypto-lib.com install.com cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c getenv.c cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h constant_time_locl.h bn_int.h crypto.h opensslv.h opensslconf.h ebcdic.h symhacks.h ossl_typ.h
AR=ar r
ASFLAGS=-I. -I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
CC=cl
@@ -112,9 +112,9 @@ HEADER=cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h constant_tim
INCLUDE=-I. -I.. -I../include
INCLUDES=-I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include
LIB=../libcrypto.a
LIBOBJ=cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o cpt_err.o ebcdic.o uid.o o_time.o o_str.o o_dir.o o_fips.o o_init.o fips_ers.o x86cpuid.o
LIBOBJ=cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o cpt_err.o ebcdic.o uid.o o_time.o o_str.o o_dir.o o_fips.o o_init.o fips_ers.o getenv.o x86cpuid.o
LIBS=
LIBSRC=cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c
LIBSRC=cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c getenv.c
MAKEDEPEND=../util/domd .. -MD makedepend
MAKEDEPPROG=makedepend
MAKEFILE=Makefile
@@ -122,7 +122,7 @@ PEX_LIBS=
RECURSIVE_MAKE=[ -n "objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac" ] && for i in objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac ; do (cd $$i && echo "making $$target in crypto/$$i..." && -e TOP=../.. DIR=$$i INCLUDES='-I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include ' $$target ) || exit 1; done;
RM=rm -f
SHARED_LIB=libcrypto
SRC=cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c
SRC=cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c getenv.c
TEST=constant_time_test.c
TOP=..
RELATIVE_DIRECTORY=

View File

@@ -4,7 +4,7 @@
## Makefile for OpenSSL
##
VERSION=1.0.2p
VERSION=1.0.2q
MAJOR=1
MINOR=0.2
SHLIB_VERSION_NUMBER=1.0.0

View File

@@ -4,7 +4,7 @@
## Makefile for OpenSSL
##
VERSION=1.0.2p
VERSION=1.0.2q
MAJOR=1
MINOR=0.2
SHLIB_VERSION_NUMBER=1.0.0

5
NEWS
View File

@@ -5,6 +5,11 @@
This file gives a brief overview of the major changes between each OpenSSL
release. For more details please read the CHANGES file.
Major changes between OpenSSL 1.0.2p and OpenSSL 1.0.2q [20 Nov 2018]
o Microarchitecture timing vulnerability in ECC scalar multiplication (CVE-2018-5407)
o Timing vulnerability in DSA signature generation (CVE-2018-0734)
Major changes between OpenSSL 1.0.2o and OpenSSL 1.0.2p [14 Aug 2018]
o Client DoS due to large DH parameter (CVE-2018-0732)

2
README
View File

@@ -1,5 +1,5 @@
OpenSSL 1.0.2p 14 Aug 2018
OpenSSL 1.0.2q 20 Nov 2018
Copyright (c) 1998-2018 The OpenSSL Project
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson

188
apps/CA.pl.bak Normal file
View File

@@ -0,0 +1,188 @@
#!/usr/bin/perl
#
# CA - wrapper around ca to make it easier to use ... basically ca requires
# some setup stuff to be done before you can use it and this makes
# things easier between now and when Eric is convinced to fix it :-)
#
# CA -newca ... will setup the right stuff
# CA -newreq[-nodes] ... will generate a certificate request
# CA -sign ... will sign the generated request and output
#
# At the end of that grab newreq.pem and newcert.pem (one has the key
# and the other the certificate) and cat them together and that is what
# you want/need ... I'll make even this a little cleaner later.
#
#
# 12-Jan-96 tjh Added more things ... including CA -signcert which
# converts a certificate to a request and then signs it.
# 10-Jan-96 eay Fixed a few more bugs and added the SSLEAY_CONFIG
# environment variable so this can be driven from
# a script.
# 25-Jul-96 eay Cleaned up filenames some more.
# 11-Jun-96 eay Fixed a few filename missmatches.
# 03-May-96 eay Modified to use 'ssleay cmd' instead of 'cmd'.
# 18-Apr-96 tjh Original hacking
#
# Tim Hudson
# tjh@cryptsoft.com
#
# 27-Apr-98 snh Translation into perl, fix existing CA bug.
#
#
# Steve Henson
# shenson@bigfoot.com
# default openssl.cnf file has setup as per the following
# demoCA ... where everything is stored
my $openssl;
if(defined $ENV{OPENSSL}) {
$openssl = $ENV{OPENSSL};
} else {
$openssl = "openssl";
$ENV{OPENSSL} = $openssl;
}
$SSLEAY_CONFIG=$ENV{"SSLEAY_CONFIG"};
$DAYS="-days 365"; # 1 year
$CADAYS="-days 1095"; # 3 years
$REQ="$openssl req $SSLEAY_CONFIG";
$CA="$openssl ca $SSLEAY_CONFIG";
$VERIFY="$openssl verify";
$X509="$openssl x509";
$PKCS12="$openssl pkcs12";
$CATOP="./demoCA";
$CAKEY="cakey.pem";
$CAREQ="careq.pem";
$CACERT="cacert.pem";
$DIRMODE = 0777;
$RET = 0;
foreach (@ARGV) {
if ( /^(-\?|-h|-help)$/ ) {
print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-signcert|-verify\n";
exit 0;
} elsif (/^-newcert$/) {
# create a certificate
system ("$REQ -new -x509 -keyout newkey.pem -out newcert.pem $DAYS");
$RET=$?;
print "Certificate is in newcert.pem, private key is in newkey.pem\n"
} elsif (/^-newreq$/) {
# create a certificate request
system ("$REQ -new -keyout newkey.pem -out newreq.pem $DAYS");
$RET=$?;
print "Request is in newreq.pem, private key is in newkey.pem\n";
} elsif (/^-newreq-nodes$/) {
# create a certificate request
system ("$REQ -new -nodes -keyout newkey.pem -out newreq.pem $DAYS");
$RET=$?;
print "Request is in newreq.pem, private key is in newkey.pem\n";
} elsif (/^-newca$/) {
# if explicitly asked for or it doesn't exist then setup the
# directory structure that Eric likes to manage things
$NEW="1";
if ( "$NEW" || ! -f "${CATOP}/serial" ) {
# create the directory hierarchy
mkdir $CATOP, $DIRMODE;
mkdir "${CATOP}/certs", $DIRMODE;
mkdir "${CATOP}/crl", $DIRMODE ;
mkdir "${CATOP}/newcerts", $DIRMODE;
mkdir "${CATOP}/private", $DIRMODE;
open OUT, ">${CATOP}/index.txt";
close OUT;
open OUT, ">${CATOP}/crlnumber";
print OUT "01\n";
close OUT;
}
if ( ! -f "${CATOP}/private/$CAKEY" ) {
print "CA certificate filename (or enter to create)\n";
$FILE = <STDIN>;
chop $FILE;
# ask user for existing CA certificate
if ($FILE) {
cp_pem($FILE,"${CATOP}/private/$CAKEY", "PRIVATE");
cp_pem($FILE,"${CATOP}/$CACERT", "CERTIFICATE");
$RET=$?;
} else {
print "Making CA certificate ...\n";
system ("$REQ -new -keyout " .
"${CATOP}/private/$CAKEY -out ${CATOP}/$CAREQ");
system ("$CA -create_serial " .
"-out ${CATOP}/$CACERT $CADAYS -batch " .
"-keyfile ${CATOP}/private/$CAKEY -selfsign " .
"-extensions v3_ca " .
"-infiles ${CATOP}/$CAREQ ");
$RET=$?;
}
}
} elsif (/^-pkcs12$/) {
my $cname = $ARGV[1];
$cname = "My Certificate" unless defined $cname;
system ("$PKCS12 -in newcert.pem -inkey newkey.pem " .
"-certfile ${CATOP}/$CACERT -out newcert.p12 " .
"-export -name \"$cname\"");
$RET=$?;
print "PKCS #12 file is in newcert.p12\n";
exit $RET;
} elsif (/^-xsign$/) {
system ("$CA -policy policy_anything -infiles newreq.pem");
$RET=$?;
} elsif (/^(-sign|-signreq)$/) {
system ("$CA -policy policy_anything -out newcert.pem " .
"-infiles newreq.pem");
$RET=$?;
print "Signed certificate is in newcert.pem\n";
} elsif (/^(-signCA)$/) {
system ("$CA -policy policy_anything -out newcert.pem " .
"-extensions v3_ca -infiles newreq.pem");
$RET=$?;
print "Signed CA certificate is in newcert.pem\n";
} elsif (/^-signcert$/) {
system ("$X509 -x509toreq -in newreq.pem -signkey newreq.pem " .
"-out tmp.pem");
system ("$CA -policy policy_anything -out newcert.pem " .
"-infiles tmp.pem");
$RET = $?;
print "Signed certificate is in newcert.pem\n";
} elsif (/^-verify$/) {
if (shift) {
foreach $j (@ARGV) {
system ("$VERIFY -CAfile $CATOP/$CACERT $j");
$RET=$? if ($? != 0);
}
exit $RET;
} else {
system ("$VERIFY -CAfile $CATOP/$CACERT newcert.pem");
$RET=$?;
exit 0;
}
} else {
print STDERR "Unknown arg $_\n";
print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n";
exit 1;
}
}
exit $RET;
sub cp_pem {
my ($infile, $outfile, $bound) = @_;
open IN, $infile;
open OUT, ">$outfile";
my $flag = 0;
while (<IN>) {
$flag = 1 if (/^-----BEGIN.*$bound/) ;
print OUT $_ if ($flag);
if (/^-----END.*$bound/) {
close IN;
close OUT;
return;
}
}
}

View File

@@ -659,8 +659,7 @@ int MAIN(int argc, char **argv)
}
}
BIO_printf(bio_err, "Generating a %ld bit %s private key\n",
newkey, keyalgstr);
BIO_printf(bio_err, "Generating a %s private key\n", keyalgstr);
EVP_PKEY_CTX_set_cb(genctx, genpkey_cb);
EVP_PKEY_CTX_set_app_data(genctx, bio_err);

1
config
View File

@@ -992,5 +992,6 @@ if [ $? = "0" ]; then
fi
else
echo "This system ($OUT) is not supported. See file INSTALL for details."
exit 1
fi
)

View File

@@ -36,9 +36,11 @@ TEST=constant_time_test.c
LIB= $(TOP)/libcrypto.a
SHARED_LIB= libcrypto$(SHLIB_EXT)
LIBSRC= cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c \
ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c
ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c \
getenv.c
LIBOBJ= cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o cpt_err.o ebcdic.o \
uid.o o_time.o o_str.o o_dir.o o_fips.o o_init.o fips_ers.o $(CPUID_OBJ)
uid.o o_time.o o_str.o o_dir.o o_fips.o o_init.o fips_ers.o getenv.o \
$(CPUID_OBJ)
SRC= $(LIBSRC)
@@ -178,6 +180,13 @@ ex_data.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
ex_data.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
ex_data.o: ex_data.c
fips_ers.o: ../include/openssl/opensslconf.h fips_ers.c
getenv.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
getenv.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
getenv.o: ../include/openssl/err.h ../include/openssl/lhash.h
getenv.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
getenv.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
getenv.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
getenv.o: getenv.c
mem.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
mem.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
mem.o: ../include/openssl/err.h ../include/openssl/lhash.h

View File

@@ -56,6 +56,9 @@
* [including the GNU Public Licence.]
*/
#define _DEFAULT_SOURCE
#define _BSD_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
@@ -83,6 +86,11 @@ NETDB_DEFINE_CONTEXT
static int wsa_init_done = 0;
# endif
# if defined(__GLIBC__)
# define HAVE_GETHOSTBYNAME_R
# define GETHOSTNAME_R_BUF (2 * 1024)
# endif
/*
* WSAAPI specifier is required to make indirect calls to run-time
* linked WinSock 2 functions used in this module, to be specific
@@ -116,7 +124,12 @@ int BIO_get_host_ip(const char *str, unsigned char *ip)
int i;
int err = 1;
int locked = 0;
struct hostent *he;
struct hostent *he = NULL;
# ifdef HAVE_GETHOSTBYNAME_R
char buf[GETHOSTNAME_R_BUF];
struct hostent hostent;
int h_errnop;
# endif
i = get_ip(str, ip);
if (i < 0) {
@@ -138,10 +151,18 @@ int BIO_get_host_ip(const char *str, unsigned char *ip)
if (i > 0)
return (1);
/* if gethostbyname_r is supported, use it. */
# ifdef HAVE_GETHOSTBYNAME_R
memset(&hostent, 0x00, sizeof(hostent));
/* gethostbyname_r() sets |he| to NULL on error, we check it further down */
gethostbyname_r(str, &hostent, buf, sizeof(buf), &he, &h_errnop);
# else
/* do a gethostbyname */
CRYPTO_w_lock(CRYPTO_LOCK_GETHOSTBYNAME);
locked = 1;
he = BIO_gethostbyname(str);
# endif
if (he == NULL) {
BIOerr(BIO_F_BIO_GET_HOST_IP, BIO_R_BAD_HOSTNAME_LOOKUP);
goto err;

View File

@@ -55,12 +55,6 @@
* machine.
*/
# if defined(_WIN64) || !defined(__LP64__)
# define BN_ULONG unsigned long long
# else
# define BN_ULONG unsigned long
# endif
# undef mul
# undef mul_add

View File

@@ -1,6 +1,6 @@
/* crypto/bn/bn_blind.c */
/* ====================================================================
* Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved.
* Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -206,10 +206,15 @@ int BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx)
if (!BN_BLINDING_create_param(b, NULL, NULL, ctx, NULL, NULL))
goto err;
} else if (!(b->flags & BN_BLINDING_NO_UPDATE)) {
if (!BN_mod_mul(b->A, b->A, b->A, b->mod, ctx))
goto err;
if (!BN_mod_mul(b->Ai, b->Ai, b->Ai, b->mod, ctx))
goto err;
if (b->m_ctx != NULL) {
if (!bn_mul_mont_fixed_top(b->Ai, b->Ai, b->Ai, b->m_ctx, ctx)
|| !bn_mul_mont_fixed_top(b->A, b->A, b->A, b->m_ctx, ctx))
goto err;
} else {
if (!BN_mod_mul(b->Ai, b->Ai, b->Ai, b->mod, ctx)
|| !BN_mod_mul(b->A, b->A, b->A, b->mod, ctx))
goto err;
}
}
ret = 1;
@@ -241,13 +246,13 @@ int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *ctx)
else if (!BN_BLINDING_update(b, ctx))
return (0);
if (r != NULL) {
if (!BN_copy(r, b->Ai))
ret = 0;
}
if (r != NULL && (BN_copy(r, b->Ai) == NULL))
return 0;
if (!BN_mod_mul(n, n, b->A, b->mod, ctx))
ret = 0;
if (b->m_ctx != NULL)
ret = BN_mod_mul_montgomery(n, n, b->A, b->m_ctx, ctx);
else
ret = BN_mod_mul(n, n, b->A, b->mod, ctx);
return ret;
}
@@ -264,14 +269,29 @@ int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b,
bn_check_top(n);
if (r != NULL)
ret = BN_mod_mul(n, n, r, b->mod, ctx);
else {
if (b->Ai == NULL) {
BNerr(BN_F_BN_BLINDING_INVERT_EX, BN_R_NOT_INITIALIZED);
return (0);
if (r == NULL && (r = b->Ai) == NULL) {
BNerr(BN_F_BN_BLINDING_INVERT_EX, BN_R_NOT_INITIALIZED);
return 0;
}
if (b->m_ctx != NULL) {
/* ensure that BN_mod_mul_montgomery takes pre-defined path */
if (n->dmax >= r->top) {
size_t i, rtop = r->top, ntop = n->top;
BN_ULONG mask;
for (i = 0; i < rtop; i++) {
mask = (BN_ULONG)0 - ((i - ntop) >> (8 * sizeof(i) - 1));
n->d[i] &= mask;
}
mask = (BN_ULONG)0 - ((rtop - ntop) >> (8 * sizeof(ntop) - 1));
/* always true, if (rtop >= ntop) n->top = r->top; */
n->top = (int)(rtop & ~mask) | (ntop & mask);
n->flags |= (BN_FLG_FIXED_TOP & ~mask);
}
ret = BN_mod_mul(n, n, b->Ai, b->mod, ctx);
ret = BN_mod_mul_montgomery(n, n, r, b->m_ctx, ctx);
} else {
ret = BN_mod_mul(n, n, r, b->mod, ctx);
}
bn_check_top(n);
@@ -366,14 +386,19 @@ BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b,
} while (1);
if (ret->bn_mod_exp != NULL && ret->m_ctx != NULL) {
if (!ret->bn_mod_exp
(ret->A, ret->A, ret->e, ret->mod, ctx, ret->m_ctx))
if (!ret->bn_mod_exp(ret->A, ret->A, ret->e, ret->mod, ctx, ret->m_ctx))
goto err;
} else {
if (!BN_mod_exp(ret->A, ret->A, ret->e, ret->mod, ctx))
goto err;
}
if (ret->m_ctx != NULL) {
if (!bn_to_mont_fixed_top(ret->Ai, ret->Ai, ret->m_ctx, ctx)
|| !bn_to_mont_fixed_top(ret->A, ret->A, ret->m_ctx, ctx))
goto err;
}
return ret;
err:
if (b == NULL && ret != NULL) {

View File

@@ -617,26 +617,40 @@ BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret)
static int bn2binpad(const BIGNUM *a, unsigned char *to, int tolen)
{
int n;
size_t i, inc, lasti, j;
size_t i, lasti, j, atop, mask;
BN_ULONG l;
/*
* In case |a| is fixed-top, BN_num_bytes can return bogus length,
* but it's assumed that fixed-top inputs ought to be "nominated"
* even for padded output, so it works out...
*/
n = BN_num_bytes(a);
if (tolen == -1)
if (tolen == -1) {
tolen = n;
else if (tolen < n)
return -1;
} else if (tolen < n) { /* uncommon/unlike case */
BIGNUM temp = *a;
if (n == 0) {
bn_correct_top(&temp);
n = BN_num_bytes(&temp);
if (tolen < n)
return -1;
}
/* Swipe through whole available data and don't give away padded zero. */
atop = a->dmax * BN_BYTES;
if (atop == 0) {
OPENSSL_cleanse(to, tolen);
return tolen;
}
lasti = n - 1;
for (i = 0, inc = 1, j = tolen; j > 0;) {
lasti = atop - 1;
atop = a->top * BN_BYTES;
for (i = 0, j = 0, to += tolen; j < (size_t)tolen; j++) {
l = a->d[i / BN_BYTES];
to[--j] = (unsigned char)(l >> (8 * (i % BN_BYTES)) & (0 - inc));
inc = (i - lasti) >> (8 * sizeof(i) - 1);
i += inc; /* stay on top limb */
mask = 0 - ((j - atop) >> (8 * sizeof(i) - 1));
*--to = (unsigned char)(l >> (8 * (i % BN_BYTES)) & mask);
i += (i - lasti) >> (8 * sizeof(i) - 1); /* stay on last limb */
}
return tolen;
@@ -889,6 +903,38 @@ void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords)
a->top ^= t;
b->top ^= t;
t = (a->neg ^ b->neg) & condition;
a->neg ^= t;
b->neg ^= t;
/*-
* BN_FLG_STATIC_DATA: indicates that data may not be written to. Intention
* is actually to treat it as it's read-only data, and some (if not most)
* of it does reside in read-only segment. In other words observation of
* BN_FLG_STATIC_DATA in BN_consttime_swap should be treated as fatal
* condition. It would either cause SEGV or effectively cause data
* corruption.
*
* BN_FLG_MALLOCED: refers to BN structure itself, and hence must be
* preserved.
*
* BN_FLG_SECURE: must be preserved, because it determines how x->d was
* allocated and hence how to free it.
*
* BN_FLG_CONSTTIME: sufficient to mask and swap
*
* BN_FLG_FIXED_TOP: indicates that we haven't called bn_correct_top() on
* the data, so the d array may be padded with additional 0 values (i.e.
* top could be greater than the minimal value that it could be). We should
* be swapping it
*/
#define BN_CONSTTIME_SWAP_FLAGS (BN_FLG_CONSTTIME | BN_FLG_FIXED_TOP)
t = ((a->flags ^ b->flags) & BN_CONSTTIME_SWAP_FLAGS) & condition;
a->flags ^= t;
b->flags ^= t;
#define BN_CONSTTIME_SWAP(ind) \
do { \
t = (a->d[ind] ^ b->d[ind]) & condition; \

View File

@@ -172,7 +172,7 @@ int bn_mod_add_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
if (mtop > sizeof(storage) / sizeof(storage[0])
&& (tp = OPENSSL_malloc(mtop * sizeof(BN_ULONG))) == NULL)
return 0;
return 0;
ap = a->d != NULL ? a->d : tp;
bp = b->d != NULL ? b->d : tp;
@@ -197,6 +197,7 @@ int bn_mod_add_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
((volatile BN_ULONG *)tp)[i] = 0;
}
r->top = mtop;
r->flags |= BN_FLG_FIXED_TOP;
r->neg = 0;
if (tp != storage)
@@ -224,6 +225,70 @@ int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m,
return BN_nnmod(r, r, m, ctx);
}
/*
* BN_mod_sub variant that may be used if both a and b are non-negative,
* a is less than m, while b is of same bit width as m. It's implemented
* as subtraction followed by two conditional additions.
*
* 0 <= a < m
* 0 <= b < 2^w < 2*m
*
* after subtraction
*
* -2*m < r = a - b < m
*
* Thus it takes up to two conditional additions to make |r| positive.
*/
int bn_mod_sub_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
const BIGNUM *m)
{
size_t i, ai, bi, mtop = m->top;
BN_ULONG borrow, carry, ta, tb, mask, *rp;
const BN_ULONG *ap, *bp;
if (bn_wexpand(r, m->top) == NULL)
return 0;
rp = r->d;
ap = a->d != NULL ? a->d : rp;
bp = b->d != NULL ? b->d : rp;
for (i = 0, ai = 0, bi = 0, borrow = 0; i < mtop;) {
mask = (BN_ULONG)0 - ((i - a->top) >> (8 * sizeof(i) - 1));
ta = ap[ai] & mask;
mask = (BN_ULONG)0 - ((i - b->top) >> (8 * sizeof(i) - 1));
tb = bp[bi] & mask;
rp[i] = ta - tb - borrow;
if (ta != tb)
borrow = (ta < tb);
i++;
ai += (i - a->dmax) >> (8 * sizeof(i) - 1);
bi += (i - b->dmax) >> (8 * sizeof(i) - 1);
}
ap = m->d;
for (i = 0, mask = 0 - borrow, carry = 0; i < mtop; i++) {
ta = ((ap[i] & mask) + carry) & BN_MASK2;
carry = (ta < carry);
rp[i] = (rp[i] + ta) & BN_MASK2;
carry += (rp[i] < ta);
}
borrow -= carry;
for (i = 0, mask = 0 - borrow, carry = 0; i < mtop; i++) {
ta = ((ap[i] & mask) + carry) & BN_MASK2;
carry = (ta < carry);
rp[i] = (rp[i] + ta) & BN_MASK2;
carry += (rp[i] < ta);
}
r->top = mtop;
r->flags |= BN_FLG_FIXED_TOP;
r->neg = 0;
return 1;
}
/*
* BN_mod_sub variant that may be used if both a and b are non-negative and
* less than m

View File

@@ -164,10 +164,10 @@ int bn_mul_mont_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
bn_check_top(tmp);
if (a == b) {
if (!BN_sqr(tmp, a, ctx))
if (!bn_sqr_fixed_top(tmp, a, ctx))
goto err;
} else {
if (!BN_mul(tmp, a, b, ctx))
if (!bn_mul_fixed_top(tmp, a, b, ctx))
goto err;
}
/* reduce from aRR to aR */
@@ -190,6 +190,7 @@ static int bn_from_montgomery_word(BIGNUM *ret, BIGNUM *r, BN_MONT_CTX *mont)
BIGNUM *n;
BN_ULONG *ap, *np, *rp, n0, v, carry;
int nl, max, i;
unsigned int rtop;
n = &(mont->N);
nl = n->top;
@@ -207,12 +208,10 @@ static int bn_from_montgomery_word(BIGNUM *ret, BIGNUM *r, BN_MONT_CTX *mont)
rp = r->d;
/* clear the top words of T */
# if 1
for (i = r->top; i < max; i++) /* memset? XXX */
rp[i] = 0;
# else
memset(&(rp[r->top]), 0, (max - r->top) * sizeof(BN_ULONG));
# endif
for (rtop = r->top, i = 0; i < max; i++) {
v = (BN_ULONG)0 - ((i - rtop) >> (8 * sizeof(rtop) - 1));
rp[i] &= v;
}
r->top = max;
r->flags |= BN_FLG_FIXED_TOP;
@@ -262,6 +261,18 @@ static int bn_from_montgomery_word(BIGNUM *ret, BIGNUM *r, BN_MONT_CTX *mont)
int BN_from_montgomery(BIGNUM *ret, const BIGNUM *a, BN_MONT_CTX *mont,
BN_CTX *ctx)
{
int retn;
retn = bn_from_mont_fixed_top(ret, a, mont, ctx);
bn_correct_top(ret);
bn_check_top(ret);
return retn;
}
int bn_from_mont_fixed_top(BIGNUM *ret, const BIGNUM *a, BN_MONT_CTX *mont,
BN_CTX *ctx)
{
int retn = 0;
#ifdef MONT_WORD
@@ -270,8 +281,6 @@ int BN_from_montgomery(BIGNUM *ret, const BIGNUM *a, BN_MONT_CTX *mont,
BN_CTX_start(ctx);
if ((t = BN_CTX_get(ctx)) && BN_copy(t, a)) {
retn = bn_from_montgomery_word(ret, t, mont);
bn_correct_top(ret);
bn_check_top(ret);
}
BN_CTX_end(ctx);
#else /* !MONT_WORD */

View File

@@ -935,6 +935,16 @@ void bn_mul_high(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, BN_ULONG *l, int n2,
#endif /* BN_RECURSION */
int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
{
int ret = bn_mul_fixed_top(r, a, b, ctx);
bn_correct_top(r);
bn_check_top(r);
return ret;
}
int bn_mul_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
{
int ret = 0;
int top, al, bl;
@@ -1042,7 +1052,7 @@ int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
#if defined(BN_MUL_COMBA) || defined(BN_RECURSION)
end:
#endif
bn_correct_top(rr);
rr->flags |= BN_FLG_FIXED_TOP;
if (r != rr && BN_copy(r, rr) == NULL)
goto err;

View File

@@ -65,6 +65,16 @@
* I've just gone over this and it is now %20 faster on x86 - eay - 27 Jun 96
*/
int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx)
{
int ret = bn_sqr_fixed_top(r, a, ctx);
bn_correct_top(r);
bn_check_top(r);
return ret;
}
int bn_sqr_fixed_top(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx)
{
int max, al;
int ret = 0;
@@ -136,7 +146,7 @@ int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx)
rr->neg = 0;
rr->top = max;
bn_correct_top(rr);
rr->flags |= BN_FLG_FIXED_TOP;
if (r != rr && BN_copy(r, rr) == NULL)
goto err;

View File

@@ -4,7 +4,7 @@
* 2005.
*/
/* ====================================================================
* Copyright (c) 2005 The OpenSSL Project. All rights reserved.
* Copyright (c) 2005-2018 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -223,8 +223,10 @@ int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx)
for (i = 0; i < 1000; i++) {
if (!BN_rand(Xq, nbits, 1, 0))
goto err;
/* Check that |Xp - Xq| > 2^(nbits - 100) */
BN_sub(t, Xp, Xq);
if (!BN_sub(t, Xp, Xq))
goto err;
if (BN_num_bits(t) > (nbits - 100))
break;
}

View File

@@ -7,9 +7,15 @@
*/
int bn_mul_mont_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
BN_MONT_CTX *mont, BN_CTX *ctx);
int bn_from_mont_fixed_top(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont,
BN_CTX *ctx);
int bn_to_mont_fixed_top(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont,
BN_CTX *ctx);
int bn_mod_add_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
const BIGNUM *m);
int bn_mod_sub_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
const BIGNUM *m);
int bn_mul_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx);
int bn_sqr_fixed_top(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx);
int bn_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen);

View File

@@ -9,11 +9,11 @@
/* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */
#define CFLAGS "compiler: cl /MD /Ox /O2 /Ob2 -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_STATIC_ENGINE "
#define PLATFORM "VC-WIN32"
#define DATE "Tue Aug 14 16:04:24 2018"
#define DATE "Fri Dec 7 19:08:23 2018"
#endif
#ifdef MK1MF_PLATFORM_BC_NT
/* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */
#define CFLAGS "compiler: bcc32 -DWIN32_LEAN_AND_MEAN -q -w-ccc -w-rch -w-pia -w-aus -w-par -w-inl -c -tWC -tWM -DOPENSSL_SYSNAME_WIN32 -DL_ENDIAN -DDSO_WIN32 -D_stricmp=stricmp -D_strnicmp=strnicmp -O2 -ff -fp -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE "
#define PLATFORM "BC-NT"
#define DATE "Tue Aug 14 16:04:24 2018"
#define DATE "Fri Dec 7 19:08:23 2018"
#endif

View File

@@ -80,12 +80,13 @@ clean:
# DO NOT DELETE THIS LINE -- make depend depends on it.
conf_api.o: ../../e_os.h ../../include/openssl/bio.h
conf_api.o: ../../include/openssl/conf.h ../../include/openssl/conf_api.h
conf_api.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
conf_api.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
conf_api.o: ../../include/openssl/conf_api.h ../../include/openssl/crypto.h
conf_api.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
conf_api.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
conf_api.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
conf_api.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
conf_api.o: ../../include/openssl/symhacks.h conf_api.c
conf_api.o: ../../include/openssl/symhacks.h ../cryptlib.h conf_api.c
conf_def.o: ../../e_os.h ../../include/openssl/bio.h
conf_def.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
conf_def.o: ../../include/openssl/conf_api.h ../../include/openssl/crypto.h

View File

@@ -66,6 +66,7 @@
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include "cryptlib.h"
#include <openssl/conf.h>
#include <openssl/conf_api.h>
#include "e_os.h"
@@ -141,7 +142,7 @@ char *_CONF_get_string(const CONF *conf, const char *section,
if (v != NULL)
return (v->value);
if (strcmp(section, "ENV") == 0) {
p = getenv(name);
p = ossl_safe_getenv(name);
if (p != NULL)
return (p);
}
@@ -154,7 +155,7 @@ char *_CONF_get_string(const CONF *conf, const char *section,
else
return (NULL);
} else
return (getenv(name));
return (ossl_safe_getenv(name));
}
#if 0 /* There's no way to provide error checking

View File

@@ -4,7 +4,7 @@
* 2001.
*/
/* ====================================================================
* Copyright (c) 2001 The OpenSSL Project. All rights reserved.
* Copyright (c) 2001-2018 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -530,7 +530,7 @@ char *CONF_get1_default_config_file(void)
char *file;
int len;
file = getenv("OPENSSL_CONF");
file = ossl_safe_getenv("OPENSSL_CONF");
if (file)
return BUF_strdup(file);

View File

@@ -104,6 +104,8 @@ void OPENSSL_showfatal(const char *fmta, ...);
void *OPENSSL_stderr(void);
extern int OPENSSL_NONPIC_relocated;
char *ossl_safe_getenv(const char *);
#ifdef __cplusplus
}
#endif

View File

@@ -214,7 +214,8 @@ $! The contents of these variables are copied from the LIBOBJ variable in the
$! corresponding Makefile from each corresponding subdirectory, with .o stripped
$! and spaces replaced with commas.
$ LIB_ = "cryptlib,mem,mem_dbg,cversion,ex_data,cpt_err,ebcdic,"+ -
"uid,o_time,o_str,o_dir,o_fips,o_init,fips_ers,mem_clr"
"uid,o_time,o_str,o_dir,o_fips,o_init,fips_ers,mem_clr,"+ -
"getenv"
$ LIB_OBJECTS = "o_names,obj_dat,obj_lib,obj_err,obj_xref"
$ LIB_MD2 = "md2_dgst,md2_one"
$ LIB_MD4 = "md4_dgst,md4_one"

View File

@@ -435,6 +435,12 @@ int dsa_builtin_paramgen2(DSA *ret, size_t L, size_t N,
EVP_MD_CTX_init(&mctx);
/* make sure L > N, otherwise we'll get trapped in an infinite loop */
if (L <= N) {
DSAerr(DSA_F_DSA_BUILTIN_PARAMGEN2, DSA_R_INVALID_PARAMETERS);
goto err;
}
if (evpmd == NULL) {
if (N == 160)
evpmd = EVP_sha1();

View File

@@ -73,6 +73,8 @@ static int dsa_do_verify(const unsigned char *dgst, int dgst_len,
DSA_SIG *sig, DSA *dsa);
static int dsa_init(DSA *dsa);
static int dsa_finish(DSA *dsa);
static BIGNUM *dsa_mod_inverse_fermat(const BIGNUM *k, const BIGNUM *q,
BN_CTX *ctx);
static DSA_METHOD openssl_dsa_meth = {
"OpenSSL DSA method",
@@ -279,7 +281,7 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp,
goto err;
/* Preallocate space */
q_bits = BN_num_bits(dsa->q);
q_bits = BN_num_bits(dsa->q) + sizeof(dsa->q->d[0]) * 16;
if (!BN_set_bit(&k, q_bits)
|| !BN_set_bit(&l, q_bits)
|| !BN_set_bit(&m, q_bits))
@@ -293,9 +295,9 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp,
if ((dsa->flags & DSA_FLAG_NO_EXP_CONSTTIME) == 0) {
BN_set_flags(&k, BN_FLG_CONSTTIME);
BN_set_flags(&l, BN_FLG_CONSTTIME);
}
if (dsa->flags & DSA_FLAG_CACHE_MONT_P) {
if (!BN_MONT_CTX_set_locked(&dsa->method_mont_p,
CRYPTO_LOCK_DSA, dsa->p, ctx))
@@ -333,8 +335,8 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp,
if (!BN_mod(r, r, dsa->q, ctx))
goto err;
/* Compute part of 's = inv(k) (m + xr) mod q' */
if ((kinv = BN_mod_inverse(NULL, &k, dsa->q, ctx)) == NULL)
/* Compute part of 's = inv(k) (m + xr) mod q' */
if ((kinv = dsa_mod_inverse_fermat(&k, dsa->q, ctx)) == NULL)
goto err;
if (*kinvp != NULL)
@@ -468,3 +470,31 @@ static int dsa_finish(DSA *dsa)
BN_MONT_CTX_free(dsa->method_mont_p);
return (1);
}
/*
* Compute the inverse of k modulo q.
* Since q is prime, Fermat's Little Theorem applies, which reduces this to
* mod-exp operation. Both the exponent and modulus are public information
* so a mod-exp that doesn't leak the base is sufficient. A newly allocated
* BIGNUM is returned which the caller must free.
*/
static BIGNUM *dsa_mod_inverse_fermat(const BIGNUM *k, const BIGNUM *q,
BN_CTX *ctx)
{
BIGNUM *res = NULL;
BIGNUM *r, e;
if ((r = BN_new()) == NULL)
return NULL;
BN_init(&e);
if (BN_set_word(r, 2)
&& BN_sub(&e, q, r)
&& BN_mod_exp_mont(r, k, &e, q, ctx, NULL))
res = r;
else
BN_free(r);
BN_free(&e);
return res;
}

View File

@@ -3,7 +3,7 @@
* Originally written by Bodo Moeller for the OpenSSL project.
*/
/* ====================================================================
* Copyright (c) 1998-2010 The OpenSSL Project. All rights reserved.
* Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -214,7 +214,7 @@ struct ec_group_st {
int asn1_flag; /* flag to control the asn1 encoding */
/*
* Kludge: upper bit of ans1_flag is used to denote structure
* version. Is set, then last field is present. This is done
* version. If set, then last field is present. This is done
* for interoperation with FIPS code.
*/
#define EC_GROUP_ASN1_FLAG_MASK 0x7fffffff
@@ -549,7 +549,6 @@ void ec_GFp_nistp_points_make_affine_internal(size_t num, void *point_array,
void ec_GFp_nistp_recode_scalar_bits(unsigned char *sign,
unsigned char *digit, unsigned char in);
#endif
int ec_precompute_mont_data(EC_GROUP *);
#ifdef ECP_NISTZ256_ASM
/** Returns GFp methods using montgomery multiplication, with x86-64 optimized

View File

@@ -70,6 +70,10 @@
const char EC_version[] = "EC" OPENSSL_VERSION_PTEXT;
/* local function prototypes */
static int ec_precompute_mont_data(EC_GROUP *group);
/* functions for EC_GROUP objects */
EC_GROUP *EC_GROUP_new(const EC_METHOD *meth)
@@ -318,17 +322,25 @@ int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator,
} else
BN_zero(&group->cofactor);
/*
* Some groups have an order with
* factors of two, which makes the Montgomery setup fail.
* |group->mont_data| will be NULL in this case.
/*-
* Access to the `mont_data` field of an EC_GROUP struct should always be
* guarded by an EC_GROUP_VERSION(group) check to avoid OOB accesses, as the
* group might come from the FIPS module, which does not define the
* `mont_data` field inside the EC_GROUP structure.
*/
if (BN_is_odd(&group->order)) {
return ec_precompute_mont_data(group);
if (EC_GROUP_VERSION(group)) {
/*-
* Some groups have an order with
* factors of two, which makes the Montgomery setup fail.
* |group->mont_data| will be NULL in this case.
*/
if (BN_is_odd(&group->order))
return ec_precompute_mont_data(group);
BN_MONT_CTX_free(group->mont_data);
group->mont_data = NULL;
}
BN_MONT_CTX_free(group->mont_data);
group->mont_data = NULL;
return 1;
}
@@ -1098,18 +1110,23 @@ int EC_GROUP_have_precompute_mult(const EC_GROUP *group)
* been performed */
}
/*
/*-
* ec_precompute_mont_data sets |group->mont_data| from |group->order| and
* returns one on success. On error it returns zero.
*
* Note: this function must be called only after verifying that
* EC_GROUP_VERSION(group) returns true.
* The reason for this is that access to the `mont_data` field of an EC_GROUP
* struct should always be guarded by an EC_GROUP_VERSION(group) check to avoid
* OOB accesses, as the group might come from the FIPS module, which does not
* define the `mont_data` field inside the EC_GROUP structure.
*/
static
int ec_precompute_mont_data(EC_GROUP *group)
{
BN_CTX *ctx = BN_CTX_new();
int ret = 0;
if (!EC_GROUP_VERSION(group))
goto err;
if (group->mont_data) {
BN_MONT_CTX_free(group->mont_data);
group->mont_data = NULL;

View File

@@ -3,7 +3,7 @@
* Originally written by Bodo Moeller and Nils Larsch for the OpenSSL project.
*/
/* ====================================================================
* Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved.
* Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -310,6 +310,224 @@ static signed char *compute_wNAF(const BIGNUM *scalar, int w, size_t *ret_len)
return r;
}
#define EC_POINT_BN_set_flags(P, flags) do { \
BN_set_flags(&(P)->X, (flags)); \
BN_set_flags(&(P)->Y, (flags)); \
BN_set_flags(&(P)->Z, (flags)); \
} while(0)
/*-
* This functions computes (in constant time) a point multiplication over the
* EC group.
*
* At a high level, it is Montgomery ladder with conditional swaps.
*
* It performs either a fixed scalar point multiplication
* (scalar * generator)
* when point is NULL, or a generic scalar point multiplication
* (scalar * point)
* when point is not NULL.
*
* scalar should be in the range [0,n) otherwise all constant time bets are off.
*
* NB: This says nothing about EC_POINT_add and EC_POINT_dbl,
* which of course are not constant time themselves.
*
* The product is stored in r.
*
* Returns 1 on success, 0 otherwise.
*/
static int ec_mul_consttime(const EC_GROUP *group, EC_POINT *r,
const BIGNUM *scalar, const EC_POINT *point,
BN_CTX *ctx)
{
int i, cardinality_bits, group_top, kbit, pbit, Z_is_one;
EC_POINT *s = NULL;
BIGNUM *k = NULL;
BIGNUM *lambda = NULL;
BIGNUM *cardinality = NULL;
BN_CTX *new_ctx = NULL;
int ret = 0;
if (ctx == NULL && (ctx = new_ctx = BN_CTX_new()) == NULL)
return 0;
BN_CTX_start(ctx);
s = EC_POINT_new(group);
if (s == NULL)
goto err;
if (point == NULL) {
if (!EC_POINT_copy(s, group->generator))
goto err;
} else {
if (!EC_POINT_copy(s, point))
goto err;
}
EC_POINT_BN_set_flags(s, BN_FLG_CONSTTIME);
cardinality = BN_CTX_get(ctx);
lambda = BN_CTX_get(ctx);
k = BN_CTX_get(ctx);
if (k == NULL || !BN_mul(cardinality, &group->order, &group->cofactor, ctx))
goto err;
/*
* Group cardinalities are often on a word boundary.
* So when we pad the scalar, some timing diff might
* pop if it needs to be expanded due to carries.
* So expand ahead of time.
*/
cardinality_bits = BN_num_bits(cardinality);
group_top = cardinality->top;
if ((bn_wexpand(k, group_top + 2) == NULL)
|| (bn_wexpand(lambda, group_top + 2) == NULL))
goto err;
if (!BN_copy(k, scalar))
goto err;
BN_set_flags(k, BN_FLG_CONSTTIME);
if ((BN_num_bits(k) > cardinality_bits) || (BN_is_negative(k))) {
/*-
* this is an unusual input, and we don't guarantee
* constant-timeness
*/
if (!BN_nnmod(k, k, cardinality, ctx))
goto err;
}
if (!BN_add(lambda, k, cardinality))
goto err;
BN_set_flags(lambda, BN_FLG_CONSTTIME);
if (!BN_add(k, lambda, cardinality))
goto err;
/*
* lambda := scalar + cardinality
* k := scalar + 2*cardinality
*/
kbit = BN_is_bit_set(lambda, cardinality_bits);
BN_consttime_swap(kbit, k, lambda, group_top + 2);
group_top = group->field.top;
if ((bn_wexpand(&s->X, group_top) == NULL)
|| (bn_wexpand(&s->Y, group_top) == NULL)
|| (bn_wexpand(&s->Z, group_top) == NULL)
|| (bn_wexpand(&r->X, group_top) == NULL)
|| (bn_wexpand(&r->Y, group_top) == NULL)
|| (bn_wexpand(&r->Z, group_top) == NULL))
goto err;
/* top bit is a 1, in a fixed pos */
if (!EC_POINT_copy(r, s))
goto err;
EC_POINT_BN_set_flags(r, BN_FLG_CONSTTIME);
if (!EC_POINT_dbl(group, s, s, ctx))
goto err;
pbit = 0;
#define EC_POINT_CSWAP(c, a, b, w, t) do { \
BN_consttime_swap(c, &(a)->X, &(b)->X, w); \
BN_consttime_swap(c, &(a)->Y, &(b)->Y, w); \
BN_consttime_swap(c, &(a)->Z, &(b)->Z, w); \
t = ((a)->Z_is_one ^ (b)->Z_is_one) & (c); \
(a)->Z_is_one ^= (t); \
(b)->Z_is_one ^= (t); \
} while(0)
/*-
* The ladder step, with branches, is
*
* k[i] == 0: S = add(R, S), R = dbl(R)
* k[i] == 1: R = add(S, R), S = dbl(S)
*
* Swapping R, S conditionally on k[i] leaves you with state
*
* k[i] == 0: T, U = R, S
* k[i] == 1: T, U = S, R
*
* Then perform the ECC ops.
*
* U = add(T, U)
* T = dbl(T)
*
* Which leaves you with state
*
* k[i] == 0: U = add(R, S), T = dbl(R)
* k[i] == 1: U = add(S, R), T = dbl(S)
*
* Swapping T, U conditionally on k[i] leaves you with state
*
* k[i] == 0: R, S = T, U
* k[i] == 1: R, S = U, T
*
* Which leaves you with state
*
* k[i] == 0: S = add(R, S), R = dbl(R)
* k[i] == 1: R = add(S, R), S = dbl(S)
*
* So we get the same logic, but instead of a branch it's a
* conditional swap, followed by ECC ops, then another conditional swap.
*
* Optimization: The end of iteration i and start of i-1 looks like
*
* ...
* CSWAP(k[i], R, S)
* ECC
* CSWAP(k[i], R, S)
* (next iteration)
* CSWAP(k[i-1], R, S)
* ECC
* CSWAP(k[i-1], R, S)
* ...
*
* So instead of two contiguous swaps, you can merge the condition
* bits and do a single swap.
*
* k[i] k[i-1] Outcome
* 0 0 No Swap
* 0 1 Swap
* 1 0 Swap
* 1 1 No Swap
*
* This is XOR. pbit tracks the previous bit of k.
*/
for (i = cardinality_bits - 1; i >= 0; i--) {
kbit = BN_is_bit_set(k, i) ^ pbit;
EC_POINT_CSWAP(kbit, r, s, group_top, Z_is_one);
if (!EC_POINT_add(group, s, r, s, ctx))
goto err;
if (!EC_POINT_dbl(group, r, r, ctx))
goto err;
/*
* pbit logic merges this cswap with that of the
* next iteration
*/
pbit ^= kbit;
}
/* one final cswap to move the right value into r */
EC_POINT_CSWAP(pbit, r, s, group_top, Z_is_one);
#undef EC_POINT_CSWAP
ret = 1;
err:
EC_POINT_free(s);
BN_CTX_end(ctx);
BN_CTX_free(new_ctx);
return ret;
}
#undef EC_POINT_BN_set_flags
/*
* TODO: table should be optimised for the wNAF-based implementation,
* sometimes smaller windows will give better performance (thus the
@@ -369,6 +587,34 @@ int ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
return EC_POINT_set_to_infinity(group, r);
}
if (!BN_is_zero(&group->order) && !BN_is_zero(&group->cofactor)) {
/*-
* Handle the common cases where the scalar is secret, enforcing a constant
* time scalar multiplication algorithm.
*/
if ((scalar != NULL) && (num == 0)) {
/*-
* In this case we want to compute scalar * GeneratorPoint: this
* codepath is reached most prominently by (ephemeral) key generation
* of EC cryptosystems (i.e. ECDSA keygen and sign setup, ECDH
* keygen/first half), where the scalar is always secret. This is why
* we ignore if BN_FLG_CONSTTIME is actually set and we always call the
* constant time version.
*/
return ec_mul_consttime(group, r, scalar, NULL, ctx);
}
if ((scalar == NULL) && (num == 1)) {
/*-
* In this case we want to compute scalar * GenericPoint: this codepath
* is reached most prominently by the second half of ECDH, where the
* secret scalar is multiplied by the peer's public point. To protect
* the secret scalar, we ignore if BN_FLG_CONSTTIME is actually set and
* we always call the constant time version.
*/
return ec_mul_consttime(group, r, scalars[0], points[0], ctx);
}
}
for (i = 0; i < num; i++) {
if (group->meth != points[i]->meth) {
ECerr(EC_F_EC_WNAF_MUL, EC_R_INCOMPATIBLE_OBJECTS);

View File

@@ -4,7 +4,7 @@
* 2000.
*/
/* ====================================================================
* Copyright (c) 1999-2001 The OpenSSL Project. All rights reserved.
* Copyright (c) 1999-2018 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -62,6 +62,7 @@
* SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project.
*/
#include "cryptlib.h"
#include "eng_int.h"
/*
@@ -369,10 +370,10 @@ ENGINE *ENGINE_by_id(const char *id)
*/
if (strcmp(id, "dynamic")) {
# ifdef OPENSSL_SYS_VMS
if ((load_dir = getenv("OPENSSL_ENGINES")) == 0)
if ((load_dir = ossl_safe_getenv("OPENSSL_ENGINES")) == 0)
load_dir = "SSLROOT:[ENGINES]";
# else
if ((load_dir = getenv("OPENSSL_ENGINES")) == 0)
if ((load_dir = ossl_safe_getenv("OPENSSL_ENGINES")) == 0)
load_dir = ENGINESDIR;
# endif
iterator = ENGINE_by_id("dynamic");

31
crypto/getenv.c Normal file
View File

@@ -0,0 +1,31 @@
/*
* Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the OpenSSL license (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
* in the file LICENSE in the source distribution or at
* https://www.openssl.org/source/license.html
*/
#ifndef _GNU_SOURCE
# define _GNU_SOURCE
#endif
#include <stdlib.h>
#include "cryptlib.h"
char *ossl_safe_getenv(const char *name)
{
#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
# if __GLIBC_PREREQ(2, 17)
# define SECURE_GETENV
return secure_getenv(name);
# endif
#endif
#ifndef SECURE_GETENV
if (OPENSSL_issetugid())
return NULL;
return getenv(name);
#endif
}

View File

@@ -30,11 +30,11 @@ extern "C" {
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
* major minor fix final patch/beta)
*/
# define OPENSSL_VERSION_NUMBER 0x1000210fL
# define OPENSSL_VERSION_NUMBER 0x1000211fL
# ifdef OPENSSL_FIPS
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2p-fips 14 Aug 2018"
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q-fips 20 Nov 2018"
# else
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2p 14 Aug 2018"
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q 20 Nov 2018"
# endif
# define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT

View File

@@ -4,7 +4,7 @@
* 1999.
*/
/* ====================================================================
* Copyright (c) 1999 The OpenSSL Project. All rights reserved.
* Copyright (c) 1999-2018 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -70,7 +70,8 @@ PKCS12 *PKCS12_init(int mode)
PKCS12err(PKCS12_F_PKCS12_INIT, ERR_R_MALLOC_FAILURE);
return NULL;
}
ASN1_INTEGER_set(pkcs12->version, 3);
if (!ASN1_INTEGER_set(pkcs12->version, 3))
goto err;
pkcs12->authsafes->type = OBJ_nid2obj(mode);
switch (mode) {
case NID_pkcs7_data:

View File

@@ -185,7 +185,6 @@ int PKCS7_set_type(PKCS7 *p7, int type)
if ((p7->d.signed_and_enveloped = PKCS7_SIGN_ENVELOPE_new())
== NULL)
goto err;
ASN1_INTEGER_set(p7->d.signed_and_enveloped->version, 1);
if (!ASN1_INTEGER_set(p7->d.signed_and_enveloped->version, 1))
goto err;
p7->d.signed_and_enveloped->enc_data->content_type

View File

@@ -157,10 +157,11 @@ rand_win.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
rand_win.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
rand_win.o: ../../include/openssl/symhacks.h ../cryptlib.h rand_lcl.h
rand_win.o: rand_win.c
randfile.o: ../../e_os.h ../../include/openssl/buffer.h
randfile.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
randfile.o: ../../include/openssl/opensslconf.h
randfile.o: ../../e_os.h ../../include/openssl/bio.h
randfile.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
randfile.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
randfile.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
randfile.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
randfile.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
randfile.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
randfile.o: randfile.c
randfile.o: ../cryptlib.h randfile.c

View File

@@ -56,7 +56,7 @@
* [including the GNU Public Licence.]
*/
/* ====================================================================
* Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved.
* Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -345,7 +345,6 @@ int ssleay_rand_bytes(unsigned char *buf, int num, int pseudo, int lock)
static volatile int stirred_pool = 0;
int i, j, k;
size_t num_ceil, st_idx, st_num;
int ok;
long md_c[2];
unsigned char local_md[MD_DIGEST_LENGTH];
EVP_MD_CTX m;
@@ -400,14 +399,13 @@ int ssleay_rand_bytes(unsigned char *buf, int num, int pseudo, int lock)
if (!initialized) {
RAND_poll();
initialized = 1;
initialized = (entropy >= ENTROPY_NEEDED);
}
if (!stirred_pool)
do_stir_pool = 1;
ok = (entropy >= ENTROPY_NEEDED);
if (!ok) {
if (!initialized) {
/*
* If the PRNG state is not yet unpredictable, then seeing the PRNG
* output may help attackers to determine the new state; thus we have
@@ -446,7 +444,7 @@ int ssleay_rand_bytes(unsigned char *buf, int num, int pseudo, int lock)
ssleay_rand_add(DUMMY_SEED, MD_DIGEST_LENGTH, 0.0);
n -= MD_DIGEST_LENGTH;
}
if (ok)
if (initialized)
stirred_pool = 1;
}
@@ -539,7 +537,7 @@ int ssleay_rand_bytes(unsigned char *buf, int num, int pseudo, int lock)
CRYPTO_w_unlock(CRYPTO_LOCK_RAND);
EVP_MD_CTX_cleanup(&m);
if (ok)
if (initialized)
return (1);
else if (pseudo)
return 0;
@@ -555,6 +553,18 @@ int ssleay_rand_bytes(unsigned char *buf, int num, int pseudo, int lock)
return (0);
}
/*
* Returns ssleay_rand_bytes(), enforcing a reseeding from the
* system entropy sources using RAND_poll() before generating
`* the random bytes.
*/
int ssleay_rand_bytes_from_system(unsigned char *buf, int num)
{
initialized = 0;
return ssleay_rand_bytes(buf, num, 0, 0);
}
static int ssleay_rand_nopseudo_bytes(unsigned char *buf, int num)
{
return ssleay_rand_bytes(buf, num, 0, 1);
@@ -600,10 +610,10 @@ static int ssleay_rand_status(void)
if (!initialized) {
RAND_poll();
initialized = 1;
initialized = (entropy >= ENTROPY_NEEDED);
}
ret = entropy >= ENTROPY_NEEDED;
ret = initialized;
if (!do_not_lock) {
/* before unlocking, we must clear 'crypto_lock_rand' */

View File

@@ -56,7 +56,7 @@
* [including the GNU Public Licence.]
*/
/* ====================================================================
* Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved.
* Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -154,5 +154,5 @@
# endif
int ssleay_rand_bytes(unsigned char *buf, int num, int pseudo, int lock);
int ssleay_rand_bytes_from_system(unsigned char *buf, int num);
#endif

View File

@@ -185,11 +185,29 @@ int RAND_status(void)
/*
* Entropy gatherer: use standard OpenSSL PRNG to seed (this will gather
* entropy internally through RAND_poll().
* entropy internally through RAND_poll()).
*/
static size_t drbg_get_entropy(DRBG_CTX *ctx, unsigned char **pout,
int entropy, size_t min_len, size_t max_len)
{
/* Round up request to multiple of block size */
min_len = ((min_len + 19) / 20) * 20;
*pout = OPENSSL_malloc(min_len);
if (!*pout)
return 0;
/* Enforces a reseed of the SSLEAY PRNG before generating random bytes */
if (ssleay_rand_bytes_from_system(*pout, min_len) <= 0) {
OPENSSL_free(*pout);
*pout = NULL;
return 0;
}
return min_len;
}
static size_t drbg_get_nonce(DRBG_CTX *ctx, unsigned char **pout,
int entropy, size_t min_len, size_t max_len)
{
/* Round up request to multiple of block size */
min_len = ((min_len + 19) / 20) * 20;
@@ -281,7 +299,7 @@ int RAND_init_fips(void)
FIPS_drbg_set_callbacks(dctx,
drbg_get_entropy, drbg_free_entropy, 20,
drbg_get_entropy, drbg_free_entropy);
drbg_get_nonce, drbg_free_entropy);
FIPS_drbg_set_rand_callbacks(dctx, drbg_get_adin, 0,
drbg_rand_seed, drbg_rand_add);
/* Personalisation string: a string followed by date time vector */

View File

@@ -61,6 +61,7 @@
#include <stdlib.h>
#include <string.h>
#include "cryptlib.h"
#include "e_os.h"
#include <openssl/crypto.h>
#include <openssl/rand.h>
@@ -327,14 +328,12 @@ const char *RAND_file_name(char *buf, size_t size)
struct stat sb;
#endif
if (OPENSSL_issetugid() == 0)
s = getenv("RANDFILE");
s = ossl_safe_getenv("RANDFILE");
if (s != NULL && *s && strlen(s) + 1 < size) {
if (BUF_strlcpy(buf, s, size) >= size)
return NULL;
} else {
if (OPENSSL_issetugid() == 0)
s = getenv("HOME");
s = ossl_safe_getenv("HOME");
#ifdef DEFAULT_HOME
if (s == NULL) {
s = DEFAULT_HOME;

View File

@@ -224,8 +224,8 @@ static int RSA_eay_public_encrypt(int flen, const unsigned char *from,
}
if (rsa->flags & RSA_FLAG_CACHE_PUBLIC)
if (!BN_MONT_CTX_set_locked
(&rsa->_method_mod_n, CRYPTO_LOCK_RSA, rsa->n, ctx))
if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, CRYPTO_LOCK_RSA,
rsa->n, ctx))
goto err;
if (!rsa->meth->bn_mod_exp(ret, f, rsa->e, rsa->n, ctx,
@@ -432,8 +432,8 @@ static int RSA_eay_private_encrypt(int flen, const unsigned char *from,
d = rsa->d;
if (rsa->flags & RSA_FLAG_CACHE_PUBLIC)
if (!BN_MONT_CTX_set_locked
(&rsa->_method_mod_n, CRYPTO_LOCK_RSA, rsa->n, ctx))
if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, CRYPTO_LOCK_RSA,
rsa->n, ctx))
goto err;
if (!rsa->meth->bn_mod_exp(ret, f, d, rsa->n, ctx,
@@ -554,8 +554,8 @@ static int RSA_eay_private_decrypt(int flen, const unsigned char *from,
d = rsa->d;
if (rsa->flags & RSA_FLAG_CACHE_PUBLIC)
if (!BN_MONT_CTX_set_locked
(&rsa->_method_mod_n, CRYPTO_LOCK_RSA, rsa->n, ctx))
if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, CRYPTO_LOCK_RSA,
rsa->n, ctx))
goto err;
if (!rsa->meth->bn_mod_exp(ret, f, d, rsa->n, ctx,
rsa->_method_mod_n))
@@ -660,8 +660,8 @@ static int RSA_eay_public_decrypt(int flen, const unsigned char *from,
}
if (rsa->flags & RSA_FLAG_CACHE_PUBLIC)
if (!BN_MONT_CTX_set_locked
(&rsa->_method_mod_n, CRYPTO_LOCK_RSA, rsa->n, ctx))
if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, CRYPTO_LOCK_RSA,
rsa->n, ctx))
goto err;
if (!rsa->meth->bn_mod_exp(ret, f, rsa->e, rsa->n, ctx,
@@ -708,7 +708,7 @@ static int RSA_eay_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
BIGNUM *r1, *m1, *vrfy;
BIGNUM local_dmp1, local_dmq1, local_c, local_r1;
BIGNUM *dmp1, *dmq1, *c, *pr1;
int ret = 0;
int ret = 0, smooth = 0;
BN_CTX_start(ctx);
r1 = BN_CTX_get(ctx);
@@ -737,20 +737,64 @@ static int RSA_eay_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
}
if (rsa->flags & RSA_FLAG_CACHE_PRIVATE) {
if (!BN_MONT_CTX_set_locked
(&rsa->_method_mod_p, CRYPTO_LOCK_RSA, p, ctx))
if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_p, CRYPTO_LOCK_RSA,
p, ctx))
goto err;
if (!BN_MONT_CTX_set_locked
(&rsa->_method_mod_q, CRYPTO_LOCK_RSA, q, ctx))
if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_q, CRYPTO_LOCK_RSA,
q, ctx))
goto err;
smooth = (rsa->meth->bn_mod_exp == BN_mod_exp_mont)
&& (BN_num_bits(q) == BN_num_bits(p));
}
}
if (rsa->flags & RSA_FLAG_CACHE_PUBLIC)
if (!BN_MONT_CTX_set_locked
(&rsa->_method_mod_n, CRYPTO_LOCK_RSA, rsa->n, ctx))
if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, CRYPTO_LOCK_RSA,
rsa->n, ctx))
goto err;
if (smooth) {
/*
* Conversion from Montgomery domain, a.k.a. Montgomery reduction,
* accepts values in [0-m*2^w) range. w is m's bit width rounded up
* to limb width. So that at the very least if |I| is fully reduced,
* i.e. less than p*q, we can count on from-to round to perform
* below modulo operations on |I|. Unlike BN_mod it's constant time.
*/
if (/* m1 = I moq q */
!bn_from_mont_fixed_top(m1, I, rsa->_method_mod_q, ctx)
|| !bn_to_mont_fixed_top(m1, m1, rsa->_method_mod_q, ctx)
/* m1 = m1^dmq1 mod q */
|| !BN_mod_exp_mont_consttime(m1, m1, rsa->dmq1, rsa->q, ctx,
rsa->_method_mod_q)
/* r1 = I mod p */
|| !bn_from_mont_fixed_top(r1, I, rsa->_method_mod_p, ctx)
|| !bn_to_mont_fixed_top(r1, r1, rsa->_method_mod_p, ctx)
/* r1 = r1^dmp1 mod p */
|| !BN_mod_exp_mont_consttime(r1, r1, rsa->dmp1, rsa->p, ctx,
rsa->_method_mod_p)
/* r1 = (r1 - m1) mod p */
/*
* bn_mod_sub_fixed_top is not regular modular subtraction,
* it can tolerate subtrahend to be larger than modulus, but
* not bit-wise wider. This makes up for uncommon q>p case,
* when |m1| can be larger than |rsa->p|.
*/
|| !bn_mod_sub_fixed_top(r1, r1, m1, rsa->p)
/* r1 = r1 * iqmp mod p */
|| !bn_to_mont_fixed_top(r1, r1, rsa->_method_mod_p, ctx)
|| !bn_mul_mont_fixed_top(r1, r1, rsa->iqmp, rsa->_method_mod_p,
ctx)
/* r0 = r1 * q + m1 */
|| !bn_mul_fixed_top(r0, r1, rsa->q, ctx)
|| !bn_mod_add_fixed_top(r0, r0, m1, rsa->n))
goto err;
goto tail;
}
/* compute I mod q */
if (!(rsa->flags & RSA_FLAG_NO_CONSTTIME)) {
c = &local_c;
@@ -828,10 +872,18 @@ static int RSA_eay_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
if (!BN_add(r0, r1, m1))
goto err;
tail:
if (rsa->e && rsa->n) {
if (!rsa->meth->bn_mod_exp(vrfy, r0, rsa->e, rsa->n, ctx,
rsa->_method_mod_n))
goto err;
if (rsa->meth->bn_mod_exp == BN_mod_exp_mont) {
if (!BN_mod_exp_mont(vrfy, r0, rsa->e, rsa->n, ctx,
rsa->_method_mod_n))
goto err;
} else {
bn_correct_top(r0);
if (!rsa->meth->bn_mod_exp(vrfy, r0, rsa->e, rsa->n, ctx,
rsa->_method_mod_n))
goto err;
}
/*
* If 'I' was greater than (or equal to) rsa->n, the operation will
* be equivalent to using 'I mod n'. However, the result of the
@@ -840,6 +892,11 @@ static int RSA_eay_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
*/
if (!BN_sub(vrfy, vrfy, I))
goto err;
if (BN_is_zero(vrfy)) {
bn_correct_top(r0);
ret = 1;
goto err; /* not actually error */
}
if (!BN_mod(vrfy, vrfy, rsa->n, ctx))
goto err;
if (BN_is_negative(vrfy))
@@ -865,6 +922,15 @@ static int RSA_eay_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
goto err;
}
}
/*
* It's unfortunate that we have to bn_correct_top(r0). What hopefully
* saves the day is that correction is highly unlike, and private key
* operations are customarily performed on blinded message. Which means
* that attacker won't observe correlation with chosen plaintext.
* Secondly, remaining code would still handle it in same computational
* time and even conceal memory access pattern around corrected top.
*/
bn_correct_top(r0);
ret = 1;
err:
BN_CTX_end(ctx);

View File

@@ -509,6 +509,24 @@ static int open_console(UI *ui)
is_a_tty = 0;
else
# endif
# ifdef ENXIO
/*
* Solaris can return ENXIO.
* This should be ok
*/
if (errno == ENXIO)
is_a_tty = 0;
else
# endif
# ifdef EIO
/*
* Linux can return EIO.
* This should be ok
*/
if (errno == EIO)
is_a_tty = 0;
else
# endif
# ifdef ENODEV
/*
* MacOS X returns ENODEV (Operation not supported by device),

View File

@@ -128,7 +128,7 @@ static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
switch (cmd) {
case X509_L_ADD_DIR:
if (argl == X509_FILETYPE_DEFAULT) {
dir = (char *)getenv(X509_get_default_cert_dir_env());
dir = (char *)ossl_safe_getenv(X509_get_default_cert_dir_env());
if (dir)
ret = add_cert_dir(ld, dir, X509_FILETYPE_PEM);
else

View File

@@ -97,7 +97,8 @@ static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp,
switch (cmd) {
case X509_L_FILE_LOAD:
if (argl == X509_FILETYPE_DEFAULT) {
file = getenv(X509_get_default_cert_file_env());
file = ossl_safe_getenv(X509_get_default_cert_file_env());
if (file)
ok = (X509_load_cert_crl_file(ctx, file,
X509_FILETYPE_PEM) != 0);

View File

@@ -621,7 +621,7 @@ static int check_chain_extensions(X509_STORE_CTX *ctx)
* A hack to keep people who don't want to modify their software
* happy
*/
if (getenv("OPENSSL_ALLOW_PROXY_CERTS"))
if (ossl_safe_getenv("OPENSSL_ALLOW_PROXY_CERTS"))
allow_proxy_certs = 1;
purpose = ctx->param->purpose;
}
@@ -694,10 +694,9 @@ static int check_chain_extensions(X509_STORE_CTX *ctx)
goto end;
}
}
/* Check pathlen if not self issued */
if ((i > 1) && !(x->ex_flags & EXFLAG_SI)
&& (x->ex_pathlen != -1)
&& (plen > (x->ex_pathlen + proxy_path_length + 1))) {
/* Check pathlen */
if ((i > 1) && (x->ex_pathlen != -1)
&& (plen > (x->ex_pathlen + proxy_path_length))) {
ctx->error = X509_V_ERR_PATH_LENGTH_EXCEEDED;
ctx->error_depth = i;
ctx->current_cert = x;
@@ -705,8 +704,8 @@ static int check_chain_extensions(X509_STORE_CTX *ctx)
if (!ok)
goto end;
}
/* Increment path length if not self issued */
if (!(x->ex_flags & EXFLAG_SI))
/* Increment path length if not a self issued intermediate CA */
if (i > 0 && (x->ex_flags & EXFLAG_SI) == 0)
plen++;
/*
* If this certificate is a proxy certificate, the next certificate

View File

@@ -396,12 +396,8 @@ static void x509v3_cache_extensions(X509 *x)
ASN1_BIT_STRING *ns;
EXTENDED_KEY_USAGE *extusage;
X509_EXTENSION *ex;
int i;
if (x->ex_flags & EXFLAG_SET)
return;
CRYPTO_w_lock(CRYPTO_LOCK_X509);
if (x->ex_flags & EXFLAG_SET) {
CRYPTO_w_unlock(CRYPTO_LOCK_X509);

View File

@@ -115,7 +115,7 @@ Convert a CRL file from PEM to DER:
Output the text form of a DER encoded certificate:
openssl crl -in crl.der -text -noout
openssl crl -in crl.der -inform DER -text -noout
=head1 BUGS

View File

@@ -393,8 +393,7 @@ option. For compatibility B<encrypt_rsa_key> is an equivalent option.
=item B<default_md>
This option specifies the digest algorithm to use. Possible values
include B<md5 sha1 mdc2>. If not present then MD5 is used. This
option can be overridden on the command line.
include B<md5 sha1 mdc2>. This option can be overridden on the command line.
=item B<string_mask>

View File

@@ -49,6 +49,7 @@ B<openssl> B<s_server>
[B<-no_ssl3>]
[B<-no_tls1>]
[B<-no_dhe>]
[B<-no_ecdhe>]
[B<-bugs>]
[B<-hack>]
[B<-www>]
@@ -144,6 +145,11 @@ a static set of parameters hard coded into the s_server program will be used.
if this option is set then no DH parameters will be loaded effectively
disabling the ephemeral DH cipher suites.
=item B<-no_ecdhe>
if this option is set then no ECDH parameters will be selected, effectively
disabling the ephemeral ECDH cipher suites.
=item B<-no_tmp_rsa>
certain export cipher suites sometimes use a temporary RSA key, this option

View File

@@ -19,9 +19,12 @@ The EVP signature routines are a high level interface to digital signatures.
EVP_DigestSignInit() sets up signing context B<ctx> to use digest B<type> from
ENGINE B<impl> and private key B<pkey>. B<ctx> must be initialized with
EVP_MD_CTX_init() before calling this function. If B<pctx> is not NULL the
EVP_MD_CTX_init() before calling this function. If B<pctx> is not NULL, the
EVP_PKEY_CTX of the signing operation will be written to B<*pctx>: this can
be used to set alternative signing options.
be used to set alternative signing options. Note that any existing value in
B<*pctx> is overwritten. The EVP_PKEY_CTX value returned must not be freed
directly by the application (it will be freed automatically when the EVP_MD_CTX
is freed). The digest B<type> may be NULL if the signing algorithm supports it.
EVP_DigestSignUpdate() hashes B<cnt> bytes of data at B<d> into the
signature context B<ctx>. This function can be called several times on the

View File

@@ -19,9 +19,12 @@ The EVP signature routines are a high level interface to digital signatures.
EVP_DigestVerifyInit() sets up verification context B<ctx> to use digest
B<type> from ENGINE B<impl> and public key B<pkey>. B<ctx> must be initialized
with EVP_MD_CTX_init() before calling this function. If B<pctx> is not NULL the
with EVP_MD_CTX_init() before calling this function. If B<pctx> is not NULL, the
EVP_PKEY_CTX of the verification operation will be written to B<*pctx>: this
can be used to set alternative verification options.
can be used to set alternative verification options. Note that any existing
value in B<*pctx> is overwritten. The EVP_PKEY_CTX value returned must not be
freed directly by the application (it will be freed automatically when the
EVP_MD_CTX is freed).
EVP_DigestVerifyUpdate() hashes B<cnt> bytes of data at B<d> into the
verification context B<ctx>. This function can be called several times on the

View File

@@ -2,12 +2,14 @@
=head1 NAME
OPENSSL_VERSION_NUMBER, SSLeay, SSLeay_version - get OpenSSL version number
OPENSSL_VERSION_NUMBER, OPENSSL_VERSION_TEXT, SSLeay, SSLeay_version
- get OpenSSL version number
=head1 SYNOPSIS
#include <openssl/opensslv.h>
#define OPENSSL_VERSION_NUMBER 0xnnnnnnnnnL
#define OPENSSL_VERSION_TEXT "OpenSSL x.y.z xx XXX xxxx"
#include <openssl/crypto.h>
long SSLeay(void);
@@ -43,9 +45,12 @@ Version 0.9.5a had an interim interpretation that is like the current one,
except the patch level got the highest bit set, to keep continuity. The
number was therefore 0x0090581f.
For backward compatibility, SSLEAY_VERSION_NUMBER is also defined.
OPENSSL_VERSION_TEXT is the text variant of the version number and the
release date. For example,
"OpenSSL 1.0.1a 15 Oct 2015".
SSLeay() returns this number. The return value can be compared to the
macro to make sure that the correct version of the library has been
loaded, especially when using DLLs on Windows systems.

View File

@@ -4,7 +4,7 @@
* project.
*/
/* ====================================================================
* Copyright (c) 2008 The OpenSSL Project. All rights reserved.
* Copyright (c) 2008-2018 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -900,6 +900,8 @@ int capi_rsa_priv_dec(int flen, const unsigned char *from,
unsigned char *tmpbuf;
CAPI_KEY *capi_key;
CAPI_CTX *ctx;
DWORD flags = 0;
ctx = ENGINE_get_ex_data(rsa->engine, capi_idx);
CAPI_trace(ctx, "Called capi_rsa_priv_dec()\n");
@@ -910,12 +912,23 @@ int capi_rsa_priv_dec(int flen, const unsigned char *from,
return -1;
}
if (padding != RSA_PKCS1_PADDING) {
char errstr[10];
BIO_snprintf(errstr, 10, "%d", padding);
CAPIerr(CAPI_F_CAPI_RSA_PRIV_DEC, CAPI_R_UNSUPPORTED_PADDING);
ERR_add_error_data(2, "padding=", errstr);
return -1;
switch (padding) {
case RSA_PKCS1_PADDING:
/* Nothing to do */
break;
#ifdef CRYPT_DECRYPT_RSA_NO_PADDING_CHECK
case RSA_NO_PADDING:
flags = CRYPT_DECRYPT_RSA_NO_PADDING_CHECK;
break;
#endif
default:
{
char errstr[10];
BIO_snprintf(errstr, 10, "%d", padding);
CAPIerr(CAPI_F_CAPI_RSA_PRIV_DEC, CAPI_R_UNSUPPORTED_PADDING);
ERR_add_error_data(2, "padding=", errstr);
return -1;
}
}
/* Create temp reverse order version of input */
@@ -927,14 +940,17 @@ int capi_rsa_priv_dec(int flen, const unsigned char *from,
tmpbuf[flen - i - 1] = from[i];
/* Finally decrypt it */
if (!CryptDecrypt(capi_key->key, 0, TRUE, 0, tmpbuf, &flen)) {
if (!CryptDecrypt(capi_key->key, 0, TRUE, flags, tmpbuf, &flen)) {
CAPIerr(CAPI_F_CAPI_RSA_PRIV_DEC, CAPI_R_DECRYPT_ERROR);
capi_addlasterror();
OPENSSL_cleanse(tmpbuf, flen);
OPENSSL_free(tmpbuf);
return -1;
} else
} else {
memcpy(to, tmpbuf, flen);
}
OPENSSL_cleanse(tmpbuf, flen);
OPENSSL_free(tmpbuf);
return flen;

View File

@@ -30,11 +30,11 @@ extern "C" {
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
* major minor fix final patch/beta)
*/
# define OPENSSL_VERSION_NUMBER 0x1000210fL
# define OPENSSL_VERSION_NUMBER 0x1000211fL
# ifdef OPENSSL_FIPS
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2p-fips 14 Aug 2018"
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q-fips 20 Nov 2018"
# else
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2p 14 Aug 2018"
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q 20 Nov 2018"
# endif
# define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT

View File

@@ -30,11 +30,11 @@ extern "C" {
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
* major minor fix final patch/beta)
*/
# define OPENSSL_VERSION_NUMBER 0x1000210fL
# define OPENSSL_VERSION_NUMBER 0x1000211fL
# ifdef OPENSSL_FIPS
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2p-fips 14 Aug 2018"
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q-fips 20 Nov 2018"
# else
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2p 14 Aug 2018"
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q 20 Nov 2018"
# endif
# define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT

View File

@@ -197,6 +197,213 @@ E_OBJ=$(OBJ_D)\verify.obj \
$(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \
$(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj
CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \
$(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \
$(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \
$(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \
$(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \
$(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86cpuid.obj \
$(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \
$(OBJ_D)\md5_one.obj $(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj \
$(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \
$(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj \
$(OBJ_D)\sha256-586.obj $(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj \
$(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj \
$(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj \
$(OBJ_D)\rmd_one.obj $(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj \
$(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \
$(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \
$(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \
$(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \
$(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \
$(OBJ_D)\des-586.obj $(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj \
$(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \
$(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \
$(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \
$(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \
$(OBJ_D)\rc4-586.obj $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj \
$(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj \
$(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj \
$(OBJ_D)\cast-586.obj $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj \
$(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj \
$(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj \
$(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj \
$(OBJ_D)\aesni-x86.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \
$(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \
$(OBJ_D)\cmll-x86.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \
$(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \
$(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \
$(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \
$(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \
$(OBJ_D)\ghash-x86.obj $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj \
$(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj \
$(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj \
$(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj \
$(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj \
$(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj \
$(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj \
$(OBJ_D)\x86-mont.obj $(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj \
$(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj \
$(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj \
$(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj \
$(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj \
$(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj \
$(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj \
$(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj \
$(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj \
$(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj \
$(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj \
$(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj \
$(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj \
$(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj \
$(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj \
$(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj \
$(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj \
$(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj \
$(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj \
$(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj \
$(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj \
$(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj \
$(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj \
$(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj \
$(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj \
$(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj \
$(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj \
$(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj \
$(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj \
$(OBJ_D)\ec_oct.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \
$(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \
$(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \
$(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \
$(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \
$(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \
$(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \
$(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \
$(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \
$(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \
$(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \
$(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \
$(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \
$(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \
$(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \
$(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \
$(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \
$(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \
$(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \
$(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \
$(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \
$(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \
$(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \
$(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \
$(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \
$(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \
$(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \
$(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \
$(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \
$(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \
$(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \
$(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \
$(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \
$(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \
$(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \
$(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \
$(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \
$(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \
$(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \
$(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \
$(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \
$(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \
$(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \
$(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \
$(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \
$(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \
$(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \
$(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \
$(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \
$(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \
$(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \
$(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \
$(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \
$(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \
$(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \
$(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \
$(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \
$(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \
$(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \
$(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \
$(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \
$(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \
$(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \
$(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \
$(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \
$(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \
$(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \
$(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \
$(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \
$(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \
$(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \
$(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \
$(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \
$(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \
$(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \
$(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \
$(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \
$(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \
$(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \
$(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \
$(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \
$(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \
$(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \
$(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \
$(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \
$(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \
$(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \
$(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \
$(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \
$(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \
$(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \
$(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \
$(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \
$(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \
$(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \
$(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \
$(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \
$(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \
$(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \
$(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \
$(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \
$(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \
$(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \
$(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \
$(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \
$(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \
$(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \
$(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \
$(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \
$(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \
$(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \
$(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \
$(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \
$(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \
$(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \
$(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \
$(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \
$(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj \
$(OBJ_D)\wp-mmx.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \
$(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \
$(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \
$(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \
$(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \
$(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \
$(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \
$(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \
$(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \
$(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \
$(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \
$(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \
$(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \
$(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj
SSLOBJ=$(OBJ_D)\s2_meth.obj \
$(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \
$(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \
@@ -216,213 +423,6 @@ SSLOBJ=$(OBJ_D)\s2_meth.obj \
$(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \
$(OBJ_D)\ssl_utst.obj
CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \
$(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \
$(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \
$(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \
$(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \
$(OBJ_D)\fips_ers.obj $(OBJ_D)\x86cpuid.obj $(OBJ_D)\md4_dgst.obj \
$(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj $(OBJ_D)\md5_one.obj \
$(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj $(OBJ_D)\sha1dgst.obj \
$(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj $(OBJ_D)\sha256.obj \
$(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj $(OBJ_D)\sha256-586.obj \
$(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj $(OBJ_D)\hm_ameth.obj \
$(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj $(OBJ_D)\cm_ameth.obj \
$(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj $(OBJ_D)\rmd_one.obj \
$(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj $(OBJ_D)\ecb_enc.obj \
$(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj $(OBJ_D)\cfb64enc.obj \
$(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj $(OBJ_D)\ofb64ede.obj \
$(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj $(OBJ_D)\ofb64enc.obj \
$(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj $(OBJ_D)\pcbc_enc.obj \
$(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj $(OBJ_D)\des-586.obj \
$(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj $(OBJ_D)\xcbc_enc.obj \
$(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj $(OBJ_D)\ede_cbcm_enc.obj \
$(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj $(OBJ_D)\read2pwd.obj \
$(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj $(OBJ_D)\rc2_cbc.obj \
$(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj $(OBJ_D)\rc4-586.obj \
$(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj $(OBJ_D)\bf_ecb.obj \
$(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj $(OBJ_D)\bf_ofb64.obj \
$(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj $(OBJ_D)\cast-586.obj \
$(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj $(OBJ_D)\aes_misc.obj \
$(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj $(OBJ_D)\aes_ofb.obj \
$(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj $(OBJ_D)\aes_wrap.obj \
$(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj $(OBJ_D)\aesni-x86.obj \
$(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj $(OBJ_D)\cmll_cfb.obj \
$(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj $(OBJ_D)\cmll-x86.obj \
$(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj $(OBJ_D)\seed_cbc.obj \
$(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj $(OBJ_D)\cbc128.obj \
$(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj $(OBJ_D)\cfb128.obj \
$(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj $(OBJ_D)\ccm128.obj \
$(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj $(OBJ_D)\ghash-x86.obj \
$(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj $(OBJ_D)\bn_exp.obj \
$(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj $(OBJ_D)\bn_mul.obj \
$(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj $(OBJ_D)\bn_rand.obj \
$(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj $(OBJ_D)\bn_blind.obj \
$(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj $(OBJ_D)\bn_gcd.obj \
$(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj $(OBJ_D)\bn_sqr.obj \
$(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj $(OBJ_D)\x86-mont.obj \
$(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj $(OBJ_D)\bn_mont.obj \
$(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj $(OBJ_D)\bn_gf2m.obj \
$(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj $(OBJ_D)\bn_const.obj \
$(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj $(OBJ_D)\rsa_gen.obj \
$(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj $(OBJ_D)\rsa_saos.obj \
$(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj $(OBJ_D)\rsa_ssl.obj \
$(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj $(OBJ_D)\rsa_chk.obj \
$(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj $(OBJ_D)\rsa_x931.obj \
$(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj $(OBJ_D)\rsa_ameth.obj \
$(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj $(OBJ_D)\rsa_crpt.obj \
$(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj $(OBJ_D)\dsa_lib.obj \
$(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj $(OBJ_D)\dsa_sign.obj \
$(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj $(OBJ_D)\dsa_depr.obj \
$(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj $(OBJ_D)\dsa_prn.obj \
$(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj $(OBJ_D)\dso_err.obj \
$(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj $(OBJ_D)\dso_openssl.obj \
$(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj $(OBJ_D)\dso_beos.obj \
$(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj $(OBJ_D)\dh_key.obj \
$(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj $(OBJ_D)\dh_err.obj \
$(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj $(OBJ_D)\dh_pmeth.obj \
$(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj $(OBJ_D)\dh_kdf.obj \
$(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj $(OBJ_D)\ecp_mont.obj \
$(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj $(OBJ_D)\ec_mult.obj \
$(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj $(OBJ_D)\ec_check.obj \
$(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj $(OBJ_D)\ec_key.obj \
$(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj $(OBJ_D)\ec_ameth.obj \
$(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj $(OBJ_D)\ecp_nistp224.obj \
$(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj $(OBJ_D)\ecp_nistputil.obj \
$(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj $(OBJ_D)\ec_oct.obj \
$(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj $(OBJ_D)\ech_key.obj \
$(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj $(OBJ_D)\ecs_lib.obj \
$(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj $(OBJ_D)\ecs_sign.obj \
$(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj $(OBJ_D)\buffer.obj \
$(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj $(OBJ_D)\bio_lib.obj \
$(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj $(OBJ_D)\bss_mem.obj \
$(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj $(OBJ_D)\bss_file.obj \
$(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj $(OBJ_D)\bf_null.obj \
$(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj $(OBJ_D)\b_dump.obj \
$(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj $(OBJ_D)\bf_nbio.obj \
$(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj $(OBJ_D)\bss_dgram.obj \
$(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj $(OBJ_D)\lh_stats.obj \
$(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj $(OBJ_D)\rand_lib.obj \
$(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj $(OBJ_D)\rand_win.obj \
$(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj $(OBJ_D)\rand_nw.obj \
$(OBJ_D)\err.obj $(OBJ_D)\err_all.obj $(OBJ_D)\err_prn.obj \
$(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj $(OBJ_D)\obj_lib.obj \
$(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj $(OBJ_D)\encode.obj \
$(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj $(OBJ_D)\evp_key.obj \
$(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj $(OBJ_D)\e_des.obj \
$(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj $(OBJ_D)\e_des3.obj \
$(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj $(OBJ_D)\e_aes.obj \
$(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj $(OBJ_D)\e_xcbc_d.obj \
$(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj $(OBJ_D)\e_rc5.obj \
$(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj $(OBJ_D)\m_md5.obj \
$(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj $(OBJ_D)\m_wp.obj \
$(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj $(OBJ_D)\m_ripemd.obj \
$(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj $(OBJ_D)\p_seal.obj \
$(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj $(OBJ_D)\p_lib.obj \
$(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj $(OBJ_D)\bio_md.obj \
$(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj $(OBJ_D)\evp_err.obj \
$(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj $(OBJ_D)\c_allc.obj \
$(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj $(OBJ_D)\bio_ok.obj \
$(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj $(OBJ_D)\p5_crpt.obj \
$(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj $(OBJ_D)\pmeth_lib.obj \
$(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj $(OBJ_D)\m_sigver.obj \
$(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(OBJ_D)\e_rc4_hmac_md5.obj \
$(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj $(OBJ_D)\a_utctm.obj \
$(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj $(OBJ_D)\a_int.obj \
$(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj $(OBJ_D)\a_type.obj \
$(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj $(OBJ_D)\a_d2i_fp.obj \
$(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj $(OBJ_D)\a_utf8.obj \
$(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj $(OBJ_D)\a_verify.obj \
$(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj $(OBJ_D)\x_algor.obj \
$(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj $(OBJ_D)\x_sig.obj \
$(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj $(OBJ_D)\x_bignum.obj \
$(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj $(OBJ_D)\x_x509.obj \
$(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj $(OBJ_D)\x_info.obj \
$(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj $(OBJ_D)\x_nx509.obj \
$(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj $(OBJ_D)\i2d_pu.obj \
$(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj $(OBJ_D)\t_x509.obj \
$(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj $(OBJ_D)\t_pkey.obj \
$(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj $(OBJ_D)\tasn_new.obj \
$(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj $(OBJ_D)\tasn_dec.obj \
$(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj $(OBJ_D)\tasn_prn.obj \
$(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj $(OBJ_D)\f_string.obj \
$(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj $(OBJ_D)\x_pkey.obj \
$(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj $(OBJ_D)\bio_asn1.obj \
$(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj $(OBJ_D)\asn1_gen.obj \
$(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj $(OBJ_D)\asn1_err.obj \
$(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj $(OBJ_D)\evp_asn1.obj \
$(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj $(OBJ_D)\p5_pbev2.obj \
$(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj $(OBJ_D)\pem_sign.obj \
$(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj $(OBJ_D)\pem_lib.obj \
$(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj $(OBJ_D)\pem_x509.obj \
$(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj $(OBJ_D)\pem_pk8.obj \
$(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj $(OBJ_D)\x509_def.obj \
$(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj $(OBJ_D)\x509_cmp.obj \
$(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj $(OBJ_D)\x509spki.obj \
$(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj $(OBJ_D)\x509cset.obj \
$(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj $(OBJ_D)\x509name.obj \
$(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj $(OBJ_D)\x509_att.obj \
$(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj $(OBJ_D)\x_all.obj \
$(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj $(OBJ_D)\by_file.obj \
$(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj $(OBJ_D)\v3_bcons.obj \
$(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj $(OBJ_D)\v3_extku.obj \
$(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj $(OBJ_D)\v3_prn.obj \
$(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj $(OBJ_D)\v3_genn.obj \
$(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj $(OBJ_D)\v3_akey.obj \
$(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj $(OBJ_D)\v3_enum.obj \
$(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj $(OBJ_D)\v3_crld.obj \
$(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj $(OBJ_D)\v3_ocsp.obj \
$(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj $(OBJ_D)\v3_pcons.obj \
$(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj $(OBJ_D)\v3_pci.obj \
$(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj $(OBJ_D)\pcy_data.obj \
$(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj $(OBJ_D)\pcy_lib.obj \
$(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj $(OBJ_D)\v3_scts.obj \
$(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj $(OBJ_D)\cms_att.obj \
$(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj $(OBJ_D)\cms_err.obj \
$(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj $(OBJ_D)\cms_cd.obj \
$(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj $(OBJ_D)\cms_ess.obj \
$(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj $(OBJ_D)\conf_err.obj \
$(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj $(OBJ_D)\conf_def.obj \
$(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj $(OBJ_D)\conf_sap.obj \
$(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj $(OBJ_D)\pk7_lib.obj \
$(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj $(OBJ_D)\pk7_smime.obj \
$(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj $(OBJ_D)\bio_pk7.obj \
$(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj $(OBJ_D)\p12_attr.obj \
$(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj $(OBJ_D)\p12_decr.obj \
$(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj $(OBJ_D)\p12_kiss.obj \
$(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj $(OBJ_D)\p12_npas.obj \
$(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj $(OBJ_D)\p12_p8e.obj \
$(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj $(OBJ_D)\c_rle.obj \
$(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj $(OBJ_D)\eng_lib.obj \
$(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj $(OBJ_D)\eng_ctrl.obj \
$(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj $(OBJ_D)\eng_fat.obj \
$(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj $(OBJ_D)\tb_dsa.obj \
$(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj $(OBJ_D)\tb_ecdh.obj \
$(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj $(OBJ_D)\tb_cipher.obj \
$(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj $(OBJ_D)\tb_asnmth.obj \
$(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj $(OBJ_D)\eng_dyn.obj \
$(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj $(OBJ_D)\ocsp_asn.obj \
$(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj $(OBJ_D)\ocsp_lib.obj \
$(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj $(OBJ_D)\ocsp_prn.obj \
$(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj $(OBJ_D)\ui_err.obj \
$(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj $(OBJ_D)\ui_util.obj \
$(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj $(OBJ_D)\pqueue.obj \
$(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj $(OBJ_D)\wp-mmx.obj \
$(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj $(OBJ_D)\ts_req_print.obj \
$(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj $(OBJ_D)\ts_rsp_sign.obj \
$(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj $(OBJ_D)\ts_lib.obj \
$(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj $(OBJ_D)\srp_lib.obj \
$(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj $(OBJ_D)\e_aep.obj \
$(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj $(OBJ_D)\e_gmp.obj \
$(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj $(OBJ_D)\e_sureware.obj \
$(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj $(OBJ_D)\e_capi.obj \
$(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj $(OBJ_D)\gost2001.obj \
$(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj $(OBJ_D)\gost_ameth.obj \
$(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj $(OBJ_D)\gost_ctl.obj \
$(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj $(OBJ_D)\gost_keywrap.obj \
$(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj $(OBJ_D)\gost_pmeth.obj \
$(OBJ_D)\gost_sign.obj
T_EXE=$(TEST_D)\constant_time_test.exe \
$(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \
$(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \
@@ -1218,156 +1218,6 @@ $(OBJ_D)\srp.obj: $(SRC_D)\apps\srp.c
$(OBJ_D)\openssl.obj: $(SRC_D)\apps\openssl.c
$(CC) -o$(OBJ_D)\openssl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\openssl.c
$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c
$(CC) -o$(OBJ_D)\s2_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_meth.c
$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c
$(CC) -o$(OBJ_D)\s2_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_srvr.c
$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c
$(CC) -o$(OBJ_D)\s2_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_clnt.c
$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c
$(CC) -o$(OBJ_D)\s2_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_lib.c
$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c
$(CC) -o$(OBJ_D)\s2_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_enc.c
$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c
$(CC) -o$(OBJ_D)\s2_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_pkt.c
$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c
$(CC) -o$(OBJ_D)\s3_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_meth.c
$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c
$(CC) -o$(OBJ_D)\s3_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_srvr.c
$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c
$(CC) -o$(OBJ_D)\s3_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_clnt.c
$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c
$(CC) -o$(OBJ_D)\s3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_lib.c
$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c
$(CC) -o$(OBJ_D)\s3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_enc.c
$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c
$(CC) -o$(OBJ_D)\s3_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_pkt.c
$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c
$(CC) -o$(OBJ_D)\s3_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_both.c
$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c
$(CC) -o$(OBJ_D)\s3_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_cbc.c
$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c
$(CC) -o$(OBJ_D)\s23_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_meth.c
$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c
$(CC) -o$(OBJ_D)\s23_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_srvr.c
$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c
$(CC) -o$(OBJ_D)\s23_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_clnt.c
$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c
$(CC) -o$(OBJ_D)\s23_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_lib.c
$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c
$(CC) -o$(OBJ_D)\s23_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_pkt.c
$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c
$(CC) -o$(OBJ_D)\t1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_meth.c
$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c
$(CC) -o$(OBJ_D)\t1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_srvr.c
$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c
$(CC) -o$(OBJ_D)\t1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_clnt.c
$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c
$(CC) -o$(OBJ_D)\t1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_lib.c
$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c
$(CC) -o$(OBJ_D)\t1_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_enc.c
$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c
$(CC) -o$(OBJ_D)\t1_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_ext.c
$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c
$(CC) -o$(OBJ_D)\d1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_meth.c
$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c
$(CC) -o$(OBJ_D)\d1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srvr.c
$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c
$(CC) -o$(OBJ_D)\d1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_clnt.c
$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c
$(CC) -o$(OBJ_D)\d1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_lib.c
$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c
$(CC) -o$(OBJ_D)\d1_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_pkt.c
$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c
$(CC) -o$(OBJ_D)\d1_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_both.c
$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c
$(CC) -o$(OBJ_D)\d1_srtp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srtp.c
$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c
$(CC) -o$(OBJ_D)\ssl_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_lib.c
$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c
$(CC) -o$(OBJ_D)\ssl_err2.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err2.c
$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c
$(CC) -o$(OBJ_D)\ssl_cert.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_cert.c
$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c
$(CC) -o$(OBJ_D)\ssl_sess.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_sess.c
$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c
$(CC) -o$(OBJ_D)\ssl_ciph.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_ciph.c
$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c
$(CC) -o$(OBJ_D)\ssl_stat.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_stat.c
$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c
$(CC) -o$(OBJ_D)\ssl_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_rsa.c
$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c
$(CC) -o$(OBJ_D)\ssl_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_asn1.c
$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c
$(CC) -o$(OBJ_D)\ssl_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_txt.c
$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c
$(CC) -o$(OBJ_D)\ssl_algs.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_algs.c
$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c
$(CC) -o$(OBJ_D)\ssl_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_conf.c
$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c
$(CC) -o$(OBJ_D)\bio_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\bio_ssl.c
$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c
$(CC) -o$(OBJ_D)\ssl_err.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err.c
$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c
$(CC) -o$(OBJ_D)\kssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\kssl.c
$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c
$(CC) -o$(OBJ_D)\t1_reneg.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_reneg.c
$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c
$(CC) -o$(OBJ_D)\tls_srp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\tls_srp.c
$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c
$(CC) -o$(OBJ_D)\t1_trce.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_trce.c
$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c
$(CC) -o$(OBJ_D)\ssl_utst.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_utst.c
$(OBJ_D)\cryptlib.obj: $(SRC_D)\crypto\cryptlib.c
$(CC) -o$(OBJ_D)\cryptlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cryptlib.c
@@ -1410,6 +1260,9 @@ $(OBJ_D)\o_init.obj: $(SRC_D)\crypto\o_init.c
$(OBJ_D)\fips_ers.obj: $(SRC_D)\crypto\fips_ers.c
$(CC) -o$(OBJ_D)\fips_ers.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\fips_ers.c
$(OBJ_D)\getenv.obj: $(SRC_D)\crypto\getenv.c
$(CC) -o$(OBJ_D)\getenv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\getenv.c
$(TMP_D)\x86cpuid.asm: crypto\x86cpuid.pl
$(PERL) crypto\x86cpuid.pl $(CFLAG) >$@
@@ -3273,6 +3126,156 @@ $(OBJ_D)\gost_pmeth.obj: $(SRC_D)\engines\ccgost\gost_pmeth.c
$(OBJ_D)\gost_sign.obj: $(SRC_D)\engines\ccgost\gost_sign.c
$(CC) -o$(OBJ_D)\gost_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_sign.c
$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c
$(CC) -o$(OBJ_D)\s2_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_meth.c
$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c
$(CC) -o$(OBJ_D)\s2_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_srvr.c
$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c
$(CC) -o$(OBJ_D)\s2_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_clnt.c
$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c
$(CC) -o$(OBJ_D)\s2_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_lib.c
$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c
$(CC) -o$(OBJ_D)\s2_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_enc.c
$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c
$(CC) -o$(OBJ_D)\s2_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_pkt.c
$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c
$(CC) -o$(OBJ_D)\s3_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_meth.c
$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c
$(CC) -o$(OBJ_D)\s3_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_srvr.c
$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c
$(CC) -o$(OBJ_D)\s3_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_clnt.c
$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c
$(CC) -o$(OBJ_D)\s3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_lib.c
$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c
$(CC) -o$(OBJ_D)\s3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_enc.c
$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c
$(CC) -o$(OBJ_D)\s3_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_pkt.c
$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c
$(CC) -o$(OBJ_D)\s3_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_both.c
$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c
$(CC) -o$(OBJ_D)\s3_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_cbc.c
$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c
$(CC) -o$(OBJ_D)\s23_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_meth.c
$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c
$(CC) -o$(OBJ_D)\s23_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_srvr.c
$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c
$(CC) -o$(OBJ_D)\s23_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_clnt.c
$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c
$(CC) -o$(OBJ_D)\s23_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_lib.c
$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c
$(CC) -o$(OBJ_D)\s23_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_pkt.c
$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c
$(CC) -o$(OBJ_D)\t1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_meth.c
$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c
$(CC) -o$(OBJ_D)\t1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_srvr.c
$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c
$(CC) -o$(OBJ_D)\t1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_clnt.c
$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c
$(CC) -o$(OBJ_D)\t1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_lib.c
$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c
$(CC) -o$(OBJ_D)\t1_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_enc.c
$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c
$(CC) -o$(OBJ_D)\t1_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_ext.c
$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c
$(CC) -o$(OBJ_D)\d1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_meth.c
$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c
$(CC) -o$(OBJ_D)\d1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srvr.c
$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c
$(CC) -o$(OBJ_D)\d1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_clnt.c
$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c
$(CC) -o$(OBJ_D)\d1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_lib.c
$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c
$(CC) -o$(OBJ_D)\d1_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_pkt.c
$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c
$(CC) -o$(OBJ_D)\d1_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_both.c
$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c
$(CC) -o$(OBJ_D)\d1_srtp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srtp.c
$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c
$(CC) -o$(OBJ_D)\ssl_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_lib.c
$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c
$(CC) -o$(OBJ_D)\ssl_err2.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err2.c
$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c
$(CC) -o$(OBJ_D)\ssl_cert.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_cert.c
$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c
$(CC) -o$(OBJ_D)\ssl_sess.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_sess.c
$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c
$(CC) -o$(OBJ_D)\ssl_ciph.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_ciph.c
$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c
$(CC) -o$(OBJ_D)\ssl_stat.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_stat.c
$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c
$(CC) -o$(OBJ_D)\ssl_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_rsa.c
$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c
$(CC) -o$(OBJ_D)\ssl_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_asn1.c
$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c
$(CC) -o$(OBJ_D)\ssl_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_txt.c
$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c
$(CC) -o$(OBJ_D)\ssl_algs.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_algs.c
$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c
$(CC) -o$(OBJ_D)\ssl_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_conf.c
$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c
$(CC) -o$(OBJ_D)\bio_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\bio_ssl.c
$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c
$(CC) -o$(OBJ_D)\ssl_err.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err.c
$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c
$(CC) -o$(OBJ_D)\kssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\kssl.c
$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c
$(CC) -o$(OBJ_D)\t1_reneg.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_reneg.c
$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c
$(CC) -o$(OBJ_D)\tls_srp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\tls_srp.c
$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c
$(CC) -o$(OBJ_D)\t1_trce.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_trce.c
$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c
$(CC) -o$(OBJ_D)\ssl_utst.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_utst.c
$(TEST_D)\constant_time_test.exe: $(OBJ_D)\constant_time_test.obj $(LIBS_DEP)
$(LINK_CMD) $(LFLAGS) $(OBJ_D)\constant_time_test.obj $(APP_EX_OBJ), $(TEST_D)\constant_time_test.exe,, $(L_LIBS) $(EX_LIBS)

View File

@@ -3639,6 +3639,7 @@ EXPORTS
lh_strhash @900
name_cmp @1239
o2i_ECPublicKey @3368
ossl_safe_getenv @4789
pitem_free @3767
pitem_new @3365
pqueue_find @3454

View File

@@ -221,207 +221,207 @@ CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \
$(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \
$(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \
$(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \
$(OBJ_D)\fips_ers.obj $(OBJ_D)\x86cpuid.obj $(OBJ_D)\md4_dgst.obj \
$(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj $(OBJ_D)\md5_one.obj \
$(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj $(OBJ_D)\sha1dgst.obj \
$(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj $(OBJ_D)\sha256.obj \
$(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj $(OBJ_D)\sha256-586.obj \
$(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj $(OBJ_D)\hm_ameth.obj \
$(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj $(OBJ_D)\cm_ameth.obj \
$(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj $(OBJ_D)\rmd_one.obj \
$(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj $(OBJ_D)\ecb_enc.obj \
$(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj $(OBJ_D)\cfb64enc.obj \
$(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj $(OBJ_D)\ofb64ede.obj \
$(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj $(OBJ_D)\ofb64enc.obj \
$(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj $(OBJ_D)\pcbc_enc.obj \
$(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj $(OBJ_D)\des-586.obj \
$(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj $(OBJ_D)\xcbc_enc.obj \
$(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj $(OBJ_D)\ede_cbcm_enc.obj \
$(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj $(OBJ_D)\read2pwd.obj \
$(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj $(OBJ_D)\rc2_cbc.obj \
$(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj $(OBJ_D)\rc4-586.obj \
$(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj $(OBJ_D)\bf_ecb.obj \
$(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj $(OBJ_D)\bf_ofb64.obj \
$(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj $(OBJ_D)\cast-586.obj \
$(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj $(OBJ_D)\aes_misc.obj \
$(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj $(OBJ_D)\aes_ofb.obj \
$(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj $(OBJ_D)\aes_wrap.obj \
$(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj $(OBJ_D)\aesni-x86.obj \
$(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj $(OBJ_D)\cmll_cfb.obj \
$(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj $(OBJ_D)\cmll-x86.obj \
$(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj $(OBJ_D)\seed_cbc.obj \
$(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj $(OBJ_D)\cbc128.obj \
$(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj $(OBJ_D)\cfb128.obj \
$(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj $(OBJ_D)\ccm128.obj \
$(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj $(OBJ_D)\ghash-x86.obj \
$(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj $(OBJ_D)\bn_exp.obj \
$(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj $(OBJ_D)\bn_mul.obj \
$(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj $(OBJ_D)\bn_rand.obj \
$(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj $(OBJ_D)\bn_blind.obj \
$(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj $(OBJ_D)\bn_gcd.obj \
$(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj $(OBJ_D)\bn_sqr.obj \
$(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj $(OBJ_D)\x86-mont.obj \
$(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj $(OBJ_D)\bn_mont.obj \
$(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj $(OBJ_D)\bn_gf2m.obj \
$(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj $(OBJ_D)\bn_const.obj \
$(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj $(OBJ_D)\rsa_gen.obj \
$(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj $(OBJ_D)\rsa_saos.obj \
$(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj $(OBJ_D)\rsa_ssl.obj \
$(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj $(OBJ_D)\rsa_chk.obj \
$(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj $(OBJ_D)\rsa_x931.obj \
$(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj $(OBJ_D)\rsa_ameth.obj \
$(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj $(OBJ_D)\rsa_crpt.obj \
$(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj $(OBJ_D)\dsa_lib.obj \
$(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj $(OBJ_D)\dsa_sign.obj \
$(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj $(OBJ_D)\dsa_depr.obj \
$(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj $(OBJ_D)\dsa_prn.obj \
$(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj $(OBJ_D)\dso_err.obj \
$(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj $(OBJ_D)\dso_openssl.obj \
$(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj $(OBJ_D)\dso_beos.obj \
$(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj $(OBJ_D)\dh_key.obj \
$(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj $(OBJ_D)\dh_err.obj \
$(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj $(OBJ_D)\dh_pmeth.obj \
$(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj $(OBJ_D)\dh_kdf.obj \
$(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj $(OBJ_D)\ecp_mont.obj \
$(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj $(OBJ_D)\ec_mult.obj \
$(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj $(OBJ_D)\ec_check.obj \
$(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj $(OBJ_D)\ec_key.obj \
$(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj $(OBJ_D)\ec_ameth.obj \
$(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj $(OBJ_D)\ecp_nistp224.obj \
$(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj $(OBJ_D)\ecp_nistputil.obj \
$(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj $(OBJ_D)\ec_oct.obj \
$(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj $(OBJ_D)\ech_key.obj \
$(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj $(OBJ_D)\ecs_lib.obj \
$(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj $(OBJ_D)\ecs_sign.obj \
$(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj $(OBJ_D)\buffer.obj \
$(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj $(OBJ_D)\bio_lib.obj \
$(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj $(OBJ_D)\bss_mem.obj \
$(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj $(OBJ_D)\bss_file.obj \
$(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj $(OBJ_D)\bf_null.obj \
$(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj $(OBJ_D)\b_dump.obj \
$(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj $(OBJ_D)\bf_nbio.obj \
$(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj $(OBJ_D)\bss_dgram.obj \
$(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj $(OBJ_D)\lh_stats.obj \
$(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj $(OBJ_D)\rand_lib.obj \
$(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj $(OBJ_D)\rand_win.obj \
$(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj $(OBJ_D)\rand_nw.obj \
$(OBJ_D)\err.obj $(OBJ_D)\err_all.obj $(OBJ_D)\err_prn.obj \
$(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj $(OBJ_D)\obj_lib.obj \
$(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj $(OBJ_D)\encode.obj \
$(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj $(OBJ_D)\evp_key.obj \
$(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj $(OBJ_D)\e_des.obj \
$(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj $(OBJ_D)\e_des3.obj \
$(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj $(OBJ_D)\e_aes.obj \
$(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj $(OBJ_D)\e_xcbc_d.obj \
$(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj $(OBJ_D)\e_rc5.obj \
$(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj $(OBJ_D)\m_md5.obj \
$(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj $(OBJ_D)\m_wp.obj \
$(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj $(OBJ_D)\m_ripemd.obj \
$(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj $(OBJ_D)\p_seal.obj \
$(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj $(OBJ_D)\p_lib.obj \
$(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj $(OBJ_D)\bio_md.obj \
$(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj $(OBJ_D)\evp_err.obj \
$(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj $(OBJ_D)\c_allc.obj \
$(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj $(OBJ_D)\bio_ok.obj \
$(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj $(OBJ_D)\p5_crpt.obj \
$(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj $(OBJ_D)\pmeth_lib.obj \
$(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj $(OBJ_D)\m_sigver.obj \
$(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(OBJ_D)\e_rc4_hmac_md5.obj \
$(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj $(OBJ_D)\a_utctm.obj \
$(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj $(OBJ_D)\a_int.obj \
$(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj $(OBJ_D)\a_type.obj \
$(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj $(OBJ_D)\a_d2i_fp.obj \
$(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj $(OBJ_D)\a_utf8.obj \
$(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj $(OBJ_D)\a_verify.obj \
$(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj $(OBJ_D)\x_algor.obj \
$(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj $(OBJ_D)\x_sig.obj \
$(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj $(OBJ_D)\x_bignum.obj \
$(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj $(OBJ_D)\x_x509.obj \
$(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj $(OBJ_D)\x_info.obj \
$(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj $(OBJ_D)\x_nx509.obj \
$(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj $(OBJ_D)\i2d_pu.obj \
$(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj $(OBJ_D)\t_x509.obj \
$(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj $(OBJ_D)\t_pkey.obj \
$(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj $(OBJ_D)\tasn_new.obj \
$(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj $(OBJ_D)\tasn_dec.obj \
$(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj $(OBJ_D)\tasn_prn.obj \
$(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj $(OBJ_D)\f_string.obj \
$(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj $(OBJ_D)\x_pkey.obj \
$(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj $(OBJ_D)\bio_asn1.obj \
$(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj $(OBJ_D)\asn1_gen.obj \
$(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj $(OBJ_D)\asn1_err.obj \
$(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj $(OBJ_D)\evp_asn1.obj \
$(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj $(OBJ_D)\p5_pbev2.obj \
$(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj $(OBJ_D)\pem_sign.obj \
$(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj $(OBJ_D)\pem_lib.obj \
$(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj $(OBJ_D)\pem_x509.obj \
$(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj $(OBJ_D)\pem_pk8.obj \
$(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj $(OBJ_D)\x509_def.obj \
$(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj $(OBJ_D)\x509_cmp.obj \
$(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj $(OBJ_D)\x509spki.obj \
$(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj $(OBJ_D)\x509cset.obj \
$(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj $(OBJ_D)\x509name.obj \
$(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj $(OBJ_D)\x509_att.obj \
$(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj $(OBJ_D)\x_all.obj \
$(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj $(OBJ_D)\by_file.obj \
$(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj $(OBJ_D)\v3_bcons.obj \
$(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj $(OBJ_D)\v3_extku.obj \
$(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj $(OBJ_D)\v3_prn.obj \
$(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj $(OBJ_D)\v3_genn.obj \
$(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj $(OBJ_D)\v3_akey.obj \
$(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj $(OBJ_D)\v3_enum.obj \
$(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj $(OBJ_D)\v3_crld.obj \
$(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj $(OBJ_D)\v3_ocsp.obj \
$(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj $(OBJ_D)\v3_pcons.obj \
$(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj $(OBJ_D)\v3_pci.obj \
$(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj $(OBJ_D)\pcy_data.obj \
$(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj $(OBJ_D)\pcy_lib.obj \
$(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj $(OBJ_D)\v3_scts.obj \
$(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj $(OBJ_D)\cms_att.obj \
$(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj $(OBJ_D)\cms_err.obj \
$(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj $(OBJ_D)\cms_cd.obj \
$(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj $(OBJ_D)\cms_ess.obj \
$(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj $(OBJ_D)\conf_err.obj \
$(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj $(OBJ_D)\conf_def.obj \
$(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj $(OBJ_D)\conf_sap.obj \
$(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj $(OBJ_D)\pk7_lib.obj \
$(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj $(OBJ_D)\pk7_smime.obj \
$(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj $(OBJ_D)\bio_pk7.obj \
$(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj $(OBJ_D)\p12_attr.obj \
$(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj $(OBJ_D)\p12_decr.obj \
$(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj $(OBJ_D)\p12_kiss.obj \
$(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj $(OBJ_D)\p12_npas.obj \
$(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj $(OBJ_D)\p12_p8e.obj \
$(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj $(OBJ_D)\c_rle.obj \
$(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj $(OBJ_D)\eng_lib.obj \
$(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj $(OBJ_D)\eng_ctrl.obj \
$(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj $(OBJ_D)\eng_fat.obj \
$(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj $(OBJ_D)\tb_dsa.obj \
$(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj $(OBJ_D)\tb_ecdh.obj \
$(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj $(OBJ_D)\tb_cipher.obj \
$(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj $(OBJ_D)\tb_asnmth.obj \
$(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj $(OBJ_D)\eng_dyn.obj \
$(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj $(OBJ_D)\ocsp_asn.obj \
$(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj $(OBJ_D)\ocsp_lib.obj \
$(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj $(OBJ_D)\ocsp_prn.obj \
$(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj $(OBJ_D)\ui_err.obj \
$(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj $(OBJ_D)\ui_util.obj \
$(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj $(OBJ_D)\pqueue.obj \
$(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj $(OBJ_D)\wp-mmx.obj \
$(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj $(OBJ_D)\ts_req_print.obj \
$(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj $(OBJ_D)\ts_rsp_sign.obj \
$(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj $(OBJ_D)\ts_lib.obj \
$(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj $(OBJ_D)\srp_lib.obj \
$(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj $(OBJ_D)\e_aep.obj \
$(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj $(OBJ_D)\e_gmp.obj \
$(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj $(OBJ_D)\e_sureware.obj \
$(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj $(OBJ_D)\e_capi.obj \
$(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj $(OBJ_D)\gost2001.obj \
$(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj $(OBJ_D)\gost_ameth.obj \
$(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj $(OBJ_D)\gost_ctl.obj \
$(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj $(OBJ_D)\gost_keywrap.obj \
$(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj $(OBJ_D)\gost_pmeth.obj \
$(OBJ_D)\gost_sign.obj
$(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86cpuid.obj \
$(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \
$(OBJ_D)\md5_one.obj $(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj \
$(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \
$(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj \
$(OBJ_D)\sha256-586.obj $(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj \
$(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj \
$(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj \
$(OBJ_D)\rmd_one.obj $(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj \
$(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \
$(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \
$(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \
$(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \
$(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \
$(OBJ_D)\des-586.obj $(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj \
$(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \
$(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \
$(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \
$(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \
$(OBJ_D)\rc4-586.obj $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj \
$(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj \
$(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj \
$(OBJ_D)\cast-586.obj $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj \
$(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj \
$(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj \
$(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj \
$(OBJ_D)\aesni-x86.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \
$(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \
$(OBJ_D)\cmll-x86.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \
$(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \
$(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \
$(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \
$(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \
$(OBJ_D)\ghash-x86.obj $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj \
$(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj \
$(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj \
$(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj \
$(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj \
$(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj \
$(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj \
$(OBJ_D)\x86-mont.obj $(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj \
$(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj \
$(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj \
$(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj \
$(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj \
$(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj \
$(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj \
$(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj \
$(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj \
$(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj \
$(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj \
$(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj \
$(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj \
$(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj \
$(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj \
$(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj \
$(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj \
$(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj \
$(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj \
$(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj \
$(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj \
$(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj \
$(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj \
$(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj \
$(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj \
$(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj \
$(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj \
$(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj \
$(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj \
$(OBJ_D)\ec_oct.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \
$(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \
$(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \
$(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \
$(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \
$(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \
$(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \
$(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \
$(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \
$(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \
$(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \
$(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \
$(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \
$(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \
$(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \
$(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \
$(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \
$(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \
$(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \
$(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \
$(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \
$(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \
$(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \
$(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \
$(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \
$(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \
$(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \
$(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \
$(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \
$(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \
$(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \
$(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \
$(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \
$(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \
$(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \
$(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \
$(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \
$(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \
$(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \
$(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \
$(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \
$(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \
$(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \
$(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \
$(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \
$(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \
$(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \
$(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \
$(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \
$(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \
$(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \
$(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \
$(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \
$(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \
$(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \
$(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \
$(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \
$(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \
$(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \
$(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \
$(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \
$(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \
$(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \
$(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \
$(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \
$(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \
$(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \
$(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \
$(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \
$(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \
$(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \
$(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \
$(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \
$(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \
$(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \
$(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \
$(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \
$(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \
$(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \
$(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \
$(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \
$(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \
$(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \
$(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \
$(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \
$(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \
$(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \
$(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \
$(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \
$(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \
$(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \
$(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \
$(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \
$(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \
$(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \
$(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \
$(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \
$(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \
$(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \
$(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \
$(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \
$(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \
$(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \
$(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \
$(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \
$(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \
$(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \
$(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \
$(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \
$(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \
$(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \
$(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \
$(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \
$(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \
$(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \
$(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \
$(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \
$(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj \
$(OBJ_D)\wp-mmx.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \
$(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \
$(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \
$(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \
$(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \
$(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \
$(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \
$(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \
$(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \
$(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \
$(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \
$(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \
$(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \
$(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj
T_EXE=$(TEST_D)\constant_time_test.exe \
$(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \

View File

@@ -221,207 +221,207 @@ CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \
$(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \
$(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \
$(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \
$(OBJ_D)\fips_ers.obj $(OBJ_D)\x86cpuid.obj $(OBJ_D)\md4_dgst.obj \
$(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj $(OBJ_D)\md5_one.obj \
$(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj $(OBJ_D)\sha1dgst.obj \
$(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj $(OBJ_D)\sha256.obj \
$(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj $(OBJ_D)\sha256-586.obj \
$(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj $(OBJ_D)\hm_ameth.obj \
$(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj $(OBJ_D)\cm_ameth.obj \
$(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj $(OBJ_D)\rmd_one.obj \
$(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj $(OBJ_D)\ecb_enc.obj \
$(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj $(OBJ_D)\cfb64enc.obj \
$(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj $(OBJ_D)\ofb64ede.obj \
$(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj $(OBJ_D)\ofb64enc.obj \
$(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj $(OBJ_D)\pcbc_enc.obj \
$(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj $(OBJ_D)\des-586.obj \
$(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj $(OBJ_D)\xcbc_enc.obj \
$(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj $(OBJ_D)\ede_cbcm_enc.obj \
$(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj $(OBJ_D)\read2pwd.obj \
$(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj $(OBJ_D)\rc2_cbc.obj \
$(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj $(OBJ_D)\rc4-586.obj \
$(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj $(OBJ_D)\bf_ecb.obj \
$(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj $(OBJ_D)\bf_ofb64.obj \
$(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj $(OBJ_D)\cast-586.obj \
$(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj $(OBJ_D)\aes_misc.obj \
$(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj $(OBJ_D)\aes_ofb.obj \
$(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj $(OBJ_D)\aes_wrap.obj \
$(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj $(OBJ_D)\aesni-x86.obj \
$(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj $(OBJ_D)\cmll_cfb.obj \
$(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj $(OBJ_D)\cmll-x86.obj \
$(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj $(OBJ_D)\seed_cbc.obj \
$(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj $(OBJ_D)\cbc128.obj \
$(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj $(OBJ_D)\cfb128.obj \
$(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj $(OBJ_D)\ccm128.obj \
$(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj $(OBJ_D)\ghash-x86.obj \
$(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj $(OBJ_D)\bn_exp.obj \
$(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj $(OBJ_D)\bn_mul.obj \
$(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj $(OBJ_D)\bn_rand.obj \
$(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj $(OBJ_D)\bn_blind.obj \
$(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj $(OBJ_D)\bn_gcd.obj \
$(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj $(OBJ_D)\bn_sqr.obj \
$(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj $(OBJ_D)\x86-mont.obj \
$(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj $(OBJ_D)\bn_mont.obj \
$(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj $(OBJ_D)\bn_gf2m.obj \
$(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj $(OBJ_D)\bn_const.obj \
$(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj $(OBJ_D)\rsa_gen.obj \
$(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj $(OBJ_D)\rsa_saos.obj \
$(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj $(OBJ_D)\rsa_ssl.obj \
$(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj $(OBJ_D)\rsa_chk.obj \
$(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj $(OBJ_D)\rsa_x931.obj \
$(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj $(OBJ_D)\rsa_ameth.obj \
$(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj $(OBJ_D)\rsa_crpt.obj \
$(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj $(OBJ_D)\dsa_lib.obj \
$(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj $(OBJ_D)\dsa_sign.obj \
$(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj $(OBJ_D)\dsa_depr.obj \
$(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj $(OBJ_D)\dsa_prn.obj \
$(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj $(OBJ_D)\dso_err.obj \
$(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj $(OBJ_D)\dso_openssl.obj \
$(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj $(OBJ_D)\dso_beos.obj \
$(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj $(OBJ_D)\dh_key.obj \
$(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj $(OBJ_D)\dh_err.obj \
$(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj $(OBJ_D)\dh_pmeth.obj \
$(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj $(OBJ_D)\dh_kdf.obj \
$(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj $(OBJ_D)\ecp_mont.obj \
$(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj $(OBJ_D)\ec_mult.obj \
$(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj $(OBJ_D)\ec_check.obj \
$(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj $(OBJ_D)\ec_key.obj \
$(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj $(OBJ_D)\ec_ameth.obj \
$(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj $(OBJ_D)\ecp_nistp224.obj \
$(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj $(OBJ_D)\ecp_nistputil.obj \
$(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj $(OBJ_D)\ec_oct.obj \
$(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj $(OBJ_D)\ech_key.obj \
$(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj $(OBJ_D)\ecs_lib.obj \
$(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj $(OBJ_D)\ecs_sign.obj \
$(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj $(OBJ_D)\buffer.obj \
$(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj $(OBJ_D)\bio_lib.obj \
$(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj $(OBJ_D)\bss_mem.obj \
$(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj $(OBJ_D)\bss_file.obj \
$(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj $(OBJ_D)\bf_null.obj \
$(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj $(OBJ_D)\b_dump.obj \
$(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj $(OBJ_D)\bf_nbio.obj \
$(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj $(OBJ_D)\bss_dgram.obj \
$(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj $(OBJ_D)\lh_stats.obj \
$(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj $(OBJ_D)\rand_lib.obj \
$(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj $(OBJ_D)\rand_win.obj \
$(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj $(OBJ_D)\rand_nw.obj \
$(OBJ_D)\err.obj $(OBJ_D)\err_all.obj $(OBJ_D)\err_prn.obj \
$(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj $(OBJ_D)\obj_lib.obj \
$(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj $(OBJ_D)\encode.obj \
$(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj $(OBJ_D)\evp_key.obj \
$(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj $(OBJ_D)\e_des.obj \
$(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj $(OBJ_D)\e_des3.obj \
$(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj $(OBJ_D)\e_aes.obj \
$(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj $(OBJ_D)\e_xcbc_d.obj \
$(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj $(OBJ_D)\e_rc5.obj \
$(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj $(OBJ_D)\m_md5.obj \
$(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj $(OBJ_D)\m_wp.obj \
$(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj $(OBJ_D)\m_ripemd.obj \
$(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj $(OBJ_D)\p_seal.obj \
$(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj $(OBJ_D)\p_lib.obj \
$(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj $(OBJ_D)\bio_md.obj \
$(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj $(OBJ_D)\evp_err.obj \
$(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj $(OBJ_D)\c_allc.obj \
$(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj $(OBJ_D)\bio_ok.obj \
$(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj $(OBJ_D)\p5_crpt.obj \
$(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj $(OBJ_D)\pmeth_lib.obj \
$(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj $(OBJ_D)\m_sigver.obj \
$(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(OBJ_D)\e_rc4_hmac_md5.obj \
$(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj $(OBJ_D)\a_utctm.obj \
$(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj $(OBJ_D)\a_int.obj \
$(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj $(OBJ_D)\a_type.obj \
$(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj $(OBJ_D)\a_d2i_fp.obj \
$(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj $(OBJ_D)\a_utf8.obj \
$(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj $(OBJ_D)\a_verify.obj \
$(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj $(OBJ_D)\x_algor.obj \
$(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj $(OBJ_D)\x_sig.obj \
$(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj $(OBJ_D)\x_bignum.obj \
$(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj $(OBJ_D)\x_x509.obj \
$(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj $(OBJ_D)\x_info.obj \
$(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj $(OBJ_D)\x_nx509.obj \
$(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj $(OBJ_D)\i2d_pu.obj \
$(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj $(OBJ_D)\t_x509.obj \
$(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj $(OBJ_D)\t_pkey.obj \
$(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj $(OBJ_D)\tasn_new.obj \
$(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj $(OBJ_D)\tasn_dec.obj \
$(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj $(OBJ_D)\tasn_prn.obj \
$(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj $(OBJ_D)\f_string.obj \
$(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj $(OBJ_D)\x_pkey.obj \
$(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj $(OBJ_D)\bio_asn1.obj \
$(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj $(OBJ_D)\asn1_gen.obj \
$(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj $(OBJ_D)\asn1_err.obj \
$(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj $(OBJ_D)\evp_asn1.obj \
$(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj $(OBJ_D)\p5_pbev2.obj \
$(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj $(OBJ_D)\pem_sign.obj \
$(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj $(OBJ_D)\pem_lib.obj \
$(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj $(OBJ_D)\pem_x509.obj \
$(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj $(OBJ_D)\pem_pk8.obj \
$(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj $(OBJ_D)\x509_def.obj \
$(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj $(OBJ_D)\x509_cmp.obj \
$(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj $(OBJ_D)\x509spki.obj \
$(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj $(OBJ_D)\x509cset.obj \
$(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj $(OBJ_D)\x509name.obj \
$(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj $(OBJ_D)\x509_att.obj \
$(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj $(OBJ_D)\x_all.obj \
$(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj $(OBJ_D)\by_file.obj \
$(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj $(OBJ_D)\v3_bcons.obj \
$(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj $(OBJ_D)\v3_extku.obj \
$(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj $(OBJ_D)\v3_prn.obj \
$(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj $(OBJ_D)\v3_genn.obj \
$(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj $(OBJ_D)\v3_akey.obj \
$(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj $(OBJ_D)\v3_enum.obj \
$(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj $(OBJ_D)\v3_crld.obj \
$(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj $(OBJ_D)\v3_ocsp.obj \
$(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj $(OBJ_D)\v3_pcons.obj \
$(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj $(OBJ_D)\v3_pci.obj \
$(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj $(OBJ_D)\pcy_data.obj \
$(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj $(OBJ_D)\pcy_lib.obj \
$(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj $(OBJ_D)\v3_scts.obj \
$(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj $(OBJ_D)\cms_att.obj \
$(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj $(OBJ_D)\cms_err.obj \
$(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj $(OBJ_D)\cms_cd.obj \
$(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj $(OBJ_D)\cms_ess.obj \
$(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj $(OBJ_D)\conf_err.obj \
$(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj $(OBJ_D)\conf_def.obj \
$(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj $(OBJ_D)\conf_sap.obj \
$(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj $(OBJ_D)\pk7_lib.obj \
$(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj $(OBJ_D)\pk7_smime.obj \
$(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj $(OBJ_D)\bio_pk7.obj \
$(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj $(OBJ_D)\p12_attr.obj \
$(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj $(OBJ_D)\p12_decr.obj \
$(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj $(OBJ_D)\p12_kiss.obj \
$(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj $(OBJ_D)\p12_npas.obj \
$(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj $(OBJ_D)\p12_p8e.obj \
$(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj $(OBJ_D)\c_rle.obj \
$(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj $(OBJ_D)\eng_lib.obj \
$(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj $(OBJ_D)\eng_ctrl.obj \
$(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj $(OBJ_D)\eng_fat.obj \
$(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj $(OBJ_D)\tb_dsa.obj \
$(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj $(OBJ_D)\tb_ecdh.obj \
$(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj $(OBJ_D)\tb_cipher.obj \
$(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj $(OBJ_D)\tb_asnmth.obj \
$(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj $(OBJ_D)\eng_dyn.obj \
$(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj $(OBJ_D)\ocsp_asn.obj \
$(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj $(OBJ_D)\ocsp_lib.obj \
$(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj $(OBJ_D)\ocsp_prn.obj \
$(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj $(OBJ_D)\ui_err.obj \
$(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj $(OBJ_D)\ui_util.obj \
$(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj $(OBJ_D)\pqueue.obj \
$(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj $(OBJ_D)\wp-mmx.obj \
$(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj $(OBJ_D)\ts_req_print.obj \
$(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj $(OBJ_D)\ts_rsp_sign.obj \
$(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj $(OBJ_D)\ts_lib.obj \
$(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj $(OBJ_D)\srp_lib.obj \
$(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj $(OBJ_D)\e_aep.obj \
$(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj $(OBJ_D)\e_gmp.obj \
$(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj $(OBJ_D)\e_sureware.obj \
$(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj $(OBJ_D)\e_capi.obj \
$(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj $(OBJ_D)\gost2001.obj \
$(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj $(OBJ_D)\gost_ameth.obj \
$(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj $(OBJ_D)\gost_ctl.obj \
$(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj $(OBJ_D)\gost_keywrap.obj \
$(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj $(OBJ_D)\gost_pmeth.obj \
$(OBJ_D)\gost_sign.obj
$(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86cpuid.obj \
$(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \
$(OBJ_D)\md5_one.obj $(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj \
$(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \
$(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj \
$(OBJ_D)\sha256-586.obj $(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj \
$(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj \
$(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj \
$(OBJ_D)\rmd_one.obj $(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj \
$(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \
$(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \
$(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \
$(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \
$(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \
$(OBJ_D)\des-586.obj $(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj \
$(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \
$(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \
$(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \
$(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \
$(OBJ_D)\rc4-586.obj $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj \
$(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj \
$(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj \
$(OBJ_D)\cast-586.obj $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj \
$(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj \
$(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj \
$(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj \
$(OBJ_D)\aesni-x86.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \
$(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \
$(OBJ_D)\cmll-x86.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \
$(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \
$(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \
$(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \
$(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \
$(OBJ_D)\ghash-x86.obj $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj \
$(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj \
$(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj \
$(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj \
$(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj \
$(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj \
$(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj \
$(OBJ_D)\x86-mont.obj $(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj \
$(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj \
$(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj \
$(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj \
$(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj \
$(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj \
$(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj \
$(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj \
$(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj \
$(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj \
$(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj \
$(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj \
$(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj \
$(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj \
$(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj \
$(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj \
$(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj \
$(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj \
$(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj \
$(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj \
$(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj \
$(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj \
$(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj \
$(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj \
$(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj \
$(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj \
$(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj \
$(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj \
$(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj \
$(OBJ_D)\ec_oct.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \
$(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \
$(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \
$(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \
$(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \
$(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \
$(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \
$(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \
$(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \
$(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \
$(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \
$(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \
$(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \
$(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \
$(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \
$(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \
$(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \
$(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \
$(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \
$(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \
$(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \
$(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \
$(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \
$(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \
$(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \
$(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \
$(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \
$(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \
$(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \
$(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \
$(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \
$(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \
$(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \
$(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \
$(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \
$(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \
$(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \
$(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \
$(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \
$(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \
$(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \
$(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \
$(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \
$(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \
$(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \
$(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \
$(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \
$(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \
$(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \
$(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \
$(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \
$(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \
$(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \
$(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \
$(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \
$(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \
$(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \
$(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \
$(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \
$(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \
$(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \
$(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \
$(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \
$(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \
$(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \
$(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \
$(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \
$(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \
$(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \
$(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \
$(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \
$(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \
$(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \
$(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \
$(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \
$(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \
$(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \
$(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \
$(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \
$(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \
$(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \
$(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \
$(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \
$(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \
$(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \
$(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \
$(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \
$(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \
$(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \
$(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \
$(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \
$(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \
$(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \
$(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \
$(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \
$(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \
$(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \
$(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \
$(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \
$(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \
$(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \
$(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \
$(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \
$(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \
$(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \
$(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \
$(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \
$(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \
$(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \
$(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \
$(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \
$(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \
$(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \
$(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \
$(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \
$(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \
$(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \
$(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj \
$(OBJ_D)\wp-mmx.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \
$(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \
$(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \
$(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \
$(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \
$(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \
$(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \
$(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \
$(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \
$(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \
$(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \
$(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \
$(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \
$(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj
T_EXE=$(TEST_D)\constant_time_test.exe \
$(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \
@@ -1410,6 +1410,9 @@ $(OBJ_D)\o_init.obj: $(SRC_D)\crypto\o_init.c
$(OBJ_D)\fips_ers.obj: $(SRC_D)\crypto\fips_ers.c
$(CC) /Fo$(OBJ_D)\fips_ers.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\fips_ers.c
$(OBJ_D)\getenv.obj: $(SRC_D)\crypto\getenv.c
$(CC) /Fo$(OBJ_D)\getenv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\getenv.c
$(TMP_D)\x86cpuid.asm: crypto\x86cpuid.pl
$(PERL) crypto\x86cpuid.pl win32n $(CFLAG) >$@

View File

@@ -197,6 +197,217 @@ E_OBJ=$(OBJ_D)\verify.obj \
$(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \
$(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj
CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \
$(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \
$(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \
$(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \
$(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \
$(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86_64cpuid.obj \
$(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \
$(OBJ_D)\md5_one.obj $(OBJ_D)\md5-x86_64.obj $(OBJ_D)\sha_dgst.obj \
$(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \
$(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-x86_64.obj \
$(OBJ_D)\sha256-x86_64.obj $(OBJ_D)\sha512-x86_64.obj $(OBJ_D)\sha1-mb-x86_64.obj \
$(OBJ_D)\sha256-mb-x86_64.obj $(OBJ_D)\hmac.obj $(OBJ_D)\hm_ameth.obj \
$(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj $(OBJ_D)\cm_ameth.obj \
$(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj $(OBJ_D)\rmd_one.obj \
$(OBJ_D)\set_key.obj $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj \
$(OBJ_D)\ecb3_enc.obj $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj \
$(OBJ_D)\cfb_enc.obj $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj \
$(OBJ_D)\enc_writ.obj $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj \
$(OBJ_D)\str2key.obj $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj \
$(OBJ_D)\rand_key.obj $(OBJ_D)\des_enc.obj $(OBJ_D)\fcrypt_b.obj \
$(OBJ_D)\fcrypt.obj $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj \
$(OBJ_D)\cbc_cksm.obj $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj \
$(OBJ_D)\des_old2.obj $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj \
$(OBJ_D)\rc2_skey.obj $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj \
$(OBJ_D)\rc2ofb64.obj $(OBJ_D)\rc4-x86_64.obj $(OBJ_D)\rc4-md5-x86_64.obj \
$(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj $(OBJ_D)\bf_ecb.obj \
$(OBJ_D)\bf_enc.obj $(OBJ_D)\bf_cfb64.obj $(OBJ_D)\bf_ofb64.obj \
$(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj $(OBJ_D)\c_enc.obj \
$(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj $(OBJ_D)\aes_misc.obj \
$(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj $(OBJ_D)\aes_ofb.obj \
$(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj $(OBJ_D)\aes_wrap.obj \
$(OBJ_D)\aes-x86_64.obj $(OBJ_D)\vpaes-x86_64.obj $(OBJ_D)\bsaes-x86_64.obj \
$(OBJ_D)\aesni-x86_64.obj $(OBJ_D)\aesni-sha1-x86_64.obj $(OBJ_D)\aesni-sha256-x86_64.obj \
$(OBJ_D)\aesni-mb-x86_64.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \
$(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \
$(OBJ_D)\cmll-x86_64.obj $(OBJ_D)\cmll_misc.obj $(OBJ_D)\seed.obj \
$(OBJ_D)\seed_ecb.obj $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj \
$(OBJ_D)\seed_ofb.obj $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj \
$(OBJ_D)\cts128.obj $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj \
$(OBJ_D)\gcm128.obj $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj \
$(OBJ_D)\wrap128.obj $(OBJ_D)\ghash-x86_64.obj $(OBJ_D)\aesni-gcm-x86_64.obj \
$(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj $(OBJ_D)\bn_exp.obj \
$(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj $(OBJ_D)\bn_mul.obj \
$(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj $(OBJ_D)\bn_rand.obj \
$(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj $(OBJ_D)\bn_blind.obj \
$(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj $(OBJ_D)\bn_gcd.obj \
$(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj $(OBJ_D)\bn_sqr.obj \
$(OBJ_D)\bn_asm.obj $(OBJ_D)\x86_64-mont.obj $(OBJ_D)\x86_64-mont5.obj \
$(OBJ_D)\x86_64-gf2m.obj $(OBJ_D)\rsaz_exp.obj $(OBJ_D)\rsaz-x86_64.obj \
$(OBJ_D)\rsaz-avx2.obj $(OBJ_D)\bn_recp.obj $(OBJ_D)\bn_mont.obj \
$(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj $(OBJ_D)\bn_gf2m.obj \
$(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj $(OBJ_D)\bn_const.obj \
$(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj $(OBJ_D)\rsa_gen.obj \
$(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj $(OBJ_D)\rsa_saos.obj \
$(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj $(OBJ_D)\rsa_ssl.obj \
$(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj $(OBJ_D)\rsa_chk.obj \
$(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj $(OBJ_D)\rsa_x931.obj \
$(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj $(OBJ_D)\rsa_ameth.obj \
$(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj $(OBJ_D)\rsa_crpt.obj \
$(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj $(OBJ_D)\dsa_lib.obj \
$(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj $(OBJ_D)\dsa_sign.obj \
$(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj $(OBJ_D)\dsa_depr.obj \
$(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj $(OBJ_D)\dsa_prn.obj \
$(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj $(OBJ_D)\dso_err.obj \
$(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj $(OBJ_D)\dso_openssl.obj \
$(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj $(OBJ_D)\dso_beos.obj \
$(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj $(OBJ_D)\dh_key.obj \
$(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj $(OBJ_D)\dh_err.obj \
$(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj $(OBJ_D)\dh_pmeth.obj \
$(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj $(OBJ_D)\dh_kdf.obj \
$(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj $(OBJ_D)\ecp_mont.obj \
$(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj $(OBJ_D)\ec_mult.obj \
$(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj $(OBJ_D)\ec_check.obj \
$(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj $(OBJ_D)\ec_key.obj \
$(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj $(OBJ_D)\ec_ameth.obj \
$(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj $(OBJ_D)\ecp_nistp224.obj \
$(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj $(OBJ_D)\ecp_nistputil.obj \
$(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj $(OBJ_D)\ec_oct.obj \
$(OBJ_D)\ecp_nistz256.obj $(OBJ_D)\ecp_nistz256-x86_64.obj $(OBJ_D)\ech_lib.obj \
$(OBJ_D)\ech_ossl.obj $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj \
$(OBJ_D)\ech_kdf.obj $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj \
$(OBJ_D)\ecs_ossl.obj $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj \
$(OBJ_D)\ecs_err.obj $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj \
$(OBJ_D)\buf_err.obj $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj \
$(OBJ_D)\bio_err.obj $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj \
$(OBJ_D)\bss_fd.obj $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj \
$(OBJ_D)\bss_conn.obj $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj \
$(OBJ_D)\b_print.obj $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj \
$(OBJ_D)\bss_acpt.obj $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj \
$(OBJ_D)\bss_bio.obj $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj \
$(OBJ_D)\lhash.obj $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj \
$(OBJ_D)\randfile.obj $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj \
$(OBJ_D)\rand_egd.obj $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj \
$(OBJ_D)\rand_os2.obj $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj \
$(OBJ_D)\err_all.obj $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj \
$(OBJ_D)\obj_dat.obj $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj \
$(OBJ_D)\obj_xref.obj $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj \
$(OBJ_D)\evp_enc.obj $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj \
$(OBJ_D)\evp_cnf.obj $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj \
$(OBJ_D)\e_idea.obj $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj \
$(OBJ_D)\e_rc4.obj $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj \
$(OBJ_D)\e_seed.obj $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj \
$(OBJ_D)\e_cast.obj $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj \
$(OBJ_D)\m_md4.obj $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj \
$(OBJ_D)\m_sha1.obj $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj \
$(OBJ_D)\m_dss1.obj $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj \
$(OBJ_D)\p_open.obj $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj \
$(OBJ_D)\p_verify.obj $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj \
$(OBJ_D)\p_dec.obj $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj \
$(OBJ_D)\bio_enc.obj $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj \
$(OBJ_D)\c_all.obj $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj \
$(OBJ_D)\evp_lib.obj $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj \
$(OBJ_D)\evp_pbe.obj $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj \
$(OBJ_D)\e_old.obj $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj \
$(OBJ_D)\pmeth_gn.obj $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj \
$(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj \
$(OBJ_D)\a_bitstr.obj $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj \
$(OBJ_D)\a_time.obj $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj \
$(OBJ_D)\a_print.obj $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj \
$(OBJ_D)\a_dup.obj $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj \
$(OBJ_D)\a_enum.obj $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj \
$(OBJ_D)\a_digest.obj $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj \
$(OBJ_D)\a_strex.obj $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj \
$(OBJ_D)\x_pubkey.obj $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj \
$(OBJ_D)\x_attrib.obj $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj \
$(OBJ_D)\x_name.obj $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj \
$(OBJ_D)\x_crl.obj $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj \
$(OBJ_D)\nsseq.obj $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj \
$(OBJ_D)\d2i_pr.obj $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj \
$(OBJ_D)\t_req.obj $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj \
$(OBJ_D)\t_crl.obj $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj \
$(OBJ_D)\t_bitst.obj $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj \
$(OBJ_D)\tasn_enc.obj $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj \
$(OBJ_D)\tasn_typ.obj $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj \
$(OBJ_D)\f_int.obj $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj \
$(OBJ_D)\f_enum.obj $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj \
$(OBJ_D)\x_exten.obj $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj \
$(OBJ_D)\asn_mime.obj $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj \
$(OBJ_D)\asn1_lib.obj $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj \
$(OBJ_D)\a_strnid.obj $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj \
$(OBJ_D)\p5_pbe.obj $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj \
$(OBJ_D)\asn_moid.obj $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj \
$(OBJ_D)\pem_info.obj $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj \
$(OBJ_D)\pem_err.obj $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj \
$(OBJ_D)\pem_oth.obj $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj \
$(OBJ_D)\pvkfmt.obj $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj \
$(OBJ_D)\x509_r2x.obj $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj \
$(OBJ_D)\x509_req.obj $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj \
$(OBJ_D)\x509_set.obj $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj \
$(OBJ_D)\x509_err.obj $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj \
$(OBJ_D)\x509_ext.obj $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj \
$(OBJ_D)\x509_lu.obj $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj \
$(OBJ_D)\x509_trs.obj $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj \
$(OBJ_D)\x509_vpm.obj $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj \
$(OBJ_D)\v3_conf.obj $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj \
$(OBJ_D)\v3_lib.obj $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj \
$(OBJ_D)\v3err.obj $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj \
$(OBJ_D)\v3_skey.obj $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj \
$(OBJ_D)\v3_int.obj $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj \
$(OBJ_D)\v3_cpols.obj $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj \
$(OBJ_D)\v3_info.obj $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj \
$(OBJ_D)\v3_pmaps.obj $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj \
$(OBJ_D)\v3_pcia.obj $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj \
$(OBJ_D)\pcy_node.obj $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj \
$(OBJ_D)\pcy_tree.obj $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj \
$(OBJ_D)\v3_addr.obj $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj \
$(OBJ_D)\cms_asn1.obj $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj \
$(OBJ_D)\cms_smime.obj $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj \
$(OBJ_D)\cms_dd.obj $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj \
$(OBJ_D)\cms_enc.obj $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj \
$(OBJ_D)\cms_kari.obj $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj \
$(OBJ_D)\conf_api.obj $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj \
$(OBJ_D)\conf_mall.obj $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj \
$(OBJ_D)\pk7_asn1.obj $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj \
$(OBJ_D)\pk7_doit.obj $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj \
$(OBJ_D)\pk7_mime.obj $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj \
$(OBJ_D)\p12_asn.obj $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj \
$(OBJ_D)\p12_crt.obj $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj \
$(OBJ_D)\p12_key.obj $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj \
$(OBJ_D)\p12_utl.obj $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj \
$(OBJ_D)\p12_p8d.obj $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj \
$(OBJ_D)\comp_err.obj $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj \
$(OBJ_D)\eng_err.obj $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj \
$(OBJ_D)\eng_init.obj $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj \
$(OBJ_D)\eng_pkey.obj $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj \
$(OBJ_D)\tb_rsa.obj $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj \
$(OBJ_D)\tb_dh.obj $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj \
$(OBJ_D)\tb_store.obj $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj \
$(OBJ_D)\tb_pkmeth.obj $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj \
$(OBJ_D)\eng_cnf.obj $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj \
$(OBJ_D)\eng_rdrand.obj $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj \
$(OBJ_D)\ocsp_ht.obj $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj \
$(OBJ_D)\ocsp_srv.obj $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj \
$(OBJ_D)\ocsp_err.obj $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj \
$(OBJ_D)\ui_openssl.obj $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj \
$(OBJ_D)\krb5_asn.obj $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj \
$(OBJ_D)\wp-x86_64.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \
$(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \
$(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \
$(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \
$(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \
$(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \
$(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \
$(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \
$(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \
$(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \
$(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \
$(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \
$(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \
$(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj
SSLOBJ=$(OBJ_D)\s2_meth.obj \
$(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \
$(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \
@@ -216,217 +427,6 @@ SSLOBJ=$(OBJ_D)\s2_meth.obj \
$(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \
$(OBJ_D)\ssl_utst.obj
CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \
$(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \
$(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \
$(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \
$(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \
$(OBJ_D)\fips_ers.obj $(OBJ_D)\x86_64cpuid.obj $(OBJ_D)\md4_dgst.obj \
$(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj $(OBJ_D)\md5_one.obj \
$(OBJ_D)\md5-x86_64.obj $(OBJ_D)\sha_dgst.obj $(OBJ_D)\sha1dgst.obj \
$(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj $(OBJ_D)\sha256.obj \
$(OBJ_D)\sha512.obj $(OBJ_D)\sha1-x86_64.obj $(OBJ_D)\sha256-x86_64.obj \
$(OBJ_D)\sha512-x86_64.obj $(OBJ_D)\sha1-mb-x86_64.obj $(OBJ_D)\sha256-mb-x86_64.obj \
$(OBJ_D)\hmac.obj $(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj \
$(OBJ_D)\cmac.obj $(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj \
$(OBJ_D)\rmd_dgst.obj $(OBJ_D)\rmd_one.obj $(OBJ_D)\set_key.obj \
$(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \
$(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \
$(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \
$(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \
$(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \
$(OBJ_D)\des_enc.obj $(OBJ_D)\fcrypt_b.obj $(OBJ_D)\fcrypt.obj \
$(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \
$(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \
$(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \
$(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \
$(OBJ_D)\rc4-x86_64.obj $(OBJ_D)\rc4-md5-x86_64.obj $(OBJ_D)\rc4_utl.obj \
$(OBJ_D)\bf_skey.obj $(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf_enc.obj \
$(OBJ_D)\bf_cfb64.obj $(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj \
$(OBJ_D)\c_ecb.obj $(OBJ_D)\c_enc.obj $(OBJ_D)\c_cfb64.obj \
$(OBJ_D)\c_ofb64.obj $(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj \
$(OBJ_D)\aes_cfb.obj $(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj \
$(OBJ_D)\aes_ige.obj $(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-x86_64.obj \
$(OBJ_D)\vpaes-x86_64.obj $(OBJ_D)\bsaes-x86_64.obj $(OBJ_D)\aesni-x86_64.obj \
$(OBJ_D)\aesni-sha1-x86_64.obj $(OBJ_D)\aesni-sha256-x86_64.obj $(OBJ_D)\aesni-mb-x86_64.obj \
$(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj $(OBJ_D)\cmll_cfb.obj \
$(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj $(OBJ_D)\cmll-x86_64.obj \
$(OBJ_D)\cmll_misc.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \
$(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \
$(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \
$(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \
$(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \
$(OBJ_D)\ghash-x86_64.obj $(OBJ_D)\aesni-gcm-x86_64.obj $(OBJ_D)\bn_add.obj \
$(OBJ_D)\bn_div.obj $(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj \
$(OBJ_D)\bn_ctx.obj $(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj \
$(OBJ_D)\bn_print.obj $(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj \
$(OBJ_D)\bn_word.obj $(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj \
$(OBJ_D)\bn_sqrt.obj $(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj \
$(OBJ_D)\bn_err.obj $(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn_asm.obj \
$(OBJ_D)\x86_64-mont.obj $(OBJ_D)\x86_64-mont5.obj $(OBJ_D)\x86_64-gf2m.obj \
$(OBJ_D)\rsaz_exp.obj $(OBJ_D)\rsaz-x86_64.obj $(OBJ_D)\rsaz-avx2.obj \
$(OBJ_D)\bn_recp.obj $(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj \
$(OBJ_D)\bn_exp2.obj $(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj \
$(OBJ_D)\bn_depr.obj $(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj \
$(OBJ_D)\rsa_eay.obj $(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj \
$(OBJ_D)\rsa_sign.obj $(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj \
$(OBJ_D)\rsa_pk1.obj $(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj \
$(OBJ_D)\rsa_oaep.obj $(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj \
$(OBJ_D)\rsa_pss.obj $(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj \
$(OBJ_D)\rsa_depr.obj $(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj \
$(OBJ_D)\rsa_pmeth.obj $(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj \
$(OBJ_D)\dsa_key.obj $(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj \
$(OBJ_D)\dsa_vrf.obj $(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj \
$(OBJ_D)\dsa_ossl.obj $(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj \
$(OBJ_D)\dsa_pmeth.obj $(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj \
$(OBJ_D)\dso_dlfcn.obj $(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj \
$(OBJ_D)\dso_null.obj $(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj \
$(OBJ_D)\dso_vms.obj $(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj \
$(OBJ_D)\dh_gen.obj $(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj \
$(OBJ_D)\dh_check.obj $(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj \
$(OBJ_D)\dh_ameth.obj $(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj \
$(OBJ_D)\dh_rfc5114.obj $(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj \
$(OBJ_D)\ecp_smpl.obj $(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj \
$(OBJ_D)\ec_cvt.obj $(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj \
$(OBJ_D)\ec_curve.obj $(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj \
$(OBJ_D)\ec_asn1.obj $(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj \
$(OBJ_D)\ec2_mult.obj $(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj \
$(OBJ_D)\eck_prn.obj $(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj \
$(OBJ_D)\ecp_nistp521.obj $(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj \
$(OBJ_D)\ec2_oct.obj $(OBJ_D)\ec_oct.obj $(OBJ_D)\ecp_nistz256.obj \
$(OBJ_D)\ecp_nistz256-x86_64.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \
$(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \
$(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \
$(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \
$(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \
$(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \
$(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \
$(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \
$(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \
$(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \
$(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \
$(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \
$(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \
$(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \
$(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \
$(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \
$(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \
$(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \
$(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \
$(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \
$(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \
$(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \
$(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \
$(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \
$(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \
$(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \
$(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \
$(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \
$(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \
$(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \
$(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \
$(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \
$(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \
$(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \
$(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \
$(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \
$(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \
$(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \
$(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \
$(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \
$(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \
$(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \
$(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \
$(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \
$(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \
$(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \
$(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \
$(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \
$(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \
$(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \
$(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \
$(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \
$(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \
$(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \
$(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \
$(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \
$(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \
$(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \
$(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \
$(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \
$(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \
$(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \
$(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \
$(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \
$(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \
$(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \
$(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \
$(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \
$(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \
$(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \
$(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \
$(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \
$(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \
$(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \
$(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \
$(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \
$(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \
$(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \
$(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \
$(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \
$(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \
$(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \
$(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \
$(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \
$(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \
$(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \
$(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \
$(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \
$(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \
$(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \
$(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \
$(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \
$(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \
$(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \
$(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \
$(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \
$(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \
$(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \
$(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \
$(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \
$(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \
$(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \
$(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \
$(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \
$(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \
$(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \
$(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \
$(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \
$(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \
$(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \
$(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \
$(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \
$(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \
$(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \
$(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \
$(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \
$(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \
$(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp-x86_64.obj \
$(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj $(OBJ_D)\ts_req_print.obj \
$(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj $(OBJ_D)\ts_rsp_sign.obj \
$(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj $(OBJ_D)\ts_lib.obj \
$(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj $(OBJ_D)\srp_lib.obj \
$(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj $(OBJ_D)\e_aep.obj \
$(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj $(OBJ_D)\e_gmp.obj \
$(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj $(OBJ_D)\e_sureware.obj \
$(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj $(OBJ_D)\e_capi.obj \
$(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj $(OBJ_D)\gost2001.obj \
$(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj $(OBJ_D)\gost_ameth.obj \
$(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj $(OBJ_D)\gost_ctl.obj \
$(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj $(OBJ_D)\gost_keywrap.obj \
$(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj $(OBJ_D)\gost_pmeth.obj \
$(OBJ_D)\gost_sign.obj
T_EXE=$(TEST_D)\constant_time_test.exe \
$(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \
$(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \

View File

@@ -197,6 +197,217 @@ E_OBJ=$(OBJ_D)\verify.obj \
$(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \
$(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj
CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \
$(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \
$(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \
$(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \
$(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \
$(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86_64cpuid.obj \
$(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \
$(OBJ_D)\md5_one.obj $(OBJ_D)\md5-x86_64.obj $(OBJ_D)\sha_dgst.obj \
$(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \
$(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-x86_64.obj \
$(OBJ_D)\sha256-x86_64.obj $(OBJ_D)\sha512-x86_64.obj $(OBJ_D)\sha1-mb-x86_64.obj \
$(OBJ_D)\sha256-mb-x86_64.obj $(OBJ_D)\hmac.obj $(OBJ_D)\hm_ameth.obj \
$(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj $(OBJ_D)\cm_ameth.obj \
$(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj $(OBJ_D)\rmd_one.obj \
$(OBJ_D)\set_key.obj $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj \
$(OBJ_D)\ecb3_enc.obj $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj \
$(OBJ_D)\cfb_enc.obj $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj \
$(OBJ_D)\enc_writ.obj $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj \
$(OBJ_D)\str2key.obj $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj \
$(OBJ_D)\rand_key.obj $(OBJ_D)\des_enc.obj $(OBJ_D)\fcrypt_b.obj \
$(OBJ_D)\fcrypt.obj $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj \
$(OBJ_D)\cbc_cksm.obj $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj \
$(OBJ_D)\des_old2.obj $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj \
$(OBJ_D)\rc2_skey.obj $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj \
$(OBJ_D)\rc2ofb64.obj $(OBJ_D)\rc4-x86_64.obj $(OBJ_D)\rc4-md5-x86_64.obj \
$(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj $(OBJ_D)\bf_ecb.obj \
$(OBJ_D)\bf_enc.obj $(OBJ_D)\bf_cfb64.obj $(OBJ_D)\bf_ofb64.obj \
$(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj $(OBJ_D)\c_enc.obj \
$(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj $(OBJ_D)\aes_misc.obj \
$(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj $(OBJ_D)\aes_ofb.obj \
$(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj $(OBJ_D)\aes_wrap.obj \
$(OBJ_D)\aes-x86_64.obj $(OBJ_D)\vpaes-x86_64.obj $(OBJ_D)\bsaes-x86_64.obj \
$(OBJ_D)\aesni-x86_64.obj $(OBJ_D)\aesni-sha1-x86_64.obj $(OBJ_D)\aesni-sha256-x86_64.obj \
$(OBJ_D)\aesni-mb-x86_64.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \
$(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \
$(OBJ_D)\cmll-x86_64.obj $(OBJ_D)\cmll_misc.obj $(OBJ_D)\seed.obj \
$(OBJ_D)\seed_ecb.obj $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj \
$(OBJ_D)\seed_ofb.obj $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj \
$(OBJ_D)\cts128.obj $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj \
$(OBJ_D)\gcm128.obj $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj \
$(OBJ_D)\wrap128.obj $(OBJ_D)\ghash-x86_64.obj $(OBJ_D)\aesni-gcm-x86_64.obj \
$(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj $(OBJ_D)\bn_exp.obj \
$(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj $(OBJ_D)\bn_mul.obj \
$(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj $(OBJ_D)\bn_rand.obj \
$(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj $(OBJ_D)\bn_blind.obj \
$(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj $(OBJ_D)\bn_gcd.obj \
$(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj $(OBJ_D)\bn_sqr.obj \
$(OBJ_D)\bn_asm.obj $(OBJ_D)\x86_64-mont.obj $(OBJ_D)\x86_64-mont5.obj \
$(OBJ_D)\x86_64-gf2m.obj $(OBJ_D)\rsaz_exp.obj $(OBJ_D)\rsaz-x86_64.obj \
$(OBJ_D)\rsaz-avx2.obj $(OBJ_D)\bn_recp.obj $(OBJ_D)\bn_mont.obj \
$(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj $(OBJ_D)\bn_gf2m.obj \
$(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj $(OBJ_D)\bn_const.obj \
$(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj $(OBJ_D)\rsa_gen.obj \
$(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj $(OBJ_D)\rsa_saos.obj \
$(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj $(OBJ_D)\rsa_ssl.obj \
$(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj $(OBJ_D)\rsa_chk.obj \
$(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj $(OBJ_D)\rsa_x931.obj \
$(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj $(OBJ_D)\rsa_ameth.obj \
$(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj $(OBJ_D)\rsa_crpt.obj \
$(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj $(OBJ_D)\dsa_lib.obj \
$(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj $(OBJ_D)\dsa_sign.obj \
$(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj $(OBJ_D)\dsa_depr.obj \
$(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj $(OBJ_D)\dsa_prn.obj \
$(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj $(OBJ_D)\dso_err.obj \
$(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj $(OBJ_D)\dso_openssl.obj \
$(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj $(OBJ_D)\dso_beos.obj \
$(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj $(OBJ_D)\dh_key.obj \
$(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj $(OBJ_D)\dh_err.obj \
$(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj $(OBJ_D)\dh_pmeth.obj \
$(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj $(OBJ_D)\dh_kdf.obj \
$(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj $(OBJ_D)\ecp_mont.obj \
$(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj $(OBJ_D)\ec_mult.obj \
$(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj $(OBJ_D)\ec_check.obj \
$(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj $(OBJ_D)\ec_key.obj \
$(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj $(OBJ_D)\ec_ameth.obj \
$(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj $(OBJ_D)\ecp_nistp224.obj \
$(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj $(OBJ_D)\ecp_nistputil.obj \
$(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj $(OBJ_D)\ec_oct.obj \
$(OBJ_D)\ecp_nistz256.obj $(OBJ_D)\ecp_nistz256-x86_64.obj $(OBJ_D)\ech_lib.obj \
$(OBJ_D)\ech_ossl.obj $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj \
$(OBJ_D)\ech_kdf.obj $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj \
$(OBJ_D)\ecs_ossl.obj $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj \
$(OBJ_D)\ecs_err.obj $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj \
$(OBJ_D)\buf_err.obj $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj \
$(OBJ_D)\bio_err.obj $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj \
$(OBJ_D)\bss_fd.obj $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj \
$(OBJ_D)\bss_conn.obj $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj \
$(OBJ_D)\b_print.obj $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj \
$(OBJ_D)\bss_acpt.obj $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj \
$(OBJ_D)\bss_bio.obj $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj \
$(OBJ_D)\lhash.obj $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj \
$(OBJ_D)\randfile.obj $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj \
$(OBJ_D)\rand_egd.obj $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj \
$(OBJ_D)\rand_os2.obj $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj \
$(OBJ_D)\err_all.obj $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj \
$(OBJ_D)\obj_dat.obj $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj \
$(OBJ_D)\obj_xref.obj $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj \
$(OBJ_D)\evp_enc.obj $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj \
$(OBJ_D)\evp_cnf.obj $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj \
$(OBJ_D)\e_idea.obj $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj \
$(OBJ_D)\e_rc4.obj $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj \
$(OBJ_D)\e_seed.obj $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj \
$(OBJ_D)\e_cast.obj $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj \
$(OBJ_D)\m_md4.obj $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj \
$(OBJ_D)\m_sha1.obj $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj \
$(OBJ_D)\m_dss1.obj $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj \
$(OBJ_D)\p_open.obj $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj \
$(OBJ_D)\p_verify.obj $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj \
$(OBJ_D)\p_dec.obj $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj \
$(OBJ_D)\bio_enc.obj $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj \
$(OBJ_D)\c_all.obj $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj \
$(OBJ_D)\evp_lib.obj $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj \
$(OBJ_D)\evp_pbe.obj $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj \
$(OBJ_D)\e_old.obj $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj \
$(OBJ_D)\pmeth_gn.obj $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj \
$(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj \
$(OBJ_D)\a_bitstr.obj $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj \
$(OBJ_D)\a_time.obj $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj \
$(OBJ_D)\a_print.obj $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj \
$(OBJ_D)\a_dup.obj $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj \
$(OBJ_D)\a_enum.obj $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj \
$(OBJ_D)\a_digest.obj $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj \
$(OBJ_D)\a_strex.obj $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj \
$(OBJ_D)\x_pubkey.obj $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj \
$(OBJ_D)\x_attrib.obj $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj \
$(OBJ_D)\x_name.obj $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj \
$(OBJ_D)\x_crl.obj $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj \
$(OBJ_D)\nsseq.obj $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj \
$(OBJ_D)\d2i_pr.obj $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj \
$(OBJ_D)\t_req.obj $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj \
$(OBJ_D)\t_crl.obj $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj \
$(OBJ_D)\t_bitst.obj $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj \
$(OBJ_D)\tasn_enc.obj $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj \
$(OBJ_D)\tasn_typ.obj $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj \
$(OBJ_D)\f_int.obj $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj \
$(OBJ_D)\f_enum.obj $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj \
$(OBJ_D)\x_exten.obj $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj \
$(OBJ_D)\asn_mime.obj $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj \
$(OBJ_D)\asn1_lib.obj $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj \
$(OBJ_D)\a_strnid.obj $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj \
$(OBJ_D)\p5_pbe.obj $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj \
$(OBJ_D)\asn_moid.obj $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj \
$(OBJ_D)\pem_info.obj $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj \
$(OBJ_D)\pem_err.obj $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj \
$(OBJ_D)\pem_oth.obj $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj \
$(OBJ_D)\pvkfmt.obj $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj \
$(OBJ_D)\x509_r2x.obj $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj \
$(OBJ_D)\x509_req.obj $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj \
$(OBJ_D)\x509_set.obj $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj \
$(OBJ_D)\x509_err.obj $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj \
$(OBJ_D)\x509_ext.obj $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj \
$(OBJ_D)\x509_lu.obj $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj \
$(OBJ_D)\x509_trs.obj $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj \
$(OBJ_D)\x509_vpm.obj $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj \
$(OBJ_D)\v3_conf.obj $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj \
$(OBJ_D)\v3_lib.obj $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj \
$(OBJ_D)\v3err.obj $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj \
$(OBJ_D)\v3_skey.obj $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj \
$(OBJ_D)\v3_int.obj $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj \
$(OBJ_D)\v3_cpols.obj $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj \
$(OBJ_D)\v3_info.obj $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj \
$(OBJ_D)\v3_pmaps.obj $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj \
$(OBJ_D)\v3_pcia.obj $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj \
$(OBJ_D)\pcy_node.obj $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj \
$(OBJ_D)\pcy_tree.obj $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj \
$(OBJ_D)\v3_addr.obj $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj \
$(OBJ_D)\cms_asn1.obj $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj \
$(OBJ_D)\cms_smime.obj $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj \
$(OBJ_D)\cms_dd.obj $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj \
$(OBJ_D)\cms_enc.obj $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj \
$(OBJ_D)\cms_kari.obj $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj \
$(OBJ_D)\conf_api.obj $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj \
$(OBJ_D)\conf_mall.obj $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj \
$(OBJ_D)\pk7_asn1.obj $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj \
$(OBJ_D)\pk7_doit.obj $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj \
$(OBJ_D)\pk7_mime.obj $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj \
$(OBJ_D)\p12_asn.obj $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj \
$(OBJ_D)\p12_crt.obj $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj \
$(OBJ_D)\p12_key.obj $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj \
$(OBJ_D)\p12_utl.obj $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj \
$(OBJ_D)\p12_p8d.obj $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj \
$(OBJ_D)\comp_err.obj $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj \
$(OBJ_D)\eng_err.obj $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj \
$(OBJ_D)\eng_init.obj $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj \
$(OBJ_D)\eng_pkey.obj $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj \
$(OBJ_D)\tb_rsa.obj $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj \
$(OBJ_D)\tb_dh.obj $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj \
$(OBJ_D)\tb_store.obj $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj \
$(OBJ_D)\tb_pkmeth.obj $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj \
$(OBJ_D)\eng_cnf.obj $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj \
$(OBJ_D)\eng_rdrand.obj $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj \
$(OBJ_D)\ocsp_ht.obj $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj \
$(OBJ_D)\ocsp_srv.obj $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj \
$(OBJ_D)\ocsp_err.obj $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj \
$(OBJ_D)\ui_openssl.obj $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj \
$(OBJ_D)\krb5_asn.obj $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj \
$(OBJ_D)\wp-x86_64.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \
$(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \
$(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \
$(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \
$(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \
$(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \
$(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \
$(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \
$(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \
$(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \
$(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \
$(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \
$(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \
$(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj
SSLOBJ=$(OBJ_D)\s2_meth.obj \
$(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \
$(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \
@@ -216,217 +427,6 @@ SSLOBJ=$(OBJ_D)\s2_meth.obj \
$(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \
$(OBJ_D)\ssl_utst.obj
CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \
$(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \
$(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \
$(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \
$(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \
$(OBJ_D)\fips_ers.obj $(OBJ_D)\x86_64cpuid.obj $(OBJ_D)\md4_dgst.obj \
$(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj $(OBJ_D)\md5_one.obj \
$(OBJ_D)\md5-x86_64.obj $(OBJ_D)\sha_dgst.obj $(OBJ_D)\sha1dgst.obj \
$(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj $(OBJ_D)\sha256.obj \
$(OBJ_D)\sha512.obj $(OBJ_D)\sha1-x86_64.obj $(OBJ_D)\sha256-x86_64.obj \
$(OBJ_D)\sha512-x86_64.obj $(OBJ_D)\sha1-mb-x86_64.obj $(OBJ_D)\sha256-mb-x86_64.obj \
$(OBJ_D)\hmac.obj $(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj \
$(OBJ_D)\cmac.obj $(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj \
$(OBJ_D)\rmd_dgst.obj $(OBJ_D)\rmd_one.obj $(OBJ_D)\set_key.obj \
$(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \
$(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \
$(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \
$(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \
$(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \
$(OBJ_D)\des_enc.obj $(OBJ_D)\fcrypt_b.obj $(OBJ_D)\fcrypt.obj \
$(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \
$(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \
$(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \
$(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \
$(OBJ_D)\rc4-x86_64.obj $(OBJ_D)\rc4-md5-x86_64.obj $(OBJ_D)\rc4_utl.obj \
$(OBJ_D)\bf_skey.obj $(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf_enc.obj \
$(OBJ_D)\bf_cfb64.obj $(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj \
$(OBJ_D)\c_ecb.obj $(OBJ_D)\c_enc.obj $(OBJ_D)\c_cfb64.obj \
$(OBJ_D)\c_ofb64.obj $(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj \
$(OBJ_D)\aes_cfb.obj $(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj \
$(OBJ_D)\aes_ige.obj $(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-x86_64.obj \
$(OBJ_D)\vpaes-x86_64.obj $(OBJ_D)\bsaes-x86_64.obj $(OBJ_D)\aesni-x86_64.obj \
$(OBJ_D)\aesni-sha1-x86_64.obj $(OBJ_D)\aesni-sha256-x86_64.obj $(OBJ_D)\aesni-mb-x86_64.obj \
$(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj $(OBJ_D)\cmll_cfb.obj \
$(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj $(OBJ_D)\cmll-x86_64.obj \
$(OBJ_D)\cmll_misc.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \
$(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \
$(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \
$(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \
$(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \
$(OBJ_D)\ghash-x86_64.obj $(OBJ_D)\aesni-gcm-x86_64.obj $(OBJ_D)\bn_add.obj \
$(OBJ_D)\bn_div.obj $(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj \
$(OBJ_D)\bn_ctx.obj $(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj \
$(OBJ_D)\bn_print.obj $(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj \
$(OBJ_D)\bn_word.obj $(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj \
$(OBJ_D)\bn_sqrt.obj $(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj \
$(OBJ_D)\bn_err.obj $(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn_asm.obj \
$(OBJ_D)\x86_64-mont.obj $(OBJ_D)\x86_64-mont5.obj $(OBJ_D)\x86_64-gf2m.obj \
$(OBJ_D)\rsaz_exp.obj $(OBJ_D)\rsaz-x86_64.obj $(OBJ_D)\rsaz-avx2.obj \
$(OBJ_D)\bn_recp.obj $(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj \
$(OBJ_D)\bn_exp2.obj $(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj \
$(OBJ_D)\bn_depr.obj $(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj \
$(OBJ_D)\rsa_eay.obj $(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj \
$(OBJ_D)\rsa_sign.obj $(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj \
$(OBJ_D)\rsa_pk1.obj $(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj \
$(OBJ_D)\rsa_oaep.obj $(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj \
$(OBJ_D)\rsa_pss.obj $(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj \
$(OBJ_D)\rsa_depr.obj $(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj \
$(OBJ_D)\rsa_pmeth.obj $(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj \
$(OBJ_D)\dsa_key.obj $(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj \
$(OBJ_D)\dsa_vrf.obj $(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj \
$(OBJ_D)\dsa_ossl.obj $(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj \
$(OBJ_D)\dsa_pmeth.obj $(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj \
$(OBJ_D)\dso_dlfcn.obj $(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj \
$(OBJ_D)\dso_null.obj $(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj \
$(OBJ_D)\dso_vms.obj $(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj \
$(OBJ_D)\dh_gen.obj $(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj \
$(OBJ_D)\dh_check.obj $(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj \
$(OBJ_D)\dh_ameth.obj $(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj \
$(OBJ_D)\dh_rfc5114.obj $(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj \
$(OBJ_D)\ecp_smpl.obj $(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj \
$(OBJ_D)\ec_cvt.obj $(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj \
$(OBJ_D)\ec_curve.obj $(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj \
$(OBJ_D)\ec_asn1.obj $(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj \
$(OBJ_D)\ec2_mult.obj $(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj \
$(OBJ_D)\eck_prn.obj $(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj \
$(OBJ_D)\ecp_nistp521.obj $(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj \
$(OBJ_D)\ec2_oct.obj $(OBJ_D)\ec_oct.obj $(OBJ_D)\ecp_nistz256.obj \
$(OBJ_D)\ecp_nistz256-x86_64.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \
$(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \
$(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \
$(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \
$(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \
$(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \
$(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \
$(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \
$(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \
$(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \
$(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \
$(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \
$(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \
$(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \
$(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \
$(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \
$(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \
$(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \
$(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \
$(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \
$(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \
$(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \
$(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \
$(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \
$(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \
$(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \
$(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \
$(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \
$(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \
$(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \
$(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \
$(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \
$(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \
$(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \
$(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \
$(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \
$(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \
$(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \
$(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \
$(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \
$(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \
$(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \
$(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \
$(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \
$(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \
$(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \
$(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \
$(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \
$(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \
$(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \
$(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \
$(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \
$(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \
$(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \
$(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \
$(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \
$(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \
$(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \
$(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \
$(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \
$(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \
$(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \
$(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \
$(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \
$(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \
$(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \
$(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \
$(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \
$(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \
$(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \
$(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \
$(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \
$(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \
$(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \
$(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \
$(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \
$(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \
$(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \
$(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \
$(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \
$(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \
$(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \
$(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \
$(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \
$(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \
$(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \
$(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \
$(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \
$(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \
$(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \
$(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \
$(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \
$(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \
$(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \
$(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \
$(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \
$(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \
$(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \
$(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \
$(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \
$(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \
$(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \
$(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \
$(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \
$(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \
$(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \
$(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \
$(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \
$(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \
$(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \
$(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \
$(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \
$(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \
$(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \
$(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \
$(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \
$(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \
$(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp-x86_64.obj \
$(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj $(OBJ_D)\ts_req_print.obj \
$(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj $(OBJ_D)\ts_rsp_sign.obj \
$(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj $(OBJ_D)\ts_lib.obj \
$(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj $(OBJ_D)\srp_lib.obj \
$(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj $(OBJ_D)\e_aep.obj \
$(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj $(OBJ_D)\e_gmp.obj \
$(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj $(OBJ_D)\e_sureware.obj \
$(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj $(OBJ_D)\e_capi.obj \
$(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj $(OBJ_D)\gost2001.obj \
$(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj $(OBJ_D)\gost_ameth.obj \
$(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj $(OBJ_D)\gost_ctl.obj \
$(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj $(OBJ_D)\gost_keywrap.obj \
$(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj $(OBJ_D)\gost_pmeth.obj \
$(OBJ_D)\gost_sign.obj
T_EXE=$(TEST_D)\constant_time_test.exe \
$(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \
$(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \
@@ -1222,156 +1222,6 @@ $(OBJ_D)\srp.obj: $(SRC_D)\apps\srp.c
$(OBJ_D)\openssl.obj: $(SRC_D)\apps\openssl.c
$(CC) /Fo$(OBJ_D)\openssl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\openssl.c
$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c
$(CC) /Fo$(OBJ_D)\s2_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_meth.c
$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c
$(CC) /Fo$(OBJ_D)\s2_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_srvr.c
$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c
$(CC) /Fo$(OBJ_D)\s2_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_clnt.c
$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c
$(CC) /Fo$(OBJ_D)\s2_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_lib.c
$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c
$(CC) /Fo$(OBJ_D)\s2_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_enc.c
$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c
$(CC) /Fo$(OBJ_D)\s2_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_pkt.c
$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c
$(CC) /Fo$(OBJ_D)\s3_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_meth.c
$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c
$(CC) /Fo$(OBJ_D)\s3_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_srvr.c
$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c
$(CC) /Fo$(OBJ_D)\s3_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_clnt.c
$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c
$(CC) /Fo$(OBJ_D)\s3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_lib.c
$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c
$(CC) /Fo$(OBJ_D)\s3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_enc.c
$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c
$(CC) /Fo$(OBJ_D)\s3_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_pkt.c
$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c
$(CC) /Fo$(OBJ_D)\s3_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_both.c
$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c
$(CC) /Fo$(OBJ_D)\s3_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_cbc.c
$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c
$(CC) /Fo$(OBJ_D)\s23_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_meth.c
$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c
$(CC) /Fo$(OBJ_D)\s23_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_srvr.c
$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c
$(CC) /Fo$(OBJ_D)\s23_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_clnt.c
$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c
$(CC) /Fo$(OBJ_D)\s23_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_lib.c
$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c
$(CC) /Fo$(OBJ_D)\s23_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_pkt.c
$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c
$(CC) /Fo$(OBJ_D)\t1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_meth.c
$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c
$(CC) /Fo$(OBJ_D)\t1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_srvr.c
$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c
$(CC) /Fo$(OBJ_D)\t1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_clnt.c
$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c
$(CC) /Fo$(OBJ_D)\t1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_lib.c
$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c
$(CC) /Fo$(OBJ_D)\t1_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_enc.c
$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c
$(CC) /Fo$(OBJ_D)\t1_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_ext.c
$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c
$(CC) /Fo$(OBJ_D)\d1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_meth.c
$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c
$(CC) /Fo$(OBJ_D)\d1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srvr.c
$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c
$(CC) /Fo$(OBJ_D)\d1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_clnt.c
$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c
$(CC) /Fo$(OBJ_D)\d1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_lib.c
$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c
$(CC) /Fo$(OBJ_D)\d1_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_pkt.c
$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c
$(CC) /Fo$(OBJ_D)\d1_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_both.c
$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c
$(CC) /Fo$(OBJ_D)\d1_srtp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srtp.c
$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c
$(CC) /Fo$(OBJ_D)\ssl_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_lib.c
$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c
$(CC) /Fo$(OBJ_D)\ssl_err2.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err2.c
$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c
$(CC) /Fo$(OBJ_D)\ssl_cert.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_cert.c
$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c
$(CC) /Fo$(OBJ_D)\ssl_sess.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_sess.c
$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c
$(CC) /Fo$(OBJ_D)\ssl_ciph.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_ciph.c
$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c
$(CC) /Fo$(OBJ_D)\ssl_stat.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_stat.c
$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c
$(CC) /Fo$(OBJ_D)\ssl_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_rsa.c
$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c
$(CC) /Fo$(OBJ_D)\ssl_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_asn1.c
$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c
$(CC) /Fo$(OBJ_D)\ssl_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_txt.c
$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c
$(CC) /Fo$(OBJ_D)\ssl_algs.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_algs.c
$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c
$(CC) /Fo$(OBJ_D)\ssl_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_conf.c
$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c
$(CC) /Fo$(OBJ_D)\bio_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\bio_ssl.c
$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c
$(CC) /Fo$(OBJ_D)\ssl_err.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err.c
$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c
$(CC) /Fo$(OBJ_D)\kssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\kssl.c
$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c
$(CC) /Fo$(OBJ_D)\t1_reneg.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_reneg.c
$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c
$(CC) /Fo$(OBJ_D)\tls_srp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\tls_srp.c
$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c
$(CC) /Fo$(OBJ_D)\t1_trce.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_trce.c
$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c
$(CC) /Fo$(OBJ_D)\ssl_utst.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_utst.c
$(OBJ_D)\cryptlib.obj: $(SRC_D)\crypto\cryptlib.c
$(CC) /Fo$(OBJ_D)\cryptlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cryptlib.c
@@ -1414,6 +1264,9 @@ $(OBJ_D)\o_init.obj: $(SRC_D)\crypto\o_init.c
$(OBJ_D)\fips_ers.obj: $(SRC_D)\crypto\fips_ers.c
$(CC) /Fo$(OBJ_D)\fips_ers.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\fips_ers.c
$(OBJ_D)\getenv.obj: $(SRC_D)\crypto\getenv.c
$(CC) /Fo$(OBJ_D)\getenv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\getenv.c
$(TMP_D)\x86_64cpuid.asm: crypto\x86_64cpuid.pl
set ASM=$(ASM)
$(PERL) crypto\x86_64cpuid.pl $@
@@ -3354,6 +3207,156 @@ $(OBJ_D)\gost_pmeth.obj: $(SRC_D)\engines\ccgost\gost_pmeth.c
$(OBJ_D)\gost_sign.obj: $(SRC_D)\engines\ccgost\gost_sign.c
$(CC) /Fo$(OBJ_D)\gost_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_sign.c
$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c
$(CC) /Fo$(OBJ_D)\s2_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_meth.c
$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c
$(CC) /Fo$(OBJ_D)\s2_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_srvr.c
$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c
$(CC) /Fo$(OBJ_D)\s2_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_clnt.c
$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c
$(CC) /Fo$(OBJ_D)\s2_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_lib.c
$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c
$(CC) /Fo$(OBJ_D)\s2_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_enc.c
$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c
$(CC) /Fo$(OBJ_D)\s2_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_pkt.c
$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c
$(CC) /Fo$(OBJ_D)\s3_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_meth.c
$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c
$(CC) /Fo$(OBJ_D)\s3_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_srvr.c
$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c
$(CC) /Fo$(OBJ_D)\s3_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_clnt.c
$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c
$(CC) /Fo$(OBJ_D)\s3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_lib.c
$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c
$(CC) /Fo$(OBJ_D)\s3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_enc.c
$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c
$(CC) /Fo$(OBJ_D)\s3_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_pkt.c
$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c
$(CC) /Fo$(OBJ_D)\s3_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_both.c
$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c
$(CC) /Fo$(OBJ_D)\s3_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_cbc.c
$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c
$(CC) /Fo$(OBJ_D)\s23_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_meth.c
$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c
$(CC) /Fo$(OBJ_D)\s23_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_srvr.c
$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c
$(CC) /Fo$(OBJ_D)\s23_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_clnt.c
$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c
$(CC) /Fo$(OBJ_D)\s23_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_lib.c
$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c
$(CC) /Fo$(OBJ_D)\s23_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_pkt.c
$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c
$(CC) /Fo$(OBJ_D)\t1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_meth.c
$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c
$(CC) /Fo$(OBJ_D)\t1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_srvr.c
$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c
$(CC) /Fo$(OBJ_D)\t1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_clnt.c
$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c
$(CC) /Fo$(OBJ_D)\t1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_lib.c
$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c
$(CC) /Fo$(OBJ_D)\t1_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_enc.c
$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c
$(CC) /Fo$(OBJ_D)\t1_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_ext.c
$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c
$(CC) /Fo$(OBJ_D)\d1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_meth.c
$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c
$(CC) /Fo$(OBJ_D)\d1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srvr.c
$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c
$(CC) /Fo$(OBJ_D)\d1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_clnt.c
$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c
$(CC) /Fo$(OBJ_D)\d1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_lib.c
$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c
$(CC) /Fo$(OBJ_D)\d1_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_pkt.c
$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c
$(CC) /Fo$(OBJ_D)\d1_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_both.c
$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c
$(CC) /Fo$(OBJ_D)\d1_srtp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srtp.c
$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c
$(CC) /Fo$(OBJ_D)\ssl_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_lib.c
$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c
$(CC) /Fo$(OBJ_D)\ssl_err2.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err2.c
$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c
$(CC) /Fo$(OBJ_D)\ssl_cert.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_cert.c
$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c
$(CC) /Fo$(OBJ_D)\ssl_sess.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_sess.c
$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c
$(CC) /Fo$(OBJ_D)\ssl_ciph.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_ciph.c
$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c
$(CC) /Fo$(OBJ_D)\ssl_stat.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_stat.c
$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c
$(CC) /Fo$(OBJ_D)\ssl_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_rsa.c
$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c
$(CC) /Fo$(OBJ_D)\ssl_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_asn1.c
$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c
$(CC) /Fo$(OBJ_D)\ssl_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_txt.c
$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c
$(CC) /Fo$(OBJ_D)\ssl_algs.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_algs.c
$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c
$(CC) /Fo$(OBJ_D)\ssl_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_conf.c
$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c
$(CC) /Fo$(OBJ_D)\bio_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\bio_ssl.c
$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c
$(CC) /Fo$(OBJ_D)\ssl_err.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err.c
$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c
$(CC) /Fo$(OBJ_D)\kssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\kssl.c
$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c
$(CC) /Fo$(OBJ_D)\t1_reneg.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_reneg.c
$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c
$(CC) /Fo$(OBJ_D)\tls_srp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\tls_srp.c
$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c
$(CC) /Fo$(OBJ_D)\t1_trce.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_trce.c
$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c
$(CC) /Fo$(OBJ_D)\ssl_utst.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_utst.c
$(OBJ_D)\$(CRYPTO).res: ms\version32.rc
$(RSC) /fo"$(OBJ_D)\$(CRYPTO).res" /d CRYPTO ms\version32.rc

View File

@@ -197,6 +197,204 @@ E_OBJ=$(OBJ_D)\verify.obj \
$(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \
$(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj
CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \
$(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \
$(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \
$(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \
$(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \
$(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86cpuid.obj \
$(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \
$(OBJ_D)\md5_one.obj $(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj \
$(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \
$(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj \
$(OBJ_D)\sha256-586.obj $(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj \
$(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj \
$(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj \
$(OBJ_D)\rmd_one.obj $(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj \
$(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \
$(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \
$(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \
$(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \
$(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \
$(OBJ_D)\des-586.obj $(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj \
$(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \
$(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \
$(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \
$(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \
$(OBJ_D)\rc4-586.obj $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj \
$(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj \
$(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj \
$(OBJ_D)\cast-586.obj $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj \
$(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj \
$(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj \
$(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj \
$(OBJ_D)\aesni-x86.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \
$(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \
$(OBJ_D)\cmll-x86.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \
$(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \
$(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \
$(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \
$(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \
$(OBJ_D)\ghash-x86.obj $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj \
$(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj \
$(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj \
$(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj \
$(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj \
$(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj \
$(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj \
$(OBJ_D)\x86-mont.obj $(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj \
$(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj \
$(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj \
$(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj \
$(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj \
$(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj \
$(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj \
$(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj \
$(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj \
$(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj \
$(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj \
$(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj \
$(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj \
$(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj \
$(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj \
$(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj \
$(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj \
$(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj \
$(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj \
$(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj \
$(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj \
$(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj \
$(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj \
$(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj \
$(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj \
$(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj \
$(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj \
$(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj \
$(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj \
$(OBJ_D)\ec_oct.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \
$(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \
$(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \
$(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \
$(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \
$(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \
$(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \
$(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \
$(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \
$(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \
$(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \
$(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \
$(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \
$(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \
$(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \
$(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \
$(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \
$(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \
$(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \
$(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \
$(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \
$(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \
$(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \
$(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \
$(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \
$(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \
$(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \
$(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \
$(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \
$(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \
$(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \
$(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \
$(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \
$(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \
$(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \
$(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \
$(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \
$(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \
$(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \
$(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \
$(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \
$(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \
$(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \
$(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \
$(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \
$(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \
$(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \
$(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \
$(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \
$(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \
$(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \
$(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \
$(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \
$(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \
$(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \
$(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \
$(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \
$(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \
$(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \
$(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \
$(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \
$(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \
$(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \
$(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \
$(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \
$(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \
$(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \
$(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \
$(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \
$(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \
$(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \
$(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \
$(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \
$(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \
$(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \
$(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \
$(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \
$(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \
$(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \
$(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \
$(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \
$(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \
$(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \
$(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \
$(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \
$(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \
$(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \
$(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \
$(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \
$(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \
$(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \
$(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \
$(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \
$(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \
$(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \
$(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \
$(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \
$(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \
$(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \
$(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \
$(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \
$(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \
$(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \
$(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \
$(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \
$(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \
$(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \
$(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \
$(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \
$(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \
$(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \
$(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \
$(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \
$(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \
$(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \
$(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \
$(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \
$(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj \
$(OBJ_D)\wp-mmx.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \
$(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \
$(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \
$(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \
$(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\$(CRYPTO).res
SSLOBJ=$(OBJ_D)\s2_meth.obj \
$(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \
$(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \
@@ -223,204 +421,6 @@ GOSTOBJ=$(OBJ_D)\e_gost_err.obj \
$(OBJ_D)\gosthash.obj $(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj \
$(OBJ_D)\gost_params.obj $(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj
CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \
$(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \
$(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \
$(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \
$(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \
$(OBJ_D)\fips_ers.obj $(OBJ_D)\x86cpuid.obj $(OBJ_D)\md4_dgst.obj \
$(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj $(OBJ_D)\md5_one.obj \
$(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj $(OBJ_D)\sha1dgst.obj \
$(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj $(OBJ_D)\sha256.obj \
$(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj $(OBJ_D)\sha256-586.obj \
$(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj $(OBJ_D)\hm_ameth.obj \
$(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj $(OBJ_D)\cm_ameth.obj \
$(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj $(OBJ_D)\rmd_one.obj \
$(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj $(OBJ_D)\ecb_enc.obj \
$(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj $(OBJ_D)\cfb64enc.obj \
$(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj $(OBJ_D)\ofb64ede.obj \
$(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj $(OBJ_D)\ofb64enc.obj \
$(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj $(OBJ_D)\pcbc_enc.obj \
$(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj $(OBJ_D)\des-586.obj \
$(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj $(OBJ_D)\xcbc_enc.obj \
$(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj $(OBJ_D)\ede_cbcm_enc.obj \
$(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj $(OBJ_D)\read2pwd.obj \
$(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj $(OBJ_D)\rc2_cbc.obj \
$(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj $(OBJ_D)\rc4-586.obj \
$(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj $(OBJ_D)\bf_ecb.obj \
$(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj $(OBJ_D)\bf_ofb64.obj \
$(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj $(OBJ_D)\cast-586.obj \
$(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj $(OBJ_D)\aes_misc.obj \
$(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj $(OBJ_D)\aes_ofb.obj \
$(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj $(OBJ_D)\aes_wrap.obj \
$(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj $(OBJ_D)\aesni-x86.obj \
$(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj $(OBJ_D)\cmll_cfb.obj \
$(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj $(OBJ_D)\cmll-x86.obj \
$(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj $(OBJ_D)\seed_cbc.obj \
$(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj $(OBJ_D)\cbc128.obj \
$(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj $(OBJ_D)\cfb128.obj \
$(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj $(OBJ_D)\ccm128.obj \
$(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj $(OBJ_D)\ghash-x86.obj \
$(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj $(OBJ_D)\bn_exp.obj \
$(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj $(OBJ_D)\bn_mul.obj \
$(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj $(OBJ_D)\bn_rand.obj \
$(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj $(OBJ_D)\bn_blind.obj \
$(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj $(OBJ_D)\bn_gcd.obj \
$(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj $(OBJ_D)\bn_sqr.obj \
$(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj $(OBJ_D)\x86-mont.obj \
$(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj $(OBJ_D)\bn_mont.obj \
$(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj $(OBJ_D)\bn_gf2m.obj \
$(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj $(OBJ_D)\bn_const.obj \
$(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj $(OBJ_D)\rsa_gen.obj \
$(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj $(OBJ_D)\rsa_saos.obj \
$(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj $(OBJ_D)\rsa_ssl.obj \
$(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj $(OBJ_D)\rsa_chk.obj \
$(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj $(OBJ_D)\rsa_x931.obj \
$(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj $(OBJ_D)\rsa_ameth.obj \
$(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj $(OBJ_D)\rsa_crpt.obj \
$(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj $(OBJ_D)\dsa_lib.obj \
$(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj $(OBJ_D)\dsa_sign.obj \
$(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj $(OBJ_D)\dsa_depr.obj \
$(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj $(OBJ_D)\dsa_prn.obj \
$(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj $(OBJ_D)\dso_err.obj \
$(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj $(OBJ_D)\dso_openssl.obj \
$(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj $(OBJ_D)\dso_beos.obj \
$(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj $(OBJ_D)\dh_key.obj \
$(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj $(OBJ_D)\dh_err.obj \
$(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj $(OBJ_D)\dh_pmeth.obj \
$(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj $(OBJ_D)\dh_kdf.obj \
$(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj $(OBJ_D)\ecp_mont.obj \
$(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj $(OBJ_D)\ec_mult.obj \
$(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj $(OBJ_D)\ec_check.obj \
$(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj $(OBJ_D)\ec_key.obj \
$(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj $(OBJ_D)\ec_ameth.obj \
$(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj $(OBJ_D)\ecp_nistp224.obj \
$(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj $(OBJ_D)\ecp_nistputil.obj \
$(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj $(OBJ_D)\ec_oct.obj \
$(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj $(OBJ_D)\ech_key.obj \
$(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj $(OBJ_D)\ecs_lib.obj \
$(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj $(OBJ_D)\ecs_sign.obj \
$(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj $(OBJ_D)\buffer.obj \
$(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj $(OBJ_D)\bio_lib.obj \
$(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj $(OBJ_D)\bss_mem.obj \
$(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj $(OBJ_D)\bss_file.obj \
$(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj $(OBJ_D)\bf_null.obj \
$(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj $(OBJ_D)\b_dump.obj \
$(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj $(OBJ_D)\bf_nbio.obj \
$(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj $(OBJ_D)\bss_dgram.obj \
$(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj $(OBJ_D)\lh_stats.obj \
$(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj $(OBJ_D)\rand_lib.obj \
$(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj $(OBJ_D)\rand_win.obj \
$(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj $(OBJ_D)\rand_nw.obj \
$(OBJ_D)\err.obj $(OBJ_D)\err_all.obj $(OBJ_D)\err_prn.obj \
$(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj $(OBJ_D)\obj_lib.obj \
$(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj $(OBJ_D)\encode.obj \
$(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj $(OBJ_D)\evp_key.obj \
$(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj $(OBJ_D)\e_des.obj \
$(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj $(OBJ_D)\e_des3.obj \
$(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj $(OBJ_D)\e_aes.obj \
$(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj $(OBJ_D)\e_xcbc_d.obj \
$(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj $(OBJ_D)\e_rc5.obj \
$(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj $(OBJ_D)\m_md5.obj \
$(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj $(OBJ_D)\m_wp.obj \
$(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj $(OBJ_D)\m_ripemd.obj \
$(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj $(OBJ_D)\p_seal.obj \
$(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj $(OBJ_D)\p_lib.obj \
$(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj $(OBJ_D)\bio_md.obj \
$(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj $(OBJ_D)\evp_err.obj \
$(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj $(OBJ_D)\c_allc.obj \
$(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj $(OBJ_D)\bio_ok.obj \
$(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj $(OBJ_D)\p5_crpt.obj \
$(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj $(OBJ_D)\pmeth_lib.obj \
$(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj $(OBJ_D)\m_sigver.obj \
$(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(OBJ_D)\e_rc4_hmac_md5.obj \
$(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj $(OBJ_D)\a_utctm.obj \
$(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj $(OBJ_D)\a_int.obj \
$(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj $(OBJ_D)\a_type.obj \
$(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj $(OBJ_D)\a_d2i_fp.obj \
$(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj $(OBJ_D)\a_utf8.obj \
$(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj $(OBJ_D)\a_verify.obj \
$(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj $(OBJ_D)\x_algor.obj \
$(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj $(OBJ_D)\x_sig.obj \
$(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj $(OBJ_D)\x_bignum.obj \
$(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj $(OBJ_D)\x_x509.obj \
$(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj $(OBJ_D)\x_info.obj \
$(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj $(OBJ_D)\x_nx509.obj \
$(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj $(OBJ_D)\i2d_pu.obj \
$(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj $(OBJ_D)\t_x509.obj \
$(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj $(OBJ_D)\t_pkey.obj \
$(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj $(OBJ_D)\tasn_new.obj \
$(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj $(OBJ_D)\tasn_dec.obj \
$(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj $(OBJ_D)\tasn_prn.obj \
$(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj $(OBJ_D)\f_string.obj \
$(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj $(OBJ_D)\x_pkey.obj \
$(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj $(OBJ_D)\bio_asn1.obj \
$(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj $(OBJ_D)\asn1_gen.obj \
$(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj $(OBJ_D)\asn1_err.obj \
$(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj $(OBJ_D)\evp_asn1.obj \
$(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj $(OBJ_D)\p5_pbev2.obj \
$(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj $(OBJ_D)\pem_sign.obj \
$(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj $(OBJ_D)\pem_lib.obj \
$(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj $(OBJ_D)\pem_x509.obj \
$(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj $(OBJ_D)\pem_pk8.obj \
$(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj $(OBJ_D)\x509_def.obj \
$(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj $(OBJ_D)\x509_cmp.obj \
$(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj $(OBJ_D)\x509spki.obj \
$(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj $(OBJ_D)\x509cset.obj \
$(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj $(OBJ_D)\x509name.obj \
$(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj $(OBJ_D)\x509_att.obj \
$(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj $(OBJ_D)\x_all.obj \
$(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj $(OBJ_D)\by_file.obj \
$(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj $(OBJ_D)\v3_bcons.obj \
$(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj $(OBJ_D)\v3_extku.obj \
$(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj $(OBJ_D)\v3_prn.obj \
$(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj $(OBJ_D)\v3_genn.obj \
$(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj $(OBJ_D)\v3_akey.obj \
$(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj $(OBJ_D)\v3_enum.obj \
$(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj $(OBJ_D)\v3_crld.obj \
$(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj $(OBJ_D)\v3_ocsp.obj \
$(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj $(OBJ_D)\v3_pcons.obj \
$(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj $(OBJ_D)\v3_pci.obj \
$(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj $(OBJ_D)\pcy_data.obj \
$(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj $(OBJ_D)\pcy_lib.obj \
$(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj $(OBJ_D)\v3_scts.obj \
$(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj $(OBJ_D)\cms_att.obj \
$(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj $(OBJ_D)\cms_err.obj \
$(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj $(OBJ_D)\cms_cd.obj \
$(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj $(OBJ_D)\cms_ess.obj \
$(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj $(OBJ_D)\conf_err.obj \
$(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj $(OBJ_D)\conf_def.obj \
$(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj $(OBJ_D)\conf_sap.obj \
$(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj $(OBJ_D)\pk7_lib.obj \
$(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj $(OBJ_D)\pk7_smime.obj \
$(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj $(OBJ_D)\bio_pk7.obj \
$(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj $(OBJ_D)\p12_attr.obj \
$(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj $(OBJ_D)\p12_decr.obj \
$(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj $(OBJ_D)\p12_kiss.obj \
$(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj $(OBJ_D)\p12_npas.obj \
$(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj $(OBJ_D)\p12_p8e.obj \
$(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj $(OBJ_D)\c_rle.obj \
$(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj $(OBJ_D)\eng_lib.obj \
$(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj $(OBJ_D)\eng_ctrl.obj \
$(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj $(OBJ_D)\eng_fat.obj \
$(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj $(OBJ_D)\tb_dsa.obj \
$(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj $(OBJ_D)\tb_ecdh.obj \
$(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj $(OBJ_D)\tb_cipher.obj \
$(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj $(OBJ_D)\tb_asnmth.obj \
$(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj $(OBJ_D)\eng_dyn.obj \
$(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj $(OBJ_D)\ocsp_asn.obj \
$(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj $(OBJ_D)\ocsp_lib.obj \
$(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj $(OBJ_D)\ocsp_prn.obj \
$(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj $(OBJ_D)\ui_err.obj \
$(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj $(OBJ_D)\ui_util.obj \
$(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj $(OBJ_D)\pqueue.obj \
$(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj $(OBJ_D)\wp-mmx.obj \
$(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj $(OBJ_D)\ts_req_print.obj \
$(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj $(OBJ_D)\ts_rsp_sign.obj \
$(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj $(OBJ_D)\ts_lib.obj \
$(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj $(OBJ_D)\srp_lib.obj \
$(OBJ_D)\srp_vfy.obj $(OBJ_D)\$(CRYPTO).res
T_EXE=$(TEST_D)\constant_time_test.exe \
$(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \
$(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \
@@ -1237,204 +1237,6 @@ $(OBJ_D)\srp.obj: $(SRC_D)\apps\srp.c
$(OBJ_D)\openssl.obj: $(SRC_D)\apps\openssl.c
$(CC) /Fo$(OBJ_D)\openssl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\openssl.c
$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c
$(CC) /Fo$(OBJ_D)\s2_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_meth.c
$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c
$(CC) /Fo$(OBJ_D)\s2_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_srvr.c
$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c
$(CC) /Fo$(OBJ_D)\s2_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_clnt.c
$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c
$(CC) /Fo$(OBJ_D)\s2_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_lib.c
$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c
$(CC) /Fo$(OBJ_D)\s2_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_enc.c
$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c
$(CC) /Fo$(OBJ_D)\s2_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_pkt.c
$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c
$(CC) /Fo$(OBJ_D)\s3_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_meth.c
$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c
$(CC) /Fo$(OBJ_D)\s3_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_srvr.c
$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c
$(CC) /Fo$(OBJ_D)\s3_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_clnt.c
$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c
$(CC) /Fo$(OBJ_D)\s3_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_lib.c
$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c
$(CC) /Fo$(OBJ_D)\s3_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_enc.c
$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c
$(CC) /Fo$(OBJ_D)\s3_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_pkt.c
$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c
$(CC) /Fo$(OBJ_D)\s3_both.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_both.c
$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c
$(CC) /Fo$(OBJ_D)\s3_cbc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_cbc.c
$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c
$(CC) /Fo$(OBJ_D)\s23_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_meth.c
$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c
$(CC) /Fo$(OBJ_D)\s23_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_srvr.c
$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c
$(CC) /Fo$(OBJ_D)\s23_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_clnt.c
$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c
$(CC) /Fo$(OBJ_D)\s23_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_lib.c
$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c
$(CC) /Fo$(OBJ_D)\s23_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_pkt.c
$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c
$(CC) /Fo$(OBJ_D)\t1_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_meth.c
$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c
$(CC) /Fo$(OBJ_D)\t1_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_srvr.c
$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c
$(CC) /Fo$(OBJ_D)\t1_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_clnt.c
$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c
$(CC) /Fo$(OBJ_D)\t1_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_lib.c
$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c
$(CC) /Fo$(OBJ_D)\t1_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_enc.c
$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c
$(CC) /Fo$(OBJ_D)\t1_ext.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_ext.c
$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c
$(CC) /Fo$(OBJ_D)\d1_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_meth.c
$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c
$(CC) /Fo$(OBJ_D)\d1_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_srvr.c
$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c
$(CC) /Fo$(OBJ_D)\d1_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_clnt.c
$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c
$(CC) /Fo$(OBJ_D)\d1_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_lib.c
$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c
$(CC) /Fo$(OBJ_D)\d1_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_pkt.c
$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c
$(CC) /Fo$(OBJ_D)\d1_both.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_both.c
$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c
$(CC) /Fo$(OBJ_D)\d1_srtp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_srtp.c
$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c
$(CC) /Fo$(OBJ_D)\ssl_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_lib.c
$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c
$(CC) /Fo$(OBJ_D)\ssl_err2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_err2.c
$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c
$(CC) /Fo$(OBJ_D)\ssl_cert.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_cert.c
$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c
$(CC) /Fo$(OBJ_D)\ssl_sess.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_sess.c
$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c
$(CC) /Fo$(OBJ_D)\ssl_ciph.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_ciph.c
$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c
$(CC) /Fo$(OBJ_D)\ssl_stat.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_stat.c
$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c
$(CC) /Fo$(OBJ_D)\ssl_rsa.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_rsa.c
$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c
$(CC) /Fo$(OBJ_D)\ssl_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_asn1.c
$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c
$(CC) /Fo$(OBJ_D)\ssl_txt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_txt.c
$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c
$(CC) /Fo$(OBJ_D)\ssl_algs.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_algs.c
$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c
$(CC) /Fo$(OBJ_D)\ssl_conf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_conf.c
$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c
$(CC) /Fo$(OBJ_D)\bio_ssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\bio_ssl.c
$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c
$(CC) /Fo$(OBJ_D)\ssl_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_err.c
$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c
$(CC) /Fo$(OBJ_D)\kssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\kssl.c
$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c
$(CC) /Fo$(OBJ_D)\t1_reneg.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_reneg.c
$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c
$(CC) /Fo$(OBJ_D)\tls_srp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\tls_srp.c
$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c
$(CC) /Fo$(OBJ_D)\t1_trce.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_trce.c
$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c
$(CC) /Fo$(OBJ_D)\ssl_utst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_utst.c
$(OBJ_D)\e_gost_err.obj: $(SRC_D)\engines\ccgost\e_gost_err.c
$(CC) /Fo$(OBJ_D)\e_gost_err.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\e_gost_err.c
$(OBJ_D)\gost2001_keyx.obj: $(SRC_D)\engines\ccgost\gost2001_keyx.c
$(CC) /Fo$(OBJ_D)\gost2001_keyx.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001_keyx.c
$(OBJ_D)\gost2001.obj: $(SRC_D)\engines\ccgost\gost2001.c
$(CC) /Fo$(OBJ_D)\gost2001.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001.c
$(OBJ_D)\gost89.obj: $(SRC_D)\engines\ccgost\gost89.c
$(CC) /Fo$(OBJ_D)\gost89.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost89.c
$(OBJ_D)\gost94_keyx.obj: $(SRC_D)\engines\ccgost\gost94_keyx.c
$(CC) /Fo$(OBJ_D)\gost94_keyx.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost94_keyx.c
$(OBJ_D)\gost_ameth.obj: $(SRC_D)\engines\ccgost\gost_ameth.c
$(CC) /Fo$(OBJ_D)\gost_ameth.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ameth.c
$(OBJ_D)\gost_asn1.obj: $(SRC_D)\engines\ccgost\gost_asn1.c
$(CC) /Fo$(OBJ_D)\gost_asn1.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_asn1.c
$(OBJ_D)\gost_crypt.obj: $(SRC_D)\engines\ccgost\gost_crypt.c
$(CC) /Fo$(OBJ_D)\gost_crypt.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_crypt.c
$(OBJ_D)\gost_ctl.obj: $(SRC_D)\engines\ccgost\gost_ctl.c
$(CC) /Fo$(OBJ_D)\gost_ctl.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ctl.c
$(OBJ_D)\gost_eng.obj: $(SRC_D)\engines\ccgost\gost_eng.c
$(CC) /Fo$(OBJ_D)\gost_eng.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_eng.c
$(OBJ_D)\gosthash.obj: $(SRC_D)\engines\ccgost\gosthash.c
$(CC) /Fo$(OBJ_D)\gosthash.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gosthash.c
$(OBJ_D)\gost_keywrap.obj: $(SRC_D)\engines\ccgost\gost_keywrap.c
$(CC) /Fo$(OBJ_D)\gost_keywrap.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_keywrap.c
$(OBJ_D)\gost_md.obj: $(SRC_D)\engines\ccgost\gost_md.c
$(CC) /Fo$(OBJ_D)\gost_md.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_md.c
$(OBJ_D)\gost_params.obj: $(SRC_D)\engines\ccgost\gost_params.c
$(CC) /Fo$(OBJ_D)\gost_params.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_params.c
$(OBJ_D)\gost_pmeth.obj: $(SRC_D)\engines\ccgost\gost_pmeth.c
$(CC) /Fo$(OBJ_D)\gost_pmeth.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_pmeth.c
$(OBJ_D)\gost_sign.obj: $(SRC_D)\engines\ccgost\gost_sign.c
$(CC) /Fo$(OBJ_D)\gost_sign.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_sign.c
$(OBJ_D)\cryptlib.obj: $(SRC_D)\crypto\cryptlib.c
$(CC) /Fo$(OBJ_D)\cryptlib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cryptlib.c
@@ -1477,6 +1279,9 @@ $(OBJ_D)\o_init.obj: $(SRC_D)\crypto\o_init.c
$(OBJ_D)\fips_ers.obj: $(SRC_D)\crypto\fips_ers.c
$(CC) /Fo$(OBJ_D)\fips_ers.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\fips_ers.c
$(OBJ_D)\getenv.obj: $(SRC_D)\crypto\getenv.c
$(CC) /Fo$(OBJ_D)\getenv.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\getenv.c
$(TMP_D)\x86cpuid.asm: crypto\x86cpuid.pl
$(PERL) crypto\x86cpuid.pl win32n $(CFLAG) >$@
@@ -3259,6 +3064,204 @@ $(OBJ_D)\srp_lib.obj: $(SRC_D)\crypto\srp\srp_lib.c
$(OBJ_D)\srp_vfy.obj: $(SRC_D)\crypto\srp\srp_vfy.c
$(CC) /Fo$(OBJ_D)\srp_vfy.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\srp\srp_vfy.c
$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c
$(CC) /Fo$(OBJ_D)\s2_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_meth.c
$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c
$(CC) /Fo$(OBJ_D)\s2_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_srvr.c
$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c
$(CC) /Fo$(OBJ_D)\s2_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_clnt.c
$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c
$(CC) /Fo$(OBJ_D)\s2_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_lib.c
$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c
$(CC) /Fo$(OBJ_D)\s2_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_enc.c
$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c
$(CC) /Fo$(OBJ_D)\s2_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_pkt.c
$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c
$(CC) /Fo$(OBJ_D)\s3_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_meth.c
$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c
$(CC) /Fo$(OBJ_D)\s3_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_srvr.c
$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c
$(CC) /Fo$(OBJ_D)\s3_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_clnt.c
$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c
$(CC) /Fo$(OBJ_D)\s3_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_lib.c
$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c
$(CC) /Fo$(OBJ_D)\s3_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_enc.c
$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c
$(CC) /Fo$(OBJ_D)\s3_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_pkt.c
$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c
$(CC) /Fo$(OBJ_D)\s3_both.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_both.c
$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c
$(CC) /Fo$(OBJ_D)\s3_cbc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_cbc.c
$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c
$(CC) /Fo$(OBJ_D)\s23_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_meth.c
$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c
$(CC) /Fo$(OBJ_D)\s23_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_srvr.c
$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c
$(CC) /Fo$(OBJ_D)\s23_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_clnt.c
$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c
$(CC) /Fo$(OBJ_D)\s23_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_lib.c
$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c
$(CC) /Fo$(OBJ_D)\s23_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_pkt.c
$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c
$(CC) /Fo$(OBJ_D)\t1_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_meth.c
$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c
$(CC) /Fo$(OBJ_D)\t1_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_srvr.c
$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c
$(CC) /Fo$(OBJ_D)\t1_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_clnt.c
$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c
$(CC) /Fo$(OBJ_D)\t1_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_lib.c
$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c
$(CC) /Fo$(OBJ_D)\t1_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_enc.c
$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c
$(CC) /Fo$(OBJ_D)\t1_ext.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_ext.c
$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c
$(CC) /Fo$(OBJ_D)\d1_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_meth.c
$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c
$(CC) /Fo$(OBJ_D)\d1_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_srvr.c
$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c
$(CC) /Fo$(OBJ_D)\d1_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_clnt.c
$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c
$(CC) /Fo$(OBJ_D)\d1_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_lib.c
$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c
$(CC) /Fo$(OBJ_D)\d1_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_pkt.c
$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c
$(CC) /Fo$(OBJ_D)\d1_both.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_both.c
$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c
$(CC) /Fo$(OBJ_D)\d1_srtp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_srtp.c
$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c
$(CC) /Fo$(OBJ_D)\ssl_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_lib.c
$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c
$(CC) /Fo$(OBJ_D)\ssl_err2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_err2.c
$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c
$(CC) /Fo$(OBJ_D)\ssl_cert.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_cert.c
$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c
$(CC) /Fo$(OBJ_D)\ssl_sess.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_sess.c
$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c
$(CC) /Fo$(OBJ_D)\ssl_ciph.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_ciph.c
$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c
$(CC) /Fo$(OBJ_D)\ssl_stat.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_stat.c
$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c
$(CC) /Fo$(OBJ_D)\ssl_rsa.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_rsa.c
$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c
$(CC) /Fo$(OBJ_D)\ssl_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_asn1.c
$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c
$(CC) /Fo$(OBJ_D)\ssl_txt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_txt.c
$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c
$(CC) /Fo$(OBJ_D)\ssl_algs.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_algs.c
$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c
$(CC) /Fo$(OBJ_D)\ssl_conf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_conf.c
$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c
$(CC) /Fo$(OBJ_D)\bio_ssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\bio_ssl.c
$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c
$(CC) /Fo$(OBJ_D)\ssl_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_err.c
$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c
$(CC) /Fo$(OBJ_D)\kssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\kssl.c
$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c
$(CC) /Fo$(OBJ_D)\t1_reneg.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_reneg.c
$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c
$(CC) /Fo$(OBJ_D)\tls_srp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\tls_srp.c
$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c
$(CC) /Fo$(OBJ_D)\t1_trce.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_trce.c
$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c
$(CC) /Fo$(OBJ_D)\ssl_utst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_utst.c
$(OBJ_D)\e_gost_err.obj: $(SRC_D)\engines\ccgost\e_gost_err.c
$(CC) /Fo$(OBJ_D)\e_gost_err.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\e_gost_err.c
$(OBJ_D)\gost2001_keyx.obj: $(SRC_D)\engines\ccgost\gost2001_keyx.c
$(CC) /Fo$(OBJ_D)\gost2001_keyx.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001_keyx.c
$(OBJ_D)\gost2001.obj: $(SRC_D)\engines\ccgost\gost2001.c
$(CC) /Fo$(OBJ_D)\gost2001.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001.c
$(OBJ_D)\gost89.obj: $(SRC_D)\engines\ccgost\gost89.c
$(CC) /Fo$(OBJ_D)\gost89.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost89.c
$(OBJ_D)\gost94_keyx.obj: $(SRC_D)\engines\ccgost\gost94_keyx.c
$(CC) /Fo$(OBJ_D)\gost94_keyx.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost94_keyx.c
$(OBJ_D)\gost_ameth.obj: $(SRC_D)\engines\ccgost\gost_ameth.c
$(CC) /Fo$(OBJ_D)\gost_ameth.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ameth.c
$(OBJ_D)\gost_asn1.obj: $(SRC_D)\engines\ccgost\gost_asn1.c
$(CC) /Fo$(OBJ_D)\gost_asn1.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_asn1.c
$(OBJ_D)\gost_crypt.obj: $(SRC_D)\engines\ccgost\gost_crypt.c
$(CC) /Fo$(OBJ_D)\gost_crypt.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_crypt.c
$(OBJ_D)\gost_ctl.obj: $(SRC_D)\engines\ccgost\gost_ctl.c
$(CC) /Fo$(OBJ_D)\gost_ctl.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ctl.c
$(OBJ_D)\gost_eng.obj: $(SRC_D)\engines\ccgost\gost_eng.c
$(CC) /Fo$(OBJ_D)\gost_eng.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_eng.c
$(OBJ_D)\gosthash.obj: $(SRC_D)\engines\ccgost\gosthash.c
$(CC) /Fo$(OBJ_D)\gosthash.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gosthash.c
$(OBJ_D)\gost_keywrap.obj: $(SRC_D)\engines\ccgost\gost_keywrap.c
$(CC) /Fo$(OBJ_D)\gost_keywrap.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_keywrap.c
$(OBJ_D)\gost_md.obj: $(SRC_D)\engines\ccgost\gost_md.c
$(CC) /Fo$(OBJ_D)\gost_md.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_md.c
$(OBJ_D)\gost_params.obj: $(SRC_D)\engines\ccgost\gost_params.c
$(CC) /Fo$(OBJ_D)\gost_params.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_params.c
$(OBJ_D)\gost_pmeth.obj: $(SRC_D)\engines\ccgost\gost_pmeth.c
$(CC) /Fo$(OBJ_D)\gost_pmeth.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_pmeth.c
$(OBJ_D)\gost_sign.obj: $(SRC_D)\engines\ccgost\gost_sign.c
$(CC) /Fo$(OBJ_D)\gost_sign.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_sign.c
$(OBJ_D)\$(CRYPTO).res: ms\version32.rc
$(RSC) /fo"$(OBJ_D)\$(CRYPTO).res" /d CRYPTO ms\version32.rc
@@ -3494,7 +3497,7 @@ $(TEST_D)\igetest.exe: $(OBJ_D)\igetest.obj $(LIBS_DEP)
IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1
$(OBJ_D)\e_4758cca.obj: $(SRC_D)\engines\e_4758cca.c
$(CC) /Fo$(OBJ_D)\e_4758cca.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_4758cca.c
$(CC) /Fo$(OBJ_D)\e_4758cca.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_4758cca.c
$(ENG_D)\4758cca.dll: $(OBJ_D)\e_4758cca.obj
$(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\4758cca.dll @<<
@@ -3504,7 +3507,7 @@ $(ENG_D)\4758cca.dll: $(OBJ_D)\e_4758cca.obj
$(OBJ_D)\e_aep.obj: $(SRC_D)\engines\e_aep.c
$(CC) /Fo$(OBJ_D)\e_aep.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_aep.c
$(CC) /Fo$(OBJ_D)\e_aep.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_aep.c
$(ENG_D)\aep.dll: $(OBJ_D)\e_aep.obj
$(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\aep.dll @<<
@@ -3514,7 +3517,7 @@ $(ENG_D)\aep.dll: $(OBJ_D)\e_aep.obj
$(OBJ_D)\e_atalla.obj: $(SRC_D)\engines\e_atalla.c
$(CC) /Fo$(OBJ_D)\e_atalla.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_atalla.c
$(CC) /Fo$(OBJ_D)\e_atalla.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_atalla.c
$(ENG_D)\atalla.dll: $(OBJ_D)\e_atalla.obj
$(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\atalla.dll @<<
@@ -3524,7 +3527,7 @@ $(ENG_D)\atalla.dll: $(OBJ_D)\e_atalla.obj
$(OBJ_D)\e_cswift.obj: $(SRC_D)\engines\e_cswift.c
$(CC) /Fo$(OBJ_D)\e_cswift.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_cswift.c
$(CC) /Fo$(OBJ_D)\e_cswift.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_cswift.c
$(ENG_D)\cswift.dll: $(OBJ_D)\e_cswift.obj
$(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\cswift.dll @<<
@@ -3534,7 +3537,7 @@ $(ENG_D)\cswift.dll: $(OBJ_D)\e_cswift.obj
$(OBJ_D)\e_gmp.obj: $(SRC_D)\engines\e_gmp.c
$(CC) /Fo$(OBJ_D)\e_gmp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_gmp.c
$(CC) /Fo$(OBJ_D)\e_gmp.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_gmp.c
$(ENG_D)\gmp.dll: $(OBJ_D)\e_gmp.obj
$(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\gmp.dll @<<
@@ -3544,7 +3547,7 @@ $(ENG_D)\gmp.dll: $(OBJ_D)\e_gmp.obj
$(OBJ_D)\e_chil.obj: $(SRC_D)\engines\e_chil.c
$(CC) /Fo$(OBJ_D)\e_chil.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_chil.c
$(CC) /Fo$(OBJ_D)\e_chil.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_chil.c
$(ENG_D)\chil.dll: $(OBJ_D)\e_chil.obj
$(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\chil.dll @<<
@@ -3554,7 +3557,7 @@ $(ENG_D)\chil.dll: $(OBJ_D)\e_chil.obj
$(OBJ_D)\e_nuron.obj: $(SRC_D)\engines\e_nuron.c
$(CC) /Fo$(OBJ_D)\e_nuron.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_nuron.c
$(CC) /Fo$(OBJ_D)\e_nuron.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_nuron.c
$(ENG_D)\nuron.dll: $(OBJ_D)\e_nuron.obj
$(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\nuron.dll @<<
@@ -3564,7 +3567,7 @@ $(ENG_D)\nuron.dll: $(OBJ_D)\e_nuron.obj
$(OBJ_D)\e_sureware.obj: $(SRC_D)\engines\e_sureware.c
$(CC) /Fo$(OBJ_D)\e_sureware.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_sureware.c
$(CC) /Fo$(OBJ_D)\e_sureware.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_sureware.c
$(ENG_D)\sureware.dll: $(OBJ_D)\e_sureware.obj
$(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\sureware.dll @<<
@@ -3574,7 +3577,7 @@ $(ENG_D)\sureware.dll: $(OBJ_D)\e_sureware.obj
$(OBJ_D)\e_ubsec.obj: $(SRC_D)\engines\e_ubsec.c
$(CC) /Fo$(OBJ_D)\e_ubsec.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_ubsec.c
$(CC) /Fo$(OBJ_D)\e_ubsec.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_ubsec.c
$(ENG_D)\ubsec.dll: $(OBJ_D)\e_ubsec.obj
$(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\ubsec.dll @<<
@@ -3584,7 +3587,7 @@ $(ENG_D)\ubsec.dll: $(OBJ_D)\e_ubsec.obj
$(OBJ_D)\e_padlock.obj: $(SRC_D)\engines\e_padlock.c
$(CC) /Fo$(OBJ_D)\e_padlock.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_padlock.c
$(CC) /Fo$(OBJ_D)\e_padlock.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_padlock.c
$(ENG_D)\padlock.dll: $(OBJ_D)\e_padlock.obj
$(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\padlock.dll @<<
@@ -3594,7 +3597,7 @@ $(ENG_D)\padlock.dll: $(OBJ_D)\e_padlock.obj
$(OBJ_D)\e_capi.obj: $(SRC_D)\engines\e_capi.c
$(CC) /Fo$(OBJ_D)\e_capi.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_capi.c
$(CC) /Fo$(OBJ_D)\e_capi.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_capi.c
$(ENG_D)\capi.dll: $(OBJ_D)\e_capi.obj
$(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\capi.dll @<<

Binary file not shown.

View File

@@ -3,8 +3,8 @@
LANGUAGE 0x09,0x01
1 VERSIONINFO
FILEVERSION 1,0,2,16
PRODUCTVERSION 1,0,2,16
FILEVERSION 1,0,2,17
PRODUCTVERSION 1,0,2,17
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x01L
@@ -22,7 +22,7 @@ BEGIN
// Required:
VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\0"
VALUE "FileDescription", "OpenSSL Shared Library\0"
VALUE "FileVersion", "1.0.2p\0"
VALUE "FileVersion", "1.0.2q\0"
#if defined(CRYPTO)
VALUE "InternalName", "libeay32\0"
VALUE "OriginalFilename", "libeay32.dll\0"
@@ -31,7 +31,7 @@ BEGIN
VALUE "OriginalFilename", "ssleay32.dll\0"
#endif
VALUE "ProductName", "The OpenSSL Toolkit\0"
VALUE "ProductVersion", "1.0.2p\0"
VALUE "ProductVersion", "1.0.2q\0"
// Optional:
//VALUE "Comments", "\0"
VALUE "LegalCopyright", "Copyright <20> 1998-2005 The OpenSSL Project. Copyright <20> 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\0"

View File

@@ -7,7 +7,7 @@ Release: 1
Summary: Secure Sockets Layer and cryptography libraries and tools
Name: openssl
Version: 1.0.2p
Version: 1.0.2q
Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
License: OpenSSL
Group: System Environment/Libraries

View File

@@ -293,14 +293,12 @@ dtls1_buffer_record(SSL *s, record_pqueue *queue, unsigned char *priority)
return (-1);
}
/* insert should not fail, since duplicates are dropped */
if (pqueue_insert(queue->q, item) == NULL) {
SSLerr(SSL_F_DTLS1_BUFFER_RECORD, ERR_R_INTERNAL_ERROR);
/* Must be a duplicate so ignore it */
if (rdata->rbuf.buf != NULL)
OPENSSL_free(rdata->rbuf.buf);
OPENSSL_free(rdata);
pitem_free(item);
return (-1);
}
return (1);

View File

@@ -56,7 +56,7 @@
* [including the GNU Public Licence.]
*/
/* ====================================================================
* Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved.
* Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -1406,11 +1406,17 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
static int check_suiteb_cipher_list(const SSL_METHOD *meth, CERT *c,
const char **prule_str)
{
unsigned int suiteb_flags = 0, suiteb_comb2 = 0;
unsigned int suiteb_flags = 0;
# ifndef OPENSSL_NO_ECDH
unsigned int suiteb_comb2 = 0;
#endif
if (strncmp(*prule_str, "SUITEB128ONLY", 13) == 0) {
suiteb_flags = SSL_CERT_FLAG_SUITEB_128_LOS_ONLY;
} else if (strncmp(*prule_str, "SUITEB128C2", 11) == 0) {
# ifndef OPENSSL_NO_ECDH
suiteb_comb2 = 1;
# endif
suiteb_flags = SSL_CERT_FLAG_SUITEB_128_LOS;
} else if (strncmp(*prule_str, "SUITEB128", 9) == 0) {
suiteb_flags = SSL_CERT_FLAG_SUITEB_128_LOS;

View File

@@ -2259,10 +2259,10 @@ void ssl_set_cert_masks(CERT *c, const SSL_CIPHER *cipher)
int rsa_tmp_export, dh_tmp_export, kl;
unsigned long mask_k, mask_a, emask_k, emask_a;
#ifndef OPENSSL_NO_ECDSA
int have_ecc_cert, ecdsa_ok, ecc_pkey_size;
int have_ecc_cert, ecdsa_ok;
#endif
#ifndef OPENSSL_NO_ECDH
int have_ecdh_tmp, ecdh_ok;
int have_ecdh_tmp, ecdh_ok, ecc_pkey_size;
#endif
#ifndef OPENSSL_NO_EC
X509 *x = NULL;
@@ -2405,7 +2405,9 @@ void ssl_set_cert_masks(CERT *c, const SSL_CIPHER *cipher)
if (!(cpk->valid_flags & CERT_PKEY_SIGN))
ecdsa_ok = 0;
ecc_pkey = X509_get_pubkey(x);
# ifndef OPENSSL_NO_ECDH
ecc_pkey_size = (ecc_pkey != NULL) ? EVP_PKEY_bits(ecc_pkey) : 0;
# endif
EVP_PKEY_free(ecc_pkey);
if ((x->sig_alg) && (x->sig_alg->algorithm)) {
signature_nid = OBJ_obj2nid(x->sig_alg->algorithm);
@@ -2467,7 +2469,7 @@ void ssl_set_cert_masks(CERT *c, const SSL_CIPHER *cipher)
#define ku_reject(x, usage) \
(((x)->ex_flags & EXFLAG_KUSAGE) && !((x)->ex_kusage & (usage)))
#ifndef OPENSSL_NO_EC
#ifndef OPENSSL_NO_ECDH
int ssl_check_srvr_ecc_cert_and_alg(X509 *x, SSL *s)
{

View File

@@ -500,7 +500,11 @@ static int tls1_get_curvelist(SSL *s, int sess,
} else
# endif
{
if (!s->server || s->cert->ecdh_tmp_auto) {
if (!s->server
# ifndef OPENSSL_NO_ECDH
|| s->cert->ecdh_tmp_auto
# endif
) {
*pcurves = eccurves_auto;
pcurveslen = sizeof(eccurves_auto);
} else {

View File

@@ -151,7 +151,7 @@ $ TEST_FILES = "BNTEST,ECTEST,ECDSATEST,ECDHTEST,IDEATEST,"+ -
"ASN1TEST,V3NAMETEST,HEARTBEAT_TEST,"+ -
"CONSTANT_TIME_TEST,VERIFY_EXTRA_TEST,"+ -
"CLIENTHELLOTEST,SSLV2CONFTEST,DTLSTEST,"+ -
"BAD_DTLS_TEST,FATALERRTEST"
"BAD_DTLS_TEST,FATALERRTEST,X509_TIME_TEST"
$!
$! Additional directory information.
$ T_D_BNTEST := [-.crypto.bn]

View File

@@ -58,7 +58,7 @@ $ tests := -
test_ss,test_ca,test_engine,test_evp,test_evp_extra,test_ssl,test_tsa,test_ige,-
test_jpake,test_srp,test_cms,test_ocsp,test_v3name,test_heartbeat,-
test_constant_time,test_verify_extra,test_clienthello,test_sslv2conftest,-
test_dtls,test_bad_dtls,test_fatalerr
test_dtls,test_bad_dtls,test_fatalerr,test_x509_time
$ endif
$ tests = f$edit(tests,"COLLAPSE")
$
@@ -107,6 +107,7 @@ $ BADDTLSTEST := bad_dtls_test
$ SSLV2CONFTEST := sslv2conftest
$ DTLSTEST := dtlstest
$ FATALERRTEST := fatalerrtest
$ X509TIMETEST := x509_time_test
$!
$ tests_i = 0
$ loop_tests:
@@ -415,6 +416,11 @@ $ write sys$output "''START' test_fatalerrtest"
$ mcr 'texe_dir''fatalerrtest' 'ROOT'.APPS]server.pem 'ROOT'.APPS]server.pem
$ return
$
$ test_x509_time:
$ write sys$output "''START' test_x509_time"
$ mcr 'texe_dir''x509timetest'
$ return
$
$ test_sslv2conftest:
$ write sys$output "''START' test_sslv2conftest"
$ mcr 'texe_dir''sslv2conftest'

210
tools/c_rehash.bak Normal file
View File

@@ -0,0 +1,210 @@
#!/usr/bin/perl
# Perl c_rehash script, scan all files in a directory
# and add symbolic links to their hash values.
my $dir = "/usr/local/ssl";
my $prefix = "/usr/local/ssl";
my $openssl = $ENV{OPENSSL} || "openssl";
my $pwd;
my $x509hash = "-subject_hash";
my $crlhash = "-hash";
my $verbose = 0;
my $symlink_exists=eval {symlink("",""); 1};
my $removelinks = 1;
## Parse flags.
while ( $ARGV[0] =~ /^-/ ) {
my $flag = shift @ARGV;
last if ( $flag eq '--');
if ( $flag eq '-old') {
$x509hash = "-subject_hash_old";
$crlhash = "-hash_old";
} elsif ( $flag eq '-h') {
help();
} elsif ( $flag eq '-n' ) {
$removelinks = 0;
} elsif ( $flag eq '-v' ) {
$verbose++;
}
else {
print STDERR "Usage error; try -help.\n";
exit 1;
}
}
sub help {
print "Usage: c_rehash [-old] [-h] [-v] [dirs...]\n";
print " -old use old-style digest\n";
print " -h print this help text\n";
print " -v print files removed and linked\n";
exit 0;
}
eval "require Cwd";
if (defined(&Cwd::getcwd)) {
$pwd=Cwd::getcwd();
} else {
$pwd=`pwd`;
chomp($pwd);
}
# DOS/Win32 or Unix delimiter? Prefix our installdir, then search.
my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':';
$ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : "");
if(! -x $openssl) {
my $found = 0;
foreach (split /$path_delim/, $ENV{PATH}) {
if(-x "$_/$openssl") {
$found = 1;
$openssl = "$_/$openssl";
last;
}
}
if($found == 0) {
print STDERR "c_rehash: rehashing skipped ('openssl' program not available)\n";
exit 0;
}
}
if(@ARGV) {
@dirlist = @ARGV;
} elsif($ENV{SSL_CERT_DIR}) {
@dirlist = split /$path_delim/, $ENV{SSL_CERT_DIR};
} else {
$dirlist[0] = "$dir/certs";
}
if (-d $dirlist[0]) {
chdir $dirlist[0];
$openssl="$pwd/$openssl" if (!-x $openssl);
chdir $pwd;
}
foreach (@dirlist) {
if(-d $_ and -w $_) {
hash_dir($_);
}
}
sub hash_dir {
my %hashlist;
print "Doing $_[0]\n";
chdir $_[0];
opendir(DIR, ".");
my @flist = readdir(DIR);
closedir DIR;
if ( $removelinks ) {
# Delete any existing symbolic links
foreach (grep {/^[\da-f]+\.r{0,1}\d+$/} @flist) {
if(-l $_) {
unlink $_;
print "unlink $_" if $verbose;
}
}
}
FILE: foreach $fname (grep {/\.(pem)|(crt)|(cer)|(crl)$/} @flist) {
# Check to see if certificates and/or CRLs present.
my ($cert, $crl) = check_file($fname);
if(!$cert && !$crl) {
print STDERR "WARNING: $fname does not contain a certificate or CRL: skipping\n";
next;
}
link_hash_cert($fname) if($cert);
link_hash_crl($fname) if($crl);
}
}
sub check_file {
my ($is_cert, $is_crl) = (0,0);
my $fname = $_[0];
open IN, $fname;
while(<IN>) {
if(/^-----BEGIN (.*)-----/) {
my $hdr = $1;
if($hdr =~ /^(X509 |TRUSTED |)CERTIFICATE$/) {
$is_cert = 1;
last if($is_crl);
} elsif($hdr eq "X509 CRL") {
$is_crl = 1;
last if($is_cert);
}
}
}
close IN;
return ($is_cert, $is_crl);
}
# Link a certificate to its subject name hash value, each hash is of
# the form <hash>.<n> where n is an integer. If the hash value already exists
# then we need to up the value of n, unless its a duplicate in which
# case we skip the link. We check for duplicates by comparing the
# certificate fingerprints
sub link_hash_cert {
my $fname = $_[0];
$fname =~ s/'/'\\''/g;
my ($hash, $fprint) = `"$openssl" x509 $x509hash -fingerprint -noout -in "$fname"`;
chomp $hash;
chomp $fprint;
$fprint =~ s/^.*=//;
$fprint =~ tr/://d;
my $suffix = 0;
# Search for an unused hash filename
while(exists $hashlist{"$hash.$suffix"}) {
# Hash matches: if fingerprint matches its a duplicate cert
if($hashlist{"$hash.$suffix"} eq $fprint) {
print STDERR "WARNING: Skipping duplicate certificate $fname\n";
return;
}
$suffix++;
}
$hash .= ".$suffix";
if ($symlink_exists) {
symlink $fname, $hash;
print "link $fname -> $hash\n" if $verbose;
} else {
open IN,"<$fname" or die "can't open $fname for read";
open OUT,">$hash" or die "can't open $hash for write";
print OUT <IN>; # does the job for small text files
close OUT;
close IN;
print "copy $fname -> $hash\n" if $verbose;
}
$hashlist{$hash} = $fprint;
}
# Same as above except for a CRL. CRL links are of the form <hash>.r<n>
sub link_hash_crl {
my $fname = $_[0];
$fname =~ s/'/'\\''/g;
my ($hash, $fprint) = `"$openssl" crl $crlhash -fingerprint -noout -in '$fname'`;
chomp $hash;
chomp $fprint;
$fprint =~ s/^.*=//;
$fprint =~ tr/://d;
my $suffix = 0;
# Search for an unused hash filename
while(exists $hashlist{"$hash.r$suffix"}) {
# Hash matches: if fingerprint matches its a duplicate cert
if($hashlist{"$hash.r$suffix"} eq $fprint) {
print STDERR "WARNING: Skipping duplicate CRL $fname\n";
return;
}
$suffix++;
}
$hash .= ".r$suffix";
if ($symlink_exists) {
symlink $fname, $hash;
print "link $fname -> $hash\n" if $verbose;
} else {
system ("cp", $fname, $hash);
print "cp $fname -> $hash\n" if $verbose;
}
$hashlist{$hash} = $fprint;
}

View File

@@ -11,7 +11,6 @@ if [ "$1" = "-MD" ]; then
MAKEDEPEND="$MAKEDEPEND $1"
shift
done
shift
fi
if [ "$MAKEDEPEND" = "" ]; then MAKEDEPEND=makedepend; fi

View File

@@ -4431,3 +4431,4 @@ EVP_PKEY_meth_get_decrypt 4785 EXIST::FUNCTION:
EVP_PKEY_meth_get_cleanup 4786 EXIST::FUNCTION:
EVP_PKEY_meth_get_encrypt 4787 EXIST::FUNCTION:
EVP_PKEY_meth_get_copy 4788 EXIST::FUNCTION:
ossl_safe_getenv 4789 EXIST::FUNCTION: