ECDSA support
authorBodo Möller <bodo@openssl.org>
Wed, 13 Feb 2002 18:21:51 +0000 (18:21 +0000)
committerBodo Möller <bodo@openssl.org>
Wed, 13 Feb 2002 18:21:51 +0000 (18:21 +0000)
Submitted by: Nils Larsch <nla@trustcenter.de>

84 files changed:
CHANGES
Configure
Makefile.org
TABLE
apps/Makefile.ssl
apps/ca.c
apps/ecdsa.c [new file with mode: 0644]
apps/ecdsaparam.c [new file with mode: 0644]
apps/progs.h
apps/progs.pl
apps/req.c
apps/s_server.c
apps/x509.c
crypto/Makefile.ssl
crypto/asn1/Makefile.ssl
crypto/asn1/asn1.h
crypto/asn1/asn1_err.c
crypto/asn1/d2i_pr.c
crypto/asn1/d2i_pu.c
crypto/asn1/i2d_pr.c
crypto/asn1/i2d_pu.c
crypto/asn1/t_pkey.c
crypto/asn1/t_req.c
crypto/asn1/t_spki.c
crypto/asn1/t_x509.c
crypto/asn1/x_pubkey.c
crypto/conf/Makefile.ssl
crypto/dh/Makefile.ssl
crypto/dsa/Makefile.ssl
crypto/ec/ec_cvt.c
crypto/ec/ec_err.c
crypto/ec/ec_lib.c
crypto/ecdsa/.cvsignore [new file with mode: 0644]
crypto/ecdsa/Makefile.ssl [new file with mode: 0644]
crypto/ecdsa/ecdsa.h [new file with mode: 0644]
crypto/ecdsa/ecdsatest.c [new file with mode: 0644]
crypto/ecdsa/ecs_asn1.c [new file with mode: 0644]
crypto/ecdsa/ecs_err.c [new file with mode: 0644]
crypto/ecdsa/ecs_gen.c [new file with mode: 0644]
crypto/ecdsa/ecs_key.c [new file with mode: 0644]
crypto/ecdsa/ecs_lib.c [new file with mode: 0644]
crypto/ecdsa/ecs_locl.h [new file with mode: 0644]
crypto/ecdsa/ecs_ossl.c [new file with mode: 0644]
crypto/ecdsa/ecs_sign.c [new file with mode: 0644]
crypto/ecdsa/ecs_vrf.c [new file with mode: 0644]
crypto/engine/Makefile.ssl
crypto/engine/eng_int.h
crypto/engine/eng_list.c
crypto/engine/engine.h
crypto/engine/tb_ecdsa.c [new file with mode: 0644]
crypto/err/Makefile.ssl
crypto/err/err.h
crypto/err/openssl.ec
crypto/evp/Makefile.ssl
crypto/evp/c_alld.c
crypto/evp/evp.h
crypto/evp/evp_err.c
crypto/evp/evp_pkey.c
crypto/evp/m_ecdsa.c [new file with mode: 0644]
crypto/evp/p_lib.c
crypto/ocsp/Makefile.ssl
crypto/pem/Makefile.ssl
crypto/pem/pem.h
crypto/pem/pem_all.c
crypto/pem/pem_info.c
crypto/pem/pem_lib.c
crypto/pem/pem_pkey.c
crypto/pkcs12/Makefile.ssl
crypto/pkcs7/Makefile.ssl
crypto/pkcs7/pk7_doit.c
crypto/pkcs7/pk7_lib.c
crypto/rand/Makefile.ssl
crypto/rsa/Makefile.ssl
crypto/x509/Makefile.ssl
crypto/x509/x509.h
crypto/x509/x509_cmp.c
crypto/x509/x509type.c
crypto/x509/x_all.c
crypto/x509v3/Makefile.ssl
ssl/Makefile.ssl
test/Makefile.ssl
util/libeay.num
util/mkdef.pl
util/mkerr.pl

diff --git a/CHANGES b/CHANGES
index 12aeb9b872c44e2934d85104d032fb64b2c4bda1..db1916c1796e5a30b3fcb92b9f1942e5efbc6a6e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,19 +2,45 @@
  OpenSSL CHANGES
  _______________
 
- Changes between 0.9.7 and 0.9.8  [xx XXX 2001]
-
-  *)
-
- Changes between 0.9.6 and 0.9.7  [xx XXX 2001]
+ Changes between 0.9.7 and 0.9.8  [xx XXX 2002]
+
+  *) Add ECDSA in new directory crypto/ecdsa/.
+
+     Add applications 'openssl ecdsaparam' and 'openssl ecdsa'
+     (these are variants of 'openssl dsaparam' and 'openssl dsa').
+
+     ECDSA support is also included in various other files across the
+     library.  Most notably,
+     - 'openssl req' now has a '-newkey ecdsa:file' option;
+     - EVP_PKCS82PKEY (crypto/evp/evp_pkey.c) now can handle ECDSA;
+     - X509_PUBKEY_get (crypto/asn1/x_pubkey.c) and
+       d2i_PublicKey (crypto/asn1/d2i_pu.c) have been modified to make
+       them suitable for ECDSA where domain parameters must be
+       extracted before the specific public key.
+     [Nils Larsch <nla@trustcenter.de]
+
+  *) Add reference counting for EC_GROUP objects.
+     [Nils Larsch <nla@trustcenter.de]
+
+  *) Include some named elliptic curves.  These can be obtained from
+     the new functions
+          EC_GROUP_new_by_nid()
+          EC_GROUP_new_by_name()
+     Also add a 'nid' field to EC_GROUP objects, which can be accessed
+     via
+         EC_GROUP_set_nid()
+         EC_GROUP_get_nid()
+     [Nils Larsch <nla@trustcenter.de, Bodo Moeller]
+ Changes between 0.9.6 and 0.9.7  [xx XXX 2002]
 
-     OpenSSL 0.9.6a/0.9.6b/0.9.6c (bugfix releases, 5 Apr 2001, 9 July 2001
-     and 21 Dec 2001) and OpenSSL 0.9.7 were developed in parallel, based
-     on OpenSSL 0.9.6.  
+     OpenSSL 0.9.6a/0.9.6b/0.9.6c/0.9.6d (bugfix releases, 5 Apr 2001,
+     9 July 2001, 21 Dec 2001 and xx XXX 2002) and OpenSSL 0.9.7 were
+     developed in parallel, based on OpenSSL 0.9.6.  
 
      Change log entries are tagged as follows:
-         -) applies to 0.9.6a/0.9.6b/0.9.6c only
-         *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7
+         -) applies to 0.9.6a ... 0.9.6d only
+         *) applies to 0.9.6a ... 0.9.6d and 0.9.7
          +) applies to 0.9.7 only
 
   *) Add information about CygWin32 1.3 and on, and preserve proper
index 3a421ab4bb4a4feb66025a353f18e5048747bda4..1e8247605094e588051af4496df415c890d3798b 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -719,6 +719,14 @@ PROCESS_ARGS:
                                $depflags .= "-DOPENSSL_NO_MDC2 ";
                                $openssl_algorithm_defines .= "#define OPENSSL_NO_MDC2\n";
                                }
+                       if ($algo eq "EC" || $algo eq "SHA" || $algo eq "SHA1")
+                               {
+                               push @skip, "ecdsa";
+                               $options .= " no-ecdsa";
+                               $flags .= "-DOPENSSL_NO_ECDSA ";
+                               $depflags .= "-DOPENSSL_NO_ECDSA ";
+                               $openssl_algorithm_defines .= "#define OPENSSL_NO_ECDSA\n";
+                               }
                        if ($algo eq "MD5")
                                {
                                $no_md5 = 1;
index 89f2747b43ad5a6334e4056273dc264a3e3869ab..c05fa0587cdbc33d8b0bf2d68e0d6ac0e7ed6227 100644 (file)
@@ -166,7 +166,7 @@ SHLIBDIRS= crypto ssl
 SDIRS=  \
        md2 md4 md5 sha mdc2 hmac ripemd \
        des rc2 rc4 rc5 idea bf cast \
-       bn ec rsa dsa dh dso engine aes \
+       bn ec rsa dsa ecdsa dh dso engine aes \
        buffer bio stack lhash rand err objects \
        evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5
 
diff --git a/TABLE b/TABLE
index 1f80f7e9f56af274b217370ea061faa3a8184d74..6cde82aa219285695b4d85e9401db0852e94799a 100644 (file)
--- a/TABLE
+++ b/TABLE
@@ -90,6 +90,30 @@ $rc4_obj      =
 $rmd160_obj   = 
 $rc5_obj      = 
 $dso_scheme   = win32
+$shared_target= cygwin-shared
+$shared_cflag = 
+$shared_ldflag = .dll
+$shared_extension = 
+$ranlib       = 
+
+*** CygWin32-pre1.3
+$cc           = gcc
+$cflags       = -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall
+$unistd       = 
+$thread_cflag = (unknown)
+$sys_id       = CYGWIN32
+$lflags       = 
+$bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
+$bn_obj       = 
+$des_obj      = 
+$bf_obj       = 
+$md5_obj      = 
+$sha1_obj     = 
+$cast_obj     = 
+$rc4_obj      = 
+$rmd160_obj   = 
+$rc5_obj      = 
+$dso_scheme   = win32
 $shared_target= 
 $shared_cflag = 
 $shared_ldflag = 
index 7a8748372224d6932f7bc1c8522068b461b72f17..4d7e0bab998161ce71c153a4d7442a6306e153c5 100644 (file)
@@ -42,7 +42,7 @@ SCRIPTS=CA.sh CA.pl der_chop
 EXE= $(PROGRAM)$(EXE_EXT)
 
 E_EXE= verify asn1pars req dgst dh dhparam enc passwd gendh errstr \
-       ca crl rsa rsautl dsa dsaparam \
+       ca crl rsa rsautl dsa dsaparam ecdsa ecdsaparam\
        x509 genrsa gendsa s_server s_client speed \
        s_time version pkcs7 crl2pkcs7 sess_id ciphers nseq pkcs12 \
        pkcs8 spkac smime rand engine ocsp
@@ -58,14 +58,14 @@ RAND_SRC=app_rand.c
 
 E_OBJ= verify.o asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o errstr.o \
        ca.o pkcs7.o crl2p7.o crl.o \
-       rsa.o rsautl.o dsa.o dsaparam.o \
+       rsa.o rsautl.o dsa.o dsaparam.o ecdsa.o ecdsaparam.o\
        x509.o genrsa.o gendsa.o s_server.o s_client.o speed.o \
        s_time.o $(A_OBJ) $(S_OBJ) $(RAND_OBJ) version.o sess_id.o \
        ciphers.o nseq.o pkcs12.o pkcs8.o spkac.o smime.o rand.o engine.o ocsp.o
 
 E_SRC= verify.c asn1pars.c req.c dgst.c dh.c enc.c passwd.c gendh.c errstr.c ca.c \
        pkcs7.c crl2p7.c crl.c \
-       rsa.c rsautl.c dsa.c dsaparam.c \
+       rsa.c rsautl.c dsa.c dsaparam.c ecdsa.c ecdsaparam.c\
        x509.c genrsa.c gendsa.c s_server.c s_client.c speed.c \
        s_time.c $(A_SRC) $(S_SRC) $(RAND_SRC) version.c sess_id.c \
        ciphers.c nseq.c pkcs12.c pkcs8.c spkac.c smime.c rand.c engine.c ocsp.c
@@ -157,646 +157,736 @@ progs.h: progs.pl
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-app_rand.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-app_rand.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-app_rand.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-app_rand.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-app_rand.o: ../include/openssl/e_os2.h ../include/openssl/evp.h
-app_rand.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-app_rand.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-app_rand.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-app_rand.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-app_rand.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-app_rand.o: ../include/openssl/sha.h ../include/openssl/stack.h
-app_rand.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-app_rand.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h app_rand.c
-app_rand.o: apps.h
-apps.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-apps.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-apps.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-apps.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-apps.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
-apps.o: ../include/openssl/err.h ../include/openssl/evp.h
-apps.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-apps.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-apps.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-apps.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-apps.o: ../include/openssl/pkcs12.h ../include/openssl/pkcs7.h
-apps.o: ../include/openssl/rand.h ../include/openssl/rsa.h
-apps.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-apps.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-apps.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
-apps.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
-apps.o: ../include/openssl/x509v3.h apps.c apps.h
-asn1pars.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-asn1pars.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-asn1pars.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-asn1pars.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-asn1pars.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-asn1pars.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-asn1pars.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-asn1pars.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-asn1pars.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-asn1pars.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-asn1pars.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-asn1pars.o: ../include/openssl/sha.h ../include/openssl/stack.h
-asn1pars.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-asn1pars.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
-asn1pars.o: asn1pars.c
-ca.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-ca.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ca.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-ca.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-ca.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-ca.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-ca.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-ca.o: ../include/openssl/ocsp.h ../include/openssl/opensslconf.h
-ca.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-ca.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-ca.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-ca.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-ca.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-ca.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
-ca.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.h ca.c
-ciphers.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-ciphers.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ciphers.o: ../include/openssl/comp.h ../include/openssl/conf.h
-ciphers.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-ciphers.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-ciphers.o: ../include/openssl/err.h ../include/openssl/evp.h
-ciphers.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-ciphers.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-ciphers.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-ciphers.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-ciphers.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-ciphers.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-ciphers.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-ciphers.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-ciphers.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-ciphers.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-ciphers.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
-ciphers.o: ../include/openssl/x509_vfy.h apps.h ciphers.c
-crl.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-crl.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-crl.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-crl.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-crl.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-crl.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-crl.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-crl.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-crl.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-crl.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-crl.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-crl.o: ../include/openssl/sha.h ../include/openssl/stack.h
-crl.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-crl.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
-crl.o: ../include/openssl/x509v3.h apps.h crl.c
-crl2p7.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-crl2p7.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-crl2p7.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-crl2p7.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-crl2p7.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-crl2p7.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-crl2p7.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-crl2p7.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-crl2p7.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-crl2p7.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-crl2p7.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-crl2p7.o: ../include/openssl/sha.h ../include/openssl/stack.h
-crl2p7.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-crl2p7.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
-crl2p7.o: crl2p7.c
-dgst.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-dgst.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-dgst.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-dgst.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-dgst.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-dgst.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-dgst.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-dgst.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-dgst.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-dgst.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-dgst.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-dgst.o: ../include/openssl/sha.h ../include/openssl/stack.h
-dgst.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-dgst.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h dgst.c
-dh.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-dh.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-dh.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-dh.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-dh.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-dh.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-dh.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-dh.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-dh.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-dh.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-dh.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-dh.o: ../include/openssl/sha.h ../include/openssl/stack.h
-dh.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-dh.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h dh.c
-dsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-dsa.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-dsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-dsa.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-dsa.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-dsa.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-dsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-dsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-dsa.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-dsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-dsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-dsa.o: ../include/openssl/sha.h ../include/openssl/stack.h
-dsa.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-dsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h dsa.c
-dsaparam.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-dsaparam.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-dsaparam.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-dsaparam.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-dsaparam.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-dsaparam.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-dsaparam.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-dsaparam.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-dsaparam.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-dsaparam.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-dsaparam.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-dsaparam.o: ../include/openssl/sha.h ../include/openssl/stack.h
-dsaparam.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-dsaparam.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
-dsaparam.o: dsaparam.c
-enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-enc.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-enc.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-enc.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-enc.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-enc.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-enc.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-enc.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-enc.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-enc.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-enc.o: ../include/openssl/rand.h ../include/openssl/rsa.h
-enc.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-enc.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-enc.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
-enc.o: ../include/openssl/x509_vfy.h apps.h enc.c
-engine.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-engine.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-engine.o: ../include/openssl/comp.h ../include/openssl/conf.h
-engine.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-engine.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-engine.o: ../include/openssl/engine.h ../include/openssl/err.h
-engine.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-engine.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-engine.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-engine.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-engine.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-engine.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-engine.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-engine.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-engine.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-engine.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-engine.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-engine.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
-engine.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
-engine.o: engine.c
-errstr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-errstr.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-errstr.o: ../include/openssl/comp.h ../include/openssl/conf.h
-errstr.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-errstr.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-errstr.o: ../include/openssl/err.h ../include/openssl/evp.h
-errstr.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-errstr.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-errstr.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-errstr.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-errstr.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-errstr.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-errstr.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-errstr.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-errstr.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-errstr.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-errstr.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
-errstr.o: ../include/openssl/x509_vfy.h apps.h errstr.c
-gendh.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-gendh.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-gendh.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-gendh.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-gendh.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-gendh.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-gendh.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-gendh.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-gendh.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-gendh.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-gendh.o: ../include/openssl/rand.h ../include/openssl/rsa.h
-gendh.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-gendh.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-gendh.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
-gendh.o: ../include/openssl/x509_vfy.h apps.h gendh.c
-gendsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-gendsa.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-gendsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-gendsa.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-gendsa.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-gendsa.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-gendsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-gendsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-gendsa.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-gendsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-gendsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-gendsa.o: ../include/openssl/sha.h ../include/openssl/stack.h
-gendsa.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-gendsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
-gendsa.o: gendsa.c
-genrsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-genrsa.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-genrsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-genrsa.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-genrsa.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-genrsa.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-genrsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-genrsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-genrsa.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-genrsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-genrsa.o: ../include/openssl/rand.h ../include/openssl/rsa.h
-genrsa.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-genrsa.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-genrsa.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
-genrsa.o: ../include/openssl/x509_vfy.h apps.h genrsa.c
-nseq.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-nseq.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-nseq.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-nseq.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-nseq.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-nseq.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-nseq.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-nseq.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-nseq.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-nseq.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-nseq.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-nseq.o: ../include/openssl/sha.h ../include/openssl/stack.h
-nseq.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-nseq.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h nseq.c
-ocsp.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-ocsp.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ocsp.o: ../include/openssl/comp.h ../include/openssl/conf.h
-ocsp.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-ocsp.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-ocsp.o: ../include/openssl/err.h ../include/openssl/evp.h
-ocsp.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-ocsp.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-ocsp.o: ../include/openssl/ocsp.h ../include/openssl/opensslconf.h
-ocsp.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-ocsp.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-ocsp.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-ocsp.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-ocsp.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-ocsp.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-ocsp.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-ocsp.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
-ocsp.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
-ocsp.o: ../include/openssl/x509v3.h apps.h ocsp.c
-openssl.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-openssl.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-openssl.o: ../include/openssl/comp.h ../include/openssl/conf.h
-openssl.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-openssl.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-openssl.o: ../include/openssl/engine.h ../include/openssl/err.h
-openssl.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-openssl.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-openssl.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-openssl.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-openssl.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-openssl.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-openssl.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-openssl.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-openssl.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-openssl.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-openssl.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-openssl.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
-openssl.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
-openssl.o: openssl.c progs.h s_apps.h
-passwd.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-passwd.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-passwd.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-passwd.o: ../include/openssl/des_old.h ../include/openssl/dh.h
-passwd.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-passwd.o: ../include/openssl/err.h ../include/openssl/evp.h
-passwd.o: ../include/openssl/lhash.h ../include/openssl/md5.h
-passwd.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-passwd.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-passwd.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
-passwd.o: ../include/openssl/rand.h ../include/openssl/rsa.h
-passwd.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-passwd.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-passwd.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
-passwd.o: ../include/openssl/ui_compat.h ../include/openssl/x509.h
-passwd.o: ../include/openssl/x509_vfy.h apps.h passwd.c
-pkcs12.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-pkcs12.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-pkcs12.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-pkcs12.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-pkcs12.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-pkcs12.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-pkcs12.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-pkcs12.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-pkcs12.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-pkcs12.o: ../include/openssl/pem2.h ../include/openssl/pkcs12.h
-pkcs12.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-pkcs12.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-pkcs12.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-pkcs12.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
-pkcs12.o: ../include/openssl/x509_vfy.h apps.h pkcs12.c
-pkcs7.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-pkcs7.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-pkcs7.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-pkcs7.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-pkcs7.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-pkcs7.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-pkcs7.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-pkcs7.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-pkcs7.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-pkcs7.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-pkcs7.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-pkcs7.o: ../include/openssl/sha.h ../include/openssl/stack.h
-pkcs7.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-pkcs7.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h pkcs7.c
-pkcs8.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-pkcs8.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-pkcs8.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-pkcs8.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-pkcs8.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-pkcs8.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-pkcs8.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-pkcs8.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-pkcs8.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-pkcs8.o: ../include/openssl/pem2.h ../include/openssl/pkcs12.h
-pkcs8.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-pkcs8.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-pkcs8.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-pkcs8.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
-pkcs8.o: ../include/openssl/x509_vfy.h apps.h pkcs8.c
-rand.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-rand.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-rand.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-rand.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-rand.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-rand.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-rand.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-rand.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-rand.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
-rand.o: ../include/openssl/rand.h ../include/openssl/rsa.h
-rand.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-rand.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-rand.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
-rand.o: ../include/openssl/x509_vfy.h apps.h rand.c
-req.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-req.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-req.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-req.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-req.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-req.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-req.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-req.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-req.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-req.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-req.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-req.o: ../include/openssl/sha.h ../include/openssl/stack.h
-req.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-req.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
-req.o: ../include/openssl/x509v3.h apps.h req.c
-rsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-rsa.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-rsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-rsa.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-rsa.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-rsa.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-rsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-rsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-rsa.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-rsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-rsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-rsa.o: ../include/openssl/sha.h ../include/openssl/stack.h
-rsa.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-rsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h rsa.c
-rsautl.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-rsautl.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-rsautl.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-rsautl.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-rsautl.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-rsautl.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-rsautl.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-rsautl.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-rsautl.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-rsautl.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-rsautl.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-rsautl.o: ../include/openssl/sha.h ../include/openssl/stack.h
-rsautl.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-rsautl.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
-rsautl.o: rsautl.c
-s_cb.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s_cb.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s_cb.o: ../include/openssl/comp.h ../include/openssl/conf.h
-s_cb.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-s_cb.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-s_cb.o: ../include/openssl/err.h ../include/openssl/evp.h
-s_cb.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-s_cb.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-s_cb.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-s_cb.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-s_cb.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-s_cb.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-s_cb.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-s_cb.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-s_cb.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-s_cb.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-s_cb.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
-s_cb.o: ../include/openssl/x509_vfy.h apps.h s_apps.h s_cb.c
-s_client.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s_client.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s_client.o: ../include/openssl/comp.h ../include/openssl/conf.h
-s_client.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-s_client.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-s_client.o: ../include/openssl/err.h ../include/openssl/evp.h
-s_client.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-s_client.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-s_client.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-s_client.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-s_client.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-s_client.o: ../include/openssl/rand.h ../include/openssl/rsa.h
-s_client.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-s_client.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-s_client.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-s_client.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-s_client.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
-s_client.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
-s_client.o: s_apps.h s_client.c
-s_server.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s_server.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s_server.o: ../include/openssl/comp.h ../include/openssl/conf.h
-s_server.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-s_server.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-s_server.o: ../include/openssl/err.h ../include/openssl/evp.h
-s_server.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-s_server.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-s_server.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-s_server.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-s_server.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-s_server.o: ../include/openssl/rand.h ../include/openssl/rsa.h
-s_server.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-s_server.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-s_server.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-s_server.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-s_server.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
-s_server.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
-s_server.o: s_apps.h s_server.c
-s_socket.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s_socket.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s_socket.o: ../include/openssl/comp.h ../include/openssl/conf.h
-s_socket.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-s_socket.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-s_socket.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s_socket.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s_socket.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s_socket.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s_socket.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s_socket.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-s_socket.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-s_socket.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-s_socket.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-s_socket.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-s_socket.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
-s_socket.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
-s_socket.o: s_apps.h s_socket.c
-s_time.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s_time.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s_time.o: ../include/openssl/comp.h ../include/openssl/conf.h
-s_time.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-s_time.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-s_time.o: ../include/openssl/err.h ../include/openssl/evp.h
-s_time.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-s_time.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-s_time.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-s_time.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-s_time.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-s_time.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-s_time.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-s_time.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-s_time.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-s_time.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-s_time.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
-s_time.o: ../include/openssl/x509_vfy.h apps.h s_apps.h s_time.c
-sess_id.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-sess_id.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-sess_id.o: ../include/openssl/comp.h ../include/openssl/conf.h
-sess_id.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-sess_id.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-sess_id.o: ../include/openssl/err.h ../include/openssl/evp.h
-sess_id.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-sess_id.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-sess_id.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-sess_id.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-sess_id.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-sess_id.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-sess_id.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-sess_id.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-sess_id.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-sess_id.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-sess_id.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
-sess_id.o: ../include/openssl/x509_vfy.h apps.h sess_id.c
-smime.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-smime.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-smime.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-smime.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-smime.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-smime.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-smime.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-smime.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-smime.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-smime.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-smime.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-smime.o: ../include/openssl/sha.h ../include/openssl/stack.h
-smime.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-smime.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h smime.c
+app_rand.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+app_rand.o: ../include/openssl/bio.h ../include/openssl/bn.h
+app_rand.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+app_rand.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+app_rand.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+app_rand.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+app_rand.o: ../include/openssl/evp.h ../include/openssl/lhash.h
+app_rand.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+app_rand.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+app_rand.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
+app_rand.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+app_rand.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+app_rand.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+app_rand.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+app_rand.o: ../include/openssl/x509_vfy.h app_rand.c apps.h
+apps.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+apps.o: ../include/openssl/bio.h ../include/openssl/bn.h
+apps.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+apps.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+apps.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+apps.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+apps.o: ../include/openssl/engine.h ../include/openssl/err.h
+apps.o: ../include/openssl/evp.h ../include/openssl/lhash.h
+apps.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+apps.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+apps.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+apps.o: ../include/openssl/pem2.h ../include/openssl/pkcs12.h
+apps.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
+apps.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+apps.o: ../include/openssl/sha.h ../include/openssl/stack.h
+apps.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
+apps.o: ../include/openssl/ui.h ../include/openssl/x509.h
+apps.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.c apps.h
+asn1pars.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+asn1pars.o: ../include/openssl/bio.h ../include/openssl/bn.h
+asn1pars.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+asn1pars.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+asn1pars.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+asn1pars.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+asn1pars.o: ../include/openssl/err.h ../include/openssl/evp.h
+asn1pars.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+asn1pars.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+asn1pars.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+asn1pars.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+asn1pars.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+asn1pars.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+asn1pars.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+asn1pars.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+asn1pars.o: ../include/openssl/x509_vfy.h apps.h asn1pars.c
+ca.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ca.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ca.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+ca.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+ca.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+ca.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+ca.o: ../include/openssl/err.h ../include/openssl/evp.h
+ca.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+ca.o: ../include/openssl/objects.h ../include/openssl/ocsp.h
+ca.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+ca.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+ca.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+ca.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+ca.o: ../include/openssl/sha.h ../include/openssl/stack.h
+ca.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
+ca.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
+ca.o: ../include/openssl/x509v3.h apps.h ca.c
+ciphers.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ciphers.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ciphers.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+ciphers.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+ciphers.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+ciphers.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+ciphers.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+ciphers.o: ../include/openssl/evp.h ../include/openssl/kssl.h
+ciphers.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+ciphers.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+ciphers.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+ciphers.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+ciphers.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+ciphers.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+ciphers.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+ciphers.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+ciphers.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+ciphers.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
+ciphers.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
+ciphers.o: ciphers.c
+crl.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+crl.o: ../include/openssl/bio.h ../include/openssl/bn.h
+crl.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+crl.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+crl.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+crl.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+crl.o: ../include/openssl/err.h ../include/openssl/evp.h
+crl.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+crl.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+crl.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+crl.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+crl.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+crl.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+crl.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+crl.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+crl.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.h crl.c
+crl2p7.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+crl2p7.o: ../include/openssl/bio.h ../include/openssl/bn.h
+crl2p7.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+crl2p7.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+crl2p7.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+crl2p7.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+crl2p7.o: ../include/openssl/err.h ../include/openssl/evp.h
+crl2p7.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+crl2p7.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+crl2p7.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+crl2p7.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+crl2p7.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+crl2p7.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+crl2p7.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+crl2p7.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+crl2p7.o: ../include/openssl/x509_vfy.h apps.h crl2p7.c
+dgst.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+dgst.o: ../include/openssl/bio.h ../include/openssl/bn.h
+dgst.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+dgst.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+dgst.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+dgst.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+dgst.o: ../include/openssl/err.h ../include/openssl/evp.h
+dgst.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+dgst.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+dgst.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+dgst.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+dgst.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+dgst.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+dgst.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+dgst.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+dgst.o: ../include/openssl/x509_vfy.h apps.h dgst.c
+dh.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+dh.o: ../include/openssl/bio.h ../include/openssl/bn.h
+dh.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+dh.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+dh.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+dh.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+dh.o: ../include/openssl/err.h ../include/openssl/evp.h
+dh.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+dh.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+dh.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+dh.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+dh.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+dh.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+dh.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+dh.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+dh.o: ../include/openssl/x509_vfy.h apps.h dh.c
+dsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+dsa.o: ../include/openssl/bio.h ../include/openssl/bn.h
+dsa.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+dsa.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+dsa.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+dsa.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+dsa.o: ../include/openssl/err.h ../include/openssl/evp.h
+dsa.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+dsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+dsa.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+dsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+dsa.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+dsa.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+dsa.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+dsa.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+dsa.o: ../include/openssl/x509_vfy.h apps.h dsa.c
+dsaparam.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+dsaparam.o: ../include/openssl/bio.h ../include/openssl/bn.h
+dsaparam.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+dsaparam.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+dsaparam.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+dsaparam.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+dsaparam.o: ../include/openssl/err.h ../include/openssl/evp.h
+dsaparam.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+dsaparam.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+dsaparam.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+dsaparam.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+dsaparam.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+dsaparam.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+dsaparam.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+dsaparam.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+dsaparam.o: ../include/openssl/x509_vfy.h apps.h dsaparam.c
+ecdsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ecdsa.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ecdsa.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+ecdsa.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+ecdsa.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+ecdsa.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+ecdsa.o: ../include/openssl/err.h ../include/openssl/evp.h
+ecdsa.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+ecdsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+ecdsa.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+ecdsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+ecdsa.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+ecdsa.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+ecdsa.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+ecdsa.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+ecdsa.o: ../include/openssl/x509_vfy.h apps.h ecdsa.c
+ecdsaparam.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ecdsaparam.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ecdsaparam.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+ecdsaparam.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+ecdsaparam.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+ecdsaparam.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+ecdsaparam.o: ../include/openssl/err.h ../include/openssl/evp.h
+ecdsaparam.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+ecdsaparam.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+ecdsaparam.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+ecdsaparam.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+ecdsaparam.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+ecdsaparam.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+ecdsaparam.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+ecdsaparam.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+ecdsaparam.o: ../include/openssl/x509_vfy.h apps.h ecdsaparam.c
+enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+enc.o: ../include/openssl/bio.h ../include/openssl/bn.h
+enc.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+enc.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+enc.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+enc.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+enc.o: ../include/openssl/err.h ../include/openssl/evp.h
+enc.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+enc.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+enc.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+enc.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+enc.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
+enc.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+enc.o: ../include/openssl/sha.h ../include/openssl/stack.h
+enc.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
+enc.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h enc.c
+engine.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+engine.o: ../include/openssl/bio.h ../include/openssl/bn.h
+engine.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+engine.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+engine.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+engine.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+engine.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
+engine.o: ../include/openssl/err.h ../include/openssl/evp.h
+engine.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+engine.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+engine.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+engine.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+engine.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+engine.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+engine.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+engine.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+engine.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+engine.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+engine.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
+engine.o: ../include/openssl/ui.h ../include/openssl/x509.h
+engine.o: ../include/openssl/x509_vfy.h apps.h engine.c
+errstr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+errstr.o: ../include/openssl/bio.h ../include/openssl/bn.h
+errstr.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+errstr.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+errstr.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+errstr.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+errstr.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+errstr.o: ../include/openssl/evp.h ../include/openssl/kssl.h
+errstr.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+errstr.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+errstr.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+errstr.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+errstr.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+errstr.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+errstr.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+errstr.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+errstr.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+errstr.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
+errstr.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
+errstr.o: errstr.c
+gendh.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+gendh.o: ../include/openssl/bio.h ../include/openssl/bn.h
+gendh.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+gendh.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+gendh.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+gendh.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+gendh.o: ../include/openssl/err.h ../include/openssl/evp.h
+gendh.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+gendh.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+gendh.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+gendh.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+gendh.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
+gendh.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+gendh.o: ../include/openssl/sha.h ../include/openssl/stack.h
+gendh.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
+gendh.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h gendh.c
+gendsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+gendsa.o: ../include/openssl/bio.h ../include/openssl/bn.h
+gendsa.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+gendsa.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+gendsa.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+gendsa.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+gendsa.o: ../include/openssl/err.h ../include/openssl/evp.h
+gendsa.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+gendsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+gendsa.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+gendsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+gendsa.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+gendsa.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+gendsa.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+gendsa.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+gendsa.o: ../include/openssl/x509_vfy.h apps.h gendsa.c
+genrsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+genrsa.o: ../include/openssl/bio.h ../include/openssl/bn.h
+genrsa.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+genrsa.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+genrsa.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+genrsa.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+genrsa.o: ../include/openssl/err.h ../include/openssl/evp.h
+genrsa.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+genrsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+genrsa.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+genrsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+genrsa.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
+genrsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+genrsa.o: ../include/openssl/sha.h ../include/openssl/stack.h
+genrsa.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
+genrsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
+genrsa.o: genrsa.c
+nseq.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+nseq.o: ../include/openssl/bio.h ../include/openssl/bn.h
+nseq.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+nseq.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+nseq.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+nseq.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+nseq.o: ../include/openssl/err.h ../include/openssl/evp.h
+nseq.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+nseq.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+nseq.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+nseq.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+nseq.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+nseq.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+nseq.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+nseq.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+nseq.o: ../include/openssl/x509_vfy.h apps.h nseq.c
+ocsp.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ocsp.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ocsp.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+ocsp.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+ocsp.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+ocsp.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+ocsp.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+ocsp.o: ../include/openssl/evp.h ../include/openssl/kssl.h
+ocsp.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+ocsp.o: ../include/openssl/objects.h ../include/openssl/ocsp.h
+ocsp.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+ocsp.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+ocsp.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+ocsp.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+ocsp.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+ocsp.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+ocsp.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+ocsp.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+ocsp.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+ocsp.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.h ocsp.c
+openssl.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+openssl.o: ../include/openssl/bio.h ../include/openssl/bn.h
+openssl.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+openssl.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+openssl.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+openssl.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+openssl.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
+openssl.o: ../include/openssl/err.h ../include/openssl/evp.h
+openssl.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+openssl.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+openssl.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+openssl.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+openssl.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+openssl.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+openssl.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+openssl.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+openssl.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+openssl.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+openssl.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
+openssl.o: ../include/openssl/ui.h ../include/openssl/x509.h
+openssl.o: ../include/openssl/x509_vfy.h apps.h openssl.c progs.h s_apps.h
+passwd.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+passwd.o: ../include/openssl/bio.h ../include/openssl/bn.h
+passwd.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+passwd.o: ../include/openssl/crypto.h ../include/openssl/des_old.h
+passwd.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+passwd.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+passwd.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+passwd.o: ../include/openssl/evp.h ../include/openssl/lhash.h
+passwd.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h
+passwd.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+passwd.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+passwd.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
+passwd.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+passwd.o: ../include/openssl/sha.h ../include/openssl/stack.h
+passwd.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
+passwd.o: ../include/openssl/ui.h ../include/openssl/ui_compat.h
+passwd.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
+passwd.o: passwd.c
+pkcs12.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+pkcs12.o: ../include/openssl/bio.h ../include/openssl/bn.h
+pkcs12.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+pkcs12.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+pkcs12.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+pkcs12.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+pkcs12.o: ../include/openssl/err.h ../include/openssl/evp.h
+pkcs12.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+pkcs12.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+pkcs12.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+pkcs12.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+pkcs12.o: ../include/openssl/pkcs12.h ../include/openssl/pkcs7.h
+pkcs12.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+pkcs12.o: ../include/openssl/sha.h ../include/openssl/stack.h
+pkcs12.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
+pkcs12.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
+pkcs12.o: pkcs12.c
+pkcs7.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+pkcs7.o: ../include/openssl/bio.h ../include/openssl/bn.h
+pkcs7.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+pkcs7.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+pkcs7.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+pkcs7.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+pkcs7.o: ../include/openssl/err.h ../include/openssl/evp.h
+pkcs7.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+pkcs7.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+pkcs7.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+pkcs7.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+pkcs7.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+pkcs7.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+pkcs7.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+pkcs7.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+pkcs7.o: ../include/openssl/x509_vfy.h apps.h pkcs7.c
+pkcs8.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+pkcs8.o: ../include/openssl/bio.h ../include/openssl/bn.h
+pkcs8.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+pkcs8.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+pkcs8.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+pkcs8.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+pkcs8.o: ../include/openssl/err.h ../include/openssl/evp.h
+pkcs8.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+pkcs8.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+pkcs8.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+pkcs8.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+pkcs8.o: ../include/openssl/pkcs12.h ../include/openssl/pkcs7.h
+pkcs8.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+pkcs8.o: ../include/openssl/sha.h ../include/openssl/stack.h
+pkcs8.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
+pkcs8.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h pkcs8.c
+rand.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+rand.o: ../include/openssl/bio.h ../include/openssl/bn.h
+rand.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+rand.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+rand.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+rand.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+rand.o: ../include/openssl/err.h ../include/openssl/evp.h
+rand.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+rand.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+rand.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+rand.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
+rand.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+rand.o: ../include/openssl/sha.h ../include/openssl/stack.h
+rand.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
+rand.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h rand.c
+req.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+req.o: ../include/openssl/bio.h ../include/openssl/bn.h
+req.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+req.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+req.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+req.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+req.o: ../include/openssl/err.h ../include/openssl/evp.h
+req.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+req.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+req.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+req.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+req.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+req.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+req.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+req.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+req.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.h req.c
+rsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+rsa.o: ../include/openssl/bio.h ../include/openssl/bn.h
+rsa.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+rsa.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+rsa.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+rsa.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+rsa.o: ../include/openssl/err.h ../include/openssl/evp.h
+rsa.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+rsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+rsa.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+rsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+rsa.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+rsa.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+rsa.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+rsa.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+rsa.o: ../include/openssl/x509_vfy.h apps.h rsa.c
+rsautl.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+rsautl.o: ../include/openssl/bio.h ../include/openssl/bn.h
+rsautl.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+rsautl.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+rsautl.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+rsautl.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+rsautl.o: ../include/openssl/err.h ../include/openssl/evp.h
+rsautl.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+rsautl.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+rsautl.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+rsautl.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+rsautl.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+rsautl.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+rsautl.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+rsautl.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+rsautl.o: ../include/openssl/x509_vfy.h apps.h rsautl.c
+s_cb.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s_cb.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s_cb.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s_cb.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+s_cb.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+s_cb.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+s_cb.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+s_cb.o: ../include/openssl/evp.h ../include/openssl/kssl.h
+s_cb.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+s_cb.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+s_cb.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+s_cb.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+s_cb.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+s_cb.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+s_cb.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+s_cb.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+s_cb.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+s_cb.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
+s_cb.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h s_apps.h
+s_cb.o: s_cb.c
+s_client.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s_client.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s_client.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s_client.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+s_client.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+s_client.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+s_client.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+s_client.o: ../include/openssl/evp.h ../include/openssl/kssl.h
+s_client.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+s_client.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+s_client.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+s_client.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+s_client.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
+s_client.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+s_client.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+s_client.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+s_client.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+s_client.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+s_client.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+s_client.o: ../include/openssl/x509_vfy.h apps.h s_apps.h s_client.c
+s_server.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s_server.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s_server.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s_server.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+s_server.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+s_server.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+s_server.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+s_server.o: ../include/openssl/evp.h ../include/openssl/kssl.h
+s_server.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+s_server.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+s_server.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+s_server.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+s_server.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
+s_server.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+s_server.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+s_server.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+s_server.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+s_server.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+s_server.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+s_server.o: ../include/openssl/x509_vfy.h apps.h s_apps.h s_server.c
+s_socket.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s_socket.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s_socket.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s_socket.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+s_socket.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+s_socket.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+s_socket.o: ../include/openssl/ecdsa.h ../include/openssl/evp.h
+s_socket.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s_socket.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s_socket.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s_socket.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s_socket.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s_socket.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+s_socket.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+s_socket.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+s_socket.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+s_socket.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+s_socket.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+s_socket.o: ../include/openssl/x509_vfy.h apps.h s_apps.h s_socket.c
+s_time.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s_time.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s_time.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s_time.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+s_time.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+s_time.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+s_time.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+s_time.o: ../include/openssl/evp.h ../include/openssl/kssl.h
+s_time.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+s_time.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+s_time.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+s_time.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+s_time.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+s_time.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+s_time.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+s_time.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+s_time.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+s_time.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
+s_time.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
+s_time.o: s_apps.h s_time.c
+sess_id.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+sess_id.o: ../include/openssl/bio.h ../include/openssl/bn.h
+sess_id.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+sess_id.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+sess_id.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+sess_id.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+sess_id.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+sess_id.o: ../include/openssl/evp.h ../include/openssl/kssl.h
+sess_id.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+sess_id.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+sess_id.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+sess_id.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+sess_id.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+sess_id.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+sess_id.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+sess_id.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+sess_id.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+sess_id.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
+sess_id.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
+sess_id.o: sess_id.c
+smime.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+smime.o: ../include/openssl/bio.h ../include/openssl/bn.h
+smime.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+smime.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+smime.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+smime.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+smime.o: ../include/openssl/err.h ../include/openssl/evp.h
+smime.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+smime.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+smime.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+smime.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+smime.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+smime.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+smime.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+smime.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+smime.o: ../include/openssl/x509_vfy.h apps.h smime.c
 speed.o: ../e_os.h ../include/openssl/aes.h ../include/openssl/asn1.h
-speed.o: ../include/openssl/bio.h ../include/openssl/blowfish.h
-speed.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-speed.o: ../include/openssl/cast.h ../include/openssl/conf.h
-speed.o: ../include/openssl/crypto.h ../include/openssl/des.h
-speed.o: ../include/openssl/des_old.h ../include/openssl/dh.h
-speed.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-speed.o: ../include/openssl/err.h ../include/openssl/evp.h
-speed.o: ../include/openssl/hmac.h ../include/openssl/idea.h
-speed.o: ../include/openssl/lhash.h ../include/openssl/md2.h
-speed.o: ../include/openssl/md4.h ../include/openssl/md5.h
-speed.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
-speed.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-speed.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-speed.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-speed.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
-speed.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
-speed.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-speed.o: ../include/openssl/sha.h ../include/openssl/stack.h
-speed.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-speed.o: ../include/openssl/ui.h ../include/openssl/ui_compat.h
-speed.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h speed.c
-speed.o: testdsa.h testrsa.h
-spkac.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-spkac.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-spkac.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-spkac.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-spkac.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-spkac.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-spkac.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-spkac.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-spkac.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-spkac.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-spkac.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-spkac.o: ../include/openssl/sha.h ../include/openssl/stack.h
-spkac.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-spkac.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h spkac.c
-verify.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-verify.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-verify.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-verify.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-verify.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-verify.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-verify.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-verify.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-verify.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-verify.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-verify.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-verify.o: ../include/openssl/sha.h ../include/openssl/stack.h
-verify.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-verify.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
-verify.o: ../include/openssl/x509v3.h apps.h verify.c
-version.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-version.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
-version.o: ../include/openssl/buffer.h ../include/openssl/conf.h
-version.o: ../include/openssl/crypto.h ../include/openssl/des_old.h
-version.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-version.o: ../include/openssl/e_os2.h ../include/openssl/evp.h
-version.o: ../include/openssl/idea.h ../include/openssl/lhash.h
-version.o: ../include/openssl/md2.h ../include/openssl/obj_mac.h
-version.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-version.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-version.o: ../include/openssl/pkcs7.h ../include/openssl/rc4.h
-version.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-version.o: ../include/openssl/sha.h ../include/openssl/stack.h
-version.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-version.o: ../include/openssl/ui.h ../include/openssl/ui_compat.h
-version.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
-version.o: version.c
-x509.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-x509.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-x509.o: ../include/openssl/conf.h ../include/openssl/crypto.h
-x509.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-x509.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-x509.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-x509.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-x509.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-x509.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-x509.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-x509.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-x509.o: ../include/openssl/sha.h ../include/openssl/stack.h
-x509.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
-x509.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
-x509.o: ../include/openssl/x509v3.h apps.h x509.c
+speed.o: ../include/openssl/asn1t.h ../include/openssl/bio.h
+speed.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
+speed.o: ../include/openssl/buffer.h ../include/openssl/cast.h
+speed.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+speed.o: ../include/openssl/des.h ../include/openssl/des_old.h
+speed.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+speed.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+speed.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+speed.o: ../include/openssl/evp.h ../include/openssl/hmac.h
+speed.o: ../include/openssl/idea.h ../include/openssl/lhash.h
+speed.o: ../include/openssl/md2.h ../include/openssl/md4.h
+speed.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
+speed.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+speed.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+speed.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
+speed.o: ../include/openssl/rand.h ../include/openssl/rc2.h
+speed.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
+speed.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
+speed.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+speed.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+speed.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
+speed.o: ../include/openssl/ui_compat.h ../include/openssl/x509.h
+speed.o: ../include/openssl/x509_vfy.h apps.h speed.c testdsa.h testrsa.h
+spkac.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+spkac.o: ../include/openssl/bio.h ../include/openssl/bn.h
+spkac.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+spkac.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+spkac.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+spkac.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+spkac.o: ../include/openssl/err.h ../include/openssl/evp.h
+spkac.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+spkac.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+spkac.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+spkac.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+spkac.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+spkac.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+spkac.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+spkac.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+spkac.o: ../include/openssl/x509_vfy.h apps.h spkac.c
+verify.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+verify.o: ../include/openssl/bio.h ../include/openssl/bn.h
+verify.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+verify.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+verify.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+verify.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+verify.o: ../include/openssl/err.h ../include/openssl/evp.h
+verify.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+verify.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+verify.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+verify.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+verify.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+verify.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+verify.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+verify.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+verify.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.h
+verify.o: verify.c
+version.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+version.o: ../include/openssl/bio.h ../include/openssl/blowfish.h
+version.o: ../include/openssl/bn.h ../include/openssl/buffer.h
+version.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+version.o: ../include/openssl/des_old.h ../include/openssl/dh.h
+version.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+version.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+version.o: ../include/openssl/evp.h ../include/openssl/idea.h
+version.o: ../include/openssl/lhash.h ../include/openssl/md2.h
+version.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+version.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+version.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
+version.o: ../include/openssl/rc4.h ../include/openssl/rsa.h
+version.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+version.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+version.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
+version.o: ../include/openssl/ui_compat.h ../include/openssl/x509.h
+version.o: ../include/openssl/x509_vfy.h apps.h version.c
+x509.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+x509.o: ../include/openssl/bio.h ../include/openssl/bn.h
+x509.o: ../include/openssl/buffer.h ../include/openssl/conf.h
+x509.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+x509.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+x509.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+x509.o: ../include/openssl/err.h ../include/openssl/evp.h
+x509.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+x509.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+x509.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+x509.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+x509.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+x509.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+x509.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+x509.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
+x509.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.h x509.c
index 7a168aa9d3bdc0e1ddb3b1618dd230ce587ed585..04246bbe477df1b364bacd3fda36c15261c72cc2 100644 (file)
--- a/apps/ca.c
+++ b/apps/ca.c
@@ -1501,6 +1501,11 @@ bad:
                        if (pkey->type == EVP_PKEY_DSA) 
                                dgst=EVP_dss1();
                        else
+#endif
+#ifndef OPENSSL_NO_ECDSA
+                       if (pkey->type == EVP_PKEY_ECDSA)
+                               dgst=EVP_ecdsa();
+                       else
 #endif
                                dgst=EVP_md5();
                        }
@@ -2270,6 +2275,16 @@ again2:
                EVP_PKEY_copy_parameters(pktmp,pkey);
        EVP_PKEY_free(pktmp);
 #endif
+#ifndef OPENSSL_NO_ECDSA
+       if (pkey->type == EVP_PKEY_ECDSA)
+               dgst = EVP_ecdsa();
+       pktmp = X509_get_pubkey(ret);
+       if (EVP_PKEY_missing_parameters(pktmp) &&
+               !EVP_PKEY_missing_parameters(pkey))
+               EVP_PKEY_copy_parameters(pktmp, pkey);
+       EVP_PKEY_free(pktmp);
+#endif
+
 
        if (!X509_sign(ret,pkey,dgst))
                goto err;
diff --git a/apps/ecdsa.c b/apps/ecdsa.c
new file mode 100644 (file)
index 0000000..e8aa746
--- /dev/null
@@ -0,0 +1,435 @@
+/* apps/ecdsa.c */
+/* ====================================================================
+ * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    openssl-core@openssl.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ * 
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to.  The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ * 
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *    "This product includes cryptographic software written by
+ *     Eric Young (eay@cryptsoft.com)"
+ *    The word 'cryptographic' can be left out if the rouines from the library
+ *    being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from 
+ *    the apps directory (application code) you must include an acknowledgement:
+ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ * 
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * 
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed.  i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
+
+#ifndef OPENSSL_NO_ECDSA
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include "apps.h"
+#include <openssl/bio.h>
+#include <openssl/err.h>
+#include <openssl/ecdsa.h>
+#include <openssl/evp.h>
+#include <openssl/x509.h>
+#include <openssl/pem.h>
+
+#undef PROG
+#define PROG   ecdsa_main
+
+/* -inform arg - input format - default PEM (one of DER, NET or PEM)
+ * -outform arg - output format - default PEM
+ * -in arg     - input file - default stdin
+ * -out arg    - output file - default stdout
+ * -des                - encrypt output if PEM format with DES in cbc mode
+ * -des3       - encrypt output if PEM format
+ * -idea       - encrypt output if PEM format
+ * -text       - print a text version
+ * -pub                - print the ECDSA public key
+ * -compressed  - print the public key in compressed form ( default )   
+ * -hybrid     - print the public key in hybrid form
+ * -uncompressed - print the public key in uncompressed form
+ *               the last three options ( compressed, hybrid and uncompressed )
+ *               are only used if the "-pub" option is also selected.
+ *               For a precise description of the the meaning of compressed,
+ *               hybrid and uncompressed please refer to the X9.62 standart.
+ *               All three forms represents ways to express the ecdsa public
+ *               key ( a point on a elliptic curve ) as octet string. Let len be
+ *               the length ( in bytes ) of an element of the field over which
+ *               the curve is defined, then a compressed octet string has the form
+ *               0x02 + result of BN_bn2bin() of the x coordinate of the public key
+ */
+
+int MAIN(int, char **);
+
+int MAIN(int argc, char **argv)
+{
+       ENGINE  *e = NULL;
+       int     ret = 1;
+       ECDSA   *ecdsa = NULL;
+       int     i, badops = 0;
+       const EVP_CIPHER *enc = NULL;
+       BIO     *in = NULL, *out = NULL;
+       int     informat, outformat, text=0, noout=0;
+       int     pubin = 0, pubout = 0;
+       char    *infile, *outfile, *prog, *engine;
+       char    *passargin = NULL, *passargout = NULL;
+       char    *passin = NULL, *passout = NULL;
+       int     pub = 0, point_form = 0;
+       unsigned char *buffer = NULL;
+       unsigned int  buf_len = 0;
+       BIGNUM  *tmp_bn = NULL;
+
+       apps_startup();
+
+       if (bio_err == NULL)
+               if ((bio_err=BIO_new(BIO_s_file())) != NULL)
+                       BIO_set_fp(bio_err, stderr, BIO_NOCLOSE|BIO_FP_TEXT);
+
+       engine = NULL;
+       infile = NULL;
+       outfile = NULL;
+       informat = FORMAT_PEM;
+       outformat = FORMAT_PEM;
+
+       prog = argv[0];
+       argc--;
+       argv++;
+       while (argc >= 1)
+       {
+               if (strcmp(*argv,"-inform") == 0)
+               {
+                       if (--argc < 1) goto bad;
+                       informat=str2fmt(*(++argv));
+               }
+               else if (strcmp(*argv,"-outform") == 0)
+               {
+                       if (--argc < 1) goto bad;
+                       outformat=str2fmt(*(++argv));
+               }
+               else if (strcmp(*argv,"-in") == 0)
+               {
+                       if (--argc < 1) goto bad;
+                       infile= *(++argv);
+               }
+               else if (strcmp(*argv,"-out") == 0)
+               {
+                       if (--argc < 1) goto bad;
+                       outfile= *(++argv);
+               }
+               else if (strcmp(*argv,"-passin") == 0)
+               {
+                       if (--argc < 1) goto bad;
+                       passargin= *(++argv);
+               }
+               else if (strcmp(*argv,"-passout") == 0)
+               {
+                       if (--argc < 1) goto bad;
+                       passargout= *(++argv);
+               }
+               else if (strcmp(*argv, "-engine") == 0)
+               {
+                       if (--argc < 1) goto bad;
+                       engine= *(++argv);
+               }
+               else if (strcmp(*argv, "-noout") == 0)
+                       noout = 1;
+               else if (strcmp(*argv, "-text") == 0)
+                       text = 1;
+               else if (strcmp(*argv, "-pub") == 0)
+               {
+                       pub = 1;
+                       buffer = (*(argv+1));
+                       if (strcmp(buffer, "compressed") == 0)
+                               point_form = POINT_CONVERSION_COMPRESSED;
+                       else if (strcmp(buffer, "hybrid") == 0)
+                               point_form = POINT_CONVERSION_HYBRID;
+                       else if (strcmp(buffer, "uncompressed") == 0)
+                               point_form = POINT_CONVERSION_UNCOMPRESSED;
+                       if (point_form)
+                       {
+                               argc--;
+                               argv++;
+                       }
+               }
+               else if (strcmp(*argv, "-pubin") == 0)
+                       pubin=1;
+               else if (strcmp(*argv, "-pubout") == 0)
+                       pubout=1;
+               else if ((enc=EVP_get_cipherbyname(&(argv[0][1]))) == NULL)
+               {
+                       BIO_printf(bio_err,"unknown option %s\n",*argv);
+                       badops=1;
+                       break;
+               }
+               argc--;
+               argv++;
+       }
+
+       if (badops)
+       {
+bad:
+               BIO_printf(bio_err, "%s [options] <infile >outfile\n",prog);
+               BIO_printf(bio_err, "where options are\n");
+               BIO_printf(bio_err, " -inform arg     input format - DER or PEM\n");
+               BIO_printf(bio_err, " -outform arg    output format - DER or PEM\n");
+               BIO_printf(bio_err, " -in arg         input file\n");
+               BIO_printf(bio_err, " -passin arg     input file pass phrase source\n");
+               BIO_printf(bio_err, " -out arg        output file\n");
+               BIO_printf(bio_err, " -passout arg    output file pass phrase source\n");
+               BIO_printf(bio_err, " -engine e       use engine e, possibly a hardware device.\n");
+               BIO_printf(bio_err, " -des            encrypt PEM output with cbc des\n");
+               BIO_printf(bio_err, " -des3           encrypt PEM output with ede cbc des using 168 bit key\n");
+#ifndef OPENSSL_NO_IDEA
+               BIO_printf(bio_err, " -idea           encrypt PEM output with cbc idea\n");
+#endif
+               BIO_printf(bio_err, " -text           print the key in text\n");
+               BIO_printf(bio_err, " -noout          don't print key out\n");
+               BIO_printf(bio_err, " -pub [compressed | hybrid | uncompressed] \n");
+               BIO_printf(bio_err, "         compressed     print the public key in compressed form ( default )\n");   
+               BIO_printf(bio_err, "         hybrid         print the public key in hybrid form\n");
+               BIO_printf(bio_err, "         uncompressed   print the public key in uncompressed form\n");
+               goto end;
+       }
+
+       ERR_load_crypto_strings();
+
+        e = setup_engine(bio_err, engine, 0);
+
+       if(!app_passwd(bio_err, passargin, passargout, &passin, &passout)) 
+       {
+               BIO_printf(bio_err, "Error getting passwords\n");
+               goto end;
+       }
+
+       in = BIO_new(BIO_s_file());
+       out = BIO_new(BIO_s_file());
+       if ((in == NULL) || (out == NULL))
+       {
+               ERR_print_errors(bio_err);
+               goto end;
+       }
+
+       if (infile == NULL)
+               BIO_set_fp(in,stdin,BIO_NOCLOSE);
+       else
+       {
+               if (BIO_read_filename(in,infile) <= 0)
+               {
+                       perror(infile);
+                       goto end;
+               }
+       }
+
+       BIO_printf(bio_err,"read ECDSA key\n");
+       if (informat == FORMAT_ASN1) 
+       {
+               if (pubin) 
+                       ecdsa = d2i_ECDSA_PUBKEY_bio(in, NULL);
+               else 
+                       ecdsa = d2i_ECDSAPrivateKey_bio(in, NULL);
+       } else if (informat == FORMAT_PEM) 
+       {
+               if (pubin) 
+                       ecdsa = PEM_read_bio_ECDSA_PUBKEY(in, NULL, NULL, NULL);
+               else 
+                       ecdsa = PEM_read_bio_ECDSAPrivateKey(in, NULL, NULL, passin);
+       } else
+       {
+               BIO_printf(bio_err, "bad input format specified for key\n");
+               goto end;
+       }
+       if (ecdsa == NULL)
+       {
+               BIO_printf(bio_err,"unable to load Key\n");
+               ERR_print_errors(bio_err);
+               goto end;
+       }
+
+       if (outfile == NULL)
+       {
+               BIO_set_fp(out, stdout, BIO_NOCLOSE);
+#ifdef OPENSSL_SYS_VMS
+               {
+                       BIO *tmpbio = BIO_new(BIO_f_linebuffer());
+                       out = BIO_push(tmpbio, out);
+               }
+#endif
+       }
+       else
+       {
+               if (BIO_write_filename(out, outfile) <= 0)
+               {
+                       perror(outfile);
+                       goto end;
+               }
+       }
+
+       if (text) 
+               if (!ECDSA_print(out, ecdsa, 0))
+               {
+                       perror(outfile);
+                       ERR_print_errors(bio_err);
+                       goto end;
+               }
+
+       if (pub)
+       {
+               fprintf(stdout, "Public Key (");
+               if (point_form == POINT_CONVERSION_COMPRESSED)
+                       fprintf(stdout, "COMPRESSED");
+               else if (point_form == POINT_CONVERSION_UNCOMPRESSED)
+                       fprintf(stdout, "UNCOMPRESSED");
+               else if (point_form == POINT_CONVERSION_HYBRID)
+                       fprintf(stdout, "HYBRID");
+               fprintf(stdout, ")=");
+               buf_len = EC_POINT_point2oct(ecdsa->group, EC_GROUP_get0_generator(ecdsa->group),
+                                            point_form, NULL, 0, NULL);
+               if (!buf_len)
+               {
+                       BIO_printf(bio_err,"invalid public key length\n");
+                       ERR_print_errors(bio_err);
+                       goto end;
+               }
+               if ((tmp_bn = BN_new()) == NULL ||
+                   (buffer = OPENSSL_malloc(buf_len)) == NULL) goto end;
+               if (!EC_POINT_point2oct(ecdsa->group, EC_GROUP_get0_generator(ecdsa->group),
+                                            point_form, buffer, buf_len, NULL) ||
+                   !BN_bin2bn(buffer, buf_len, tmp_bn))
+               {
+                       BIO_printf(bio_err,"can not encode public key\n");
+                       ERR_print_errors(bio_err);
+                       OPENSSL_free(buffer);
+                       goto end;
+               }
+               BN_print(out, tmp_bn);
+               fprintf(stdout,"\n");
+       }
+
+       if (noout) 
+               goto end;
+       BIO_printf(bio_err, "writing ECDSA key\n");
+       if (outformat == FORMAT_ASN1) 
+       {
+               if(pubin || pubout) 
+                       i = i2d_ECDSA_PUBKEY_bio(out, ecdsa);
+               else 
+                       i = i2d_ECDSAPrivateKey_bio(out, ecdsa);
+       } else if (outformat == FORMAT_PEM) 
+       {
+               if(pubin || pubout)
+                       i = PEM_write_bio_ECDSA_PUBKEY(out, ecdsa);
+               else 
+                       i = PEM_write_bio_ECDSAPrivateKey(out, ecdsa, enc,
+                                                       NULL, 0, NULL, passout);
+       } else 
+       {
+               BIO_printf(bio_err, "bad output format specified for outfile\n");
+               goto end;
+       }
+       if (!i)
+       {
+               BIO_printf(bio_err, "unable to write private key\n");
+               ERR_print_errors(bio_err);
+       }
+       else
+               ret=0;
+end:
+       if (in)         BIO_free(in);
+       if (out)        BIO_free_all(out);
+       if (ecdsa)      ECDSA_free(ecdsa);
+       if (tmp_bn)     BN_free(tmp_bn);
+       if (passin)     OPENSSL_free(passin);
+       if (passout)    OPENSSL_free(passout);
+       apps_shutdown();
+       EXIT(ret);
+}
+#endif
diff --git a/apps/ecdsaparam.c b/apps/ecdsaparam.c
new file mode 100644 (file)
index 0000000..ebb0d1e
--- /dev/null
@@ -0,0 +1,560 @@
+/* apps/ecdsaparam.c */
+/* ====================================================================
+ * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    openssl-core@openssl.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ * 
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to.  The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ * 
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *    "This product includes cryptographic software written by
+ *     Eric Young (eay@cryptsoft.com)"
+ *    The word 'cryptographic' can be left out if the rouines from the library
+ *    being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from 
+ *    the apps directory (application code) you must include an acknowledgement:
+ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ * 
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * 
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed.  i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
+
+#ifndef OPENSSL_NO_ECDSA
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <string.h>
+#include "apps.h"
+#include <openssl/bio.h>
+#include <openssl/err.h>
+#include <openssl/bn.h>
+#include <openssl/ec.h>
+#include <openssl/ecdsa.h>
+#include <openssl/x509.h>
+#include <openssl/pem.h>
+
+#undef PROG
+#define PROG   ecdsaparam_main
+
+/* -inform arg         - input format - default PEM (DER or PEM)
+ * -outform arg        - output format - default PEM
+ * -in arg             - input file  - default stdin
+ * -out arg            - output file - default stdout
+ * -noout
+ * -text
+ * -C
+ * -noout
+ * -genkey             - generate a private public keypair based on the supplied curve
+ * -named_curve                - use the curve oid instead of the parameters
+ * -NIST_192           - use the NIST recommeded curve parameters over a 192 bit prime field
+ * -NIST_224           - use the NIST recommeded curve parameters over a 224 bit prime field
+ * -NIST_256           - use the NIST recommeded curve parameters over a 256 bit prime field
+ * -NIST_384           - use the NIST recommeded curve parameters over a 384 bit prime field
+ * -NIST_521           - use the NIST recommeded curve parameters over a 521 bit prime field
+ * -X9_62_192v1                - use the X9_62 192v1 example curve over a 192 bit prime field
+ * -X9_62_192v2                - use the X9_62 192v2 example curve over a 192 bit prime field
+ * -X9_62_192v3                - use the X9_62 192v3 example curve over a 192 bit prime field
+ * -X9_62_239v1                - use the X9_62 239v1 example curve over a 239 bit prime field
+ * -X9_62_239v2                - use the X9_62 239v2 example curve over a 239 bit prime field
+ * -X9_62_239v3                - use the X9_62 239v3 example curve over a 239 bit prime field
+ * -X9_62_256v1                - use the X9_62 239v1 example curve over a 256 bit prime field
+ */
+
+int MAIN(int, char **);
+
+int MAIN(int argc, char **argv)
+{
+       ENGINE  *e = NULL;
+       ECDSA   *ecdsa = NULL;
+       int     i, badops = 0, text = 0;
+       BIO     *in = NULL, *out = NULL;
+       int     informat, outformat, noout = 0, C = 0, ret = 1;
+       char    *infile, *outfile, *prog, *inrand = NULL;
+       int     genkey = 0;
+       int     need_rand = 0;
+       char    *engine=NULL;
+       int     curve_type = EC_GROUP_NO_CURVE;
+       int     named_curve = 0;
+       BIGNUM  *tmp_1 = NULL, *tmp_2 = NULL, *tmp_3 = NULL, *tmp_4 = NULL, *tmp_5 = NULL,
+               *tmp_6 = NULL, *tmp_7 = NULL;
+       BN_CTX  *ctx = NULL;
+       EC_POINT *point = NULL;
+
+       apps_startup();
+
+       if (bio_err == NULL)
+               if ((bio_err=BIO_new(BIO_s_file())) != NULL)
+                       BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
+
+       infile=NULL;
+       outfile=NULL;
+       informat=FORMAT_PEM;
+       outformat=FORMAT_PEM;
+
+       prog=argv[0];
+       argc--;
+       argv++;
+       while (argc >= 1)
+               {
+               if      (strcmp(*argv,"-inform") == 0)
+               {
+                       if (--argc < 1) goto bad;
+                       informat=str2fmt(*(++argv));
+               }
+               else if (strcmp(*argv,"-outform") == 0)
+               {
+                       if (--argc < 1) goto bad;
+                       outformat=str2fmt(*(++argv));
+               }
+               else if (strcmp(*argv,"-in") == 0)
+               {
+                       if (--argc < 1) goto bad;
+                       infile= *(++argv);
+               }
+               else if (strcmp(*argv,"-out") == 0)
+               {
+                       if (--argc < 1) goto bad;
+                       outfile= *(++argv);
+               }
+               else if(strcmp(*argv, "-engine") == 0)
+               {
+                       if (--argc < 1) goto bad;
+                       engine = *(++argv);
+               }
+               else if (strcmp(*argv,"-text") == 0)
+                       text = 1;
+               else if (strcmp(*argv,"-C") == 0)
+                       C = 1;
+               else if (strcmp(*argv,"-genkey") == 0)
+               {
+                       genkey = 1;
+                       need_rand = 1;
+               }
+               else if (strcmp(*argv,"-rand") == 0)
+               {
+                       if (--argc < 1) goto bad;
+                       inrand= *(++argv);
+                       need_rand=1;
+               }
+               else if (strcmp(*argv, "-named_curve") == 0)
+                       named_curve = 1;
+               else if (strcmp(*argv, "-NIST_192") == 0)
+                       curve_type = EC_GROUP_NIST_PRIME_192;
+               else if (strcmp(*argv, "-NIST_224") == 0)
+                       curve_type = EC_GROUP_NIST_PRIME_224;
+               else if (strcmp(*argv, "-NIST_256") == 0)
+                       curve_type = EC_GROUP_NIST_PRIME_256;
+               else if (strcmp(*argv, "-NIST_384") == 0)
+                       curve_type = EC_GROUP_NIST_PRIME_384;
+               else if (strcmp(*argv, "-NIST_521") == 0)
+                       curve_type = EC_GROUP_NIST_PRIME_521;
+               else if (strcmp(*argv, "-X9_62_192v1") == 0)
+                       curve_type = EC_GROUP_X9_62_PRIME_192V1;
+               else if (strcmp(*argv, "-X9_62_192v2") == 0)
+                       curve_type = EC_GROUP_X9_62_PRIME_192V2;
+               else if (strcmp(*argv, "-X9_62_192v3") == 0)
+                       curve_type = EC_GROUP_X9_62_PRIME_192V3;
+               else if (strcmp(*argv, "-X9_62_239v1") == 0)
+                       curve_type = EC_GROUP_X9_62_PRIME_239V1;
+               else if (strcmp(*argv, "-X9_62_239v2") == 0)
+                       curve_type = EC_GROUP_X9_62_PRIME_239V2;
+               else if (strcmp(*argv, "-X9_62_239v3") == 0)
+                       curve_type = EC_GROUP_X9_62_PRIME_239V3;
+               else if (strcmp(*argv, "-X9_62_256v1") == 0)
+                       curve_type = EC_GROUP_X9_62_PRIME_256V1;
+               else if (strcmp(*argv, "-noout") == 0)
+                       noout=1;
+               else
+               {
+                       BIO_printf(bio_err,"unknown option %s\n",*argv);
+                       badops=1;
+                       break;
+               }
+               argc--;
+               argv++;
+       }
+
+       if (badops)
+       {
+bad:
+               BIO_printf(bio_err,"%s [options] [bits] <infile >outfile\n",prog);
+               BIO_printf(bio_err,"where options are\n");
+               BIO_printf(bio_err," -inform arg   input format - DER or PEM\n");
+               BIO_printf(bio_err," -outform arg  output format - DER or PEM\n");
+               BIO_printf(bio_err," -in arg       input file\n");
+               BIO_printf(bio_err," -out arg      output file\n");
+               BIO_printf(bio_err," -text         print the key in text\n");
+               BIO_printf(bio_err," -C            Output C code\n");
+               BIO_printf(bio_err," -noout        no output\n");
+               BIO_printf(bio_err," -rand         files to use for random number input\n");
+               BIO_printf(bio_err," -engine e     use engine e, possibly a hardware device.\n");
+               BIO_printf(bio_err," -named_curve  use the curve oid instead of the parameters\n");
+               BIO_printf(bio_err," -NIST_192     use the NIST recommeded curve parameters over a 192 bit prime field\n");
+               BIO_printf(bio_err," -NIST_224     use the NIST recommeded curve parameters over a 224 bit prime field\n");
+               BIO_printf(bio_err," -NIST_256     use the NIST recommeded curve parameters over a 256 bit prime field\n");
+               BIO_printf(bio_err," -NIST_384     use the NIST recommeded curve parameters over a 384 bit prime field\n");
+               BIO_printf(bio_err," -NIST_521     use the NIST recommeded curve parameters over a 521 bit prime field\n");
+               BIO_printf(bio_err," -X9_62_192v1  use the X9_62 192v1 example curve over a 192 bit prime field\n");
+               BIO_printf(bio_err," -X9_62_192v2  use the X9_62 192v2 example curve over a 192 bit prime field\n");
+               BIO_printf(bio_err," -X9_62_192v3  use the X9_62 192v3 example curve over a 192 bit prime field\n");
+               BIO_printf(bio_err," -X9_62_239v1  use the X9_62 239v1 example curve over a 239 bit prime field\n");
+               BIO_printf(bio_err," -X9_62_239v2  use the X9_62 239v2 example curve over a 239 bit prime field\n");
+               BIO_printf(bio_err," -X9_62_239v3  use the X9_62 239v3 example curve over a 239 bit prime field\n");
+               BIO_printf(bio_err," -X9_62_256v1  use the X9_62 239v1 example curve over a 256 bit prime field\n");
+               goto end;
+       }
+
+       ERR_load_crypto_strings();
+
+       in=BIO_new(BIO_s_file());
+       out=BIO_new(BIO_s_file());
+       if ((in == NULL) || (out == NULL))
+       {
+               ERR_print_errors(bio_err);
+               goto end;
+       }
+
+       if (infile == NULL)
+               BIO_set_fp(in,stdin,BIO_NOCLOSE);
+       else
+       {
+               if (BIO_read_filename(in,infile) <= 0)
+               {
+                       perror(infile);
+                       goto end;
+               }
+       }
+       if (outfile == NULL)
+       {
+               BIO_set_fp(out,stdout,BIO_NOCLOSE);
+#ifdef OPENSSL_SYS_VMS
+               {
+               BIO *tmpbio = BIO_new(BIO_f_linebuffer());
+               out = BIO_push(tmpbio, out);
+               }
+#endif
+       }
+       else
+       {
+               if (BIO_write_filename(out,outfile) <= 0)
+               {
+                       perror(outfile);
+                       goto end;
+               }
+       }
+
+        e = setup_engine(bio_err, engine, 0);
+
+       if (need_rand)
+       {
+               app_RAND_load_file(NULL, bio_err, (inrand != NULL));
+               if (inrand != NULL)
+                       BIO_printf(bio_err,"%ld semi-random bytes loaded\n",
+                               app_RAND_load_files(inrand));
+       }
+
+       if (curve_type != EC_GROUP_NO_CURVE)
+       {
+               if ((ecdsa = ECDSA_new()) == NULL)
+                       goto end;
+               ecdsa->group = EC_GROUP_get_group_by_name(curve_type);
+               if (named_curve)
+                       ECDSA_set_parameter_flags(ecdsa, ECDSA_FLAG_NAMED_CURVE);
+       }
+       else if (informat == FORMAT_ASN1)
+               ecdsa = d2i_ECDSAParameters_bio(in,NULL);
+       else if (informat == FORMAT_PEM)
+               ecdsa = PEM_read_bio_ECDSAParameters(in, NULL, NULL, NULL);
+       else
+       {
+               BIO_printf(bio_err, "bad input format specified\n");
+               goto end;
+       }
+       if (ecdsa == NULL)
+       {
+               BIO_printf(bio_err, "unable to load ECDSA parameters\n");
+               ERR_print_errors(bio_err);
+               goto end;
+       }
+
+       if (text)
+       {
+               ECDSAParameters_print(out, ecdsa);
+       }
+       
+       if (C)
+       {       // TODO : characteristic two
+               int     l, len, bits_p, bits_a, bits_b, bits_x, bits_y, bits_o, bits_c;
+               unsigned char *data;
+               if ((tmp_1 = BN_new()) == NULL || (tmp_2 = BN_new()) == NULL ||
+                   (tmp_3 = BN_new()) == NULL || (tmp_4 = BN_new()) == NULL ||
+                   (tmp_5 = BN_new()) == NULL || (tmp_6 = BN_new()) == NULL ||
+                    (tmp_7 = BN_new()) == NULL || (ctx = BN_CTX_new()) == NULL)
+               {
+                       perror("OPENSSL_malloc");
+                       goto end;
+               }
+               if (!EC_GROUP_get_curve_GFp(ecdsa->group, tmp_1, tmp_2, tmp_3, ctx))
+                       goto end;
+               if ((point = EC_GROUP_get0_generator(ecdsa->group)) == NULL)
+                       goto end;
+               if (!EC_POINT_get_affine_coordinates_GFp(ecdsa->group, point, tmp_4, tmp_5, ctx))
+                       goto end;
+               if (!EC_GROUP_get_order(ecdsa->group, tmp_6, ctx))
+                       goto end;
+               if (!EC_GROUP_get_cofactor(ecdsa->group, tmp_7, ctx))
+                       goto end;
+               
+               len    = BN_num_bytes(tmp_1);
+               bits_p = BN_num_bits(tmp_1);
+               bits_a = BN_num_bits(tmp_2);
+               bits_b = BN_num_bits(tmp_3);
+               bits_x = BN_num_bits(tmp_4);
+               bits_y = BN_num_bits(tmp_5);
+               bits_o = BN_num_bits(tmp_6);
+               bits_c = BN_num_bits(tmp_7);
+               data=(unsigned char *)OPENSSL_malloc(len+20);
+               if (data == NULL)
+               {
+                       perror("OPENSSL_malloc");
+                       goto end;
+               }
+               l = BN_bn2bin(tmp_1, data);
+               printf("static unsigned char ecdsa%d_p[]={", bits_p);
+               for (i=0; i<l; i++)
+               {
+                       if ((i%12) == 0) printf("\n\t");
+                       printf("0x%02X,",data[i]);
+               }
+               printf("\n\t};\n");
+
+               l = BN_bn2bin(tmp_2, data);
+               printf("static unsigned char ecdsa%d_a[]={",bits_p);
+               for (i=0; i<l; i++)
+               {
+                       if ((i%12) == 0) printf("\n\t");
+                       printf("0x%02X,",data[i]);
+               }
+               printf("\n\t};\n");
+
+               l = BN_bn2bin(tmp_3, data);
+               printf("static unsigned char ecdsa%d_b[]={", bits_p);
+               for (i=0; i<l; i++)
+               {
+                       if ((i%12) == 0) printf("\n\t");
+                       printf("0x%02X,",data[i]);
+               }
+               printf("\n\t};\n\n");
+
+               l = BN_bn2bin(tmp_3, data);
+               printf("static unsigned char ecdsa%d_x[]={", bits_x);
+               for (i=0; i<l; i++)
+               {
+                       if ((i%12) == 0) printf("\n\t");
+                       printf("0x%02X,",data[i]);
+               }
+               printf("\n\t};\n\n");
+
+               l = BN_bn2bin(tmp_3, data);
+               printf("static unsigned char ecdsa%d_y[]={", bits_y);
+               for (i=0; i<l; i++)
+               {
+                       if ((i%12) == 0) printf("\n\t");
+                       printf("0x%02X,",data[i]);
+               }
+               printf("\n\t};\n\n");
+
+               l = BN_bn2bin(tmp_3, data);
+               printf("static unsigned char ecdsa%d_o[]={", bits_o);
+               for (i=0; i<l; i++)
+               {
+                       if ((i%12) == 0) printf("\n\t");
+                       printf("0x%02X,",data[i]);
+               }
+               printf("\n\t};\n\n");
+
+               l = BN_bn2bin(tmp_3, data);
+               printf("static unsigned char ecdsa%d_c[]={", bits_c);
+               for (i=0; i<l; i++)
+               {
+                       if ((i%12) == 0) printf("\n\t");
+                       printf("0x%02X,",data[i]);
+               }
+               printf("\n\t};\n\n");
+
+               printf("ECDSA *get_ecdsa%d()\n\t{\n",bits_p);
+               printf("\tint      ok=1;\n");
+               printf("\tECDSA    *ecdsa=NULL;\n");
+               printf("\tEC_POINT *point=NULL;\n");
+               printf("\tBIGNUM   *tmp_1=NULL,*tmp_2=NULL,*tmp_3=NULL;\n");
+               printf("\tBN_CTX   *ctx=NULL;\n\n");
+               printf("\tecdsa=ECDSA_new();\n");
+               printf("\ttmp_1=BN_new();\n");
+               printf("\ttmp_2=BN_new();\n");
+               printf("\ttmp_3=BN_new();\n");
+               printf("\tctx=BN_CTX_new();\n");
+               printf("\tif (!ecdsa || !tmp_1 || !tmp_2 || !tmp_3 || !ctx) ok=0;\n");
+               printf("\tif (ok && !ecdsa->group=EC_GROUP_new(EC_GFp_mont_method())) == NULL) ok=0;");
+               printf("\tif (ok && !BN_bin2bn(ecdsa%d_p,sizeof(ecdsa%d_p),tmp_1)) ok=0;\n", bits_p, bits_p);
+               printf("\tif (ok && !BN_bin2bn(ecdsa%d_a,sizeof(ecdsa%d_a),tmp_2)) ok=0;\n", bits_p, bits_p);
+               printf("\tif (ok && !BN_bin2bn(ecdsa%d_b,sizeof(ecdsa%d_b),tmp_3)) ok=0;\n", bits_p, bits_p);
+               printf("\tif (ok && !EC_GROUP_set_curve_GFp(ecdsa->group,tmp_1,tmp_2,tmp_3,ctx)) ok=0;\n");
+               printf("\tif (ok && !BN_bin2bn(ecdsa%d_x,sizeof(ecdsa%d_p),tmp_1)) ok=0;\n", bits_p, bits_p);
+               printf("\tif (ok && !BN_bin2bn(ecdsa%d_y,sizeof(ecdsa%d_a),tmp_2)) ok=0;\n", bits_p, bits_p);
+               printf("\tif (ok && (point = EC_POINT_new(ecdsa->group)) == NULL) ok=0;\n");
+               printf("\tif (ok && !EC_POINT_set_affine_coordinates_GFp(ecdsa->group,point,tmp_1,tmp_2,ctx)) ok=0:\n");
+               printf("\tif (ok && !BN_bin2bn(ecdsa%d_o,sizeof(ecdsa%d_b),tmp_1)) ok=0;\n", bits_p, bits_p);
+               printf("\tif (ok && !BN_bin2bn(ecdsa%d_c,sizeof(ecdsa%d_b),tmp_2)) ok=0;\n", bits_p, bits_p);
+               printf("\tif (ok && !EC_GROUP_set_generator(ecdsa->group,point,tmp_1,tmp_2)) ok=0;\n");
+               printf("\tif ((ecdsa->group == NULL) || (ecdsa->pub_key == NULL) || (ecdsa->priv_key == NULL))\n");
+               printf("\t\t{ ECDSA_free(ecdsa); return(NULL); }\n");
+               printf("\treturn(ecdsa);\n\t}\n");
+       }
+
+
+       if (!noout)
+       {
+               if (outformat == FORMAT_ASN1)
+                       i = i2d_ECDSAParameters_bio(out, ecdsa);
+               else if (outformat == FORMAT_PEM)
+                       i = PEM_write_bio_ECDSAParameters(out, ecdsa);
+               else    
+               {
+                       BIO_printf(bio_err,"bad output format specified for outfile\n");
+                       goto end;
+               }
+               if (!i)
+               {
+                       BIO_printf(bio_err, "unable to write ECDSA parameters\n");
+                       ERR_print_errors(bio_err);
+                       goto end;
+               }
+       }
+       if (genkey)
+       {
+               ECDSA *ecdsakey;
+
+               assert(need_rand);
+               if ((ecdsakey = ECDSAParameters_dup(ecdsa)) == NULL) goto end;
+               if (!ECDSA_generate_key(ecdsakey)) goto end;
+               if (outformat == FORMAT_ASN1)
+                       i = i2d_ECDSAPrivateKey_bio(out, ecdsakey);
+               else if (outformat == FORMAT_PEM)
+                       i = PEM_write_bio_ECDSAPrivateKey(out, ecdsakey, NULL, NULL, 0, NULL, NULL);
+               else    
+               {
+                       BIO_printf(bio_err, "bad output format specified for outfile\n");
+                       goto end;
+               }
+               ECDSA_free(ecdsakey);
+       }
+       if (need_rand)
+               app_RAND_write_file(NULL, bio_err);
+       ret=0;
+end:
+       if (in != NULL)         BIO_free(in);
+       if (out != NULL)        BIO_free_all(out);
+       if (ecdsa != NULL)      ECDSA_free(ecdsa);
+       if (tmp_1)              BN_free(tmp_1);
+       if (tmp_2)              BN_free(tmp_2);
+       if (tmp_3)              BN_free(tmp_3);
+       if (tmp_3)              BN_free(tmp_4);
+       if (tmp_3)              BN_free(tmp_5);
+       if (tmp_3)              BN_free(tmp_6);
+       if (tmp_3)              BN_free(tmp_7);
+       if (ctx)                BN_CTX_free(ctx);
+       apps_shutdown();
+       EXIT(ret);
+}
+#endif
index 752385d3a735440a629c54f8db9ebc5bb464df85..ecc671b5073287377fc0810b6465c13527f001cf 100644 (file)
@@ -17,6 +17,8 @@ extern int rsa_main(int argc,char *argv[]);
 extern int rsautl_main(int argc,char *argv[]);
 extern int dsa_main(int argc,char *argv[]);
 extern int dsaparam_main(int argc,char *argv[]);
+extern int ecdsa_main(int argc,char *argv[]);
+extern int ecdsaparam_main(int argc,char *argv[]);
 extern int x509_main(int argc,char *argv[]);
 extern int genrsa_main(int argc,char *argv[]);
 extern int gendsa_main(int argc,char *argv[]);
@@ -78,6 +80,12 @@ FUNCTION functions[] = {
 #endif
 #ifndef OPENSSL_NO_DSA
        {FUNC_TYPE_GENERAL,"dsaparam",dsaparam_main},
+#endif
+#ifndef OPENSSL_NO_ECDSA
+       {FUNC_TYPE_GENERAL,"ecdsa",ecdsa_main},
+#endif
+#ifndef OPENSSL_NO_ECDSA
+       {FUNC_TYPE_GENERAL,"ecdsaparam",ecdsaparam_main},
 #endif
        {FUNC_TYPE_GENERAL,"x509",x509_main},
 #ifndef OPENSSL_NO_RSA
index d6a40edb91d2a87ee7cb1f7566d87b19b5bb6041..7672d076c37937a1e36b05020971c0adaea271f1 100644 (file)
@@ -33,6 +33,8 @@ foreach (@ARGV)
                { print "#ifndef OPENSSL_NO_RSA\n${str}#endif\n";  }
        elsif ( ($_ =~ /^dsa$/) || ($_ =~ /^gendsa$/) || ($_ =~ /^dsaparam$/))
                { print "#ifndef OPENSSL_NO_DSA\n${str}#endif\n"; }
+       elsif ( ($_ =~ /^ecdsa$/) || ($_ =~ /^ecdsaparam$/))
+               { print "#ifndef OPENSSL_NO_ECDSA\n${str}#endif\n";}
        elsif ( ($_ =~ /^dh$/) || ($_ =~ /^gendh$/) || ($_ =~ /^dhparam$/))
                { print "#ifndef OPENSSL_NO_DH\n${str}#endif\n"; }
        elsif ( ($_ =~ /^pkcs12$/))
index c406b6444c0f64e4e64db12f3ca19bc1d5b58b7c..27a7bba106451fe62c7b8c1e68e1b855a047e5da 100644 (file)
@@ -142,6 +142,7 @@ static int batch=0;
 #define TYPE_RSA       1
 #define TYPE_DSA       2
 #define TYPE_DH                3
+#define TYPE_ECDSA     4
 
 int MAIN(int, char **);
 
@@ -150,6 +151,9 @@ int MAIN(int argc, char **argv)
        ENGINE *e = NULL;
 #ifndef OPENSSL_NO_DSA
        DSA *dsa_params=NULL;
+#endif
+#ifndef OPENSSL_NO_ECDSA
+       ECDSA *ecdsa_params = NULL;
 #endif
        unsigned long nmflag = 0;
        int ex=1,x509=0,days=30;
@@ -317,11 +321,63 @@ int MAIN(int argc, char **argv)
                                                }
                                        }
                                BIO_free(in);
-                               newkey=BN_num_bits(dsa_params->p);
                                in=NULL;
+                               newkey=BN_num_bits(dsa_params->p);
                                }
                        else 
 #endif
+#ifndef OPENSSL_NO_ECDSA
+                               if (strncmp("ecdsa:",p,4) == 0)
+                               {
+                               X509 *xtmp=NULL;
+                               EVP_PKEY *dtmp;
+
+                               pkey_type=TYPE_ECDSA;
+                               p+=6;
+                               if ((in=BIO_new_file(p,"r")) == NULL)
+                                       {
+                                       perror(p);
+                                       goto end;
+                                       }
+                               if ((ecdsa_params = PEM_read_bio_ECDSAParameters(in, NULL, NULL, NULL)) == NULL)
+                                       {
+                                       ERR_clear_error();
+                                       (void)BIO_reset(in);
+                                       if ((xtmp=PEM_read_bio_X509(in,NULL,NULL,NULL)) == NULL)
+                                               {       
+                                               BIO_printf(bio_err,"unable to load ECDSA parameters from file\n");
+                                               goto end;
+                                               }
+
+                                       dtmp=X509_get_pubkey(xtmp);
+                                       if (dtmp->type == EVP_PKEY_ECDSA)
+                                               ecdsa_params = ECDSAParameters_dup(dtmp->pkey.ecdsa);
+                                       EVP_PKEY_free(dtmp);
+                                       X509_free(xtmp);
+                                       if (ecdsa_params == NULL)
+                                               {
+                                               BIO_printf(bio_err,"Certificate does not contain ECDSA parameters\n");
+                                               goto end;
+                                               }
+                                       }
+
+                               BIO_free(in);
+                               in=NULL;
+                               
+                               {
+                               BIGNUM *order = BN_new();
+                               
+                               if (!order)
+                                       goto end;
+                               if (!EC_GROUP_get_order(ecdsa_params->group, order, NULL))
+                                       goto end;
+                               newkey = BN_num_bits(order);
+                               BN_free(order);
+                               }
+
+                               }
+                       else
+#endif
 #ifndef OPENSSL_NO_DH
                                if (strncmp("dh:",p,4) == 0)
                                {
@@ -433,6 +489,7 @@ bad:
                BIO_printf(bio_err,"                the random number generator\n");
                BIO_printf(bio_err," -newkey rsa:bits generate a new RSA key of 'bits' in size\n");
                BIO_printf(bio_err," -newkey dsa:file generate a new DSA key, parameters taken from CA in 'file'\n");
+               BIO_printf(bio_err," -newkey ecdsa:file generate a new ECDSA key, parameters taken from CA in 'file'\n");
                BIO_printf(bio_err," -[digest]      Digest to sign with (md5, sha1, md2, mdc2, md4)\n");
                BIO_printf(bio_err," -config file   request template file.\n");
                BIO_printf(bio_err," -subj arg      set or modify request subject\n");
@@ -626,7 +683,7 @@ bad:
                           message */
                        goto end;
                        }
-               if (EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA)
+               if (EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA || EVP_PKEY_type(pkey->type) == EVP_PKEY_ECDSA)
                        {
                        char *randfile = NCONF_get_string(req_conf,SECTION,"RANDFILE");
                        if (randfile == NULL)
@@ -650,14 +707,15 @@ bad:
                                newkey=DEFAULT_KEY_LENGTH;
                        }
 
-               if (newkey < MIN_KEY_LENGTH)
+               if (newkey < MIN_KEY_LENGTH && (pkey_type == TYPE_RSA || pkey_type == TYPE_DSA))
+               /* TODO: appropriate minimal keylength for the different algorithm (esp. ECDSA) */
                        {
                        BIO_printf(bio_err,"private key length is too short,\n");
                        BIO_printf(bio_err,"it needs to be at least %d bits, not %d\n",MIN_KEY_LENGTH,newkey);
                        goto end;
                        }
                BIO_printf(bio_err,"Generating a %d bit %s private key\n",
-                       newkey,(pkey_type == TYPE_RSA)?"RSA":"DSA");
+                       newkey,(pkey_type == TYPE_RSA)?"RSA":(pkey_type == TYPE_DSA)?"DSA":"ECDSA");
 
                if ((pkey=EVP_PKEY_new()) == NULL) goto end;
 
@@ -679,6 +737,14 @@ bad:
                        dsa_params=NULL;
                        }
 #endif
+#ifndef OPENSSL_NO_ECDSA
+                       if (pkey_type == TYPE_ECDSA)
+                       {
+                       if (!ECDSA_generate_key(ecdsa_params)) goto end;
+                       if (!EVP_PKEY_assign_ECDSA(pkey, ecdsa_params)) goto end;
+                       ecdsa_params = NULL;
+                       }
+#endif
 
                app_RAND_write_file(randfile, bio_err);
 
@@ -784,6 +850,10 @@ loop:
 #ifndef OPENSSL_NO_DSA
                if (pkey->type == EVP_PKEY_DSA)
                        digest=EVP_dss1();
+#endif
+#ifndef OPENSSL_NO_ECDSA
+               if (pkey->type == EVP_PKEY_ECDSA)
+                       digest=EVP_ecdsa();
 #endif
                if (req == NULL)
                        {
@@ -1064,6 +1134,9 @@ end:
        OBJ_cleanup();
 #ifndef OPENSSL_NO_DSA
        if (dsa_params != NULL) DSA_free(dsa_params);
+#endif
+#ifndef OPENSSL_NO_ECDSA
+       if (ecdsa_params != NULL) ECDSA_free(ecdsa_params);
 #endif
        apps_shutdown();
        EXIT(ex);
index 618cb8d638e782bd198566b9f84032825ba26c3c..078e220c0371e0968cf9c033389f34d7d84d8d36 100644 (file)
@@ -702,7 +702,7 @@ bad:
                        }
                }
 
-#if !defined(OPENSSL_NO_RSA) || !defined(OPENSSL_NO_DSA)
+#if !defined(OPENSSL_NO_RSA) || !defined(OPENSSL_NO_DSA) || !defined(OPENSSL_NO_ECDSA)
        if (nocert)
 #endif
                {
index b2ea09d52fbfb48f099d028cdb2f98fee7698583..a56f037b8993696ab75b3ae8e17c13018bedbe5a 100644 (file)
@@ -866,6 +866,10 @@ bad:
                                if (Upkey->type == EVP_PKEY_DSA)
                                        digest=EVP_dss1();
 #endif
+#ifndef OPENSSL_NO_ECDSA
+                               if (Upkey->type == EVP_PKEY_ECDSA)
+                                       digest=EVP_ecdsa();
+#endif
 
                                assert(need_rand);
                                if (!sign(x,Upkey,days,clrext,digest,
@@ -885,6 +889,10 @@ bad:
                                if (CApkey->type == EVP_PKEY_DSA)
                                        digest=EVP_dss1();
 #endif
+#ifndef OPENSSL_NO_ECDSA
+                               if (CApkey->type == EVP_PKEY_ECDSA)
+                                       digest = EVP_ecdsa();
+#endif
                                
                                assert(need_rand);
                                if (!x509_certify(ctx,CAfile,digest,x,xca,
@@ -914,6 +922,8 @@ bad:
 
                                if (pk->type == EVP_PKEY_DSA)
                                        digest=EVP_dss1();
+                               else if (pk->type == EVP_PKEY_ECDSA)
+                                       digest=EVP_ecdsa();
 
                                rq=X509_to_X509_REQ(x,pk,digest);
                                EVP_PKEY_free(pk);
index bb2a20ec87a2cc2d66288c53502100186e4f8a45..15bf58c52930b4237ea65e0b8d6818085ec66eb4 100644 (file)
@@ -28,7 +28,7 @@ LIBS=
 
 SDIRS= md2 md5 sha mdc2 hmac ripemd \
        des rc2 rc4 rc5 idea bf cast \
-       bn ec rsa dsa dh dso engine aes \
+       bn ec rsa dsa ecdsa dh dso engine aes \
        buffer bio stack lhash rand err objects \
        evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5
 
index 09d4cb489650af5ae7a63cc400587b0c63c6e159..267d4a1b9d702a0d98a144ea35c91f3908e60356 100644 (file)
@@ -145,13 +145,14 @@ a_d2i_fp.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 a_d2i_fp.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 a_d2i_fp.o: ../../include/openssl/symhacks.h ../cryptlib.h a_d2i_fp.c
 a_digest.o: ../../e_os.h ../../include/openssl/asn1.h
-a_digest.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-a_digest.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-a_digest.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-a_digest.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-a_digest.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-a_digest.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-a_digest.o: ../../include/openssl/opensslconf.h
+a_digest.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+a_digest.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+a_digest.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+a_digest.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+a_digest.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+a_digest.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+a_digest.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+a_digest.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 a_digest.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 a_digest.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 a_digest.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -257,10 +258,12 @@ a_set.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 a_set.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
 a_set.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 a_set.o: ../cryptlib.h a_set.c
-a_sign.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+a_sign.o: ../../e_os.h ../../include/openssl/asn1.h
+a_sign.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 a_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 a_sign.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 a_sign.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+a_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 a_sign.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 a_sign.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 a_sign.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -270,18 +273,20 @@ a_sign.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 a_sign.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 a_sign.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 a_sign.o: ../cryptlib.h a_sign.c
-a_strex.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-a_strex.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-a_strex.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-a_strex.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-a_strex.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-a_strex.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-a_strex.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-a_strex.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
-a_strex.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-a_strex.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-a_strex.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
-a_strex.o: ../../include/openssl/x509_vfy.h a_strex.c charmap.h
+a_strex.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+a_strex.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+a_strex.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+a_strex.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+a_strex.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+a_strex.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h
+a_strex.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+a_strex.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+a_strex.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+a_strex.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+a_strex.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+a_strex.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+a_strex.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+a_strex.o: a_strex.c charmap.h
 a_strnid.o: ../../e_os.h ../../include/openssl/asn1.h
 a_strnid.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
 a_strnid.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
@@ -326,13 +331,14 @@ a_utf8.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
 a_utf8.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 a_utf8.o: ../cryptlib.h a_utf8.c
 a_verify.o: ../../e_os.h ../../include/openssl/asn1.h
-a_verify.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-a_verify.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-a_verify.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-a_verify.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-a_verify.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-a_verify.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-a_verify.o: ../../include/openssl/opensslconf.h
+a_verify.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+a_verify.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+a_verify.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+a_verify.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+a_verify.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+a_verify.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+a_verify.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+a_verify.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 a_verify.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 a_verify.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 a_verify.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -364,14 +370,15 @@ asn1_par.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 asn1_par.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 asn1_par.o: ../../include/openssl/symhacks.h ../cryptlib.h asn1_par.c
 asn_moid.o: ../../e_os.h ../../include/openssl/asn1.h
-asn_moid.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-asn_moid.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-asn_moid.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-asn_moid.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
-asn_moid.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-asn_moid.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-asn_moid.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-asn_moid.o: ../../include/openssl/opensslconf.h
+asn_moid.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+asn_moid.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+asn_moid.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+asn_moid.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+asn_moid.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
+asn_moid.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+asn_moid.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+asn_moid.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+asn_moid.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 asn_moid.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 asn_moid.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 asn_moid.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -386,10 +393,12 @@ asn_pack.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 asn_pack.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 asn_pack.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 asn_pack.o: ../../include/openssl/symhacks.h ../cryptlib.h asn_pack.c
-d2i_pr.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+d2i_pr.o: ../../e_os.h ../../include/openssl/asn1.h
+d2i_pr.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 d2i_pr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 d2i_pr.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 d2i_pr.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+d2i_pr.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 d2i_pr.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 d2i_pr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 d2i_pr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -397,10 +406,12 @@ d2i_pr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 d2i_pr.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 d2i_pr.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 d2i_pr.o: ../cryptlib.h d2i_pr.c
-d2i_pu.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+d2i_pu.o: ../../e_os.h ../../include/openssl/asn1.h
+d2i_pu.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 d2i_pu.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 d2i_pu.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 d2i_pu.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+d2i_pu.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 d2i_pu.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 d2i_pu.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 d2i_pu.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -441,10 +452,12 @@ f_string.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 f_string.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 f_string.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 f_string.o: ../../include/openssl/symhacks.h ../cryptlib.h f_string.c
-i2d_pr.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+i2d_pr.o: ../../e_os.h ../../include/openssl/asn1.h
+i2d_pr.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 i2d_pr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 i2d_pr.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 i2d_pr.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+i2d_pr.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 i2d_pr.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 i2d_pr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 i2d_pr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -452,10 +465,12 @@ i2d_pr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 i2d_pr.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 i2d_pr.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 i2d_pr.o: ../cryptlib.h i2d_pr.c
-i2d_pu.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+i2d_pu.o: ../../e_os.h ../../include/openssl/asn1.h
+i2d_pu.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 i2d_pu.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 i2d_pu.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 i2d_pu.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+i2d_pu.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 i2d_pu.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 i2d_pu.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 i2d_pu.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -468,7 +483,8 @@ n_pkey.o: ../../include/openssl/asn1_mac.h ../../include/openssl/asn1t.h
 n_pkey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
 n_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 n_pkey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-n_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+n_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+n_pkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 n_pkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 n_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 n_pkey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -481,7 +497,8 @@ nsseq.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
 nsseq.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
 nsseq.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 nsseq.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-nsseq.o: ../../include/openssl/e_os2.h ../../include/openssl/evp.h
+nsseq.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+nsseq.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h
 nsseq.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 nsseq.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 nsseq.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
@@ -494,6 +511,7 @@ p5_pbe.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 p5_pbe.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 p5_pbe.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 p5_pbe.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p5_pbe.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 p5_pbe.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 p5_pbe.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 p5_pbe.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -508,6 +526,7 @@ p5_pbev2.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 p5_pbev2.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 p5_pbev2.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 p5_pbev2.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p5_pbev2.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 p5_pbev2.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 p5_pbev2.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 p5_pbev2.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -522,6 +541,7 @@ p8_pkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 p8_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 p8_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 p8_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p8_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 p8_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 p8_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 p8_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -532,24 +552,28 @@ p8_pkey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 p8_pkey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 p8_pkey.o: ../cryptlib.h p8_pkey.c
 t_bitst.o: ../../e_os.h ../../include/openssl/asn1.h
-t_bitst.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-t_bitst.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-t_bitst.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-t_bitst.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-t_bitst.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-t_bitst.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-t_bitst.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-t_bitst.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-t_bitst.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-t_bitst.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-t_bitst.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-t_bitst.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-t_bitst.o: ../../include/openssl/x509v3.h ../cryptlib.h t_bitst.c
-t_crl.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+t_bitst.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+t_bitst.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+t_bitst.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+t_bitst.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+t_bitst.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+t_bitst.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+t_bitst.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+t_bitst.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+t_bitst.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+t_bitst.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+t_bitst.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+t_bitst.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+t_bitst.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+t_bitst.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
+t_bitst.o: ../cryptlib.h t_bitst.c
+t_crl.o: ../../e_os.h ../../include/openssl/asn1.h
+t_crl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 t_crl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 t_crl.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 t_crl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-t_crl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+t_crl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+t_crl.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 t_crl.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 t_crl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 t_crl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -559,20 +583,24 @@ t_crl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 t_crl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 t_crl.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 t_crl.o: ../cryptlib.h t_crl.c
-t_pkey.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+t_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
+t_pkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 t_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 t_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 t_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+t_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 t_pkey.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
 t_pkey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 t_pkey.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rsa.h
 t_pkey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 t_pkey.o: ../../include/openssl/symhacks.h ../cryptlib.h t_pkey.c
-t_req.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+t_req.o: ../../e_os.h ../../include/openssl/asn1.h
+t_req.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 t_req.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 t_req.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 t_req.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-t_req.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+t_req.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+t_req.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 t_req.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 t_req.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 t_req.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -582,10 +610,12 @@ t_req.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 t_req.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 t_req.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 t_req.o: ../cryptlib.h t_req.c
-t_spki.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+t_spki.o: ../../e_os.h ../../include/openssl/asn1.h
+t_spki.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 t_spki.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 t_spki.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 t_spki.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+t_spki.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 t_spki.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 t_spki.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 t_spki.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -595,11 +625,13 @@ t_spki.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 t_spki.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 t_spki.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 t_spki.o: ../cryptlib.h t_spki.c
-t_x509.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+t_x509.o: ../../e_os.h ../../include/openssl/asn1.h
+t_x509.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 t_x509.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 t_x509.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 t_x509.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-t_x509.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+t_x509.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+t_x509.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 t_x509.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 t_x509.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 t_x509.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -610,18 +642,20 @@ t_x509.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 t_x509.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 t_x509.o: ../cryptlib.h t_x509.c
 t_x509a.o: ../../e_os.h ../../include/openssl/asn1.h
-t_x509a.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-t_x509a.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-t_x509a.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-t_x509a.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-t_x509a.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-t_x509a.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-t_x509a.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-t_x509a.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
-t_x509a.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-t_x509a.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-t_x509a.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
-t_x509a.o: ../../include/openssl/x509_vfy.h ../cryptlib.h t_x509a.c
+t_x509a.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+t_x509a.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+t_x509a.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+t_x509a.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+t_x509a.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+t_x509a.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+t_x509a.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+t_x509a.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+t_x509a.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+t_x509a.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+t_x509a.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+t_x509a.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+t_x509a.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+t_x509a.o: ../cryptlib.h t_x509a.c
 tasn_dec.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
 tasn_dec.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
 tasn_dec.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
@@ -676,7 +710,8 @@ x_algor.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
 x_algor.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
 x_algor.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 x_algor.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x_algor.o: ../../include/openssl/e_os2.h ../../include/openssl/evp.h
+x_algor.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+x_algor.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h
 x_algor.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 x_algor.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 x_algor.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
@@ -690,6 +725,7 @@ x_attrib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 x_attrib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 x_attrib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 x_attrib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x_attrib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 x_attrib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 x_attrib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 x_attrib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -713,6 +749,7 @@ x_crl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 x_crl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 x_crl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 x_crl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x_crl.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 x_crl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 x_crl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 x_crl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -726,7 +763,8 @@ x_exten.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
 x_exten.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
 x_exten.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 x_exten.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x_exten.o: ../../include/openssl/e_os2.h ../../include/openssl/evp.h
+x_exten.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+x_exten.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h
 x_exten.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 x_exten.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 x_exten.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
@@ -735,10 +773,12 @@ x_exten.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 x_exten.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x_exten.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x_exten.o: x_exten.c
-x_info.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+x_info.o: ../../e_os.h ../../include/openssl/asn1.h
+x_info.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 x_info.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 x_info.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 x_info.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x_info.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 x_info.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 x_info.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 x_info.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -762,6 +802,7 @@ x_name.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 x_name.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 x_name.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 x_name.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x_name.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 x_name.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 x_name.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 x_name.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -772,24 +813,26 @@ x_name.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x_name.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x_name.o: ../cryptlib.h x_name.c
 x_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
-x_pkey.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h
-x_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-x_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-x_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-x_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-x_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-x_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-x_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-x_pkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-x_pkey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-x_pkey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-x_pkey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-x_pkey.o: ../cryptlib.h x_pkey.c
+x_pkey.o: ../../include/openssl/asn1_mac.h ../../include/openssl/asn1t.h
+x_pkey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+x_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+x_pkey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+x_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+x_pkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+x_pkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+x_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+x_pkey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+x_pkey.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+x_pkey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+x_pkey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+x_pkey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+x_pkey.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_pkey.c
 x_pubkey.o: ../../e_os.h ../../include/openssl/asn1.h
 x_pubkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 x_pubkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 x_pubkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 x_pubkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x_pubkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 x_pubkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 x_pubkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 x_pubkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -804,6 +847,7 @@ x_req.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 x_req.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 x_req.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 x_req.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x_req.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 x_req.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 x_req.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 x_req.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -818,6 +862,7 @@ x_sig.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 x_sig.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 x_sig.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 x_sig.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x_sig.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 x_sig.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 x_sig.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 x_sig.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -832,6 +877,7 @@ x_spki.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 x_spki.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 x_spki.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 x_spki.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x_spki.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 x_spki.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 x_spki.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 x_spki.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -846,6 +892,7 @@ x_val.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 x_val.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 x_val.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 x_val.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x_val.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 x_val.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 x_val.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 x_val.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -860,7 +907,8 @@ x_x509.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 x_x509.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 x_x509.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 x_x509.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x_x509.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+x_x509.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+x_x509.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 x_x509.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 x_x509.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 x_x509.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -875,6 +923,7 @@ x_x509a.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 x_x509a.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 x_x509a.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 x_x509a.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x_x509a.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 x_x509a.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 x_x509a.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 x_x509a.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
index d8474dc6851d499ce93fb2c811db1f10fe61cb45..83706353e1c89aca7085793328b031dec7cebc7b 100644 (file)
@@ -1006,6 +1006,7 @@ void ERR_load_ASN1_strings(void);
 #define ASN1_F_D2I_X509_PKEY                            159
 #define ASN1_F_I2D_ASN1_TIME                            160
 #define ASN1_F_I2D_DSA_PUBKEY                           161
+#define ASN1_F_I2D_ECDSA_PUBKEY                                 174
 #define ASN1_F_I2D_NETSCAPE_RSA                                 162
 #define ASN1_F_I2D_PRIVATEKEY                           163
 #define ASN1_F_I2D_PUBLICKEY                            164
index 591f55dde5ca337fdbde108ef71d0e67a4a33612..dd8fb347d4e42391c864fbc8d878c4d4b21c3919 100644 (file)
@@ -128,6 +128,7 @@ static ERR_STRING_DATA ASN1_str_functs[]=
 {ERR_PACK(0,ASN1_F_D2I_X509_PKEY,0),   "d2i_X509_PKEY"},
 {ERR_PACK(0,ASN1_F_I2D_ASN1_TIME,0),   "I2D_ASN1_TIME"},
 {ERR_PACK(0,ASN1_F_I2D_DSA_PUBKEY,0),  "i2d_DSA_PUBKEY"},
+{ERR_PACK(0,ASN1_F_I2D_ECDSA_PUBKEY,0),        "i2d_ECDSA_PUBKEY"},
 {ERR_PACK(0,ASN1_F_I2D_NETSCAPE_RSA,0),        "i2d_Netscape_RSA"},
 {ERR_PACK(0,ASN1_F_I2D_PRIVATEKEY,0),  "i2d_PrivateKey"},
 {ERR_PACK(0,ASN1_F_I2D_PUBLICKEY,0),   "i2d_PublicKey"},
index 2e7d96af904adcfee5ee2cdb14fbd4154812d8bd..d56e5fdc6e983511674d49f9cfb748561e0a1fa6 100644 (file)
@@ -68,6 +68,9 @@
 #ifndef OPENSSL_NO_DSA
 #include <openssl/dsa.h>
 #endif
+#ifndef OPENSSL_NO_ECDSA
+#include <openssl/ecdsa.h>
+#endif
 
 EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, unsigned char **pp,
             long length)
@@ -107,6 +110,16 @@ EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, unsigned char **pp,
                        goto err;
                        }
                break;
+#endif
+#ifndef OPENSSL_NO_ECDSA
+       case EVP_PKEY_ECDSA:
+               if ((ret->pkey.ecdsa = d2i_ECDSAPrivateKey(NULL, 
+                       (const unsigned char **)pp, length)) == NULL)
+                       {
+                       ASN1err(ASN1_F_D2I_PRIVATEKEY, ERR_R_ASN1_LIB);
+                       goto err;
+                       }
+               break;
 #endif
        default:
                ASN1err(ASN1_F_D2I_PRIVATEKEY,ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE);
@@ -138,7 +151,10 @@ EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, unsigned char **pp,
        /* Since we only need to discern "traditional format" RSA and DSA
         * keys we can just count the elements.
          */
-       if(sk_ASN1_TYPE_num(inkey) == 6) keytype = EVP_PKEY_DSA;
+       if(sk_ASN1_TYPE_num(inkey) == 6) 
+               keytype = EVP_PKEY_DSA;
+       else if (sk_ASN1_TYPE_num(inkey) == 4)
+               keytype = EVP_PKEY_ECDSA;
        else keytype = EVP_PKEY_RSA;
        sk_ASN1_TYPE_pop_free(inkey, ASN1_TYPE_free);
        return d2i_PrivateKey(keytype, a, pp, length);
index 71f2eb361bd48f183153017761354fbfea0ff2b2..81b5d0f8203810f97f52bf4224f122ed63755a57 100644 (file)
@@ -68,6 +68,9 @@
 #ifndef OPENSSL_NO_DSA
 #include <openssl/dsa.h>
 #endif
+#ifndef OPENSSL_NO_ECDSA
+#include <openssl/ecdsa.h>
+#endif
 
 EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, unsigned char **pp,
             long length)
@@ -100,13 +103,23 @@ EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, unsigned char **pp,
 #endif
 #ifndef OPENSSL_NO_DSA
        case EVP_PKEY_DSA:
-               if ((ret->pkey.dsa=d2i_DSAPublicKey(NULL,
+               if ((ret->pkey.dsa=d2i_DSAPublicKey(&(ret->pkey.dsa),
                        (const unsigned char **)pp,length)) == NULL) /* TMP UGLY CAST */
                        {
                        ASN1err(ASN1_F_D2I_PUBLICKEY,ERR_R_ASN1_LIB);
                        goto err;
                        }
                break;
+#endif
+#ifndef OPENSSL_NO_ECDSA
+       case EVP_PKEY_ECDSA:
+               if ((ret->pkey.ecdsa = d2i_ECDSAPublicKey(&(ret->pkey.ecdsa), 
+                       (const unsigned char **)pp, length)) == NULL)
+                       {
+                       ASN1err(ASN1_F_D2I_PUBLICKEY, ERR_R_ASN1_LIB);
+                       goto err;
+                       }
+       break;
 #endif
        default:
                ASN1err(ASN1_F_D2I_PUBLICKEY,ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE);
index 1e951ae01d3bc30c3583136bf8c894aa70475ead..a40c64d3f4991cbe0105f65331151687ede6da6b 100644 (file)
@@ -67,6 +67,9 @@
 #ifndef OPENSSL_NO_DSA
 #include <openssl/dsa.h>
 #endif
+#ifndef OPENSSL_NO_ECDSA
+#include <openssl/ecdsa.h>
+#endif
 
 int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp)
        {
@@ -83,6 +86,12 @@ int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp)
                return(i2d_DSAPrivateKey(a->pkey.dsa,pp));
                }
 #endif
+#ifndef OPENSSL_NO_ECDSA
+       if (a->type == EVP_PKEY_ECDSA)
+               {
+               return(i2d_ECDSAPrivateKey(a->pkey.ecdsa, pp));
+               }
+#endif
 
        ASN1err(ASN1_F_I2D_PRIVATEKEY,ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE);
        return(-1);
index 013d19bbf418b13205d5b968796dce056136cd28..2607734ebc63f66b1e9751255d4101564d092a71 100644 (file)
@@ -67,6 +67,9 @@
 #ifndef OPENSSL_NO_DSA
 #include <openssl/dsa.h>
 #endif
+#ifndef OPENSSL_NO_ECDSA
+#include <openssl/ecdsa.h>
+#endif
 
 int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp)
        {
@@ -79,6 +82,10 @@ int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp)
 #ifndef OPENSSL_NO_DSA
        case EVP_PKEY_DSA:
                return(i2d_DSAPublicKey(a->pkey.dsa,pp));
+#endif
+#ifndef OPENSSL_NO_ECDSA
+       case EVP_PKEY_ECDSA:
+               return(i2d_ECDSAPublicKey(a->pkey.ecdsa, pp));
 #endif
        default:
                ASN1err(ASN1_F_I2D_PUBLICKEY,ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE);
index 806011520219bb7693ded48645e2427a99f89bd7..ff644450a46ffde1131ad89d5f048b20357737be 100644 (file)
 #ifndef OPENSSL_NO_DSA
 #include <openssl/dsa.h>
 #endif
+#ifndef OPENSSL_NO_ECDSA
+#include <openssl/ecdsa.h>
+#endif
 
 static int print(BIO *fp,const char *str,BIGNUM *num,
                unsigned char *buf,int off);
 #ifndef OPENSSL_NO_RSA
 #ifndef OPENSSL_NO_FP_API
 int RSA_print_fp(FILE *fp, const RSA *x, int off)
-        {
-        BIO *b;
-        int ret;
+       {
+       BIO *b;
+       int ret;
 
-        if ((b=BIO_new(BIO_s_file())) == NULL)
+       if ((b=BIO_new(BIO_s_file())) == NULL)
                {
                RSAerr(RSA_F_RSA_PRINT_FP,ERR_R_BUF_LIB);
-                return(0);
+               return(0);
                }
-        BIO_set_fp(b,fp,BIO_NOCLOSE);
-        ret=RSA_print(b,x,off);
-        BIO_free(b);
-        return(ret);
-        }
+       BIO_set_fp(b,fp,BIO_NOCLOSE);
+       ret=RSA_print(b,x,off);
+       BIO_free(b);
+       return(ret);
+       }
 #endif
 
 int RSA_print(BIO *bp, const RSA *x, int off)
@@ -209,6 +212,139 @@ err:
        }
 #endif /* !OPENSSL_NO_DSA */
 
+#ifndef OPENSSL_NO_ECDSA
+#ifndef OPENSSL_NO_FP_API
+int ECDSA_print_fp(FILE *fp, const ECDSA *x, int off)
+{
+       BIO *b;
+       int ret;
+       if ((b=BIO_new(BIO_s_file())) == NULL)
+       {
+               ECDSAerr(ECDSA_F_ECDSA_PRINT_FP, ERR_R_BIO_LIB);
+               return(0);
+       }
+       BIO_set_fp(b, fp, BIO_NOCLOSE);
+       ret = ECDSA_print(b, x, off);
+       BIO_free(b);
+       return(ret);
+}
+#endif
+
+int ECDSA_print(BIO *bp, const ECDSA *x, int off)
+       {
+       char str[128];
+       unsigned char *buffer=NULL;
+       int     i, buf_len=0, ret=0, reason=ERR_R_BIO_LIB;
+       BIGNUM  *tmp_1=NULL, *tmp_2=NULL, *tmp_3=NULL,
+               *tmp_4=NULL, *tmp_5=NULL;
+       BN_CTX  *ctx=NULL;
+       EC_POINT *point=NULL;
+       /* TODO: fields other than prime fields */
+       
+       if (!x || !x->group)
+               {
+               reason = ECDSA_R_MISSING_PARAMETERS;
+               goto err;
+               }
+       if ((tmp_1 = BN_new()) == NULL || (tmp_2 = BN_new()) == NULL ||
+               (tmp_3 = BN_new()) == NULL || (ctx = BN_CTX_new()) == NULL)
+               {
+               reason = ERR_R_MALLOC_FAILURE;
+               goto err;
+               }
+       if (!EC_GROUP_get_curve_GFp(x->group, tmp_1, tmp_2, tmp_3, ctx))
+               {
+               reason = ERR_R_EC_LIB;
+               goto err;
+               }
+       if ((point = EC_GROUP_get0_generator(x->group)) == NULL)
+               {
+               reason = ERR_R_EC_LIB;
+               goto err;
+               }
+       if ((buf_len = EC_POINT_point2oct(x->group, point, POINT_CONVERSION_COMPRESSED, NULL, 0, ctx)) == 0)
+               {
+               reason = ECDSA_R_UNEXPECTED_PARAMETER_LENGTH;
+               goto err;
+               }
+       if ((buffer = OPENSSL_malloc(buf_len)) == NULL)
+               {
+               reason = ERR_R_MALLOC_FAILURE;
+               goto err;
+               }
+       if (!EC_POINT_point2oct(x->group, point, POINT_CONVERSION_COMPRESSED, 
+                               buffer, buf_len, ctx)) goto err;
+       if ((tmp_4 = BN_bin2bn(buffer, buf_len, NULL)) == NULL)
+               {
+               reason = ERR_R_BN_LIB;
+               goto err;
+               }
+       if ((i = EC_POINT_point2oct(x->group, x->pub_key, POINT_CONVERSION_COMPRESSED, NULL, 0, ctx)) == 0)
+               {
+               reason = ECDSA_R_UNEXPECTED_PARAMETER_LENGTH;
+               goto err;
+               }
+       if (i > buf_len && (buffer = OPENSSL_realloc(buffer, i)) == NULL)
+               {
+               reason = ERR_R_MALLOC_FAILURE;
+               buf_len = i;
+               goto err;
+               }
+       if (!EC_POINT_point2oct(x->group, x->pub_key, POINT_CONVERSION_COMPRESSED, 
+                               buffer, buf_len, ctx))
+               {
+               reason = ERR_R_EC_LIB;
+               goto err;
+               }
+       if ((tmp_5 = BN_bin2bn(buffer, buf_len, NULL)) == NULL)
+               {
+               reason = ERR_R_BN_LIB;
+               goto err;
+               }
+       if (tmp_1 != NULL)
+               i = BN_num_bytes(tmp_1)*2;
+       else
+               i=256;
+       if ((i + 10) > buf_len && (buffer = OPENSSL_realloc(buffer, i+10)) == NULL)
+               {
+               reason = ERR_R_MALLOC_FAILURE;
+               buf_len = i;
+               goto err;
+               }
+       if (off)
+               {
+               if (off > 128) off=128;
+               memset(str,' ',off);
+               }
+       if (x->priv_key != NULL)
+               {
+               if (off && (BIO_write(bp, str, off) <= 0)) goto err;
+               if (BIO_printf(bp, "Private-Key: (%d bit)\n", BN_num_bits(tmp_1)) <= 0) goto err;
+               }
+  
+       if ((x->priv_key != NULL) && !print(bp, "priv:", x->priv_key, buffer, off)) goto err;
+       if ((tmp_5 != NULL) && !print(bp, "pub: ", tmp_5, buffer, off)) goto err;
+       if ((tmp_1 != NULL) && !print(bp, "P:   ", tmp_1, buffer, off)) goto err;
+       if ((tmp_2 != NULL) && !print(bp, "A:   ", tmp_2, buffer, off)) goto err;
+       if ((tmp_3 != NULL) && !print(bp, "B:   ", tmp_3, buffer, off)) goto err;
+       if ((tmp_4 != NULL) && !print(bp, "Gen: ", tmp_4, buffer, off)) goto err;
+       ret=1;
+err:
+       if (!ret)
+               ECDSAerr(ECDSA_F_ECDSA_PRINT, reason);
+       if (tmp_1) BN_free(tmp_1);
+       if (tmp_2) BN_free(tmp_2);
+       if (tmp_3) BN_free(tmp_3);
+       if (tmp_4) BN_free(tmp_4);
+       if (tmp_5) BN_free(tmp_5);
+       if (ctx)   BN_CTX_free(ctx);
+       if (buffer != NULL) OPENSSL_free(buffer);
+       return(ret);
+       }
+#endif
+
 static int print(BIO *bp, const char *number, BIGNUM *num, unsigned char *buf,
             int off)
        {
@@ -262,20 +398,20 @@ static int print(BIO *bp, const char *number, BIGNUM *num, unsigned char *buf,
 #ifndef OPENSSL_NO_DH
 #ifndef OPENSSL_NO_FP_API
 int DHparams_print_fp(FILE *fp, const DH *x)
-        {
-        BIO *b;
-        int ret;
+       {
+       BIO *b;
+       int ret;
 
-        if ((b=BIO_new(BIO_s_file())) == NULL)
+       if ((b=BIO_new(BIO_s_file())) == NULL)
                {
                DHerr(DH_F_DHPARAMS_PRINT_FP,ERR_R_BUF_LIB);
-                return(0);
+               return(0);
                }
-        BIO_set_fp(b,fp,BIO_NOCLOSE);
-        ret=DHparams_print(b, x);
-        BIO_free(b);
-        return(ret);
-        }
+       BIO_set_fp(b,fp,BIO_NOCLOSE);
+       ret=DHparams_print(b, x);
+       BIO_free(b);
+       return(ret);
+       }
 #endif
 
 int DHparams_print(BIO *bp, const DH *x)
@@ -315,20 +451,20 @@ err:
 #ifndef OPENSSL_NO_DSA
 #ifndef OPENSSL_NO_FP_API
 int DSAparams_print_fp(FILE *fp, const DSA *x)
-        {
-        BIO *b;
-        int ret;
+       {
+       BIO *b;
+       int ret;
 
-        if ((b=BIO_new(BIO_s_file())) == NULL)
+       if ((b=BIO_new(BIO_s_file())) == NULL)
                {
                DSAerr(DSA_F_DSAPARAMS_PRINT_FP,ERR_R_BUF_LIB);
-                return(0);
+               return(0);
                }
-        BIO_set_fp(b,fp,BIO_NOCLOSE);
-        ret=DSAparams_print(b, x);
-        BIO_free(b);
-        return(ret);
-        }
+       BIO_set_fp(b,fp,BIO_NOCLOSE);
+       ret=DSAparams_print(b, x);
+       BIO_free(b);
+       return(ret);
+       }
 #endif
 
 int DSAparams_print(BIO *bp, const DSA *x)
@@ -359,3 +495,87 @@ err:
 
 #endif /* !OPENSSL_NO_DSA */
 
+#ifndef OPENSSL_NO_ECDSA
+#ifndef OPENSSL_NO_FP_API
+int ECDSAParameters_print_fp(FILE *fp, const ECDSA *x)
+       {
+       BIO *b;
+       int ret;
+       if ((b=BIO_new(BIO_s_file())) == NULL)
+       {
+               ECDSAerr(ECDSA_F_ECDSAPARAMETERS_PRINT_FP, ERR_R_BIO_LIB);
+               return(0);
+       }
+       BIO_set_fp(b, fp, BIO_NOCLOSE);
+       ret = ECDSAParameters_print(b, x);
+       BIO_free(b);
+       return(ret);
+       }
+#endif
+
+int ECDSAParameters_print(BIO *bp, const ECDSA *x)
+       {
+       unsigned char *buffer=NULL;
+       int     buf_len;
+       int     reason=ERR_R_EC_LIB, i, ret=0;
+       BIGNUM  *tmp_1=NULL, *tmp_2=NULL, *tmp_3=NULL, *tmp_4=NULL;
+       BN_CTX  *ctx=NULL;
+       EC_POINT *point=NULL;
+       /* TODO: fields other than prime fields */
+       if (!x || !x->group)
+       {
+               reason = ECDSA_R_MISSING_PARAMETERS;
+               goto err;
+       }
+       if ((tmp_1 = BN_new()) == NULL || (tmp_2 = BN_new()) == NULL ||
+          (tmp_3 = BN_new()) == NULL || (ctx = BN_CTX_new()) == NULL)
+       {
+               reason = ERR_R_MALLOC_FAILURE;
+               goto err;
+       }
+       if (!EC_GROUP_get_curve_GFp(x->group, tmp_1, tmp_2, tmp_3, ctx)) goto err;
+       if ((point = EC_GROUP_get0_generator(x->group)) == NULL) goto err;
+       buf_len = EC_POINT_point2oct(x->group, point, POINT_CONVERSION_COMPRESSED, NULL, 0, ctx);
+       if (!buf_len || (buffer = OPENSSL_malloc(buf_len)) == NULL)
+       {
+               reason = ERR_R_MALLOC_FAILURE;
+               goto err;
+       }
+       if (!EC_POINT_point2oct(x->group, point, POINT_CONVERSION_COMPRESSED, buffer, buf_len, ctx))
+       {
+               reason = ERR_R_EC_LIB;
+               goto err;
+       }
+       if ((tmp_4 = BN_bin2bn(buffer, buf_len, NULL)) == NULL)
+       {
+               reason = ERR_R_BN_LIB;
+               goto err;
+       }
+  
+       i = BN_num_bits(tmp_1) + 10;
+       if (i > buf_len && (buffer = OPENSSL_realloc(buffer, i)) == NULL)
+       {
+               reason=ERR_R_MALLOC_FAILURE;
+               goto err;
+       }
+       if (BIO_printf(bp, "ECDSA-Parameters: (%d bit)\n", BN_num_bits(tmp_1)) <= 0) goto err;
+       if (!print(bp, "Prime p:", tmp_1, buffer, 4)) goto err;
+       if (!print(bp, "Curve a:", tmp_2, buffer, 4)) goto err;
+       if (!print(bp, "Curve b:", tmp_3, buffer, 4)) goto err;
+       if (!print(bp, "Generator ( compressed ) :", tmp_4, buffer, 4)) goto err; 
+       ret=1;
+err:
+       if (tmp_1)  BN_free(tmp_1);
+       if (tmp_2)  BN_free(tmp_2);
+       if (tmp_3)  BN_free(tmp_3);
+       if (tmp_4)  BN_free(tmp_4);
+       if (ctx)    BN_CTX_free(ctx);
+       if (buffer) OPENSSL_free(buffer);
+       ECDSAerr(ECDSA_F_ECDSAPARAMETERS_PRINT, reason);
+       return(ret);
+       }
+  
+#endif
index 848c29a2dd3f22ad20d37658aca9d6906fc89366..bfa58cc967135f9c1edc766758bfdf4148d609a9 100644 (file)
@@ -134,6 +134,15 @@ int X509_REQ_print(BIO *bp, X509_REQ *x)
                }
        else
 #endif
+#ifndef OPENSSL_NO_ECDSA
+               if (pkey != NULL && pkey->type == EVP_PKEY_ECDSA)
+               {
+                       BIO_printf(bp, "%12sECDSA Public Key: \n","");
+                       ECDSA_print(bp, pkey->pkey.ecdsa, 16);
+               }
+       else
+#endif
+
                BIO_printf(bp,"%12sUnknown Public Key:\n","");
 
        if (pkey != NULL)
index 5abfbc815ea9e09a4949d0a0c6c4c7082fee7407..86821119d8aef99e449875ef0d67b2a4a356a0c7 100644 (file)
@@ -93,6 +93,15 @@ int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki)
                }
                else
 #endif
+#ifndef OPENSSL_NO_ECDSA
+               if (pkey->type == EVP_PKEY_ECDSA)
+               {
+                       BIO_printf(out, "  ECDSA Public Key:\n");
+                       ECDSA_print(out, pkey->pkey.ecdsa,2);
+               }
+               else
+#endif
+
                        BIO_printf(out,"  Unknown Public Key:\n");
                EVP_PKEY_free(pkey);
        }
index 5de4833ed0517d4d9f3102197c0fa2538bf7c230..ae6d5ce041863ba3cf8e0b93de1db6869d7bac9b 100644 (file)
@@ -66,6 +66,9 @@
 #ifndef OPENSSL_NO_DSA
 #include <openssl/dsa.h>
 #endif
+#ifndef OPENSSL_NO_ECDSA
+#include <openssl/ecdsa.h>
+#endif
 #include <openssl/objects.h>
 #include <openssl/x509.h>
 #include <openssl/x509v3.h>
@@ -228,6 +231,14 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
                        DSA_print(bp,pkey->pkey.dsa,16);
                        }
                else
+#endif
+#ifndef OPENSSL_NO_ECDSA
+               if (pkey->type == EVP_PKEY_ECDSA)
+                       {
+                       BIO_printf(bp, "%12sECDSA Public Key:\n","");
+                       ECDSA_print(bp, pkey->pkey.ecdsa, 16);
+                       }
+               else
 #endif
                        BIO_printf(bp,"%12sUnknown Public Key:\n","");
 
index 55630294b65bac218e8082a02fb691ddd2627dcb..227b0ce046bc94b9da4f8a0cd1bbbb808dca1127 100644 (file)
 
 /* Minor tweak to operation: free up EVP_PKEY */
 static int pubkey_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it)
-{
-       if(operation == ASN1_OP_FREE_POST) {
+       {
+       if (operation == ASN1_OP_FREE_POST)
+               {
                X509_PUBKEY *pubkey = (X509_PUBKEY *)*pval;
                EVP_PKEY_free(pubkey->pkey);
-       }
+               }
        return 1;
-}
+       }
 
 ASN1_SEQUENCE_cb(X509_PUBKEY, pubkey_cb) = {
        ASN1_SIMPLE(X509_PUBKEY, algor, X509_ALGOR),
@@ -108,13 +109,12 @@ int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
                        a->parameter->type=V_ASN1_NULL;
                        }
                }
-       else
 #ifndef OPENSSL_NO_DSA
-               if (pkey->type == EVP_PKEY_DSA)
+       else if (pkey->type == EVP_PKEY_DSA)
                {
                unsigned char *pp;
                DSA *dsa;
-
+               
                dsa=pkey->pkey.dsa;
                dsa->write_params=0;
                ASN1_TYPE_free(a->parameter);
@@ -128,8 +128,51 @@ int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
                ASN1_STRING_set(a->parameter->value.sequence,p,i);
                OPENSSL_free(p);
                }
-       else
 #endif
+#ifndef OPENSSL_NO_ECDSA
+       else if (pkey->type == EVP_PKEY_ECDSA)
+               {
+               unsigned char *pp;
+               ECDSA *ecdsa;
+               
+               ecdsa = pkey->pkey.ecdsa;
+               ecdsa->write_params=0;
+               ASN1_TYPE_free(a->parameter);
+               if ((i = i2d_ECDSAParameters(ecdsa, NULL)) == 0)
+                       {
+                       X509err(X509_F_X509_PUBKEY_SET, ERR_R_ECDSA_LIB);
+                       goto err;
+                       }
+               if ((p = (unsigned char *) OPENSSL_malloc(i)) == NULL)
+                       {
+                       X509err(X509_F_X509_PUBKEY_SET, ERR_R_MALLOC_FAILURE);
+                       goto err;
+                       }       
+               pp = p;
+               if (!i2d_ECDSAParameters(ecdsa, &pp))
+                       {
+                       X509err(X509_F_X509_PUBKEY_SET, ERR_R_ECDSA_LIB);
+                       OPENSSL_free(p);
+                       goto err;
+                       }
+               if ((a->parameter = ASN1_TYPE_new()) == NULL)
+                       {
+                       X509err(X509_F_X509_PUBKEY_SET, ERR_R_ASN1_LIB);
+                       OPENSSL_free(p);
+                       goto err;
+                       }
+               a->parameter->type = V_ASN1_SEQUENCE;
+               if ((a->parameter->value.sequence = ASN1_STRING_new()) == NULL)
+                       {
+                       X509err(X509_F_X509_PUBKEY_SET, ERR_R_ASN1_LIB);
+                       OPENSSL_free(p);
+                       goto err;
+                       }
+               ASN1_STRING_set(a->parameter->value.sequence, p, i);
+               OPENSSL_free(p);
+               }
+#endif
+       else if (1)
                {
                X509err(X509_F_X509_PUBKEY_SET,X509_R_UNSUPPORTED_ALGORITHM);
                goto err;
@@ -177,40 +220,79 @@ EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key)
        if (key == NULL) goto err;
 
        if (key->pkey != NULL)
-           {
-           CRYPTO_add(&key->pkey->references,1,CRYPTO_LOCK_EVP_PKEY);
-           return(key->pkey);
-           }
+               {
+               CRYPTO_add(&key->pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
+               return(key->pkey);
+               }
 
        if (key->public_key == NULL) goto err;
 
        type=OBJ_obj2nid(key->algor->algorithm);
-       p=key->public_key->data;
-        j=key->public_key->length;
-        if ((ret=d2i_PublicKey(type,NULL,&p,(long)j)) == NULL)
+       if ((ret = EVP_PKEY_new()) == NULL)
                {
-               X509err(X509_F_X509_PUBKEY_GET,X509_R_ERR_ASN1_LIB);
+               X509err(X509_F_X509_PUBKEY_GET, ERR_R_MALLOC_FAILURE);
                goto err;
                }
-       ret->save_parameters=0;
+       ret->type = EVP_PKEY_type(type);
 
-#ifndef OPENSSL_NO_DSA
+       /* the parameters must be extracted before the public key (ECDSA!) */
+       
        a=key->algor;
-       if (ret->type == EVP_PKEY_DSA)
+
+       if (0)
+               ;
+#ifndef OPENSSL_NO_DSA
+       else if (ret->type == EVP_PKEY_DSA)
                {
                if (a->parameter && (a->parameter->type == V_ASN1_SEQUENCE))
                        {
+                       if ((ret->pkey.dsa = DSA_new()) == NULL)
+                               {
+                               X509err(X509_F_X509_PUBKEY_GET, ERR_R_MALLOC_FAILURE);
+                               goto err;
+                               }
                        ret->pkey.dsa->write_params=0;
                        cp=p=a->parameter->value.sequence->data;
                        j=a->parameter->value.sequence->length;
-                       if (!d2i_DSAparams(&ret->pkey.dsa,&cp,(long)j))
+                       if (!d2i_DSAparams(&ret->pkey.dsa, &cp, (long)j))
                                goto err;
                        }
                ret->save_parameters=1;
                }
 #endif
-       key->pkey=ret;
-       CRYPTO_add(&ret->references,1,CRYPTO_LOCK_EVP_PKEY);
+#ifndef OPENSSL_NO_ECDSA
+       else if (ret->type == EVP_PKEY_ECDSA)
+               {
+               if (a->parameter && (a->parameter->type == V_ASN1_SEQUENCE))
+                       {
+                       if ((ret->pkey.ecdsa= ECDSA_new()) == NULL)
+                               {
+                               X509err(X509_F_X509_PUBKEY_GET, ERR_R_MALLOC_FAILURE);
+                               goto err;
+                               }
+                       ret->pkey.ecdsa->write_params = 0;
+                       cp = p = a->parameter->value.sequence->data;
+                       j = a->parameter->value.sequence->length;
+                       if (!d2i_ECDSAParameters(&ret->pkey.ecdsa, &cp, (long)j))
+                               {
+                               X509err(X509_F_X509_PUBKEY_GET, ERR_R_ECDSA_LIB);
+                               goto err;
+                               }
+                       }
+               ret->save_parameters = 1;
+               }
+#endif
+
+       p=key->public_key->data;
+        j=key->public_key->length;
+        if ((ret = d2i_PublicKey(type, &ret, &p, (long)j)) == NULL)
+               {
+               X509err(X509_F_X509_PUBKEY_GET, X509_R_ERR_ASN1_LIB);
+               goto err;
+               }
+
+       key->pkey = ret;
+       CRYPTO_add(&ret->references, 1, CRYPTO_LOCK_EVP_PKEY);
        return(ret);
 err:
        if (ret != NULL)
@@ -224,7 +306,7 @@ err:
 
 EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, unsigned char **pp,
             long length)
-{
+       {
        X509_PUBKEY *xpk;
        EVP_PKEY *pktmp;
        xpk = d2i_X509_PUBKEY(NULL, pp, length);
@@ -232,15 +314,16 @@ EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, unsigned char **pp,
        pktmp = X509_PUBKEY_get(xpk);
        X509_PUBKEY_free(xpk);
        if(!pktmp) return NULL;
-       if(a) {
+       if(a)
+               {
                EVP_PKEY_free(*a);
                *a = pktmp;
-       }
+               }
        return pktmp;
-}
+       }
 
 int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp)
-{
+       {
        X509_PUBKEY *xpk=NULL;
        int ret;
        if(!a) return 0;
@@ -248,7 +331,7 @@ int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp)
        ret = i2d_X509_PUBKEY(xpk, pp);
        X509_PUBKEY_free(xpk);
        return ret;
-}
+       }
 
 /* The following are equivalents but which return RSA and DSA
  * keys
@@ -256,75 +339,117 @@ int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp)
 #ifndef OPENSSL_NO_RSA
 RSA *d2i_RSA_PUBKEY(RSA **a, unsigned char **pp,
             long length)
-{
+       {
        EVP_PKEY *pkey;
        RSA *key;
        unsigned char *q;
        q = *pp;
        pkey = d2i_PUBKEY(NULL, &q, length);
-       if(!pkey) return NULL;
+       if (!pkey) return NULL;
        key = EVP_PKEY_get1_RSA(pkey);
        EVP_PKEY_free(pkey);
-       if(!key) return NULL;
+       if (!key) return NULL;
        *pp = q;
-       if(a) {
+       if (a)
+               {
                RSA_free(*a);
                *a = key;
-       }
+               }
        return key;
-}
+       }
 
 int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp)
-{
+       {
        EVP_PKEY *pktmp;
        int ret;
-       if(!a) return 0;
+       if (!a) return 0;
        pktmp = EVP_PKEY_new();
-       if(!pktmp) {
+       if (!pktmp)
+               {
                ASN1err(ASN1_F_I2D_RSA_PUBKEY, ERR_R_MALLOC_FAILURE);
                return 0;
-       }
+               }
        EVP_PKEY_set1_RSA(pktmp, a);
        ret = i2d_PUBKEY(pktmp, pp);
        EVP_PKEY_free(pktmp);
        return ret;
-}
+       }
 #endif
 
 #ifndef OPENSSL_NO_DSA
 DSA *d2i_DSA_PUBKEY(DSA **a, unsigned char **pp,
             long length)
-{
+       {
        EVP_PKEY *pkey;
        DSA *key;
        unsigned char *q;
        q = *pp;
        pkey = d2i_PUBKEY(NULL, &q, length);
-       if(!pkey) return NULL;
+       if (!pkey) return NULL;
        key = EVP_PKEY_get1_DSA(pkey);
        EVP_PKEY_free(pkey);
-       if(!key) return NULL;
+       if (!key) return NULL;
        *pp = q;
-       if(a) {
+       if (a)
+               {
                DSA_free(*a);
                *a = key;
-       }
+               }
        return key;
-}
+       }
 
 int i2d_DSA_PUBKEY(DSA *a, unsigned char **pp)
-{
+       {
        EVP_PKEY *pktmp;
        int ret;
        if(!a) return 0;
        pktmp = EVP_PKEY_new();
-       if(!pktmp) {
+       if(!pktmp)
+               {
                ASN1err(ASN1_F_I2D_DSA_PUBKEY, ERR_R_MALLOC_FAILURE);
                return 0;
-       }
+               }
        EVP_PKEY_set1_DSA(pktmp, a);
        ret = i2d_PUBKEY(pktmp, pp);
        EVP_PKEY_free(pktmp);
        return ret;
-}
+       }
+#endif
+
+#ifndef OPENSSL_NO_ECDSA
+ECDSA *d2i_ECDSA_PUBKEY(ECDSA **a, unsigned char **pp, long length)
+       {
+       EVP_PKEY *pkey;
+       ECDSA *key;
+       unsigned char *q;
+       q = *pp;
+       pkey = d2i_PUBKEY(NULL, &q, length);
+       if (!pkey) return(NULL);
+       key = EVP_PKEY_get1_ECDSA(pkey);
+       EVP_PKEY_free(pkey);
+       if (!key)  return(NULL);
+       *pp = q;
+       if (a)
+               {
+               ECDSA_free(*a);
+               *a = key;
+               }
+       return(key);
+       }
+
+int i2d_ECDSA_PUBKEY(ECDSA *a, unsigned char **pp)
+       {
+       EVP_PKEY *pktmp;
+       int ret;
+       if (!a) return(0);
+       if ((pktmp = EVP_PKEY_new()) == NULL)
+               {
+               ASN1err(ASN1_F_I2D_ECDSA_PUBKEY, ERR_R_MALLOC_FAILURE);
+               return(0);
+               }
+       EVP_PKEY_set1_ECDSA(pktmp, a);
+       ret = i2d_PUBKEY(pktmp, pp);
+       EVP_PKEY_free(pktmp);
+       return(ret);
+       }
 #endif
index 554d032007c3d33c09eaa14d8f92e7be779acb22..81cbbc0b5fb8aebf8a10fe774f0812cdfd688c9d 100644 (file)
@@ -110,14 +110,15 @@ conf_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
 conf_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 conf_lib.o: conf_lib.c
 conf_mall.o: ../../e_os.h ../../include/openssl/asn1.h
-conf_mall.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-conf_mall.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-conf_mall.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-conf_mall.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
-conf_mall.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-conf_mall.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-conf_mall.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-conf_mall.o: ../../include/openssl/objects.h
+conf_mall.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+conf_mall.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+conf_mall.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+conf_mall.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+conf_mall.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
+conf_mall.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+conf_mall.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+conf_mall.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+conf_mall.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 conf_mall.o: ../../include/openssl/opensslconf.h
 conf_mall.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 conf_mall.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
@@ -127,14 +128,15 @@ conf_mall.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 conf_mall.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 conf_mall.o: ../cryptlib.h conf_mall.c
 conf_mod.o: ../../e_os.h ../../include/openssl/asn1.h
-conf_mod.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-conf_mod.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-conf_mod.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-conf_mod.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
-conf_mod.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-conf_mod.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-conf_mod.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-conf_mod.o: ../../include/openssl/opensslconf.h
+conf_mod.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+conf_mod.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+conf_mod.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+conf_mod.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+conf_mod.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
+conf_mod.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+conf_mod.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+conf_mod.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+conf_mod.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 conf_mod.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 conf_mod.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 conf_mod.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
index 9dddf8dd619ac90613f53fbb6dee37acfc283b5f..16a09d7f25e584e2e78be478c75b3a64f9ace85c 100644 (file)
@@ -112,10 +112,12 @@ dh_gen.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 dh_gen.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
 dh_gen.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 dh_gen.o: ../cryptlib.h dh_gen.c
-dh_key.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+dh_key.o: ../../e_os.h ../../include/openssl/asn1.h
+dh_key.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 dh_key.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 dh_key.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 dh_key.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+dh_key.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 dh_key.o: ../../include/openssl/engine.h ../../include/openssl/err.h
 dh_key.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 dh_key.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
@@ -123,10 +125,12 @@ dh_key.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 dh_key.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 dh_key.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 dh_key.o: ../cryptlib.h dh_key.c
-dh_lib.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+dh_lib.o: ../../e_os.h ../../include/openssl/asn1.h
+dh_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 dh_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 dh_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 dh_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+dh_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 dh_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h
 dh_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 dh_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
index e780ee429b91aa04078ef73bd10541285c8a768f..2680a1069db4a43faa224c535900cc4cfbd00e62 100644 (file)
@@ -121,49 +121,54 @@ dsa_key.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
 dsa_key.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 dsa_key.o: ../cryptlib.h dsa_key.c
 dsa_lib.o: ../../e_os.h ../../include/openssl/asn1.h
-dsa_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-dsa_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-dsa_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-dsa_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-dsa_lib.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-dsa_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-dsa_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
-dsa_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-dsa_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-dsa_lib.o: ../../include/openssl/ui.h ../cryptlib.h dsa_lib.c
+dsa_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+dsa_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+dsa_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+dsa_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+dsa_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+dsa_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+dsa_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+dsa_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+dsa_lib.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
+dsa_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+dsa_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+dsa_lib.o: ../cryptlib.h dsa_lib.c
 dsa_ossl.o: ../../e_os.h ../../include/openssl/asn1.h
-dsa_ossl.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-dsa_ossl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-dsa_ossl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-dsa_ossl.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-dsa_ossl.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-dsa_ossl.o: ../../include/openssl/opensslconf.h
+dsa_ossl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+dsa_ossl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+dsa_ossl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+dsa_ossl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+dsa_ossl.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+dsa_ossl.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+dsa_ossl.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 dsa_ossl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 dsa_ossl.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 dsa_ossl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 dsa_ossl.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 dsa_ossl.o: ../cryptlib.h dsa_ossl.c
 dsa_sign.o: ../../e_os.h ../../include/openssl/asn1.h
-dsa_sign.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-dsa_sign.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-dsa_sign.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-dsa_sign.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-dsa_sign.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-dsa_sign.o: ../../include/openssl/opensslconf.h
+dsa_sign.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+dsa_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+dsa_sign.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+dsa_sign.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+dsa_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+dsa_sign.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+dsa_sign.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 dsa_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 dsa_sign.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 dsa_sign.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 dsa_sign.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 dsa_sign.o: ../cryptlib.h dsa_sign.c
 dsa_vrf.o: ../../e_os.h ../../include/openssl/asn1.h
-dsa_vrf.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h
-dsa_vrf.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-dsa_vrf.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-dsa_vrf.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-dsa_vrf.o: ../../include/openssl/engine.h ../../include/openssl/err.h
-dsa_vrf.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
-dsa_vrf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-dsa_vrf.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
-dsa_vrf.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-dsa_vrf.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
-dsa_vrf.o: ../cryptlib.h dsa_vrf.c
+dsa_vrf.o: ../../include/openssl/asn1_mac.h ../../include/openssl/asn1t.h
+dsa_vrf.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+dsa_vrf.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+dsa_vrf.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+dsa_vrf.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+dsa_vrf.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+dsa_vrf.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
+dsa_vrf.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+dsa_vrf.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
+dsa_vrf.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+dsa_vrf.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+dsa_vrf.o: ../../include/openssl/ui.h ../cryptlib.h dsa_vrf.c
index 45b0ec33a0ba370c3b732bd4c91d3ff185592c06..3daeb19509e43078e13704260295b13ddd6a76f7 100644 (file)
@@ -1,6 +1,6 @@
 /* crypto/ec/ec_cvt.c */
 /* ====================================================================
- * Copyright (c) 1998-2001 The OpenSSL Project.  All rights reserved.
+ * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
index 986205088747d58b15d549bbfaf3e6542da8d108..2199d92539e78fc748fc6acbfd895873b3041eda 100644 (file)
@@ -1,6 +1,6 @@
 /* crypto/ec/ec_err.c */
 /* ====================================================================
- * Copyright (c) 1999 The OpenSSL Project.  All rights reserved.
+ * Copyright (c) 2001 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
index 5cbc6874d2f7c4e7f39de8e818360343514628e7..2b1e49182e3ea2b53f9e1302073ba125032d5e30 100644 (file)
@@ -1,6 +1,6 @@
 /* crypto/ec/ec_lib.c */
 /* ====================================================================
- * Copyright (c) 1998-2001 The OpenSSL Project.  All rights reserved.
+ * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
diff --git a/crypto/ecdsa/.cvsignore b/crypto/ecdsa/.cvsignore
new file mode 100644 (file)
index 0000000..c6d03a9
--- /dev/null
@@ -0,0 +1,2 @@
+lib
+Makefile.save
diff --git a/crypto/ecdsa/Makefile.ssl b/crypto/ecdsa/Makefile.ssl
new file mode 100644 (file)
index 0000000..d0166d0
--- /dev/null
@@ -0,0 +1,174 @@
+#
+# crypto/ecdsa/Makefile
+#
+
+DIR=   ecdsa
+TOP=   ../..
+CC=    cc
+INCLUDES= -I.. -I$(TOP) -I../../include
+CFLAG=-g -Wall
+INSTALL_PREFIX=
+OPENSSLDIR=     /usr/local/ssl
+INSTALLTOP=/usr/local/ssl
+MAKE=          make -f Makefile.ssl
+MAKEDEPPROG=   makedepend
+MAKEDEPEND=    $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
+MAKEFILE=      Makefile.ssl
+AR=            ar r
+
+CFLAGS= $(INCLUDES) $(CFLAG)
+
+GENERAL=Makefile
+TEST=ecdsatest.c
+APPS=
+
+LIB=$(TOP)/libcrypto.a
+LIBSRC=        ecs_lib.c ecs_gen.c ecs_asn1.c ecs_ossl.c ecs_sign.c ecs_vrf.c \
+       ecs_key.c ecs_err.c 
+
+LIBOBJ=        ecs_lib.o ecs_gen.o ecs_asn1.o ecs_ossl.o ecs_sign.o ecs_vrf.o \
+       ecs_key.o ecs_err.o 
+
+SRC= $(LIBSRC)
+
+EXHEADER= ecdsa.h
+HEADER=        ecs_locl.h $(EXHEADER)
+
+ALL=    $(GENERAL) $(SRC) $(HEADER)
+
+top:
+       (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)
+
+all:   lib
+
+lib:   $(LIBOBJ)
+       $(AR) $(LIB) $(LIBOBJ)
+       $(RANLIB) $(LIB) || echo Never mind.
+       @touch lib
+
+files:
+       $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
+
+links:
+       @$(TOP)/util/point.sh Makefile.ssl Makefile
+       @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
+       @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
+       @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
+
+install:
+       @for i in $(EXHEADER) ; \
+       do  \
+       (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
+       chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
+       done;
+
+tags:
+       ctags $(SRC)
+
+tests:
+
+lint:
+       lint -DLINT $(INCLUDES) $(SRC)>fluff
+
+depend:
+       $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
+
+dclean:
+       $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
+       mv -f Makefile.new $(MAKEFILE)
+
+clean:
+       rm -f *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+ecs_asn1.o: ../../e_os.h ../../include/openssl/asn1.h
+ecs_asn1.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+ecs_asn1.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+ecs_asn1.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ecs_asn1.o: ../../include/openssl/ec.h ../../include/openssl/err.h
+ecs_asn1.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ecs_asn1.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ecs_asn1.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+ecs_asn1.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+ecs_asn1.o: ../../include/openssl/symhacks.h ../cryptlib.h ecdsa.h ecs_asn1.c
+ecs_asn1.o: ecs_locl.h
+ecs_err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+ecs_err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+ecs_err.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ecs_err.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+ecs_err.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
+ecs_err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+ecs_err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
+ecs_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+ecs_err.o: ecs_err.c
+ecs_gen.o: ../../e_os.h ../../include/openssl/asn1.h
+ecs_gen.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+ecs_gen.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+ecs_gen.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ecs_gen.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+ecs_gen.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+ecs_gen.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ecs_gen.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ecs_gen.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+ecs_gen.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
+ecs_gen.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+ecs_gen.o: ../../include/openssl/symhacks.h ../cryptlib.h ecs_gen.c
+ecs_key.o: ../../e_os.h ../../include/openssl/asn1.h
+ecs_key.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+ecs_key.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+ecs_key.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ecs_key.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+ecs_key.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
+ecs_key.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+ecs_key.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
+ecs_key.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+ecs_key.o: ../cryptlib.h ecs_key.c
+ecs_lib.o: ../../e_os.h ../../include/openssl/asn1.h
+ecs_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+ecs_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+ecs_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+ecs_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+ecs_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+ecs_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+ecs_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+ecs_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+ecs_lib.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
+ecs_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+ecs_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+ecs_lib.o: ../cryptlib.h ecdsa.h ecs_lib.c ecs_locl.h
+ecs_ossl.o: ../../e_os.h ../../include/openssl/asn1.h
+ecs_ossl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+ecs_ossl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+ecs_ossl.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ecs_ossl.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+ecs_ossl.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
+ecs_ossl.o: ../../include/openssl/opensslconf.h
+ecs_ossl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+ecs_ossl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+ecs_ossl.o: ../../include/openssl/symhacks.h ../cryptlib.h ecs_ossl.c
+ecs_sign.o: ../../e_os.h ../../include/openssl/asn1.h
+ecs_sign.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+ecs_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+ecs_sign.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+ecs_sign.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+ecs_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+ecs_sign.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+ecs_sign.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+ecs_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+ecs_sign.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
+ecs_sign.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+ecs_sign.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+ecs_sign.o: ../cryptlib.h ecs_sign.c
+ecs_vrf.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+ecs_vrf.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+ecs_vrf.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+ecs_vrf.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+ecs_vrf.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+ecs_vrf.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+ecs_vrf.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+ecs_vrf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+ecs_vrf.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
+ecs_vrf.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+ecs_vrf.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+ecs_vrf.o: ecs_vrf.c
diff --git a/crypto/ecdsa/ecdsa.h b/crypto/ecdsa/ecdsa.h
new file mode 100644 (file)
index 0000000..ca1ca64
--- /dev/null
@@ -0,0 +1,266 @@
+/* crypto/ecdsa/ecdsa.h */
+/* ====================================================================
+ * Copyright (c) 2000-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+#ifndef HEADER_ECDSA_H
+#define HEADER_ECDSA_H
+
+#ifdef OPENSSL_NO_ECDSA
+#error ECDSA is disabled.
+#endif
+
+#ifndef OPENSSL_NO_BIO
+#include <openssl/bio.h>
+#endif
+#include <openssl/bn.h>
+#include <openssl/ec.h>
+#include <openssl/crypto.h>
+#include <openssl/ossl_typ.h>
+#include <openssl/asn1.h>
+#include <openssl/asn1t.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct ecdsa_st ECDSA;
+
+typedef struct ECDSA_SIG_st
+{
+       BIGNUM *r;
+       BIGNUM *s;
+} ECDSA_SIG;
+
+typedef struct ecdsa_method 
+{
+       const char *name;
+       ECDSA_SIG *(*ecdsa_do_sign)(const unsigned char *dgst, int dgst_len, ECDSA *ecdsa);
+       int (*ecdsa_sign_setup)(ECDSA *ecdsa, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **r);
+       int (*ecdsa_do_verify)(const unsigned char *dgst, int dgst_len, ECDSA_SIG *sig, ECDSA *ecdsa);
+       int (*init)(ECDSA *ecdsa);
+       int (*finish)(ECDSA *ecdsa);
+       int flags;
+       char *app_data;
+} ECDSA_METHOD;
+
+#define ECDSA_FLAG_NAMED_CURVE 1
+#define ECDSA_FLAG_IMPLICITLYCA        2
+
+struct ecdsa_st
+{
+       int version;
+       int write_params;
+
+       EC_GROUP *group;
+
+       EC_POINT *pub_key;
+       BIGNUM   *priv_key;
+
+       BIGNUM   *kinv; /* signing pre-calc */
+       BIGNUM   *r;    /* signing pre-calc */
+
+       unsigned char *seed;    /* seed for curve generation */
+       unsigned int  seed_len; 
+
+       int     parameter_flags;
+
+       int     references;
+       int     flags;
+       CRYPTO_EX_DATA ex_data;
+       const ECDSA_METHOD *meth;
+       struct engine_st *engine;
+};
+
+ECDSA_SIG *ECDSA_SIG_new(void);
+void     ECDSA_SIG_free(ECDSA_SIG *a);
+int      i2d_ECDSA_SIG(const ECDSA_SIG *a, unsigned char **pp);
+ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **v, const unsigned char **pp, long length);
+
+ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, const int dgst_len, ECDSA *ecdsa);
+int      ECDSA_do_verify(const unsigned char *dgst, const int dgst_len, ECDSA_SIG *sig, ECDSA* ecdsa);
+int      ECDSA_generate_key(ECDSA *ecdsa);
+int      ECDSA_check_key(ECDSA *ecdsa);
+
+const ECDSA_METHOD *ECDSA_OpenSSL(void);
+
+void     ECDSA_set_default_method(const ECDSA_METHOD *);
+const ECDSA_METHOD *ECDSA_get_default_openssl_method(void);
+int      ECDSA_set_method(ECDSA *, const ECDSA_METHOD *);
+
+ECDSA    *ECDSA_new();
+ECDSA    *ECDSA_new_method(ENGINE *engine);
+int      ECDSA_size(const ECDSA *);
+int      ECDSA_sign_setup(ECDSA *ecdsa, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **rp);
+int      ECDSA_sign(int type, const unsigned char *dgst, int dgst_len, unsigned char *sig, 
+                    unsigned int *siglen, ECDSA *ecdsa);
+int      ECDSA_verify(int type, const unsigned char *dgst, int dgst_len, const unsigned char *sig,
+                      const int sig_len, ECDSA *ecdsa);
+int      ECDSA_up_ref(ECDSA *ecdsa);
+void     ECDSA_free(ECDSA *a);
+int      ECDSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
+                                CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
+int      ECDSA_set_ex_data(ECDSA *d, int idx, void *arg);
+void     *ECDSA_get_ex_data(ECDSA *d, int idx);
+
+#ifndef OPENSSL_NO_BIO
+int    ECDSAParameters_print(BIO *bp, const ECDSA *x);
+int    ECDSA_print(BIO *bp, const ECDSA *x, int off);
+#endif
+#ifndef OPENSSL_NO_FP_API
+int    ECDSAParameters_print_fp(FILE *fp, const ECDSA *x);
+int    ECDSA_print_fp(FILE *fp, const ECDSA *x, int off);
+#endif 
+
+void   ECDSA_set_parameter_flags(ECDSA *, int);
+int    ECDSA_get_parameter_flags(const ECDSA*);
+
+/* the basic de- and encode functions ( see ecs_asn1.c ) */
+ECDSA   *d2i_ECDSAParameters(ECDSA **a, const unsigned char **in, long len);
+int     i2d_ECDSAParameters(ECDSA *a, unsigned char **out);
+
+ECDSA   *d2i_ECDSAPrivateKey(ECDSA **a, const unsigned char **in, long len);
+int     i2d_ECDSAPrivateKey(ECDSA *a, unsigned char **out);
+
+ECDSA   *d2i_ECDSAPublicKey(ECDSA **a, const unsigned char **in, long len);
+int     i2d_ECDSAPublicKey(ECDSA *a, unsigned char **out);
+
+
+#define ECDSAParameters_dup(x) (ECDSA *)ASN1_dup((int (*)())i2d_ECDSAParameters, \
+               (char *(*)())d2i_ECDSAParameters,(char *)(x))
+#define d2i_ECDSAParameters_fp(fp,x) (ECDSA *)ASN1_d2i_fp((char *(*)())ECDSA_new, \
+               (char *(*)())d2i_ECDSAParameters,(fp),(unsigned char **)(x))
+#define i2d_ECDSAParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECDSAParameters,(fp), \
+               (unsigned char *)(x))
+#define d2i_ECDSAParameters_bio(bp,x) (ECDSA *)ASN1_d2i_bio((char *(*)())ECDSA_new, \
+               (char *(*)())d2i_ECDSAParameters,(bp),(unsigned char **)(x))
+#define i2d_ECDSAParameters_bio(bp,x) ASN1_i2d_bio(i2d_ECDSAParameters,(bp), \
+               (unsigned char *)(x))
+
+/* BEGIN ERROR CODES */
+/* The following lines are auto generated by the script mkerr.pl. Any changes
+ * made after this point may be overwritten when the script is next run.
+ */
+
+/* Error codes for the ECDSA functions. */
+
+/* Function codes. */
+#define ECDSA_F_D2I_ECDSAPARAMETERS                     100
+#define ECDSA_F_D2I_ECDSAPRIVATEKEY                     101
+#define ECDSA_F_ECDSAPARAMETERS_PRINT                   102
+#define ECDSA_F_ECDSAPARAMETERS_PRINT_FP                103
+#define ECDSA_F_ECDSA_DO_SIGN                           104
+#define ECDSA_F_ECDSA_DO_VERIFY                                 105
+#define ECDSA_F_ECDSA_GENERATE_KEY                      106
+#define ECDSA_F_ECDSA_GET                               107
+#define ECDSA_F_ECDSA_GET_CURVE_NID                     120
+#define ECDSA_F_ECDSA_GET_ECDSA                                 121
+#define ECDSA_F_ECDSA_GET_EC_PARAMETERS                         122
+#define ECDSA_F_ECDSA_GET_X9_62_CURVE                   108
+#define ECDSA_F_ECDSA_GET_X9_62_EC_PARAMETERS           109
+#define ECDSA_F_ECDSA_GET_X9_62_FIELDID                         110
+#define ECDSA_F_ECDSA_NEW                               111
+#define ECDSA_F_ECDSA_PRINT                             112
+#define ECDSA_F_ECDSA_PRINT_FP                          113
+#define ECDSA_F_ECDSA_SET_GROUP_P                       114
+#define ECDSA_F_ECDSA_SET_PRIME_GROUP                   123
+#define ECDSA_F_ECDSA_SIGN_SETUP                        115
+#define ECDSA_F_I2D_ECDSAPARAMETERS                     116
+#define ECDSA_F_I2D_ECDSAPRIVATEKEY                     117
+#define ECDSA_F_I2D_ECDSAPUBLICKEY                      118
+#define ECDSA_F_SIG_CB                                  119
+
+/* Reason codes. */
+#define ECDSA_R_BAD_SIGNATURE                           100
+#define ECDSA_R_CAN_NOT_GET_GENERATOR                   101
+#define ECDSA_R_D2I_ECDSAPRIVATEKEY_MISSING_PRIVATE_KEY         102
+#define ECDSA_R_D2I_ECDSA_PRIVATEKEY_FAILURE            103
+#define ECDSA_R_D2I_EC_PARAMETERS_FAILURE               133
+#define ECDSA_R_D2I_X9_62_EC_PARAMETERS_FAILURE                 104
+#define ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE             105
+#define ECDSA_R_ECDSAPRIVATEKEY_NEW_FAILURE             106
+#define ECDSA_R_ECDSA_F_ECDSA_NEW                       107
+#define ECDSA_R_ECDSA_GET_EC_PARAMETERS_FAILURE                 134
+#define ECDSA_R_ECDSA_GET_FAILURE                       108
+#define ECDSA_R_ECDSA_GET_X9_62_CURVE_FAILURE           109
+#define ECDSA_R_ECDSA_GET_X9_62_EC_PARAMETERS_FAILURE   110
+#define ECDSA_R_ECDSA_GET_X9_62_FIELDID_FAILURE                 111
+#define ECDSA_R_ECDSA_NEW_FAILURE                       112
+#define ECDSA_R_ECDSA_R_D2I_EC_PARAMETERS_FAILURE       135
+#define ECDSA_R_ECDSA_R_D2I_X9_62_EC_PARAMETERS_FAILURE         113
+#define ECDSA_R_ECPARAMETERS2ECDSA_FAILURE              138
+#define ECDSA_R_EC_GROUP_NID2CURVE_FAILURE              136
+#define ECDSA_R_ERR_EC_LIB                              114
+#define ECDSA_R_I2D_ECDSA_PRIVATEKEY                    115
+#define ECDSA_R_I2D_ECDSA_PUBLICKEY                     116
+#define ECDSA_R_MISSING_PARAMETERS                      117
+#define ECDSA_R_NOT_SUPPORTED                           118
+#define ECDSA_R_NO_CURVE_PARAMETER_A_SPECIFIED          119
+#define ECDSA_R_NO_CURVE_PARAMETER_B_SPECIFIED          120
+#define ECDSA_R_NO_CURVE_SPECIFIED                      121
+#define ECDSA_R_NO_FIELD_SPECIFIED                      122
+#define ECDSA_R_PRIME_MISSING                           123
+#define ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED                 124
+#define ECDSA_R_SIGNATURE_MALLOC_FAILED                         125
+#define ECDSA_R_UNEXPECTED_ASN1_TYPE                    126
+#define ECDSA_R_UNEXPECTED_PARAMETER                    127
+#define ECDSA_R_UNEXPECTED_PARAMETER_LENGTH             128
+#define ECDSA_R_UNEXPECTED_VERSION_NUMER                129
+#define ECDSA_R_UNKNOWN_PARAMETERS_TYPE                         137
+#define ECDSA_R_WRONG_FIELD_IDENTIFIER                  130
+#define ECDSA_R_X9_62_CURVE_NEW_FAILURE                         131
+#define ECDSA_R_X9_62_EC_PARAMETERS_NEW_FAILURE                 132
+
+#ifdef  __cplusplus
+}
+#endif
+#endif
diff --git a/crypto/ecdsa/ecdsatest.c b/crypto/ecdsa/ecdsatest.c
new file mode 100644 (file)
index 0000000..1f2cef0
--- /dev/null
@@ -0,0 +1,692 @@
+/* crypto/ecdsa/ecdsatest.c */
+/* ====================================================================
+ * Copyright (c) 2000-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <openssl/crypto.h>
+#include <openssl/bio.h>
+#include <openssl/evp.h>
+#include <openssl/x509.h>
+#include <openssl/ecdsa.h>
+#include <openssl/engine.h>
+#include <openssl/err.h>
+
+#ifdef CLOCKS_PER_SEC
+       /* "To determine the time in seconds, the value returned
+        * by the clock function should be divided by the value
+        * of the macro CLOCKS_PER_SEC."
+        *                                       -- ISO/IEC 9899 */
+#      define UNIT "s"
+#else
+       /* "`CLOCKS_PER_SEC' undeclared (first use this function)"
+        *                            -- cc on NeXTstep/OpenStep */
+#      define UNIT "units"
+#      define CLOCKS_PER_SEC 1
+#endif
+
+#ifdef OPENSSL_NO_ECDSA
+int main(int argc, char * argv[]) { puts("Elliptic curves are disabled."); return 0; }
+#else
+
+static BIO *bio_err=NULL;
+static const char rnd_seed[] = "string to make the random number generator think it has entropy";
+
+#define        ECDSA_NIST_TESTS        10
+ECDSA_SIG*     signatures[ECDSA_NIST_TESTS];
+unsigned char  digest[ECDSA_NIST_TESTS][20];
+
+void clear_ecdsa(ECDSA *ecdsa)
+{
+       if (!ecdsa)
+               return;
+       if (ecdsa->group)
+       {
+               EC_GROUP_free(ecdsa->group);
+               ecdsa->group = NULL;
+       }
+       if (ecdsa->pub_key)
+       {
+               EC_POINT_free(ecdsa->pub_key);
+               ecdsa->pub_key = NULL;
+       }
+       if (ecdsa->priv_key)
+       {
+               BN_free(ecdsa->priv_key);
+               ecdsa->priv_key = NULL;
+       }
+}
+
+int set_p192_param(ECDSA *ecdsa)
+{
+       BN_CTX   *ctx=NULL;
+       int      ret=0;
+
+       if (!ecdsa)
+               return 0;
+       if ((ctx = BN_CTX_new()) == NULL) goto err;
+       clear_ecdsa(ecdsa);
+       
+       if ((ecdsa->group = EC_GROUP_get_group_by_name(EC_GROUP_X9_62_PRIME_192V1)) == NULL)
+       {
+               BIO_printf(bio_err,"ECDSA_SET_GROUP_P_192_V1() failed \n");
+               goto err;
+       }
+       if ((ecdsa->pub_key = EC_POINT_new(ecdsa->group)) == NULL)
+       {
+               BIO_printf(bio_err,"EC_POINT_new failed \n");
+               goto err;
+       }
+
+       if (!BN_dec2bn(&(ecdsa->priv_key), "651056770906015076056810763456358567190100156695615665659"))        goto err;
+       if (!EC_POINT_mul(ecdsa->group,ecdsa->pub_key,ecdsa->priv_key,NULL,NULL,ctx))
+       {
+               BIO_printf(bio_err,"EC_POINT_mul() failed \n");
+               goto err;
+       }
+       ret = 1;
+
+err :  if (ctx)        BN_CTX_free(ctx);
+       return ret;
+}
+
+int set_p239_param(ECDSA *ecdsa)
+{
+       BN_CTX   *ctx=NULL;
+       int      ret=0;
+
+       if (!ecdsa)
+               return 0;
+       if ((ctx = BN_CTX_new()) == NULL) goto err;
+       clear_ecdsa(ecdsa);
+       
+       if ((ecdsa->group = EC_GROUP_get_group_by_name(EC_GROUP_X9_62_PRIME_239V1)) == NULL)
+       {
+               BIO_printf(bio_err,"ECDSA_SET_GROUP_P_239_V1() failed \n");
+               goto err;
+       }
+       if ((ecdsa->pub_key = EC_POINT_new(ecdsa->group)) == NULL)
+       {
+               BIO_printf(bio_err,"EC_POINT_new failed \n");
+               goto err;
+       }
+
+       if (!BN_dec2bn(&(ecdsa->priv_key), "876300101507107567501066130761671078357010671067781776716671676178726717")) goto err;
+       if (!EC_POINT_mul(ecdsa->group,ecdsa->pub_key,ecdsa->priv_key,NULL,NULL,ctx))
+       {
+               BIO_printf(bio_err,"EC_POINT_mul() failed \n");
+               goto err;
+       }
+       ret = 1;
+
+err :  if (ctx)        BN_CTX_free(ctx);
+       return ret;
+}
+
+int test_sig_vrf(ECDSA *ecdsa, const unsigned char* dgst)
+{
+        int       ret=0,type=0;
+        unsigned char *buffer=NULL;
+        unsigned int  buf_len;
+        clock_t  time;
+        if (!ecdsa || !ecdsa->group || !ecdsa->pub_key || !ecdsa->priv_key)
+                return 0;
+        if ((buf_len = ECDSA_size(ecdsa)) == 0)
+        {
+                BIO_printf(bio_err, "ECDSA_size() == 0 \n");
+                goto err;
+        }
+        if ((buffer = OPENSSL_malloc(buf_len)) == NULL)
+                goto err;
+        time = clock();
+        if (!ECDSA_sign(type, dgst , 20, buffer, &buf_len, ecdsa))
+        {
+                BIO_printf(bio_err, "ECDSA_sign() FAILED \n");
+                goto err;
+        }
+        time = clock() - time;
+        BIO_printf(bio_err, " [ ECDSA_sign() %.2f"UNIT, (double)time/(CLOCKS_PER_SEC));
+        time = clock();
+        ret = ECDSA_verify(type, dgst, 20, buffer, buf_len, ecdsa);
+        if (ret != 1)
+        {
+                BIO_printf(bio_err, "ECDSA_verify() FAILED \n");
+                goto err;
+        }
+        time = clock() - time;
+        BIO_printf(bio_err, " and ECDSA_verify() %.2f"UNIT" ] ", (double)time/(CLOCKS_PER_SEC));
+err:    OPENSSL_free(buffer);
+        return(ret == 1);
+}
+
+int test_x962_sig_vrf(ECDSA *ecdsa, const unsigned char *dgst,
+                           const char *k_in, const char *r_in, const char *s_in)
+{
+        int       ret=0;
+        ECDSA_SIG *sig=NULL;
+        EC_POINT  *point=NULL;
+        BIGNUM    *r=NULL,*s=NULL,*k=NULL,*x=NULL,*y=NULL,*m=NULL,*ord=NULL;
+        BN_CTX    *ctx=NULL;
+        char      *tmp_char=NULL;
+        if (!ecdsa || !ecdsa->group || !ecdsa->pub_key || !ecdsa->priv_key)
+                return 0;
+        if ((point = EC_POINT_new(ecdsa->group)) == NULL) goto err;
+        if ((r = BN_new()) == NULL || (s = BN_new()) == NULL || (k = BN_new()) == NULL ||
+            (x = BN_new()) == NULL || (y = BN_new()) == NULL || (m = BN_new()) == NULL ||
+            (ord = BN_new()) == NULL) goto err;
+        if ((ctx = BN_CTX_new()) == NULL) goto err;
+        if (!BN_bin2bn(dgst, 20, m)) goto err;
+        if (!BN_dec2bn(&k, k_in)) goto err;
+        if (!EC_POINT_mul(ecdsa->group, point, k, NULL, NULL, ctx)) goto err;
+        if (!EC_POINT_get_affine_coordinates_GFp(ecdsa->group, point, x, y, ctx)) goto err;
+        if (!EC_GROUP_get_order(ecdsa->group, ord, ctx)) goto err;
+        if ((ecdsa->r = BN_dup(x)) == NULL) goto err;
+        if ((ecdsa->kinv = BN_mod_inverse(NULL, k, ord, ctx)) == NULL) goto err;
+        if ((sig = ECDSA_do_sign(dgst, 20, ecdsa)) == NULL)
+        {
+                BIO_printf(bio_err,"ECDSA_do_sign() failed \n");
+                goto err;
+        }
+        if (!BN_dec2bn(&r, r_in)) goto err;
+        if (!BN_dec2bn(&s, s_in)) goto err;
+        if (BN_cmp(sig->r,r) != 0 || BN_cmp(sig->s,s) != 0)
+        {
+                tmp_char = OPENSSL_malloc(128);
+                if (tmp_char == NULL) goto err;
+                tmp_char = BN_bn2dec(sig->r);
+                BIO_printf(bio_err,"unexpected signature \n");
+                BIO_printf(bio_err,"sig->r = %s\n",tmp_char);
+                tmp_char = BN_bn2dec(sig->s);
+                BIO_printf(bio_err,"sig->s = %s\n",tmp_char);
+                goto err;
+        }
+               ret = ECDSA_do_verify(dgst, 20, sig, ecdsa);
+        if (ret != 1)
+        {
+                BIO_printf(bio_err,"ECDSA_do_verify : signature verification failed \n");
+                goto err;
+        }
+        ret = 1;
+err :   if (r)    BN_free(r);
+        if (s)    BN_free(s);
+        if (k)    BN_free(k);
+        if (x)    BN_free(x);
+        if (y)    BN_free(y);
+       if (m)    BN_free(m);
+        if (ord)  BN_free(ord);
+        if (sig)  ECDSA_SIG_free(sig);
+        if (ctx)  BN_CTX_free(ctx);
+        if (point) EC_POINT_free(point);
+        if (tmp_char) OPENSSL_free(tmp_char);
+        return(ret == 1);
+}
+
+int ecdsa_cmp(const ECDSA *a, const ECDSA *b)
+{
+       int     ret=1;
+       BN_CTX  *ctx=NULL;
+       BIGNUM  *tmp_a1=NULL, *tmp_a2=NULL, *tmp_a3=NULL;
+       BIGNUM  *tmp_b1=NULL, *tmp_b2=NULL, *tmp_b3=NULL;
+
+       if ((ctx = BN_CTX_new()) == NULL) return 1;
+       if ((tmp_a1 = BN_new()) == NULL || (tmp_a2 = BN_new()) == NULL || (tmp_a3 = BN_new()) == NULL) goto err;
+       if ((tmp_b1 = BN_new()) == NULL || (tmp_b2 = BN_new()) == NULL || (tmp_b3 = BN_new()) == NULL) goto err;
+
+       if (a->pub_key && b->pub_key)
+               if (EC_POINT_cmp(a->group, a->pub_key, b->pub_key, ctx) != 0) goto err;
+       if (a->priv_key && b->priv_key)
+               if (BN_cmp(a->priv_key, b->priv_key) != 0) goto err;
+       if (!EC_GROUP_get_curve_GFp(a->group, tmp_a1, tmp_a2, tmp_a3, ctx)) goto err;
+       if (!EC_GROUP_get_curve_GFp(a->group, tmp_b1, tmp_b2, tmp_b3, ctx)) goto err;
+       if (BN_cmp(tmp_a1, tmp_b1) != 0) goto err;
+       if (BN_cmp(tmp_a2, tmp_b2) != 0) goto err;
+       if (BN_cmp(tmp_a3, tmp_b3) != 0) goto err;
+
+       ret = 0;
+err:   if (tmp_a1) BN_free(tmp_a1);
+       if (tmp_a2) BN_free(tmp_a2);
+       if (tmp_a3) BN_free(tmp_a3);
+       if (tmp_b1) BN_free(tmp_b1);
+       if (tmp_b2) BN_free(tmp_b2);
+       if (tmp_b3) BN_free(tmp_b3);
+       if (ctx) BN_CTX_free(ctx);
+       return(ret);
+}
+
+int main(void)
+{
+       ECDSA           *ecdsa=NULL, *ret_ecdsa=NULL;
+       BIGNUM          *d=NULL;
+       X509_PUBKEY     *x509_pubkey=NULL;
+       PKCS8_PRIV_KEY_INFO *pkcs8=NULL;
+       EVP_PKEY        *pkey=NULL, *ret_pkey=NULL;
+       int             dgst_len=0;
+       unsigned char   *dgst=NULL;
+       int             ret = 0, i=0;
+       clock_t         time;
+       unsigned char   *buffer=NULL;
+       unsigned char   *pp;
+       long            buf_len=0;
+       double          time_d;
+       EVP_MD_CTX      *md_ctx=NULL;
+       
+
+       RAND_seed(rnd_seed, sizeof(rnd_seed));
+
+       if (bio_err == NULL)
+               bio_err=BIO_new_fp(stderr, BIO_NOCLOSE);
+
+       CRYPTO_malloc_debug_init();
+       CRYPTO_dbg_set_options(V_CRYPTO_MDEBUG_ALL);
+       CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
+
+       ERR_load_crypto_strings();
+
+       if ((ecdsa = ECDSA_new()) == NULL)   goto err;
+
+       set_p192_param(ecdsa);
+       ECDSA_print(bio_err, ecdsa, 0);
+
+       /* en- decode tests */
+
+       /* i2d_ - d2i_ECDSAParameters() */
+       BIO_printf(bio_err, "\nTesting i2d_ - d2i_ECDSAParameters \n");
+       buf_len = i2d_ECDSAParameters(ecdsa, NULL);
+       if (!buf_len || (buffer = OPENSSL_malloc(buf_len)) == NULL) goto err;
+       pp = buffer;
+       if (!i2d_ECDSAParameters(ecdsa, &pp)) goto err;
+       pp = buffer;
+       if ((ret_ecdsa = d2i_ECDSAParameters(&ret_ecdsa, (const unsigned char **)&pp, 
+                       buf_len)) == NULL) goto err;
+       ECDSAParameters_print(bio_err, ret_ecdsa);
+       if (ecdsa_cmp(ecdsa, ret_ecdsa)) goto err;
+       OPENSSL_free(buffer);
+       buffer = NULL;
+       ECDSA_free(ret_ecdsa);
+       ret_ecdsa = NULL;
+
+       /* i2d_ - d2i_ECDSAPrivateKey() */
+       BIO_printf(bio_err, "\nTesting i2d_ - d2i_ECDSAPrivateKey \n");
+       buf_len = i2d_ECDSAPrivateKey(ecdsa, NULL);
+       if (!buf_len || (buffer = OPENSSL_malloc(buf_len)) == NULL) goto err;
+       pp = buffer;
+       if (!i2d_ECDSAPrivateKey(ecdsa, &pp)) goto err;
+       pp = buffer;
+       if ((ret_ecdsa = d2i_ECDSAPrivateKey(&ret_ecdsa, (const unsigned char**)&pp, 
+                       buf_len)) == NULL) goto err;
+       ECDSA_print(bio_err, ret_ecdsa, 0);
+       if (ecdsa_cmp(ecdsa, ret_ecdsa)) goto err;
+       ECDSA_free(ret_ecdsa);
+       ret_ecdsa = NULL;
+       OPENSSL_free(buffer);
+       buffer = NULL;
+
+       /* i2d_ - d2i_ECDSAPublicKey() */
+
+       BIO_printf(bio_err, "\nTesting i2d_ - d2i_ECDSAPublicKey \n");
+       buf_len = i2d_ECDSAPublicKey(ecdsa, NULL);
+       if (!buf_len || (buffer = OPENSSL_malloc(buf_len)) == NULL) goto err;
+       pp = buffer;
+       if (!i2d_ECDSAPublicKey(ecdsa, &pp)) goto err;
+       pp = buffer;
+       if ((ret_ecdsa = d2i_ECDSAPublicKey(&ret_ecdsa , (const unsigned char**)&pp, 
+                       buf_len)) == NULL) goto err;
+       ECDSA_print(bio_err, ret_ecdsa, 0);
+       if (ecdsa_cmp(ecdsa, ret_ecdsa)) goto err;
+       OPENSSL_free(buffer);
+       buffer = NULL;
+       ECDSA_free(ret_ecdsa);
+       ret_ecdsa = NULL;       
+       
+       /* X509_PUBKEY_set() &  X509_PUBKEY_get() */    
+
+       BIO_printf(bio_err, "\nTesting X509_PUBKEY_{get,set}            : ");
+       if ((pkey = EVP_PKEY_new()) == NULL) goto err;
+       EVP_PKEY_assign_ECDSA(pkey, ecdsa);
+       if ((x509_pubkey = X509_PUBKEY_new()) == NULL) goto err;
+       if (!X509_PUBKEY_set(&x509_pubkey, pkey)) goto err;
+
+       if ((ret_pkey = X509_PUBKEY_get(x509_pubkey)) == NULL) goto err;
+       ret_ecdsa = EVP_PKEY_get1_ECDSA(ret_pkey);
+       EVP_PKEY_free(ret_pkey);
+       ret_pkey = NULL;
+
+       if (ecdsa_cmp(ecdsa, ret_ecdsa)) 
+       {
+               BIO_printf(bio_err, "TEST FAILED \n");
+               goto err;
+       }
+       else BIO_printf(bio_err, "TEST OK \n");
+       X509_PUBKEY_free(x509_pubkey);
+       x509_pubkey = NULL;
+       ECDSA_free(ret_ecdsa);
+       ret_ecdsa = NULL;
+
+       /* Testing PKCS8_PRIV_KEY_INFO <-> EVP_PKEY */
+       BIO_printf(bio_err, "Testing PKCS8_PRIV_KEY_INFO <-> EVP_PKEY : \n");
+       BIO_printf(bio_err, "PKCS8_OK              : ");
+       if ((pkcs8 = EVP_PKEY2PKCS8_broken(pkey, PKCS8_OK)) == NULL) goto err;
+       if ((ret_pkey = EVP_PKCS82PKEY(pkcs8)) == NULL) goto err;
+       ret_ecdsa = EVP_PKEY_get1_ECDSA(ret_pkey);
+       if (ecdsa_cmp(ecdsa, ret_ecdsa))
+       {
+               BIO_printf(bio_err, "TEST FAILED \n");
+               goto err;
+       }
+       else BIO_printf(bio_err, "TEST OK \n");
+       EVP_PKEY_free(ret_pkey);
+       ret_pkey = NULL;
+       ECDSA_free(ret_ecdsa);
+       ret_ecdsa = NULL;
+       PKCS8_PRIV_KEY_INFO_free(pkcs8);
+       BIO_printf(bio_err, "PKCS8_NO_OCTET        : ");
+        if ((pkcs8 = EVP_PKEY2PKCS8_broken(pkey, PKCS8_NO_OCTET)) == NULL) goto err;
+        if ((ret_pkey = EVP_PKCS82PKEY(pkcs8)) == NULL) goto err;
+        ret_ecdsa = EVP_PKEY_get1_ECDSA(ret_pkey);
+        if (ecdsa_cmp(ecdsa, ret_ecdsa))
+        {
+                BIO_printf(bio_err, "TEST FAILED \n");
+                goto err;
+        }
+        else BIO_printf(bio_err, "TEST OK \n");
+        EVP_PKEY_free(ret_pkey);
+        ret_pkey = NULL;
+        ECDSA_free(ret_ecdsa);
+        ret_ecdsa = NULL;
+       PKCS8_PRIV_KEY_INFO_free(pkcs8);
+       BIO_printf(bio_err, "PKCS8_EMBEDDED_PARAM  : ");
+        if ((pkcs8 = EVP_PKEY2PKCS8_broken(pkey, PKCS8_EMBEDDED_PARAM)) == NULL) goto err;
+        if ((ret_pkey = EVP_PKCS82PKEY(pkcs8)) == NULL) goto err;
+        ret_ecdsa = EVP_PKEY_get1_ECDSA(ret_pkey);
+        if (ecdsa_cmp(ecdsa, ret_ecdsa))
+        {
+                BIO_printf(bio_err, "TEST FAILED \n");
+                goto err;
+        }
+        else BIO_printf(bio_err, "TEST OK \n");
+        EVP_PKEY_free(ret_pkey);
+        ret_pkey = NULL;
+        ECDSA_free(ret_ecdsa);
+        ret_ecdsa = NULL;
+       PKCS8_PRIV_KEY_INFO_free(pkcs8);
+        BIO_printf(bio_err, "PKCS8_NS_DB           : ");
+        if ((pkcs8 = EVP_PKEY2PKCS8_broken(pkey, PKCS8_NS_DB)) == NULL) goto err;
+        if ((ret_pkey = EVP_PKCS82PKEY(pkcs8)) == NULL) goto err;
+        ret_ecdsa = EVP_PKEY_get1_ECDSA(ret_pkey);
+        if (ecdsa_cmp(ecdsa, ret_ecdsa))
+        {
+                BIO_printf(bio_err, "TEST FAILED \n");
+                goto err;
+        }
+        else BIO_printf(bio_err, "TEST OK \n");
+        EVP_PKEY_free(ret_pkey);
+        ret_pkey = NULL;
+        ECDSA_free(ret_ecdsa);
+        ret_ecdsa = NULL;
+       EVP_PKEY_free(pkey);
+       pkey  = NULL;
+       ecdsa = NULL;
+       PKCS8_PRIV_KEY_INFO_free(pkcs8);
+       pkcs8 = NULL;
+
+       /* sign and verify tests */
+       if ((d = BN_new()) == NULL) goto err;
+        if (!BN_dec2bn(&d, "968236873715988614170569073515315707566766479517")) goto err;
+        dgst_len = BN_num_bytes(d);
+       if ((dgst = OPENSSL_malloc(dgst_len)) == NULL) goto err;
+        if (!BN_bn2bin(d, dgst)) goto err;
+
+        BIO_printf(bio_err, "Performing tests based on examples H.3.1 and H.3.2 of X9.62 \n");
+        BIO_printf(bio_err, "PRIME_192_V1 : ");
+       if ((ecdsa = ECDSA_new()) == NULL) goto err;
+        if (!set_p192_param(ecdsa)) goto err;
+        if (!test_x962_sig_vrf(ecdsa, dgst, "6140507067065001063065065565667405560006161556565665656654",
+                               "3342403536405981729393488334694600415596881826869351677613",
+                               "5735822328888155254683894997897571951568553642892029982342"))
+                goto err;
+        else
+                BIO_printf(bio_err, "OK\n");
+        BIO_printf(bio_err, "PRIME_239_V1 : ");
+        if (!set_p239_param(ecdsa))
+                goto err;
+        if (!test_x962_sig_vrf(ecdsa, dgst, "700000017569056646655505781757157107570501575775705779575555657156756655",
+                               "308636143175167811492622547300668018854959378758531778147462058306432176",
+                               "323813553209797357708078776831250505931891051755007842781978505179448783"))
+                goto err;
+        else
+                BIO_printf(bio_err, "OK\n");
+
+       ECDSA_free(ecdsa);
+       ecdsa = NULL;
+       OPENSSL_free(dgst);
+       dgst = NULL;
+
+
+       /* NIST PRIME CURVES TESTS */
+       /* EC_GROUP_NIST_PRIME_192 */
+       for (i=0; i<ECDSA_NIST_TESTS; i++)
+               if (!RAND_bytes(digest[i], 20)) goto err;       
+
+       BIO_printf(bio_err, "\nTesting sign & verify with NIST Prime-Curve P-192 : \n");
+       ECDSA_free(ecdsa);
+       if ((ecdsa = ECDSA_new()) == NULL) goto err;
+       if ((ecdsa->group = EC_GROUP_get_group_by_name(EC_GROUP_NIST_PRIME_192)) == NULL) goto err;
+       if (!ECDSA_generate_key(ecdsa)) goto err;
+        time = clock();
+        for (i=0; i<ECDSA_NIST_TESTS; i++)
+                if ((signatures[i] = ECDSA_do_sign(digest[i], 20, ecdsa)) == NULL) goto err;
+        time = clock() - time;
+       time_d = (double)time / CLOCKS_PER_SEC;
+        BIO_printf(bio_err, "%d x ECDSA_do_sign()   in %.2f"UNIT" => average time for ECDSA_do_sign()   %.4f"UNIT"\n"
+               , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS);
+       time = clock();
+       for (i=0; i<ECDSA_NIST_TESTS; i++)
+               if (!ECDSA_do_verify(digest[i], 20, signatures[i], ecdsa)) goto err;
+       time = clock() - time;
+       time_d = (double)time / CLOCKS_PER_SEC;
+       BIO_printf(bio_err, "%d x ECDSA_do_verify() in %.2f"UNIT" => average time for ECDSA_do_verify() %.4f"UNIT"\n"
+                , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS);
+       for (i=0; i<ECDSA_NIST_TESTS; i++)
+       {
+               ECDSA_SIG_free(signatures[i]);
+               signatures[i] = NULL;
+       }
+
+       /* EC_GROUP_NIST_PRIME_224 */
+       BIO_printf(bio_err, "Testing sign & verify with NIST Prime-Curve P-224 : \n");
+        ECDSA_free(ecdsa);
+        if ((ecdsa = ECDSA_new()) == NULL) goto err;
+        if ((ecdsa->group = EC_GROUP_get_group_by_name(EC_GROUP_NIST_PRIME_224)) == NULL) goto err;
+        if (!ECDSA_generate_key(ecdsa)) goto err;
+        time = clock();
+        for (i=0; i<ECDSA_NIST_TESTS; i++)
+                if ((signatures[i] = ECDSA_do_sign(digest[i], 20, ecdsa)) == NULL) goto err;
+        time = clock() - time;
+        time_d = (double)time / CLOCKS_PER_SEC;
+        BIO_printf(bio_err, "%d x ECDSA_do_sign()   in %.2f"UNIT" => average time for ECDSA_do_sign()   %.4f"UNIT"\n"
+                , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS);
+        time = clock();
+        for (i=0; i<ECDSA_NIST_TESTS; i++)
+                if (!ECDSA_do_verify(digest[i], 20, signatures[i], ecdsa)) goto err;
+        time = clock() - time;
+        time_d = (double)time / CLOCKS_PER_SEC;
+        BIO_printf(bio_err, "%d x ECDSA_do_verify() in %.2f"UNIT" => average time for ECDSA_do_verify() %.4f"UNIT"\n"
+                , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS);
+       for (i=0; i<ECDSA_NIST_TESTS; i++)
+       {
+               ECDSA_SIG_free(signatures[i]);
+               signatures[i] = NULL;
+       }
+
+       /* EC_GROUP_NIST_PRIME_256 */
+        BIO_printf(bio_err, "Testing sign & verify with NIST Prime-Curve P-256 : \n");
+        ECDSA_free(ecdsa);
+        if ((ecdsa = ECDSA_new()) == NULL) goto err;
+        if ((ecdsa->group = EC_GROUP_get_group_by_name(EC_GROUP_NIST_PRIME_256)) == NULL) goto err;
+        if (!ECDSA_generate_key(ecdsa)) goto err;
+        time = clock();
+        for (i=0; i<ECDSA_NIST_TESTS; i++)
+                if ((signatures[i] = ECDSA_do_sign(digest[i], 20, ecdsa)) == NULL) goto err;
+        time = clock() - time;
+        time_d = (double)time / CLOCKS_PER_SEC;
+        BIO_printf(bio_err, "%d x ECDSA_do_sign()   in %.2f"UNIT" => average time for ECDSA_do_sign()   %.4f"UNIT"\n"
+                , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS);
+        time = clock();
+        for (i=0; i<ECDSA_NIST_TESTS; i++)
+                if (!ECDSA_do_verify(digest[i], 20, signatures[i], ecdsa)) goto err;
+        time = clock() - time;
+        time_d = (double)time / CLOCKS_PER_SEC;
+        BIO_printf(bio_err, "%d x ECDSA_do_verify() in %.2f"UNIT" => average time for ECDSA_do_verify() %.4f"UNIT"\n"
+                , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS);
+       for (i=0; i<ECDSA_NIST_TESTS; i++)
+       {
+               ECDSA_SIG_free(signatures[i]);
+               signatures[i] = NULL;
+       }
+
+       /* EC_GROUP_NIST_PRIME_384 */
+        BIO_printf(bio_err, "Testing sign & verify with NIST Prime-Curve P-384 : \n");
+        ECDSA_free(ecdsa);
+        if ((ecdsa = ECDSA_new()) == NULL) goto err;
+        if ((ecdsa->group = EC_GROUP_get_group_by_name(EC_GROUP_NIST_PRIME_384)) == NULL) goto err;
+        if (!ECDSA_generate_key(ecdsa)) goto err;
+        time = clock();
+        for (i=0; i<ECDSA_NIST_TESTS; i++)
+                if ((signatures[i] = ECDSA_do_sign(digest[i], 20, ecdsa)) == NULL) goto err;
+        time = clock() - time;
+        time_d = (double)time / CLOCKS_PER_SEC;
+        BIO_printf(bio_err, "%d x ECDSA_do_sign()   in %.2f"UNIT" => average time for ECDSA_do_sign()   %.4f"UNIT"\n"
+                , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS);
+        time = clock();
+        for (i=0; i<ECDSA_NIST_TESTS; i++)
+                if (!ECDSA_do_verify(digest[i], 20, signatures[i], ecdsa)) goto err;
+        time = clock() - time;
+        time_d = (double)time / CLOCKS_PER_SEC;
+        BIO_printf(bio_err, "%d x ECDSA_do_verify() in %.2f"UNIT" => average time for ECDSA_do_verify() %.4f"UNIT"\n"
+                , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS);
+       for (i=0; i<ECDSA_NIST_TESTS; i++)
+       {
+               ECDSA_SIG_free(signatures[i]);
+               signatures[i] = NULL;
+       }
+
+       /* EC_GROUP_NIST_PRIME_521 */
+        BIO_printf(bio_err, "Testing sign & verify with NIST Prime-Curve P-521 : \n");
+        ECDSA_free(ecdsa);
+        if ((ecdsa = ECDSA_new()) == NULL) goto err;
+        if ((ecdsa->group = EC_GROUP_get_group_by_name(EC_GROUP_NIST_PRIME_521)) == NULL) goto err;
+        if (!ECDSA_generate_key(ecdsa)) goto err;
+        time = clock();
+        for (i=0; i<ECDSA_NIST_TESTS; i++)
+                if ((signatures[i] = ECDSA_do_sign(digest[i], 20, ecdsa)) == NULL) goto err;
+        time = clock() - time;
+        time_d = (double)time / CLOCKS_PER_SEC;
+        BIO_printf(bio_err, "%d x ECDSA_do_sign()   in %.2f"UNIT" => average time for ECDSA_do_sign()   %.4f"UNIT"\n"
+                , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS);
+        time = clock();
+        for (i=0; i<ECDSA_NIST_TESTS; i++)
+                if (!ECDSA_do_verify(digest[i], 20, signatures[i], ecdsa)) goto err;
+        time = clock() - time;
+        time_d = (double)time / CLOCKS_PER_SEC;
+        BIO_printf(bio_err, "%d x ECDSA_do_verify() in %.2f"UNIT" => average time for ECDSA_do_verify() %.4f"UNIT"\n"
+                , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS);
+       ECDSA_free(ecdsa);
+       ecdsa = NULL;
+       for (i=0; i<ECDSA_NIST_TESTS; i++)
+       {
+               ECDSA_SIG_free(signatures[i]);
+               signatures[i] = NULL;
+       }
+
+       OPENSSL_free(buffer);
+       buffer = NULL;
+       EVP_PKEY_free(pkey);
+       pkey = NULL;
+       ecdsa = NULL;
+       
+       ret = 1;
+err:   if (!ret)       
+               BIO_printf(bio_err, "TEST FAILED \n");
+       else 
+               BIO_printf(bio_err, "TEST PASSED \n");
+       if (!ret)
+               ERR_print_errors(bio_err);
+       if (ecdsa)      ECDSA_free(ecdsa);
+       if (d)          BN_free(d);
+       if (dgst)       OPENSSL_free(dgst);
+       if (md_ctx)     EVP_MD_CTX_destroy(md_ctx);
+       CRYPTO_cleanup_all_ex_data();
+       ERR_remove_state(0);
+       ERR_free_strings();
+       CRYPTO_mem_leaks(bio_err);
+       if (bio_err != NULL)
+       {
+               BIO_free(bio_err);
+               bio_err = NULL;
+       }
+       return(0);
+}      
+
+#endif
diff --git a/crypto/ecdsa/ecs_asn1.c b/crypto/ecdsa/ecs_asn1.c
new file mode 100644 (file)
index 0000000..3a5baf0
--- /dev/null
@@ -0,0 +1,723 @@
+/* crypto/ecdsa/ecs_asn1.c */
+/* ====================================================================
+ * Copyright (c) 2000-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include "cryptlib.h"
+#include "ecs_locl.h"
+#include <openssl/asn1.h>
+#include <openssl/asn1t.h>
+#include <openssl/objects.h>
+
+static point_conversion_form_t POINT_CONVERSION_FORM = POINT_CONVERSION_COMPRESSED;
+
+/* Override the default new methods */
+static int sig_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it)
+{
+       if(operation == ASN1_OP_NEW_PRE) {
+               ECDSA_SIG *sig;
+               sig = OPENSSL_malloc(sizeof(ECDSA_SIG));
+               if (sig == NULL)
+               {
+                       ECDSAerr(ECDSA_F_SIG_CB, ERR_R_MALLOC_FAILURE);
+                       return 0;
+               }
+               sig->r = NULL;
+               sig->s = NULL;
+               *pval = (ASN1_VALUE *)sig;
+               return 2;
+       }
+       return 1;
+}
+
+ASN1_SEQUENCE_cb(ECDSA_SIG, sig_cb) = {
+       ASN1_SIMPLE(ECDSA_SIG, r, CBIGNUM),
+       ASN1_SIMPLE(ECDSA_SIG, s, CBIGNUM)
+} ASN1_SEQUENCE_END_cb(ECDSA_SIG, ECDSA_SIG)
+
+IMPLEMENT_ASN1_FUNCTIONS_const(ECDSA_SIG)
+
+ASN1_SEQUENCE(X9_62_FIELDID) = {
+       ASN1_SIMPLE(X9_62_FIELDID, fieldType, ASN1_OBJECT),
+       ASN1_SIMPLE(X9_62_FIELDID, parameters, ASN1_ANY)
+} ASN1_SEQUENCE_END(X9_62_FIELDID)
+
+IMPLEMENT_ASN1_FUNCTIONS_const(X9_62_FIELDID)
+
+ASN1_SEQUENCE(X9_62_CURVE) = {
+       ASN1_SIMPLE(X9_62_CURVE, a, ASN1_OCTET_STRING),
+       ASN1_SIMPLE(X9_62_CURVE, b, ASN1_OCTET_STRING),
+       ASN1_OPT(X9_62_CURVE, seed, ASN1_BIT_STRING)
+} ASN1_SEQUENCE_END(X9_62_CURVE)
+
+IMPLEMENT_ASN1_FUNCTIONS_const(X9_62_CURVE)
+
+ASN1_SEQUENCE(X9_62_EC_PARAMETERS) = {
+       ASN1_OPT(X9_62_EC_PARAMETERS, version, ASN1_INTEGER),
+       ASN1_SIMPLE(X9_62_EC_PARAMETERS, fieldID, X9_62_FIELDID),
+       ASN1_SIMPLE(X9_62_EC_PARAMETERS, curve, X9_62_CURVE),
+       ASN1_SIMPLE(X9_62_EC_PARAMETERS, base, ASN1_OCTET_STRING),
+       ASN1_SIMPLE(X9_62_EC_PARAMETERS, order, ASN1_INTEGER),
+       ASN1_SIMPLE(X9_62_EC_PARAMETERS, cofactor, ASN1_INTEGER)
+} ASN1_SEQUENCE_END(X9_62_EC_PARAMETERS)
+
+IMPLEMENT_ASN1_FUNCTIONS_const(X9_62_EC_PARAMETERS)
+
+ASN1_CHOICE(EC_PARAMETERS) = {
+       ASN1_SIMPLE(EC_PARAMETERS, value.named_curve, ASN1_OBJECT),
+       ASN1_SIMPLE(EC_PARAMETERS, value.parameters, X9_62_EC_PARAMETERS),
+       ASN1_SIMPLE(EC_PARAMETERS, value.implicitlyCA, ASN1_NULL)
+} ASN1_CHOICE_END(EC_PARAMETERS)
+
+IMPLEMENT_ASN1_FUNCTIONS_const(EC_PARAMETERS);
+             
+ASN1_SEQUENCE(ECDSAPrivateKey) = {
+       ASN1_SIMPLE(ECDSAPrivateKey, version, LONG),
+       ASN1_SIMPLE(ECDSAPrivateKey, parameters, EC_PARAMETERS),
+       ASN1_SIMPLE(ECDSAPrivateKey, pub_key, ASN1_OCTET_STRING),
+       ASN1_SIMPLE(ECDSAPrivateKey, priv_key, BIGNUM)
+} ASN1_SEQUENCE_END(ECDSAPrivateKey)
+
+IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(ECDSAPrivateKey, ECDSAPrivateKey, ECDSAPrivateKey)
+IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(ECDSAPrivateKey, ECDSAPrivateKey, ecdsaPrivateKey)
+
+ASN1_SEQUENCE(ecdsa_pub_internal) = {
+       ASN1_SIMPLE(ECDSAPrivateKey, pub_key, ASN1_OCTET_STRING),
+       ASN1_SIMPLE(ECDSAPrivateKey, parameters, EC_PARAMETERS),
+} ASN1_SEQUENCE_END_name(ECDSAPrivateKey, ecdsa_pub_internal)
+
+ASN1_CHOICE(ECDSAPublicKey) = {
+       ASN1_SIMPLE(ECDSAPrivateKey, pub_key, ASN1_OCTET_STRING),
+       ASN1_EX_COMBINE(0, 0, ecdsa_pub_internal)
+} ASN1_CHOICE_END_selector(ECDSAPrivateKey, ECDSAPublicKey, write_params)
+
+IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(ECDSAPrivateKey, ECDSAPublicKey, ecdsaPublicKey)
+
+
+X9_62_FIELDID  *ECDSA_get_X9_62_FIELDID(const ECDSA *ecdsa, X9_62_FIELDID *field)
+{
+       /* TODO : characteristic two */
+       int     ok=0, reason=ERR_R_ASN1_LIB;
+       X9_62_FIELDID *ret=NULL;
+       BIGNUM  *tmp=NULL;
+       
+       if (!ecdsa || !ecdsa->group)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS)
+       if (field == NULL)
+       {
+               if ((ret = X9_62_FIELDID_new()) == NULL) return NULL;
+       }
+       else
+       {       
+               ret = field;
+               if (ret->fieldType != NULL)     ASN1_OBJECT_free(ret->fieldType);
+               if (ret->parameters != NULL)    ASN1_TYPE_free(ret->parameters);
+       }
+       if ((tmp = BN_new()) == NULL) 
+               OPENSSL_ECDSA_ABORT(ERR_R_BN_LIB)
+       if ((ret->fieldType = OBJ_nid2obj(NID_X9_62_prime_field)) == NULL)
+               OPENSSL_ECDSA_ABORT(ERR_R_OBJ_LIB)
+       if ((ret->parameters = ASN1_TYPE_new()) == NULL) goto err;
+       ret->parameters->type = V_ASN1_INTEGER;
+       if (!EC_GROUP_get_curve_GFp(ecdsa->group, tmp, NULL, NULL, NULL))
+               OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB)
+       if ((ret->parameters->value.integer = BN_to_ASN1_INTEGER(tmp, NULL)) == NULL) goto err;
+       ok = 1;
+err :  if (!ok)
+       {
+               if (ret && !field) X9_62_FIELDID_free(ret);
+               ret = NULL;
+               ECDSAerr(ECDSA_F_ECDSA_GET_X9_62_FIELDID, reason);
+       }
+       if (tmp) BN_free(tmp);
+       return(ret);
+}
+
+X9_62_CURVE   *ECDSA_get_X9_62_CURVE(const ECDSA *ecdsa, X9_62_CURVE *curve)
+{
+       int     ok=0, reason=ERR_R_BN_LIB, len1=0, len2=0;
+       X9_62_CURVE *ret=NULL;
+       BIGNUM      *tmp1=NULL, *tmp2=NULL;
+       unsigned char *buffer=NULL;
+
+       if (!ecdsa || !ecdsa->group)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS)
+       if ((tmp1 = BN_new()) == NULL || (tmp2 = BN_new()) == NULL) goto err;
+       if (curve == NULL)
+       {
+               if ((ret = X9_62_CURVE_new()) == NULL)
+                       OPENSSL_ECDSA_ABORT(ECDSA_R_X9_62_CURVE_NEW_FAILURE)
+       }
+       else
+       {
+               ret = curve;
+               if (ret->a)     ASN1_OCTET_STRING_free(ret->a);
+               if (ret->b)     ASN1_OCTET_STRING_free(ret->b);
+               if (ret->seed)  ASN1_BIT_STRING_free(ret->seed);
+       }
+       if (!EC_GROUP_get_curve_GFp(ecdsa->group, NULL, tmp1, tmp2, NULL))
+               OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB)
+
+       if ((len1 = BN_num_bytes(tmp1)) == 0)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_UNEXPECTED_PARAMETER_LENGTH)
+       if ((buffer = OPENSSL_malloc(len1)) == NULL)
+               OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE)
+       if ((len1 = BN_bn2bin(tmp1, buffer)) == 0) goto err;
+       if ((ret->a = M_ASN1_OCTET_STRING_new()) == NULL)
+               OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB)
+       if (!M_ASN1_OCTET_STRING_set(ret->a, buffer, len1))
+               OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB)
+
+       if ((len2 = BN_num_bytes(tmp2)) == 0)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_UNEXPECTED_PARAMETER_LENGTH)
+       if (len1 < len2)
+       {
+               OPENSSL_free(buffer);
+               if ((buffer = OPENSSL_malloc(len2)) == NULL)
+                       OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE)
+       }
+       if ((len2 = BN_bn2bin(tmp2, buffer)) == 0) goto err;
+       if ((ret->b = M_ASN1_OCTET_STRING_new()) == NULL)
+               OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB)
+       if (!M_ASN1_OCTET_STRING_set(ret->b, buffer, len2))
+               OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB)
+
+       if (ecdsa->seed)
+       {       
+               if ((ret->seed = ASN1_BIT_STRING_new()) == NULL) goto err;
+               if (!ASN1_BIT_STRING_set(ret->seed, ecdsa->seed, (int)ecdsa->seed_len))
+                       OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB)
+       }
+       else
+               ret->seed = NULL;
+
+       ok = 1;
+err :  if (!ok)
+       {
+               if (ret && !curve) X9_62_CURVE_free(ret);
+               ret = NULL;
+               ECDSAerr(ECDSA_F_ECDSA_GET_X9_62_CURVE, reason);
+       }
+       if (buffer) OPENSSL_free(buffer);
+       if (tmp1)   BN_free(tmp1);
+       if (tmp2)   BN_free(tmp2);
+       return(ret);
+}
+
+X9_62_EC_PARAMETERS *ECDSA_get_X9_62_EC_PARAMETERS(const ECDSA *ecdsa, X9_62_EC_PARAMETERS *param)
+{
+       int     ok=0, reason=ERR_R_ASN1_LIB;
+       size_t  len=0;
+       X9_62_EC_PARAMETERS *ret=NULL;
+       BIGNUM        *tmp=NULL;
+       unsigned char *buffer=NULL;
+       EC_POINT      *point=NULL;
+
+       if (!ecdsa || !ecdsa->group)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS)
+       if ((tmp = BN_new()) == NULL)
+               OPENSSL_ECDSA_ABORT(ERR_R_BN_LIB)
+       if (param == NULL)
+       {
+               if ((ret = X9_62_EC_PARAMETERS_new()) == NULL)
+                       OPENSSL_ECDSA_ABORT(ECDSA_R_X9_62_EC_PARAMETERS_NEW_FAILURE)
+       }
+       else
+               ret = param;
+       if (ecdsa->version == 1)
+               ret->version = NULL;
+       else
+       {
+               if (ret->version == NULL && (ret->version = ASN1_INTEGER_new()) == NULL)
+                       OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE)
+               if (!ASN1_INTEGER_set(ret->version, (long)ecdsa->version)) goto err;
+       }
+       if ((ret->fieldID = ECDSA_get_X9_62_FIELDID(ecdsa, ret->fieldID)) == NULL)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_GET_X9_62_FIELDID_FAILURE)
+       if ((ret->curve = ECDSA_get_X9_62_CURVE(ecdsa, ret->curve)) == NULL)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_GET_X9_62_CURVE_FAILURE)
+       if ((point = EC_GROUP_get0_generator(ecdsa->group)) == NULL)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_CAN_NOT_GET_GENERATOR)
+       if (!(len = EC_POINT_point2oct(ecdsa->group, point, POINT_CONVERSION_COMPRESSED, NULL, len, NULL)))
+               OPENSSL_ECDSA_ABORT(ECDSA_R_UNEXPECTED_PARAMETER_LENGTH)
+       if ((buffer = OPENSSL_malloc(len)) == NULL)
+               OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE)
+       if (!EC_POINT_point2oct(ecdsa->group, point, POINT_CONVERSION_COMPRESSED, buffer, len, NULL)) 
+               OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB)
+       if (ret->base == NULL && (ret->base = ASN1_OCTET_STRING_new()) == NULL)
+               OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE)
+       if (!ASN1_OCTET_STRING_set(ret->base, buffer, len)) goto err;
+       if (!EC_GROUP_get_order(ecdsa->group, tmp, NULL))
+               OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB)
+       if ((ret->order = BN_to_ASN1_INTEGER(tmp, ret->order)) == NULL) goto err;
+       if (!EC_GROUP_get_cofactor(ecdsa->group, tmp, NULL))
+               OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB)
+       if ((ret->cofactor = BN_to_ASN1_INTEGER(tmp, ret->cofactor)) == NULL) goto err;
+       ok = 1;
+
+err :  if(!ok)
+       {
+               ECDSAerr(ECDSA_F_ECDSA_GET_X9_62_EC_PARAMETERS, reason);
+               if (ret && !param) X9_62_EC_PARAMETERS_free(ret);
+               ret = NULL;
+       }
+       if (tmp)    BN_free(tmp);
+       if (buffer) OPENSSL_free(buffer);
+       return(ret);
+}
+
+EC_PARAMETERS *ECDSA_get_EC_PARAMETERS(const ECDSA *ecdsa, EC_PARAMETERS *params)
+{
+       int ok = 1;
+       int tmp = 0;
+       EC_PARAMETERS *ret = params;
+       if (ret == NULL)
+               if ((ret = EC_PARAMETERS_new()) == NULL)
+               {
+                       ECDSAerr(ECDSA_F_ECDSA_GET_EC_PARAMETERS, ERR_R_MALLOC_FAILURE);
+                       return NULL;
+               }
+       if (ecdsa == NULL)
+       {       /* missing parameter */
+               ECDSAerr(ECDSA_F_ECDSA_GET_EC_PARAMETERS, ECDSA_R_MISSING_PARAMETERS);
+               EC_PARAMETERS_free(params);
+               return NULL;
+       }
+       if (ecdsa->parameter_flags & ECDSA_FLAG_NAMED_CURVE)
+       {       /* use a named curve */
+               tmp = EC_GROUP_get_nid(ecdsa->group);
+               if (tmp)
+               {
+                       ret->type = 0;
+                       if ((ret->value.named_curve = OBJ_nid2obj(tmp)) == NULL)
+                               ok = 0;
+               }
+               else
+               {
+                       /* use the x9_64 ec_parameters structure */
+                       ret->type = 1;
+                       if ((ret->value.parameters = ECDSA_get_X9_62_EC_PARAMETERS(ecdsa, NULL)) == NULL)
+                               ok = 0;
+               }
+       }
+       else if (ecdsa->parameter_flags & ECDSA_FLAG_IMPLICITLYCA)
+       {       /* use implicitlyCA */
+               ret->type = 2;
+               if ((ret->value.implicitlyCA = ASN1_NULL_new()) == NULL)
+                       ok = 0;
+       }
+       else
+       {       /* use the x9_64 ec_parameters structure */
+               ret->type = 1;
+               if ((ret->value.parameters = ECDSA_get_X9_62_EC_PARAMETERS(ecdsa, NULL)) == NULL)
+                       ok = 0;
+       }
+       if (!ok)
+       {
+               EC_PARAMETERS_free(ret);
+               return NULL;
+       }
+               return ret;
+}
+
+ECDSA         *ECDSA_x9_62parameters2ecdsa(const X9_62_EC_PARAMETERS *params, ECDSA *ecdsa)
+{
+       int       ok=0, reason=ERR_R_EC_LIB, tmp;
+       ECDSA     *ret=NULL;
+       EC_METHOD *meth=NULL;
+       BIGNUM    *tmp_1=NULL, *tmp_2=NULL, *tmp_3=NULL;
+       EC_POINT  *point=NULL;
+
+       if (!params) 
+               OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS)
+       if (ecdsa == NULL)
+       {
+               if ((ret = ECDSA_new()) == NULL) 
+                       OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_NEW_FAILURE)
+       }
+       else
+       {
+               if (ecdsa->group)       EC_GROUP_free(ecdsa->group);
+               if (ecdsa->pub_key)     EC_POINT_free(ecdsa->pub_key);
+               ecdsa->pub_key = NULL;
+               if (ecdsa->priv_key)    BN_clear_free(ecdsa->priv_key);
+               ecdsa->priv_key = NULL;
+               if (ecdsa->seed)        OPENSSL_free(ecdsa->seed);
+               ecdsa->seed = NULL;
+               if (ecdsa->kinv)        
+               {
+                       BN_clear_free(ecdsa->kinv);
+                       ecdsa->kinv = NULL;
+               }
+               if (ecdsa->r)
+               {
+                       BN_clear_free(ecdsa->r);
+                       ecdsa->r = NULL;
+               }
+               ret = ecdsa;
+       }
+       /* TODO : characteristic two */
+       if (!params->fieldID || !params->fieldID->fieldType || !params->fieldID->parameters)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_NO_FIELD_SPECIFIED)
+       tmp = OBJ_obj2nid(params->fieldID->fieldType); 
+       if (tmp == NID_X9_62_characteristic_two_field)
+       {
+               OPENSSL_ECDSA_ABORT(ECDSA_R_NOT_SUPPORTED)
+       }
+       else if (tmp == NID_X9_62_prime_field)
+       {
+               /* TODO : optimal method for the curve */
+               (const EC_METHOD *)meth = EC_GFp_mont_method();
+               if ((ret->group = EC_GROUP_new(meth)) == NULL) goto err;
+               if (params->fieldID->parameters->type != V_ASN1_INTEGER)
+                       OPENSSL_ECDSA_ABORT(ECDSA_R_UNEXPECTED_ASN1_TYPE)
+               if (!params->fieldID->parameters->value.integer)
+                       OPENSSL_ECDSA_ABORT(ECDSA_R_PRIME_MISSING)
+               if ((tmp_1 = ASN1_INTEGER_to_BN(params->fieldID->parameters->value.integer, NULL)) == NULL)
+                       OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB)
+               if (!params->curve)
+                       OPENSSL_ECDSA_ABORT(ECDSA_R_NO_CURVE_SPECIFIED)
+               if (!params->curve->a || !params->curve->a->data)
+                       OPENSSL_ECDSA_ABORT(ECDSA_R_NO_CURVE_PARAMETER_A_SPECIFIED)
+               if ((tmp_2 = BN_bin2bn(params->curve->a->data, params->curve->a->length, NULL)) == NULL)
+                       OPENSSL_ECDSA_ABORT(ERR_R_BN_LIB)
+               if (!params->curve->b || !params->curve->b->data)
+                       OPENSSL_ECDSA_ABORT(ECDSA_R_NO_CURVE_PARAMETER_B_SPECIFIED)
+               if ((tmp_3 = BN_bin2bn(params->curve->b->data, params->curve->b->length, NULL)) == NULL)
+                       OPENSSL_ECDSA_ABORT(ERR_R_BN_LIB)
+               if (!EC_GROUP_set_curve_GFp(ret->group, tmp_1, tmp_2, tmp_3, NULL)) goto err;
+               if ((point = EC_POINT_new(ret->group)) == NULL) goto err;
+       }
+       else OPENSSL_ECDSA_ABORT(ECDSA_R_WRONG_FIELD_IDENTIFIER)
+       if (params->curve->seed != NULL && params->curve->seed->data > 0)
+       {
+               if (ret->seed != NULL)
+                       OPENSSL_free(ret->seed);
+               if ((ret->seed = OPENSSL_malloc(params->curve->seed->length)) == NULL)
+                       OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE)
+               memcpy(ret->seed, params->curve->seed->data, params->curve->seed->length);
+               ret->seed_len = params->curve->seed->length;
+       }
+       if (params->version)
+       {
+               if ((ret->version = (int)ASN1_INTEGER_get(params->version)) < 0)
+                       OPENSSL_ECDSA_ABORT(ECDSA_R_UNEXPECTED_VERSION_NUMER)
+       }
+       else
+               ret->version  = 1;
+       if (params->order && params->cofactor && params->base && params->base->data)
+       {
+               if ((tmp_1 = ASN1_INTEGER_to_BN(params->order, tmp_1)) == NULL)
+                       OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB)
+               if ((tmp_2 = ASN1_INTEGER_to_BN(params->cofactor, tmp_2)) == NULL)
+                       OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB)
+               if (!EC_POINT_oct2point(ret->group, point, params->base->data, 
+                               params->base->length, NULL)) goto err;
+               if (!EC_GROUP_set_generator(ret->group, point, tmp_1, tmp_2)) goto err;
+       }
+       ok = 1;
+
+err:   if (!ok)
+       {
+               ECDSAerr(ECDSA_F_ECDSA_GET, reason);
+               if (ret && !ecdsa) ECDSA_free(ret);
+               ret = NULL;
+       }
+       if (tmp_1)      BN_free(tmp_1);
+       if (tmp_2)      BN_free(tmp_2);
+       if (tmp_3)      BN_free(tmp_3);
+       if (point)      EC_POINT_free(point);
+       return(ret);
+}
+
+ECDSA *ECDSA_ecparameters2ecdsa(const EC_PARAMETERS *params, ECDSA *ecdsa)
+{
+       ECDSA *ret = ecdsa;
+       int tmp = 0;
+       if (ret == NULL)
+               if ((ret = ECDSA_new()) == NULL)
+               {
+                       ECDSAerr(ECDSA_F_ECDSA_GET_ECDSA, ERR_R_MALLOC_FAILURE);
+                       return NULL;
+               }
+       if (params == NULL)
+       {
+               ECDSAerr(ECDSA_F_ECDSA_GET_ECDSA, ECDSA_R_MISSING_PARAMETERS);
+               ECDSA_free(ret);
+               return NULL;
+       }
+       if (params->type == 0)
+       {
+               if (ret->group)
+                       EC_GROUP_free(ret->group);
+               tmp = OBJ_obj2nid(params->value.named_curve);
+               ret->parameter_flags |= ECDSA_FLAG_NAMED_CURVE;
+               if ((ret->group = EC_GROUP_get_group_by_name(tmp)) == NULL)
+               {
+                       ECDSAerr(ECDSA_F_ECDSA_GET_ECDSA, ECDSA_R_EC_GROUP_NID2CURVE_FAILURE);
+                       ECDSA_free(ret);
+                       return NULL;
+               }
+       }
+       else if (params->type == 1)
+       {
+               ret = ECDSA_x9_62parameters2ecdsa(params->value.parameters, ret);
+       }
+       else if (params->type == 2)
+       {
+               if (ret->group)
+                       EC_GROUP_free(ret->group);
+               ret->group = NULL;
+               ret->parameter_flags |= ECDSA_FLAG_IMPLICITLYCA;                
+       }
+       else
+       {
+               ECDSAerr(ECDSA_F_ECDSA_GET_ECDSA, ECDSA_R_UNKNOWN_PARAMETERS_TYPE);
+               ECDSA_free(ret);
+               ret = NULL;
+       }
+       return ret;
+}
+
+ECDSA  *d2i_ECDSAParameters(ECDSA **a, const unsigned char **in, long len)
+{
+       ECDSA           *ecdsa = (a && *a)? *a : NULL;
+       EC_PARAMETERS   *params = NULL;
+
+       if ((params = d2i_EC_PARAMETERS(NULL, in, len)) == NULL)
+       {
+               ECDSAerr(ECDSA_F_D2I_ECDSAPARAMETERS, ECDSA_R_D2I_EC_PARAMETERS_FAILURE);
+               EC_PARAMETERS_free(params);
+               return NULL;
+       }
+       if ((ecdsa = ECDSA_ecparameters2ecdsa(params, ecdsa)) == NULL)
+       {
+               ECDSAerr(ECDSA_F_D2I_ECDSAPARAMETERS, ECDSA_R_ECPARAMETERS2ECDSA_FAILURE);
+               return NULL; 
+       }
+       EC_PARAMETERS_free(params);
+       return(ecdsa);  
+}
+
+int    i2d_ECDSAParameters(ECDSA *a, unsigned char **out)
+{
+       int             ret=0;
+       EC_PARAMETERS   *tmp = ECDSA_get_EC_PARAMETERS(a, NULL);
+       if (tmp == NULL)
+       {
+               ECDSAerr(ECDSA_F_I2D_ECDSAPARAMETERS, ECDSA_R_ECDSA_GET_EC_PARAMETERS_FAILURE);
+               return 0;
+       }
+       if ((ret = i2d_EC_PARAMETERS(tmp, out)) == 0)
+       {
+               ECDSAerr(ECDSA_F_I2D_ECDSAPARAMETERS, ECDSA_R_ECDSA_R_D2I_EC_PARAMETERS_FAILURE);
+               EC_PARAMETERS_free(tmp);
+               return 0;
+       }       
+       EC_PARAMETERS_free(tmp);
+       return(ret);
+}
+
+ECDSA  *d2i_ECDSAPrivateKey(ECDSA **a, const unsigned char **in, long len)
+{
+       int reason=ERR_R_BN_LIB, ok=0;
+       ECDSA *ret=NULL;
+       ECDSAPrivateKey *priv_key=NULL;
+
+       if ((priv_key = ECDSAPrivateKey_new()) == NULL)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSAPRIVATEKEY_NEW_FAILURE)
+       if ((priv_key = d2i_ecdsaPrivateKey(&priv_key, in, len)) == NULL)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_D2I_ECDSA_PRIVATEKEY_FAILURE)
+       if ((ret = ECDSA_ecparameters2ecdsa(priv_key->parameters, NULL)) == NULL)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_GET_FAILURE)
+       ret->version = priv_key->version;
+       ret->write_params = priv_key->write_params;
+       if (priv_key->priv_key)
+       {
+               if ((ret->priv_key = BN_dup(priv_key->priv_key)) == NULL)
+                       OPENSSL_ECDSA_ABORT(ERR_R_BN_LIB)
+       }
+       else
+               OPENSSL_ECDSA_ABORT(ECDSA_R_D2I_ECDSAPRIVATEKEY_MISSING_PRIVATE_KEY)
+       if ((ret->pub_key = EC_POINT_new(ret->group)) == NULL)
+               OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB)
+       if (!EC_POINT_oct2point(ret->group, ret->pub_key, priv_key->pub_key->data, priv_key->pub_key->length, NULL))
+               OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB)
+       ok = 1;
+err :  if (!ok)
+       {
+               if (ret) ECDSA_free(ret);
+               ret = NULL;
+               ECDSAerr(ECDSA_F_D2I_ECDSAPRIVATEKEY, reason);
+       }
+       if (priv_key)   ECDSAPrivateKey_free(priv_key);
+       return(ret);
+}
+
+int    i2d_ECDSAPrivateKey(ECDSA *a, unsigned char **out)
+{
+       int ret=0, ok=0, reason=ERR_R_EC_LIB;
+       unsigned char   *buffer=NULL;
+       size_t          buf_len=0;
+       ECDSAPrivateKey *priv_key=NULL;
+
+       if (a == NULL || a->group == NULL)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS)
+       if ((priv_key = ECDSAPrivateKey_new()) == NULL)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSAPRIVATEKEY_NEW_FAILURE)
+       if ((priv_key->parameters = ECDSA_get_EC_PARAMETERS(a, priv_key->parameters)) == NULL)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_GET_X9_62_EC_PARAMETERS_FAILURE)
+       priv_key->version      = a->version;
+       if (BN_copy(priv_key->priv_key, a->priv_key) == NULL)
+               OPENSSL_ECDSA_ABORT(ERR_R_BN_LIB)
+       buf_len = EC_POINT_point2oct(a->group, a->pub_key, POINT_CONVERSION_COMPRESSED, NULL, 0, NULL);
+       if ((buffer = OPENSSL_malloc(buf_len)) == NULL)
+               OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE)
+       if (!EC_POINT_point2oct(a->group, a->pub_key, POINT_CONVERSION_COMPRESSED,
+                               buffer, buf_len, NULL)) goto err;
+       if (!M_ASN1_OCTET_STRING_set(priv_key->pub_key, buffer, buf_len))
+               OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB)
+       if ((ret = i2d_ecdsaPrivateKey(priv_key, out)) == 0)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_I2D_ECDSA_PRIVATEKEY)
+       ok=1;
+       
+err:   if (!ok)
+               ECDSAerr(ECDSA_F_I2D_ECDSAPRIVATEKEY, reason);
+       if (buffer)   OPENSSL_free(buffer);
+       if (priv_key) ECDSAPrivateKey_free(priv_key);   
+       return(ok?ret:0);
+}
+
+
+ECDSA  *d2i_ECDSAPublicKey(ECDSA **a, const unsigned char **in, long len)
+{
+       int reason=ERR_R_BN_LIB, ok=0, ecdsa_new=1;
+       ECDSA *ret=NULL;
+       ECDSAPrivateKey *priv_key=NULL;
+
+       if (a && *a)
+       {
+               ecdsa_new = 0;
+               ret = *a;
+       }
+       else if ((ret = ECDSA_new()) == NULL)
+               OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE); 
+       if ((priv_key = ECDSAPrivateKey_new()) == NULL)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSAPRIVATEKEY_NEW_FAILURE)
+       if ((priv_key = d2i_ecdsaPublicKey(&priv_key, in, len)) == NULL)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_D2I_ECDSA_PRIVATEKEY_FAILURE)
+       if (priv_key->write_params == 0)
+       {
+               if (ecdsa_new || !ret->group)
+                       OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS)
+               if (ret->pub_key == NULL && (ret->pub_key = EC_POINT_new(ret->group)) == NULL)
+                       OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE)
+               if (!EC_POINT_oct2point(ret->group, ret->pub_key, priv_key->pub_key->data,
+                                       priv_key->pub_key->length, NULL))
+                       OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB)
+       }
+       else if (priv_key->write_params == 1)
+       {
+               if ((ret = ECDSA_ecparameters2ecdsa(priv_key->parameters, ret)) == NULL)
+                       OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_GET_FAILURE)
+               if (ret->pub_key == NULL && (ret->pub_key = EC_POINT_new(ret->group)) == NULL)
+                       OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB)
+               if (!EC_POINT_oct2point(ret->group, ret->pub_key, priv_key->pub_key->data, 
+                               priv_key->pub_key->length, NULL))
+                       OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB)
+       }
+       else    OPENSSL_ECDSA_ABORT(ECDSA_R_UNEXPECTED_PARAMETER)
+       ret->write_params = 1;
+       ok = 1;
+err :  if (!ok)
+       {
+               if (ret && ecdsa_new) ECDSA_free(ret);
+               ret = NULL;
+               ECDSAerr(ECDSA_F_D2I_ECDSAPRIVATEKEY, reason);
+       }
+       if (priv_key)   ECDSAPrivateKey_free(priv_key);
+       return(ret);
+}
+
+int    i2d_ECDSAPublicKey(ECDSA *a, unsigned char **out)
+{
+        int    ret=0, reason=ERR_R_EC_LIB, ok=0;
+        unsigned char   *buffer=NULL;
+        size_t          buf_len=0;
+        ECDSAPrivateKey *priv_key=NULL;
+
+        if (a == NULL) 
+               OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS)
+        if ((priv_key = ECDSAPrivateKey_new()) == NULL) 
+               OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSAPRIVATEKEY_NEW_FAILURE)
+        if ((priv_key->parameters = ECDSA_get_EC_PARAMETERS(a, priv_key->parameters)) == NULL)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_GET_X9_62_EC_PARAMETERS_FAILURE)
+        priv_key->version = a->version;
+        priv_key->write_params = a->write_params;
+        buf_len = EC_POINT_point2oct(a->group, a->pub_key, POINT_CONVERSION_FORM, NULL, 0, NULL);
+        if (!buf_len || (buffer = OPENSSL_malloc(buf_len)) == NULL)
+               OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE)
+        if (!EC_POINT_point2oct(a->group, a->pub_key, POINT_CONVERSION_FORM,
+                               buffer, buf_len, NULL)) goto err;
+        if (!M_ASN1_OCTET_STRING_set(priv_key->pub_key, buffer, buf_len))
+               OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB)
+        if ((ret = i2d_ecdsaPublicKey(priv_key, out)) == 0)
+               OPENSSL_ECDSA_ABORT(ECDSA_R_I2D_ECDSA_PUBLICKEY)
+       ok = 1;
+
+err:    if (!ok)
+               ECDSAerr(ECDSA_F_I2D_ECDSAPUBLICKEY, reason);
+       if (buffer)   OPENSSL_free(buffer);
+        if (priv_key) ECDSAPrivateKey_free(priv_key);
+        return(ok?ret:0);
+}
diff --git a/crypto/ecdsa/ecs_err.c b/crypto/ecdsa/ecs_err.c
new file mode 100644 (file)
index 0000000..f788dc9
--- /dev/null
@@ -0,0 +1,155 @@
+/* crypto/ecdsa/ecs_err.c */
+/* ====================================================================
+ * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    openssl-core@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+/* NOTE: this file was auto generated by the mkerr.pl script: any changes
+ * made to it will be overwritten when the script next updates this file,
+ * only reason strings will be preserved.
+ */
+
+#include <stdio.h>
+#include <openssl/err.h>
+#include <openssl/ecdsa.h>
+
+/* BEGIN ERROR CODES */
+#ifndef OPENSSL_NO_ERR
+static ERR_STRING_DATA ECDSA_str_functs[]=
+       {
+{ERR_PACK(0,ECDSA_F_D2I_ECDSAPARAMETERS,0),    "d2i_ECDSAParameters"},
+{ERR_PACK(0,ECDSA_F_D2I_ECDSAPRIVATEKEY,0),    "d2i_ECDSAPrivateKey"},
+{ERR_PACK(0,ECDSA_F_ECDSAPARAMETERS_PRINT,0),  "ECDSAParameters_print"},
+{ERR_PACK(0,ECDSA_F_ECDSAPARAMETERS_PRINT_FP,0),       "ECDSAParameters_print_fp"},
+{ERR_PACK(0,ECDSA_F_ECDSA_DO_SIGN,0),  "ECDSA_do_sign"},
+{ERR_PACK(0,ECDSA_F_ECDSA_DO_VERIFY,0),        "ECDSA_do_verify"},
+{ERR_PACK(0,ECDSA_F_ECDSA_GENERATE_KEY,0),     "ECDSA_generate_key"},
+{ERR_PACK(0,ECDSA_F_ECDSA_GET,0),      "ECDSA_GET"},
+{ERR_PACK(0,ECDSA_F_ECDSA_GET_CURVE_NID,0),    "ECDSA_GET_CURVE_NID"},
+{ERR_PACK(0,ECDSA_F_ECDSA_GET_ECDSA,0),        "ECDSA_GET_ECDSA"},
+{ERR_PACK(0,ECDSA_F_ECDSA_GET_EC_PARAMETERS,0),        "ECDSA_get_EC_PARAMETERS"},
+{ERR_PACK(0,ECDSA_F_ECDSA_GET_X9_62_CURVE,0),  "ECDSA_get_X9_62_CURVE"},
+{ERR_PACK(0,ECDSA_F_ECDSA_GET_X9_62_EC_PARAMETERS,0),  "ECDSA_get_X9_62_EC_PARAMETERS"},
+{ERR_PACK(0,ECDSA_F_ECDSA_GET_X9_62_FIELDID,0),        "ECDSA_get_X9_62_FIELDID"},
+{ERR_PACK(0,ECDSA_F_ECDSA_NEW,0),      "ECDSA_NEW"},
+{ERR_PACK(0,ECDSA_F_ECDSA_PRINT,0),    "ECDSA_print"},
+{ERR_PACK(0,ECDSA_F_ECDSA_PRINT_FP,0), "ECDSA_print_fp"},
+{ERR_PACK(0,ECDSA_F_ECDSA_SET_GROUP_P,0),      "ECDSA_set_group_p"},
+{ERR_PACK(0,ECDSA_F_ECDSA_SET_PRIME_GROUP,0),  "ECDSA_SET_PRIME_GROUP"},
+{ERR_PACK(0,ECDSA_F_ECDSA_SIGN_SETUP,0),       "ECDSA_sign_setup"},
+{ERR_PACK(0,ECDSA_F_I2D_ECDSAPARAMETERS,0),    "i2d_ECDSAParameters"},
+{ERR_PACK(0,ECDSA_F_I2D_ECDSAPRIVATEKEY,0),    "i2d_ECDSAPrivateKey"},
+{ERR_PACK(0,ECDSA_F_I2D_ECDSAPUBLICKEY,0),     "i2d_ECDSAPublicKey"},
+{ERR_PACK(0,ECDSA_F_SIG_CB,0), "SIG_CB"},
+{0,NULL}
+       };
+
+static ERR_STRING_DATA ECDSA_str_reasons[]=
+       {
+{ECDSA_R_BAD_SIGNATURE                   ,"bad signature"},
+{ECDSA_R_CAN_NOT_GET_GENERATOR           ,"can not get generator"},
+{ECDSA_R_D2I_ECDSAPRIVATEKEY_MISSING_PRIVATE_KEY,"d2i ecdsaprivatekey missing private key"},
+{ECDSA_R_D2I_ECDSA_PRIVATEKEY_FAILURE    ,"d2i ecdsa privatekey failure"},
+{ECDSA_R_D2I_EC_PARAMETERS_FAILURE       ,"d2i ec parameters failure"},
+{ECDSA_R_D2I_X9_62_EC_PARAMETERS_FAILURE ,"d2i x9 62 ec parameters failure"},
+{ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE     ,"data too large for key size"},
+{ECDSA_R_ECDSAPRIVATEKEY_NEW_FAILURE     ,"ecdsaprivatekey new failure"},
+{ECDSA_R_ECDSA_F_ECDSA_NEW               ,"ecdsa f ecdsa new"},
+{ECDSA_R_ECDSA_GET_EC_PARAMETERS_FAILURE ,"ecdsa get ec parameters failure"},
+{ECDSA_R_ECDSA_GET_FAILURE               ,"ecdsa get failure"},
+{ECDSA_R_ECDSA_GET_X9_62_CURVE_FAILURE   ,"ecdsa get x9 62 curve failure"},
+{ECDSA_R_ECDSA_GET_X9_62_EC_PARAMETERS_FAILURE,"ecdsa get x9 62 ec parameters failure"},
+{ECDSA_R_ECDSA_GET_X9_62_FIELDID_FAILURE ,"ecdsa get x9 62 fieldid failure"},
+{ECDSA_R_ECDSA_NEW_FAILURE               ,"ecdsa new failure"},
+{ECDSA_R_ECDSA_R_D2I_EC_PARAMETERS_FAILURE,"ecdsa r d2i ec parameters failure"},
+{ECDSA_R_ECDSA_R_D2I_X9_62_EC_PARAMETERS_FAILURE,"ecdsa r d2i x9 62 ec parameters failure"},
+{ECDSA_R_ECPARAMETERS2ECDSA_FAILURE      ,"ecparameters2ecdsa failure"},
+{ECDSA_R_EC_GROUP_NID2CURVE_FAILURE      ,"ec group nid2curve failure"},
+{ECDSA_R_ERR_EC_LIB                      ,"err ec lib"},
+{ECDSA_R_I2D_ECDSA_PRIVATEKEY            ,"i2d ecdsa privatekey"},
+{ECDSA_R_I2D_ECDSA_PUBLICKEY             ,"i2d ecdsa publickey"},
+{ECDSA_R_MISSING_PARAMETERS              ,"missing parameters"},
+{ECDSA_R_NOT_SUPPORTED                   ,"not supported"},
+{ECDSA_R_NO_CURVE_PARAMETER_A_SPECIFIED  ,"no curve parameter a specified"},
+{ECDSA_R_NO_CURVE_PARAMETER_B_SPECIFIED  ,"no curve parameter b specified"},
+{ECDSA_R_NO_CURVE_SPECIFIED              ,"no curve specified"},
+{ECDSA_R_NO_FIELD_SPECIFIED              ,"no field specified"},
+{ECDSA_R_PRIME_MISSING                   ,"prime missing"},
+{ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED ,"random number generation failed"},
+{ECDSA_R_SIGNATURE_MALLOC_FAILED         ,"signature malloc failed"},
+{ECDSA_R_UNEXPECTED_ASN1_TYPE            ,"unexpected asn1 type"},
+{ECDSA_R_UNEXPECTED_PARAMETER            ,"unexpected parameter"},
+{ECDSA_R_UNEXPECTED_PARAMETER_LENGTH     ,"unexpected parameter length"},
+{ECDSA_R_UNEXPECTED_VERSION_NUMER        ,"unexpected version numer"},
+{ECDSA_R_UNKNOWN_PARAMETERS_TYPE         ,"unknown parameters type"},
+{ECDSA_R_WRONG_FIELD_IDENTIFIER          ,"wrong field identifier"},
+{ECDSA_R_X9_62_CURVE_NEW_FAILURE         ,"x9 62 curve new failure"},
+{ECDSA_R_X9_62_EC_PARAMETERS_NEW_FAILURE ,"x9 62 ec parameters new failure"},
+{0,NULL}
+       };
+
+#endif
+
+void ERR_load_ECDSA_strings(void)
+       {
+       static int init=1;
+
+       if (init)
+               {
+               init=0;
+#ifndef OPENSSL_NO_ERR
+               ERR_load_strings(ERR_LIB_ECDSA,ECDSA_str_functs);
+               ERR_load_strings(ERR_LIB_ECDSA,ECDSA_str_reasons);
+#endif
+
+               }
+       }
diff --git a/crypto/ecdsa/ecs_gen.c b/crypto/ecdsa/ecs_gen.c
new file mode 100644 (file)
index 0000000..0e2ade7
--- /dev/null
@@ -0,0 +1,133 @@
+/* crypto/ecdsa/ecs_gen.c */
+/* ====================================================================
+ * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    openssl-core@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ * 
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to.  The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ * 
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *    "This product includes cryptographic software written by
+ *     Eric Young (eay@cryptsoft.com)"
+ *    The word 'cryptographic' can be left out if the rouines from the library
+ *    being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from 
+ *    the apps directory (application code) you must include an acknowledgement:
+ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ * 
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * 
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed.  i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
+#include <stdio.h>
+#include <time.h>
+#include "cryptlib.h"
+#include <openssl/evp.h>
+#include <openssl/bn.h>
+#include <openssl/ecdsa.h>
+#include <openssl/rand.h>
+#include <openssl/sha.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+ECDSA *ECDSA_generate_parameters(int bits,
+               unsigned char *seed_in, int seed_len,
+               int *counter_ret, unsigned long *h_ret,
+               void (*callback)(int, int, void *),
+               void *cb_arg)
+       {
+               return NULL;
+       }
+#ifdef  __cplusplus
+}
+#endif
diff --git a/crypto/ecdsa/ecs_key.c b/crypto/ecdsa/ecs_key.c
new file mode 100644 (file)
index 0000000..44a3f2b
--- /dev/null
@@ -0,0 +1,143 @@
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ * 
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to.  The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ * 
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *    "This product includes cryptographic software written by
+ *     Eric Young (eay@cryptsoft.com)"
+ *    The word 'cryptographic' can be left out if the rouines from the library
+ *    being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from 
+ *    the apps directory (application code) you must include an acknowledgement:
+ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ * 
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * 
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed.  i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
+#include "cryptlib.h"
+#include <openssl/ecdsa.h>
+
+int ECDSA_generate_key(ECDSA *ecdsa)
+{      
+       int ok=0;
+       BN_CTX *ctx=NULL;
+       BIGNUM *priv_key=NULL,*order=NULL;
+       EC_POINT *pub_key=NULL;
+
+       if (!ecdsa || !ecdsa->group)
+       {
+               ECDSAerr(ECDSA_F_ECDSA_GENERATE_KEY,ECDSA_R_MISSING_PARAMETERS);
+               return 0;
+       }
+
+       if ((order = BN_new()) == NULL) goto err;
+       if ((ctx = BN_CTX_new()) == NULL) goto err;
+
+       if (ecdsa->priv_key == NULL)
+       {
+               if ((priv_key = BN_new()) == NULL) goto err;
+       }
+       else
+               priv_key = ecdsa->priv_key;
+
+       if (!EC_GROUP_get_order(ecdsa->group, order, ctx)) goto err;
+       do
+               if (!BN_rand_range(priv_key, order)) goto err;
+       while (BN_is_zero(priv_key));
+
+       if (ecdsa->pub_key == NULL)
+       {
+               if ((pub_key = EC_POINT_new(ecdsa->group)) == NULL) goto err;
+       }
+       else
+               pub_key = ecdsa->pub_key;
+
+       if (!EC_POINT_copy(pub_key, EC_GROUP_get0_generator(ecdsa->group))) goto err;
+       if (!EC_POINT_mul(ecdsa->group, pub_key, priv_key, NULL, NULL, ctx)) goto err;
+
+       ecdsa->priv_key = priv_key;
+       ecdsa->pub_key  = pub_key;
+       ok=1;
+err:   if (order)      BN_free(order);
+       if ((pub_key  != NULL) && (ecdsa->pub_key  == NULL)) EC_POINT_free(pub_key);
+       if ((priv_key != NULL) && (ecdsa->priv_key == NULL)) BN_free(priv_key);
+       if (ctx != NULL) BN_CTX_free(ctx);
+       return(ok);
+}
+
+int ECDSA_check_key(ECDSA *ecdsa)
+{
+       int ok=0;
+       BN_CTX *ctx=NULL;
+       BIGNUM *order=NULL;
+       EC_POINT *point=NULL;
+
+       if (!ecdsa || !ecdsa->group || !ecdsa->pub_key)
+               return 0;
+       
+       if ((ctx = BN_CTX_new()) == NULL) goto err;
+       if ((order = BN_new()) == NULL) goto err;
+       if ((point = EC_POINT_new(ecdsa->group)) == NULL) goto err;
+
+       /* testing whether pub_key is a valid point on the elliptic curve */
+       if (!EC_POINT_is_on_curve(ecdsa->group,ecdsa->pub_key,ctx)) goto err;
+       /* testing whether pub_key * order is the point at infinity */
+       if (!EC_GROUP_get_order(ecdsa->group,order,ctx)) goto err;
+       if (!EC_POINT_copy(point,ecdsa->pub_key)) goto err;
+       if (!EC_POINT_mul(ecdsa->group,point,order,NULL,NULL,ctx)) goto err;
+       if (!EC_POINT_is_at_infinity(ecdsa->group,point)) goto err;
+       /* in case the priv_key is present : check if generator * priv_key == pub_key */
+       if (ecdsa->priv_key)
+       {
+               if (BN_cmp(ecdsa->priv_key,order) >= 0) goto err;
+               if (!EC_POINT_copy(point,EC_GROUP_get0_generator(ecdsa->group))) goto err;
+               if (!EC_POINT_mul(ecdsa->group,point,ecdsa->priv_key,NULL,NULL,ctx)) goto err;
+               if (EC_POINT_cmp(ecdsa->group,point,ecdsa->pub_key,ctx) != 0) goto err;
+       }
+       ok = 1;
+err:
+       if (ctx   != NULL) BN_CTX_free(ctx);
+       if (order != NULL) BN_free(order);
+       if (point != NULL) EC_POINT_free(point);
+       return(ok);
+}
diff --git a/crypto/ecdsa/ecs_lib.c b/crypto/ecdsa/ecs_lib.c
new file mode 100644 (file)
index 0000000..b161b6c
--- /dev/null
@@ -0,0 +1,312 @@
+/* crypto/ecdsa/ecs_lib.c */
+/* ====================================================================
+ * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    openssl-core@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ * 
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to.  The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ * 
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *    "This product includes cryptographic software written by
+ *     Eric Young (eay@cryptsoft.com)"
+ *    The word 'cryptographic' can be left out if the rouines from the library
+ *    being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from 
+ *    the apps directory (application code) you must include an acknowledgement:
+ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ * 
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * 
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed.  i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
+
+#include "cryptlib.h"
+#include "ecs_locl.h"
+#include <openssl/engine.h>
+
+const char *ECDSA_version="ECDSA" OPENSSL_VERSION_PTEXT;
+
+static const ECDSA_METHOD *default_ECDSA_method = NULL;
+
+void ECDSA_set_default_method(const ECDSA_METHOD *meth)
+{
+       default_ECDSA_method = meth;
+}
+
+const ECDSA_METHOD *ECDSA_get_default_method(void)
+{
+       if(!default_ECDSA_method) 
+               default_ECDSA_method = ECDSA_OpenSSL();
+       return default_ECDSA_method;
+}
+
+ECDSA *ECDSA_new(void)
+{
+       return ECDSA_new_method(NULL);
+}
+
+int ECDSA_set_method(ECDSA *ecdsa, const ECDSA_METHOD *meth)
+{
+        const ECDSA_METHOD *mtmp;
+        mtmp = ecdsa->meth;
+        if (mtmp->finish) mtmp->finish(ecdsa);
+       if (ecdsa->engine)
+       {
+               ENGINE_finish(ecdsa->engine);
+               ecdsa->engine = NULL;
+       }
+        ecdsa->meth = meth;
+        if (meth->init) meth->init(ecdsa);
+        return 1;
+}
+
+ECDSA *ECDSA_new_method(ENGINE *engine)
+{
+       ECDSA *ret;
+
+       ret=(ECDSA *)OPENSSL_malloc(sizeof(ECDSA));
+       if (ret == NULL)
+       {
+               ECDSAerr(ECDSA_F_ECDSA_NEW,ERR_R_MALLOC_FAILURE);
+               return(NULL);
+       }
+
+       ret->meth = ECDSA_get_default_method();
+       ret->engine = engine;
+       if (!ret->engine)
+               ret->engine = ENGINE_get_default_ECDSA();
+       if (ret->engine)
+       {
+               ret->meth = ENGINE_get_ECDSA(ret->engine);
+               if (!ret->meth)
+               {
+                       ECDSAerr(ECDSA_R_ECDSA_F_ECDSA_NEW, ERR_R_ENGINE_LIB);
+                       ENGINE_finish(ret->engine);
+                       OPENSSL_free(ret);
+                       return NULL;
+               }
+       }
+
+       ret->version = 1;
+       ret->write_params=1;
+       ret->group = NULL;
+
+       ret->pub_key = NULL;
+       ret->priv_key = NULL;
+
+       ret->kinv = NULL;
+       ret->r = NULL;
+
+       ret->seed = NULL;
+       ret->seed_len = 0;
+
+       ret->parameter_flags = 0;
+
+       ret->references = 1;
+       ret->flags = ret->meth->flags;
+       CRYPTO_new_ex_data(CRYPTO_EX_INDEX_ECDSA, ret, &ret->ex_data);
+       if ((ret->meth->init != NULL) && !ret->meth->init(ret))
+       {
+               CRYPTO_free_ex_data(CRYPTO_EX_INDEX_ECDSA, ret, &ret->ex_data);
+               OPENSSL_free(ret);
+               ret=NULL;
+       }
+       
+       return(ret);
+}
+
+void ECDSA_free(ECDSA *r)
+{
+       int i;
+
+       if (r == NULL) return;
+
+       i=CRYPTO_add(&r->references,-1,CRYPTO_LOCK_ECDSA);
+#ifdef REF_PRINT
+       REF_PRINT("ECDSA",r);
+#endif
+       if (i > 0) return;
+#ifdef REF_CHECK
+       if (i < 0)
+       {
+               fprintf(stderr,"ECDSA_free, bad reference count\n");
+               abort();
+       }
+#endif
+
+       if (r->meth->finish)
+               r->meth->finish(r);
+       if (r->engine)
+               ENGINE_finish(r->engine);
+
+       CRYPTO_free_ex_data(CRYPTO_EX_INDEX_ECDSA, r, &r->ex_data);
+
+       if (r->group    != NULL) EC_GROUP_free(r->group);
+       if (r->pub_key  != NULL) EC_POINT_free(r->pub_key);
+       if (r->priv_key != NULL) BN_clear_free(r->priv_key);
+       if (r->kinv != NULL) BN_clear_free(r->kinv);
+       if (r->r    != NULL) BN_clear_free(r->r);
+       if (r->seed != NULL) OPENSSL_free(r->seed);
+       OPENSSL_free(r);
+}
+
+int ECDSA_size(const ECDSA *r)
+{
+       int ret,i;
+       ASN1_INTEGER bs;
+       BIGNUM  *order=NULL;
+       unsigned char buf[4];
+
+       if (r == NULL || r->group == NULL)
+               return 0;
+       if ((order = BN_new()) == NULL) return 0;
+       if (!EC_GROUP_get_order(r->group,order,NULL))
+       {
+               BN_clear_free(order);
+               return 0;
+       } 
+       i=BN_num_bits(order);
+       bs.length=(i+7)/8;
+       bs.data=buf;
+       bs.type=V_ASN1_INTEGER;
+       /* If the top bit is set the asn1 encoding is 1 larger. */
+       buf[0]=0xff;    
+
+       i=i2d_ASN1_INTEGER(&bs,NULL);
+       i+=i; /* r and s */
+       ret=ASN1_object_size(1,i,V_ASN1_SEQUENCE);
+       BN_clear_free(order);
+       return(ret);
+}
+
+int ECDSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
+            CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func)
+{
+       return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_ECDSA, argl, argp,
+                               new_func, dup_func, free_func);
+}
+
+int ECDSA_set_ex_data(ECDSA *d, int idx, void *arg)
+{
+       return(CRYPTO_set_ex_data(&d->ex_data,idx,arg));
+}
+
+void *ECDSA_get_ex_data(ECDSA *d, int idx)
+{
+       return(CRYPTO_get_ex_data(&d->ex_data,idx));
+}
+
+int ECDSA_up_ref(ECDSA *ecdsa)
+{
+       int i = CRYPTO_add(&ecdsa->references, 1, CRYPTO_LOCK_ECDSA);
+#ifdef REF_PRINT
+       REF_PRINT("ECDSA",r);
+#endif 
+#ifdef REF_CHECK
+       if (i < 2)
+       {
+               fprintf(stderr, "ECDSA_up_ref, bad reference count\n");
+                abort();
+        }
+#endif
+        return ((i > 1) ? 1 : 0);
+}
+        
+void ECDSA_set_parameter_flags(ECDSA *ecdsa, int flag)
+{
+       ecdsa->parameter_flags = flag;
+}
+
+int ECDSA_get_parameter_flags(const ECDSA *ecdsa)
+{
+       return ecdsa->parameter_flags;
+}
diff --git a/crypto/ecdsa/ecs_locl.h b/crypto/ecdsa/ecs_locl.h
new file mode 100644 (file)
index 0000000..61b6366
--- /dev/null
@@ -0,0 +1,118 @@
+/* crypto/ecdsa/ecs_locl.h */
+/* ====================================================================
+ * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include "ecdsa.h"
+
+#ifndef HEADER_ECS_LOCL_H
+#define HEADER_ECS_LOCL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define OPENSSL_ECDSA_ABORT(r) { reason = (r); goto err; }
+
+/* some structures needed for the asn1 encoding */
+typedef struct x9_62_fieldid_st {
+        ASN1_OBJECT *fieldType;
+        ASN1_TYPE   *parameters;
+        } X9_62_FIELDID;
+
+typedef struct x9_62_curve_st {
+        ASN1_OCTET_STRING *a;
+        ASN1_OCTET_STRING *b;
+        ASN1_BIT_STRING   *seed;
+        } X9_62_CURVE;
+
+typedef struct x9_62_ec_parameters {
+        ASN1_INTEGER      *version;
+        X9_62_FIELDID     *fieldID;
+        X9_62_CURVE       *curve;
+        ASN1_OCTET_STRING *base;
+        ASN1_INTEGER      *order;
+        ASN1_INTEGER      *cofactor;
+        } X9_62_EC_PARAMETERS;
+
+typedef struct ec_parameters {
+       int     type;
+       union {
+               ASN1_OBJECT         *named_curve;
+               X9_62_EC_PARAMETERS *parameters;
+               ASN1_NULL           *implicitlyCA;
+       } value;
+       } EC_PARAMETERS;
+
+typedef struct ecdsa_priv_key_st {
+        int               version;
+        int               write_params;
+        EC_PARAMETERS    *parameters;
+       ASN1_OBJECT       *named_curve;
+        ASN1_OCTET_STRING *pub_key;
+        BIGNUM            *priv_key;
+        } ECDSAPrivateKey;
+
+
+X9_62_FIELDID *ECDSA_get_X9_62_FIELDID(const ECDSA *ecdsa, X9_62_FIELDID *field);
+X9_62_CURVE   *ECDSA_get_X9_62_CURVE(const ECDSA *ecdsa, X9_62_CURVE *curve);
+X9_62_EC_PARAMETERS *ECDSA_get_X9_62_EC_PARAMETERS(const ECDSA *ecdsa, X9_62_EC_PARAMETERS *params);
+EC_PARAMETERS *ECDSA_get_EC_PARAMETERS(const ECDSA *ecdsa, EC_PARAMETERS *params);
+
+ECDSA  *ECDSA_x9_62parameters2ecdsa(const X9_62_EC_PARAMETERS *params, ECDSA *ecdsa);
+ECDSA  *ECDSA_ecparameters2ecdsa(const EC_PARAMETERS *params, ECDSA *ecdsa);
+
+#ifdef  __cplusplus
+}
+#endif
+#endif
diff --git a/crypto/ecdsa/ecs_ossl.c b/crypto/ecdsa/ecs_ossl.c
new file mode 100644 (file)
index 0000000..5a36707
--- /dev/null
@@ -0,0 +1,381 @@
+/* crypto/ecdsa/ecs_ossl.c */
+/* ====================================================================
+ * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    openssl-core@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ * 
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to.  The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ * 
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *    "This product includes cryptographic software written by
+ *     Eric Young (eay@cryptsoft.com)"
+ *    The word 'cryptographic' can be left out if the rouines from the library
+ *    being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from 
+ *    the apps directory (application code) you must include an acknowledgement:
+ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ * 
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * 
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed.  i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
+#include "cryptlib.h"
+#include <openssl/ecdsa.h>
+
+/* TODO : general case */
+#define        EC_POINT_get_affine_coordinates EC_POINT_get_affine_coordinates_GFp
+
+static ECDSA_SIG *ecdsa_do_sign(const unsigned char *dgst, int dlen, ECDSA *ecdsa);
+static int ecdsa_sign_setup(ECDSA *ecdsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp);
+static int ecdsa_do_verify(const unsigned char *dgst, int dgst_len, ECDSA_SIG *sig,
+                          ECDSA *ecdsa);
+
+static ECDSA_METHOD openssl_ecdsa_meth = {
+"OpenSSL ECDSA method",
+ecdsa_do_sign,
+ecdsa_sign_setup,
+ecdsa_do_verify,
+0,
+NULL
+};
+
+const ECDSA_METHOD *ECDSA_OpenSSL(void)
+{
+       return &openssl_ecdsa_meth;
+}
+
+static int ecdsa_sign_setup(ECDSA *ecdsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)
+{
+       BN_CTX   *ctx = NULL;
+       BIGNUM   k,*kinv=NULL,*r=NULL,*order=NULL,*X=NULL;
+       EC_POINT *tmp_point=NULL;
+       int      ret = 0,reason = ERR_R_BN_LIB;
+       if (!ecdsa  || !ecdsa->group || !ecdsa->pub_key || !ecdsa->priv_key)
+       {
+               reason = ECDSA_R_MISSING_PARAMETERS;
+               return 0;
+       }
+       if (ctx_in == NULL) 
+       {
+               if ((ctx=BN_CTX_new()) == NULL) goto err;
+       }
+       else
+               ctx=ctx_in;
+
+       if ((r = BN_new()) == NULL) goto err;
+       if ((order = BN_new()) == NULL) goto err;
+       if ((X = BN_new()) == NULL) goto err;
+       if ((tmp_point = EC_POINT_new(ecdsa->group)) == NULL)
+       {
+               reason = ERR_R_EC_LIB;
+               goto err;
+       }
+       if (!EC_POINT_copy(tmp_point,EC_GROUP_get0_generator(ecdsa->group)))
+       {
+               reason = ERR_R_EC_LIB;
+               goto err;
+       }
+       if (!EC_GROUP_get_order(ecdsa->group,order,ctx))
+       {
+               reason = ERR_R_EC_LIB;
+               goto err;
+       }
+       
+       do
+       {
+               /* get random k */      
+               BN_init(&k);
+               do
+                       if (!BN_rand_range(&k,order))
+                       {
+                               reason = ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED;
+                               goto err;
+                       }
+               while (BN_is_zero(&k));
+
+               /* compute r the x-coordinate of generator * k */
+               if (!EC_POINT_mul(ecdsa->group,tmp_point,&k,NULL,NULL,ctx) 
+                   || !EC_POINT_get_affine_coordinates(ecdsa->group,tmp_point,X,NULL,ctx))
+               {
+                       reason = ERR_R_EC_LIB;
+                       goto err;
+               }
+               if (!BN_nnmod(r,X,order,ctx)) goto err;
+       }
+       while (BN_is_zero(r));
+
+       /* compute the inverse of k */
+       if ((kinv = BN_mod_inverse(NULL,&k,order,ctx)) == NULL) goto err;
+
+       if (*rp == NULL)
+               BN_clear_free(*rp);
+       *rp = r;
+       if (*kinvp == NULL) 
+               BN_clear_free(*kinvp);
+       *kinvp = kinv;
+       kinv = NULL;
+       ret = 1;
+err:
+       if (!ret)
+       {
+               ECDSAerr(ECDSA_F_ECDSA_SIGN_SETUP,reason);
+               if (kinv != NULL) BN_clear_free(kinv);
+               if (r != NULL) BN_clear_free(r);
+       }
+       if (ctx_in == NULL) 
+               BN_CTX_free(ctx);
+       if (kinv != NULL)
+               BN_clear_free(kinv);
+       if (order != NULL)
+               BN_clear_free(order);
+       if (tmp_point != NULL) 
+               EC_POINT_free(tmp_point);
+       if (X)  BN_clear_free(X);
+       BN_clear_free(&k);
+       return(ret);
+}
+
+
+static ECDSA_SIG *ecdsa_do_sign(const unsigned char *dgst, int dgst_len, ECDSA *ecdsa)
+{
+       BIGNUM *kinv=NULL,*r=NULL,*s=NULL,*m=NULL,*tmp=NULL,*order=NULL;
+       BIGNUM xr;
+       BN_CTX *ctx=NULL;
+       int reason=ERR_R_BN_LIB;
+       ECDSA_SIG *ret=NULL;
+
+       if (!ecdsa || !ecdsa->group || !ecdsa->pub_key || !ecdsa->priv_key)
+       {
+               reason = ECDSA_R_MISSING_PARAMETERS;
+               goto err;
+       }
+       BN_init(&xr);
+
+       if ((ctx = BN_CTX_new()) == NULL) goto err;
+       if ((order = BN_new()) == NULL) goto err;
+       if ((tmp = BN_new()) == NULL) goto err;
+       if ((m = BN_new()) == NULL) goto err;
+       if ((s = BN_new()) == NULL) goto err;
+
+       if (!EC_GROUP_get_order(ecdsa->group,order,ctx))
+       {
+               reason = ECDSA_R_ERR_EC_LIB;
+               goto err;
+       }
+       if (dgst_len > BN_num_bytes(order))
+       {
+               reason = ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE;
+               goto err;
+       }
+
+       if (BN_bin2bn(dgst,dgst_len,m) == NULL) goto err;
+       do
+       {
+               if ((ecdsa->kinv == NULL) || (ecdsa->r == NULL))
+               {
+                       if (!ECDSA_sign_setup(ecdsa,ctx,&kinv,&r)) goto err;
+               }
+               else
+               {
+                       kinv = ecdsa->kinv;
+                       ecdsa->kinv = NULL;
+                       r = ecdsa->r;
+                       ecdsa->r = NULL;
+               }
+
+               if (!BN_mod_mul(tmp,ecdsa->priv_key,r,order,ctx)) goto err;
+               if (!BN_add(s,tmp,m)) goto err;
+               if (BN_cmp(s,order) > 0)
+                       BN_sub(s,s,order);
+               if (!BN_mod_mul(s,s,kinv,order,ctx)) goto err;
+       }
+       while (BN_is_zero(s));
+
+       if ((ret = ECDSA_SIG_new()) == NULL)
+       {
+               reason = ECDSA_R_SIGNATURE_MALLOC_FAILED;
+               goto err;
+       }
+       ret->r = r;
+       ret->s = s;
+       
+err:
+       if (!ret)
+               {
+               ECDSAerr(ECDSA_F_ECDSA_DO_SIGN,reason);
+               BN_free(r);
+               BN_free(s);
+               }
+       if (ctx   != NULL) BN_CTX_free(ctx);
+       if (m     != NULL) BN_clear_free(m);
+       if (tmp   != NULL) BN_clear_free(tmp);
+       if (order != NULL) BN_clear_free(order);
+       if (kinv  != NULL) BN_clear_free(kinv);
+       return(ret);
+}
+
+static int ecdsa_do_verify(const unsigned char *dgst, int dgst_len, ECDSA_SIG *sig,
+                          ECDSA *ecdsa)
+{
+       BN_CTX *ctx;
+       BIGNUM *order=NULL,*u1=NULL,*u2=NULL,*m=NULL,*X=NULL;
+       EC_POINT *point=NULL;
+       int ret = -1,reason = ERR_R_BN_LIB;
+       if (!ecdsa || !ecdsa->group || !ecdsa->pub_key || !sig)
+       {
+               reason = ECDSA_R_MISSING_PARAMETERS;
+               return -1;
+       }
+
+       if ((ctx = BN_CTX_new()) == NULL) goto err;
+       if ((order = BN_new()) == NULL) goto err;
+       if ((u1 = BN_new()) == NULL) goto err;
+       if ((u2 = BN_new()) == NULL) goto err;
+       if ((m  = BN_new()) == NULL) goto err;
+       if ((X  = BN_new()) == NULL) goto err;
+       if (!EC_GROUP_get_order(ecdsa->group,order,ctx)) goto err;
+
+       if (BN_is_zero(sig->r) || sig->r->neg || BN_ucmp(sig->r, order) >= 0)
+       {
+               reason = ECDSA_R_BAD_SIGNATURE;
+               ret = 0;
+               goto err;
+       }
+       if (BN_is_zero(sig->s) || sig->s->neg || BN_ucmp(sig->s, order) >= 0)
+       {
+               reason = ECDSA_R_BAD_SIGNATURE;
+               ret = 0;
+               goto err;
+       }
+
+       /* calculate tmp1 = inv(S) mod order */
+       if ((BN_mod_inverse(u2,sig->s,order,ctx)) == NULL) goto err;
+       /* digest -> m */
+       if (BN_bin2bn(dgst,dgst_len,m) == NULL) goto err;
+       /* u1 = m * tmp mod order */
+       if (!BN_mod_mul(u1,m,u2,order,ctx)) goto err;
+       /* u2 = r * w mod q */
+       if (!BN_mod_mul(u2,sig->r,u2,order,ctx)) goto err;
+
+       if ((point = EC_POINT_new(ecdsa->group)) == NULL)
+       {
+               reason = ERR_R_EC_LIB;
+               goto err;
+       }
+       if (!EC_POINT_copy(point,EC_GROUP_get0_generator(ecdsa->group)))
+       {
+               reason = ERR_R_EC_LIB;
+               goto err;
+       }
+       if (!EC_POINT_mul(ecdsa->group,point,u1,ecdsa->pub_key,u2,ctx)
+           || !EC_POINT_get_affine_coordinates(ecdsa->group,point,X,NULL,ctx))
+       {
+               reason = ERR_R_EC_LIB;
+               goto err;
+       }
+       if (!BN_nnmod(u1,X,order,ctx)) goto err;
+
+       /*  is now in u1.  If the signature is correct, it will be
+        * equal to R. */
+       ret = (BN_ucmp(u1,sig->r) == 0);
+
+       err:
+       if (ret != 1) ECDSAerr(ECDSA_F_ECDSA_DO_VERIFY,reason);
+       if (ctx != NULL) BN_CTX_free(ctx);
+       if (u1  != NULL) BN_clear_free(u1);
+       if (u2  != NULL) BN_clear_free(u2);
+       if (m   != NULL) BN_clear_free(m);
+       if (X   != NULL) BN_clear_free(X);
+       if (order != NULL) BN_clear_free(order);
+       if (point != NULL) EC_POINT_free(point);
+       return(ret);
+}
diff --git a/crypto/ecdsa/ecs_sign.c b/crypto/ecdsa/ecs_sign.c
new file mode 100644 (file)
index 0000000..eb18685
--- /dev/null
@@ -0,0 +1,138 @@
+/* crypto/ecdsa/ecdsa_sign.c */
+/* ====================================================================
+ * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    openssl-core@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ * 
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to.  The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ * 
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *    "This product includes cryptographic software written by
+ *     Eric Young (eay@cryptsoft.com)"
+ *    The word 'cryptographic' can be left out if the rouines from the library
+ *    being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from 
+ *    the apps directory (application code) you must include an acknowledgement:
+ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ * 
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * 
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed.  i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
+#include "cryptlib.h"
+#include <openssl/ecdsa.h>
+#include <openssl/engine.h>
+
+ECDSA_SIG * ECDSA_do_sign(const unsigned char *dgst, int dlen, ECDSA *ecdsa)
+{
+       return ecdsa->meth->ecdsa_do_sign(dgst, dlen, ecdsa);
+}
+
+int ECDSA_sign(int type, const unsigned char *dgst, int dlen, unsigned char *sig,
+            unsigned int *siglen, ECDSA *ecdsa)
+{
+       ECDSA_SIG *s;
+       s=ECDSA_do_sign(dgst,dlen,ecdsa);
+       if (s == NULL)
+       {
+               *siglen=0;
+               return(0);
+       }
+       *siglen=i2d_ECDSA_SIG(s,&sig);
+       ECDSA_SIG_free(s);
+       return(1);
+}
+
+int ECDSA_sign_setup(ECDSA *ecdsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)
+{
+       return ecdsa->meth->ecdsa_sign_setup(ecdsa, ctx_in, kinvp, rp);
+}
diff --git a/crypto/ecdsa/ecs_vrf.c b/crypto/ecdsa/ecs_vrf.c
new file mode 100644 (file)
index 0000000..dddbcfc
--- /dev/null
@@ -0,0 +1,141 @@
+/* crypto/ecdsa/ecdsa_vrf.c */
+/* ====================================================================
+ * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    openssl-core@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ * 
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to.  The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ * 
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *    "This product includes cryptographic software written by
+ *     Eric Young (eay@cryptsoft.com)"
+ *    The word 'cryptographic' can be left out if the rouines from the library
+ *    being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from 
+ *    the apps directory (application code) you must include an acknowledgement:
+ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ * 
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * 
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed.  i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
+#include <openssl/ecdsa.h>
+#include <openssl/engine.h>
+
+/* returns
+ *      1: correct signature
+ *      0: incorrect signature
+ *     -1: error
+ */
+int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, ECDSA_SIG *sig, ECDSA *ecdsa)
+       {
+       return ecdsa->meth->ecdsa_do_verify(dgst, dgst_len, sig, ecdsa);
+       }
+
+/* returns
+ *      1: correct signature
+ *      0: incorrect signature
+ *     -1: error
+ */
+int ECDSA_verify(int type, const unsigned char *dgst, int dgst_len, const unsigned char *sigbuf, int sig_len, ECDSA *ecdsa)
+       {
+       ECDSA_SIG *s;
+       int ret=-1;
+
+       s = ECDSA_SIG_new();
+       if (s == NULL) return(ret);
+       if (d2i_ECDSA_SIG(&s,&sigbuf,sig_len) == NULL) goto err;
+       ret=ECDSA_do_verify(dgst,dgst_len,s,ecdsa);
+err:
+       ECDSA_SIG_free(s);
+       return(ret);
+       }
index 7b480d00e36748d200d45e68e32ddc384d073f25..674b38495c0cfed38abbf88a3beb1db74c07a4e8 100644 (file)
@@ -25,13 +25,13 @@ APPS=
 LIB=$(TOP)/libcrypto.a
 LIBSRC= eng_err.c eng_lib.c eng_list.c eng_init.c eng_ctrl.c \
        eng_table.c eng_pkey.c eng_fat.c eng_all.c \
-       tb_rsa.c tb_dsa.c tb_dh.c tb_rand.c tb_cipher.c tb_digest.c \
+       tb_rsa.c tb_dsa.c tb_ecdsa.c tb_dh.c tb_rand.c tb_cipher.c tb_digest.c \
        eng_openssl.c eng_dyn.c eng_cnf.c \
        hw_atalla.c hw_cswift.c hw_ncipher.c hw_nuron.c hw_ubsec.c \
        hw_openbsd_dev_crypto.c hw_aep.c hw_sureware.c
 LIBOBJ= eng_err.o eng_lib.o eng_list.o eng_init.o eng_ctrl.o \
        eng_table.o eng_pkey.o eng_fat.o eng_all.o \
-       tb_rsa.o tb_dsa.o tb_dh.o tb_rand.o tb_cipher.o tb_digest.o \
+       tb_rsa.o tb_dsa.o tb_ecdsa.o tb_dh.o tb_rand.o tb_cipher.o tb_digest.o \
        eng_openssl.o eng_dyn.o eng_cnf.o \
        hw_atalla.o hw_cswift.o hw_ncipher.o hw_nuron.o hw_ubsec.o \
        hw_openbsd_dev_crypto.o hw_aep.o hw_sureware.o
@@ -93,117 +93,131 @@ clean:
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-eng_all.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-eng_all.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
-eng_all.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-eng_all.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-eng_all.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-eng_all.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-eng_all.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
-eng_all.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-eng_all.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-eng_all.o: ../../include/openssl/ui.h eng_all.c eng_int.h
+eng_all.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+eng_all.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+eng_all.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+eng_all.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+eng_all.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+eng_all.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+eng_all.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+eng_all.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+eng_all.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
+eng_all.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+eng_all.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+eng_all.o: eng_all.c eng_int.h
 eng_cnf.o: ../../e_os.h ../../include/openssl/asn1.h
-eng_cnf.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-eng_cnf.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-eng_cnf.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-eng_cnf.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-eng_cnf.o: ../../include/openssl/engine.h ../../include/openssl/err.h
-eng_cnf.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
-eng_cnf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-eng_cnf.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
-eng_cnf.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-eng_cnf.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
-eng_cnf.o: ../cryptlib.h eng_cnf.c
+eng_cnf.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+eng_cnf.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+eng_cnf.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+eng_cnf.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+eng_cnf.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+eng_cnf.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+eng_cnf.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
+eng_cnf.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+eng_cnf.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
+eng_cnf.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+eng_cnf.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+eng_cnf.o: ../../include/openssl/ui.h ../cryptlib.h eng_cnf.c
 eng_ctrl.o: ../../e_os.h ../../include/openssl/asn1.h
-eng_ctrl.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-eng_ctrl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-eng_ctrl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-eng_ctrl.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-eng_ctrl.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-eng_ctrl.o: ../../include/openssl/opensslconf.h
+eng_ctrl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+eng_ctrl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+eng_ctrl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+eng_ctrl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+eng_ctrl.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+eng_ctrl.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+eng_ctrl.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 eng_ctrl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 eng_ctrl.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 eng_ctrl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 eng_ctrl.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 eng_ctrl.o: ../cryptlib.h eng_ctrl.c eng_int.h
 eng_dyn.o: ../../e_os.h ../../include/openssl/asn1.h
-eng_dyn.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-eng_dyn.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-eng_dyn.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-eng_dyn.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
-eng_dyn.o: ../../include/openssl/engine.h ../../include/openssl/err.h
-eng_dyn.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
-eng_dyn.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-eng_dyn.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
-eng_dyn.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-eng_dyn.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
-eng_dyn.o: ../cryptlib.h eng_dyn.c eng_int.h
-eng_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-eng_err.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
-eng_err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-eng_err.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-eng_err.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-eng_err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-eng_err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
-eng_err.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-eng_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-eng_err.o: ../../include/openssl/ui.h eng_err.c
+eng_dyn.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+eng_dyn.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+eng_dyn.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+eng_dyn.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
+eng_dyn.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+eng_dyn.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+eng_dyn.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
+eng_dyn.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+eng_dyn.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
+eng_dyn.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+eng_dyn.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+eng_dyn.o: ../../include/openssl/ui.h ../cryptlib.h eng_dyn.c eng_int.h
+eng_err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+eng_err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+eng_err.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+eng_err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+eng_err.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+eng_err.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+eng_err.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+eng_err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+eng_err.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
+eng_err.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+eng_err.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+eng_err.o: eng_err.c
 eng_fat.o: ../../e_os.h ../../include/openssl/asn1.h
-eng_fat.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-eng_fat.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-eng_fat.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-eng_fat.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-eng_fat.o: ../../include/openssl/engine.h ../../include/openssl/err.h
-eng_fat.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
-eng_fat.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-eng_fat.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
-eng_fat.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-eng_fat.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
-eng_fat.o: ../cryptlib.h eng_fat.c eng_int.h
+eng_fat.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+eng_fat.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+eng_fat.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+eng_fat.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+eng_fat.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+eng_fat.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+eng_fat.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
+eng_fat.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+eng_fat.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
+eng_fat.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+eng_fat.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+eng_fat.o: ../../include/openssl/ui.h ../cryptlib.h eng_fat.c eng_int.h
 eng_init.o: ../../e_os.h ../../include/openssl/asn1.h
-eng_init.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-eng_init.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-eng_init.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-eng_init.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-eng_init.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-eng_init.o: ../../include/openssl/opensslconf.h
+eng_init.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+eng_init.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+eng_init.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+eng_init.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+eng_init.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+eng_init.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+eng_init.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 eng_init.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 eng_init.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 eng_init.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 eng_init.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 eng_init.o: ../cryptlib.h eng_init.c eng_int.h
 eng_lib.o: ../../e_os.h ../../include/openssl/asn1.h
-eng_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-eng_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-eng_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-eng_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-eng_lib.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-eng_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-eng_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
-eng_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-eng_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-eng_lib.o: ../../include/openssl/ui.h ../cryptlib.h eng_int.h eng_lib.c
+eng_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+eng_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+eng_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+eng_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+eng_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+eng_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+eng_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+eng_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+eng_lib.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
+eng_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+eng_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+eng_lib.o: ../cryptlib.h eng_int.h eng_lib.c
 eng_list.o: ../../e_os.h ../../include/openssl/asn1.h
-eng_list.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-eng_list.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-eng_list.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-eng_list.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-eng_list.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-eng_list.o: ../../include/openssl/opensslconf.h
+eng_list.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+eng_list.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+eng_list.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+eng_list.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+eng_list.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+eng_list.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+eng_list.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 eng_list.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 eng_list.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 eng_list.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 eng_list.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 eng_list.o: ../cryptlib.h eng_int.h eng_list.c
 eng_openssl.o: ../../e_os.h ../../include/openssl/asn1.h
-eng_openssl.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-eng_openssl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-eng_openssl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-eng_openssl.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
-eng_openssl.o: ../../include/openssl/engine.h ../../include/openssl/err.h
-eng_openssl.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-eng_openssl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+eng_openssl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+eng_openssl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+eng_openssl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+eng_openssl.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
+eng_openssl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+eng_openssl.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+eng_openssl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+eng_openssl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+eng_openssl.o: ../../include/openssl/objects.h
 eng_openssl.o: ../../include/openssl/opensslconf.h
 eng_openssl.o: ../../include/openssl/opensslv.h
 eng_openssl.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
@@ -212,48 +226,54 @@ eng_openssl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 eng_openssl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 eng_openssl.o: ../../include/openssl/ui.h ../cryptlib.h eng_openssl.c
 eng_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
-eng_pkey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-eng_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-eng_pkey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-eng_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-eng_pkey.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-eng_pkey.o: ../../include/openssl/opensslconf.h
+eng_pkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+eng_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+eng_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+eng_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+eng_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+eng_pkey.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+eng_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 eng_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 eng_pkey.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 eng_pkey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 eng_pkey.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 eng_pkey.o: ../cryptlib.h eng_int.h eng_pkey.c
-eng_table.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-eng_table.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
-eng_table.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-eng_table.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-eng_table.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-eng_table.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-eng_table.o: ../../include/openssl/objects.h
+eng_table.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+eng_table.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+eng_table.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+eng_table.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+eng_table.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+eng_table.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+eng_table.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+eng_table.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 eng_table.o: ../../include/openssl/opensslconf.h
 eng_table.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 eng_table.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 eng_table.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 eng_table.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 eng_table.o: eng_int.h eng_table.c
-hw_aep.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-hw_aep.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
-hw_aep.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-hw_aep.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
-hw_aep.o: ../../include/openssl/engine.h ../../include/openssl/err.h
-hw_aep.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
-hw_aep.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-hw_aep.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
-hw_aep.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-hw_aep.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h hw_aep.c
-hw_aep.o: hw_aep_err.c hw_aep_err.h vendor_defns/aep.h
+hw_aep.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+hw_aep.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+hw_aep.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+hw_aep.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
+hw_aep.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+hw_aep.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+hw_aep.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
+hw_aep.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+hw_aep.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
+hw_aep.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+hw_aep.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+hw_aep.o: ../../include/openssl/ui.h hw_aep.c hw_aep_err.c hw_aep_err.h
+hw_aep.o: vendor_defns/aep.h
 hw_atalla.o: ../../e_os.h ../../include/openssl/asn1.h
-hw_atalla.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-hw_atalla.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-hw_atalla.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-hw_atalla.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
-hw_atalla.o: ../../include/openssl/engine.h ../../include/openssl/err.h
-hw_atalla.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+hw_atalla.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+hw_atalla.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+hw_atalla.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+hw_atalla.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
+hw_atalla.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+hw_atalla.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+hw_atalla.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
+hw_atalla.o: ../../include/openssl/opensslconf.h
 hw_atalla.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 hw_atalla.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 hw_atalla.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
@@ -261,12 +281,14 @@ hw_atalla.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 hw_atalla.o: ../cryptlib.h hw_atalla.c hw_atalla_err.c hw_atalla_err.h
 hw_atalla.o: vendor_defns/atalla.h
 hw_cswift.o: ../../e_os.h ../../include/openssl/asn1.h
-hw_cswift.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-hw_cswift.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-hw_cswift.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-hw_cswift.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
-hw_cswift.o: ../../include/openssl/engine.h ../../include/openssl/err.h
-hw_cswift.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+hw_cswift.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+hw_cswift.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+hw_cswift.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+hw_cswift.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
+hw_cswift.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+hw_cswift.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+hw_cswift.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
+hw_cswift.o: ../../include/openssl/opensslconf.h
 hw_cswift.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 hw_cswift.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 hw_cswift.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
@@ -274,13 +296,15 @@ hw_cswift.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 hw_cswift.o: ../cryptlib.h hw_cswift.c hw_cswift_err.c hw_cswift_err.h
 hw_cswift.o: vendor_defns/cswift.h
 hw_ncipher.o: ../../e_os.h ../../include/openssl/asn1.h
-hw_ncipher.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-hw_ncipher.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-hw_ncipher.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-hw_ncipher.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
-hw_ncipher.o: ../../include/openssl/engine.h ../../include/openssl/err.h
-hw_ncipher.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-hw_ncipher.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+hw_ncipher.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+hw_ncipher.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+hw_ncipher.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+hw_ncipher.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
+hw_ncipher.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+hw_ncipher.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+hw_ncipher.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+hw_ncipher.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+hw_ncipher.o: ../../include/openssl/objects.h
 hw_ncipher.o: ../../include/openssl/opensslconf.h
 hw_ncipher.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 hw_ncipher.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
@@ -292,23 +316,28 @@ hw_ncipher.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 hw_ncipher.o: ../cryptlib.h hw_ncipher.c hw_ncipher_err.c hw_ncipher_err.h
 hw_ncipher.o: vendor_defns/hwcryptohook.h
 hw_nuron.o: ../../e_os.h ../../include/openssl/asn1.h
-hw_nuron.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-hw_nuron.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-hw_nuron.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-hw_nuron.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
-hw_nuron.o: ../../include/openssl/engine.h ../../include/openssl/err.h
-hw_nuron.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+hw_nuron.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+hw_nuron.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+hw_nuron.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+hw_nuron.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
+hw_nuron.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+hw_nuron.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+hw_nuron.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
+hw_nuron.o: ../../include/openssl/opensslconf.h
 hw_nuron.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 hw_nuron.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 hw_nuron.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 hw_nuron.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 hw_nuron.o: ../cryptlib.h hw_nuron.c hw_nuron_err.c hw_nuron_err.h
 hw_openbsd_dev_crypto.o: ../../include/openssl/asn1.h
+hw_openbsd_dev_crypto.o: ../../include/openssl/asn1t.h
 hw_openbsd_dev_crypto.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
 hw_openbsd_dev_crypto.o: ../../include/openssl/conf.h
 hw_openbsd_dev_crypto.o: ../../include/openssl/crypto.h
 hw_openbsd_dev_crypto.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
 hw_openbsd_dev_crypto.o: ../../include/openssl/e_os2.h
+hw_openbsd_dev_crypto.o: ../../include/openssl/ec.h
+hw_openbsd_dev_crypto.o: ../../include/openssl/ecdsa.h
 hw_openbsd_dev_crypto.o: ../../include/openssl/engine.h
 hw_openbsd_dev_crypto.o: ../../include/openssl/err.h
 hw_openbsd_dev_crypto.o: ../../include/openssl/evp.h
@@ -326,13 +355,15 @@ hw_openbsd_dev_crypto.o: ../../include/openssl/symhacks.h
 hw_openbsd_dev_crypto.o: ../../include/openssl/ui.h ../evp/evp_locl.h eng_int.h
 hw_openbsd_dev_crypto.o: hw_openbsd_dev_crypto.c
 hw_sureware.o: ../../e_os.h ../../include/openssl/asn1.h
-hw_sureware.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-hw_sureware.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-hw_sureware.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-hw_sureware.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
-hw_sureware.o: ../../include/openssl/engine.h ../../include/openssl/err.h
-hw_sureware.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-hw_sureware.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+hw_sureware.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+hw_sureware.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+hw_sureware.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+hw_sureware.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
+hw_sureware.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+hw_sureware.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+hw_sureware.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+hw_sureware.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+hw_sureware.o: ../../include/openssl/objects.h
 hw_sureware.o: ../../include/openssl/opensslconf.h
 hw_sureware.o: ../../include/openssl/opensslv.h
 hw_sureware.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h
@@ -345,89 +376,111 @@ hw_sureware.o: ../../include/openssl/x509_vfy.h ../cryptlib.h eng_int.h
 hw_sureware.o: engine.h hw_sureware.c hw_sureware_err.c hw_sureware_err.h
 hw_sureware.o: vendor_defns/sureware.h
 hw_ubsec.o: ../../e_os.h ../../include/openssl/asn1.h
-hw_ubsec.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-hw_ubsec.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-hw_ubsec.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-hw_ubsec.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
-hw_ubsec.o: ../../include/openssl/engine.h ../../include/openssl/err.h
-hw_ubsec.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+hw_ubsec.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+hw_ubsec.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+hw_ubsec.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+hw_ubsec.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
+hw_ubsec.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+hw_ubsec.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+hw_ubsec.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
+hw_ubsec.o: ../../include/openssl/opensslconf.h
 hw_ubsec.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 hw_ubsec.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 hw_ubsec.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 hw_ubsec.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 hw_ubsec.o: ../cryptlib.h hw_ubsec.c hw_ubsec_err.c hw_ubsec_err.h
 hw_ubsec.o: vendor_defns/hw_ubsec.h
-tb_cipher.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-tb_cipher.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
-tb_cipher.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-tb_cipher.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-tb_cipher.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-tb_cipher.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-tb_cipher.o: ../../include/openssl/objects.h
+tb_cipher.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+tb_cipher.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+tb_cipher.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+tb_cipher.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+tb_cipher.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+tb_cipher.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+tb_cipher.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+tb_cipher.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 tb_cipher.o: ../../include/openssl/opensslconf.h
 tb_cipher.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 tb_cipher.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 tb_cipher.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 tb_cipher.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 tb_cipher.o: eng_int.h tb_cipher.c
-tb_dh.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-tb_dh.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
-tb_dh.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-tb_dh.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-tb_dh.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-tb_dh.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-tb_dh.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-tb_dh.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-tb_dh.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
-tb_dh.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-tb_dh.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h eng_int.h
-tb_dh.o: tb_dh.c
-tb_digest.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-tb_digest.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
-tb_digest.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-tb_digest.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-tb_digest.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-tb_digest.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-tb_digest.o: ../../include/openssl/objects.h
+tb_dh.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+tb_dh.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+tb_dh.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+tb_dh.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+tb_dh.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+tb_dh.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+tb_dh.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+tb_dh.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+tb_dh.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+tb_dh.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
+tb_dh.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+tb_dh.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+tb_dh.o: ../../include/openssl/ui.h eng_int.h tb_dh.c
+tb_digest.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+tb_digest.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+tb_digest.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+tb_digest.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+tb_digest.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+tb_digest.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+tb_digest.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+tb_digest.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 tb_digest.o: ../../include/openssl/opensslconf.h
 tb_digest.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 tb_digest.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 tb_digest.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 tb_digest.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 tb_digest.o: eng_int.h tb_digest.c
-tb_dsa.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-tb_dsa.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
-tb_dsa.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-tb_dsa.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-tb_dsa.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-tb_dsa.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-tb_dsa.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-tb_dsa.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-tb_dsa.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
-tb_dsa.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-tb_dsa.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h eng_int.h
-tb_dsa.o: tb_dsa.c
-tb_rand.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-tb_rand.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
-tb_rand.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-tb_rand.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-tb_rand.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-tb_rand.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-tb_rand.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-tb_rand.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-tb_rand.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
-tb_rand.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-tb_rand.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
-tb_rand.o: eng_int.h tb_rand.c
-tb_rsa.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-tb_rsa.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
-tb_rsa.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-tb_rsa.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-tb_rsa.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-tb_rsa.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-tb_rsa.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-tb_rsa.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-tb_rsa.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
-tb_rsa.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-tb_rsa.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h eng_int.h
-tb_rsa.o: tb_rsa.c
+tb_dsa.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+tb_dsa.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+tb_dsa.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+tb_dsa.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+tb_dsa.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+tb_dsa.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+tb_dsa.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+tb_dsa.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+tb_dsa.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+tb_dsa.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
+tb_dsa.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+tb_dsa.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+tb_dsa.o: ../../include/openssl/ui.h eng_int.h tb_dsa.c
+tb_ecdsa.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+tb_ecdsa.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+tb_ecdsa.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+tb_ecdsa.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+tb_ecdsa.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+tb_ecdsa.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+tb_ecdsa.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+tb_ecdsa.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+tb_ecdsa.o: ../../include/openssl/opensslconf.h
+tb_ecdsa.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+tb_ecdsa.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
+tb_ecdsa.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+tb_ecdsa.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+tb_ecdsa.o: eng_int.h tb_ecdsa.c
+tb_rand.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+tb_rand.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+tb_rand.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+tb_rand.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+tb_rand.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+tb_rand.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+tb_rand.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+tb_rand.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+tb_rand.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+tb_rand.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
+tb_rand.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+tb_rand.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+tb_rand.o: ../../include/openssl/ui.h eng_int.h tb_rand.c
+tb_rsa.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+tb_rsa.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+tb_rsa.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+tb_rsa.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+tb_rsa.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+tb_rsa.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+tb_rsa.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+tb_rsa.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+tb_rsa.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+tb_rsa.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
+tb_rsa.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+tb_rsa.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+tb_rsa.o: ../../include/openssl/ui.h eng_int.h tb_rsa.c
index 38335f99cdaa5cde077bbbe7cb8bc9f19bdd65c0..0407de9e1adc148ee8da64175dde44132b4c9fe1 100644 (file)
@@ -146,6 +146,7 @@ struct engine_st
        const RSA_METHOD *rsa_meth;
        const DSA_METHOD *dsa_meth;
        const DH_METHOD *dh_meth;
+       const ECDSA_METHOD *ecdsa_meth;
        const RAND_METHOD *rand_meth;
        /* Cipher handling is via this callback */
        ENGINE_CIPHERS_PTR ciphers;
index 0c220558e78592e741e6323e669ce5783c036892..da53c1c6554a7dcc2e4f6c351d28d2f0124928c6 100644 (file)
@@ -323,6 +323,9 @@ static void engine_cpy(ENGINE *dest, const ENGINE *src)
 #endif
 #ifndef OPENSSL_NO_DH
        dest->dh_meth = src->dh_meth;
+#endif
+#ifndef OPENSSL_NO_ECDSA
+       dest->ecdsa_meth = src->ecdsa_meth;
 #endif
        dest->rand_meth = src->rand_meth;
        dest->ciphers = src->ciphers;
index c8adcdb0128d7163971aaf1df16ca2c8ac299044..38db508c3d420d523aebf240c9637c3bd1d98d1d 100644 (file)
@@ -70,6 +70,9 @@
 #ifndef OPENSSL_NO_DH
 #include <openssl/dh.h>
 #endif
+#ifndef OPENSSL_NO_ECDSA
+#include <openssl/ecdsa.h>
+#endif
 #include <openssl/rand.h>
 #include <openssl/ui.h>
 #include <openssl/symhacks.h>
@@ -89,6 +92,9 @@ typedef void DSA_METHOD;
 #ifdef OPENSSL_NO_DH
 typedef void DH_METHOD;
 #endif
+#ifdef OPENSS_NO_ECDSA
+typedef void ECDSA_METHOD;
+#endif
 
 /* These flags are used to control combinations of algorithm (methods)
  * by bitwise "OR"ing. */
@@ -96,6 +102,7 @@ typedef void DH_METHOD;
 #define ENGINE_METHOD_DSA              (unsigned int)0x0002
 #define ENGINE_METHOD_DH               (unsigned int)0x0004
 #define ENGINE_METHOD_RAND             (unsigned int)0x0008
+#define ENGINE_METHOD_ECDSA            (unsigned int)0x000F
 #define ENGINE_METHOD_CIPHERS          (unsigned int)0x0040
 #define ENGINE_METHOD_DIGESTS          (unsigned int)0x0080
 /* Obvious all-or-nothing cases. */
@@ -330,6 +337,10 @@ int ENGINE_register_DSA(ENGINE *e);
 void ENGINE_unregister_DSA(ENGINE *e);
 void ENGINE_register_all_DSA(void);
 
+int ENGINE_register_ECDSA(ENGINE *e);
+void ENGINE_unregister_ECDSA(ENGINE *e);
+void ENGINE_register_all_ECDSA(void);
+
 int ENGINE_register_DH(ENGINE *e);
 void ENGINE_unregister_DH(ENGINE *e);
 void ENGINE_register_all_DH(void);
@@ -409,6 +420,7 @@ int ENGINE_set_id(ENGINE *e, const char *id);
 int ENGINE_set_name(ENGINE *e, const char *name);
 int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth);
 int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth);
+int ENGINE_set_ECDSA(ENGINE *e, const ECDSA_METHOD *ecdsa_meth);
 int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth);
 int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth);
 int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR destroy_f);
@@ -441,6 +453,7 @@ const char *ENGINE_get_id(const ENGINE *e);
 const char *ENGINE_get_name(const ENGINE *e);
 const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e);
 const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e);
+const ECDSA_METHOD *ENGINE_get_ECDSA(const ENGINE *e);
 const DH_METHOD *ENGINE_get_DH(const ENGINE *e);
 const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e);
 ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e);
@@ -493,6 +506,7 @@ EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id,
 ENGINE *ENGINE_get_default_RSA(void);
 /* Same for the other "methods" */
 ENGINE *ENGINE_get_default_DSA(void);
+ENGINE *ENGINE_get_default_ECDSA(void);
 ENGINE *ENGINE_get_default_DH(void);
 ENGINE *ENGINE_get_default_RAND(void);
 /* These functions can be used to get a functional reference to perform
@@ -508,6 +522,7 @@ int ENGINE_set_default_RSA(ENGINE *e);
 int ENGINE_set_default_string(ENGINE *e, const char *list);
 /* Same for the other "methods" */
 int ENGINE_set_default_DSA(ENGINE *e);
+int ENGINE_set_default_ECDSA(ENGINE *e);
 int ENGINE_set_default_DH(ENGINE *e);
 int ENGINE_set_default_RAND(ENGINE *e);
 int ENGINE_set_default_ciphers(ENGINE *e);
diff --git a/crypto/engine/tb_ecdsa.c b/crypto/engine/tb_ecdsa.c
new file mode 100644 (file)
index 0000000..682ca15
--- /dev/null
@@ -0,0 +1,120 @@
+/* ====================================================================
+ * Copyright (c) 2000-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <openssl/evp.h>
+#include <openssl/engine.h>
+#include "eng_int.h"
+
+/* If this symbol is defined then ENGINE_get_default_ECDSA(), the function that is
+ * used by ECDSA to hook in implementation code and cache defaults (etc), will
+ * display brief debugging summaries to stderr with the 'nid'. */
+/* #define ENGINE_ECDSA_DEBUG */
+
+static ENGINE_TABLE *ecdsa_table = NULL;
+static const int dummy_nid = 1;
+
+void ENGINE_unregister_ECDSA(ENGINE *e)
+       {
+       engine_table_unregister(&ecdsa_table, e);
+       }
+
+static void engine_unregister_all_ECDSA()
+       {
+       engine_table_cleanup(&ecdsa_table);
+       }
+
+int ENGINE_register_ECDSA(ENGINE *e)
+       {
+       if(e->ecdsa_meth)
+               return engine_table_register(&ecdsa_table,
+                               &engine_unregister_all_ECDSA, e, &dummy_nid, 1, 0);
+       return 1;
+       }
+
+void ENGINE_register_all_ECDSA()
+       {
+       ENGINE *e;
+
+       for(e=ENGINE_get_first() ; e ; e=ENGINE_get_next(e))
+               ENGINE_register_ECDSA(e);
+       }
+
+int ENGINE_set_default_ECDSA(ENGINE *e)
+       {
+       if(e->ecdsa_meth)
+               return engine_table_register(&ecdsa_table,
+                               &engine_unregister_all_ECDSA, e, &dummy_nid, 1, 0);
+       return 1;
+       }
+
+/* Exposed API function to get a functional reference from the implementation
+ * table (ie. try to get a functional reference from the tabled structural
+ * references). */
+ENGINE *ENGINE_get_default_ECDSA(void)
+       {
+       return engine_table_select(&ecdsa_table, dummy_nid);
+       }
+
+/* Obtains an ECDSA implementation from an ENGINE functional reference */
+const ECDSA_METHOD *ENGINE_get_ECDSA(const ENGINE *e)
+       {
+       return e->ecdsa_meth;
+       }
+
+/* Sets an ECDSA implementation in an ENGINE structure */
+int ENGINE_set_ECDSA(ENGINE *e, const ECDSA_METHOD *ecdsa_meth)
+       {
+       e->ecdsa_meth = ecdsa_meth;
+       return 1;
+       }
index 2946c00ead4b06cc11b9378497d2c856f70f7a3f..39ce6374c4ca4feb932ef7d2ecba9d460b71a873 100644 (file)
@@ -85,12 +85,13 @@ err.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
 err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 err.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 err.o: ../../include/openssl/symhacks.h ../cryptlib.h err.c
-err_all.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-err_all.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-err_all.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
-err_all.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-err_all.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
-err_all.o: ../../include/openssl/ec.h ../../include/openssl/engine.h
+err_all.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+err_all.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+err_all.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
+err_all.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+err_all.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
+err_all.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+err_all.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
 err_all.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 err_all.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 err_all.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h
index 8ce066bf99442a6bba85e842959d6068cf01e306..bf1d09dc8e5b46b26b819838812e47778111fcc1 100644 (file)
@@ -131,6 +131,7 @@ typedef struct err_state_st
 #define ERR_LIB_OCSP            39
 #define ERR_LIB_UI              40
 #define ERR_LIB_COMP            41
+#define ERR_LIB_ECDSA          42
 
 #define ERR_LIB_USER           128
 
@@ -159,6 +160,7 @@ typedef struct err_state_st
 #define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),__FILE__,__LINE__)
 #define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),__FILE__,__LINE__)
 #define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),ERR_file_name,__LINE__)
+#define ECDSAerr(f,r)  ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),__FILE__,__LINE__)
 
 /* Borland C seems too stupid to be able to shift and do longs in
  * the pre-processor :-( */
@@ -210,6 +212,7 @@ typedef struct err_state_st
 #define ERR_R_OCSP_LIB  ERR_LIB_OCSP     /* 39 */
 #define ERR_R_UI_LIB    ERR_LIB_UI       /* 40 */
 #define ERR_R_COMP_LIB ERR_LIB_COMP     /* 41 */
+#define ERR_R_ECDSA_LIB ERR_LIB_ECDSA   /* 42 */
 
 #define ERR_R_NESTED_ASN1_ERROR                        58
 #define ERR_R_BAD_ASN1_OBJECT_HEADER           59
index 29a69dfdd4348fb4b6bc9eaf0066062d49592540..11bb1f9c425375b25323e6cd8bc6646eabb1a990 100644 (file)
@@ -27,10 +27,12 @@ L DSO               crypto/dso/dso.h                crypto/dso/dso_err.c
 L ENGINE       crypto/engine/engine.h          crypto/engine/eng_err.c
 L OCSP         crypto/ocsp/ocsp.h              crypto/ocsp/ocsp_err.c
 L UI           crypto/ui/ui.h                  crypto/ui/ui_err.c
+L ECDSA                crypto/ecdsa/ecdsa.h            crypto/ecdsa/ecs_err.c
 
 # additional header files to be scanned for function names
 L NONE         crypto/x509/x509_vfy.h          NONE
 L NONE         crypto/ec/ec_lcl.h              NONE
+L NONE         crypto/ecdsa/ecs_locl.h         NONE
 
 
 F RSAREF_F_RSA_BN2BIN
index 9b5de1f590c95c35393a5206d5c2444f0fadf721..e5ee36d3ef7fec2a51ce858dbc7821e7b03b72b4 100644 (file)
@@ -29,7 +29,7 @@ LIBSRC= encode.c digest.c evp_enc.c evp_key.c \
        e_rc4.c e_aes.c names.c \
        e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c \
        m_null.c m_md2.c m_md4.c m_md5.c m_sha.c m_sha1.c \
-       m_dss.c m_dss1.c m_mdc2.c m_ripemd.c \
+       m_dss.c m_dss1.c m_mdc2.c m_ripemd.c m_ecdsa.c\
        p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c \
        bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c \
        c_all.c c_allc.c c_alld.c evp_lib.c bio_ok.c \
@@ -40,7 +40,7 @@ LIBOBJ=       encode.o digest.o evp_enc.o evp_key.o \
        e_rc4.o e_aes.o names.o \
        e_xcbc_d.o e_rc2.o e_cast.o e_rc5.o \
        m_null.o m_md2.o m_md4.o m_md5.o m_sha.o m_sha1.o \
-       m_dss.o m_dss1.o m_mdc2.o m_ripemd.o \
+       m_dss.o m_dss1.o m_mdc2.o m_ripemd.o m_ecdsa.o\
        p_open.o p_seal.o p_sign.o p_verify.o p_lib.o p_enc.o p_dec.o \
        bio_md.o bio_b64.o bio_enc.o evp_err.o e_null.o \
        c_all.o c_allc.o c_alld.o evp_lib.o bio_ok.o \
@@ -148,10 +148,12 @@ c_all.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 c_all.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 c_all.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 c_all.o: ../../include/openssl/symhacks.h ../cryptlib.h c_all.c
-c_allc.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+c_allc.o: ../../e_os.h ../../include/openssl/asn1.h
+c_allc.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 c_allc.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 c_allc.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 c_allc.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+c_allc.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 c_allc.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 c_allc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 c_allc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -161,10 +163,12 @@ c_allc.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 c_allc.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 c_allc.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 c_allc.o: ../../include/openssl/x509_vfy.h ../cryptlib.h c_allc.c
-c_alld.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+c_alld.o: ../../e_os.h ../../include/openssl/asn1.h
+c_alld.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 c_alld.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 c_alld.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 c_alld.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+c_alld.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 c_alld.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 c_alld.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 c_alld.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -174,10 +178,12 @@ c_alld.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 c_alld.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 c_alld.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 c_alld.o: ../../include/openssl/x509_vfy.h ../cryptlib.h c_alld.c
-digest.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+digest.o: ../../e_os.h ../../include/openssl/asn1.h
+digest.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 digest.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 digest.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 digest.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+digest.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 digest.o: ../../include/openssl/engine.h ../../include/openssl/err.h
 digest.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 digest.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
@@ -308,18 +314,19 @@ encode.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 encode.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 encode.o: ../../include/openssl/symhacks.h ../cryptlib.h encode.c
 evp_enc.o: ../../e_os.h ../../include/openssl/asn1.h
-evp_enc.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-evp_enc.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-evp_enc.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-evp_enc.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-evp_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-evp_enc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-evp_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-evp_enc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-evp_enc.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
-evp_enc.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-evp_enc.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
-evp_enc.o: ../cryptlib.h evp_enc.c evp_locl.h
+evp_enc.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+evp_enc.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+evp_enc.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+evp_enc.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+evp_enc.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+evp_enc.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+evp_enc.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+evp_enc.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+evp_enc.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+evp_enc.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
+evp_enc.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+evp_enc.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+evp_enc.o: ../../include/openssl/ui.h ../cryptlib.h evp_enc.c evp_locl.h
 evp_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
 evp_err.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
 evp_err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
@@ -330,19 +337,20 @@ evp_err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
 evp_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 evp_err.o: evp_err.c
 evp_key.o: ../../e_os.h ../../include/openssl/asn1.h
-evp_key.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-evp_key.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-evp_key.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-evp_key.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-evp_key.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-evp_key.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-evp_key.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-evp_key.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
-evp_key.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-evp_key.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-evp_key.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
-evp_key.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-evp_key.o: ../cryptlib.h evp_key.c
+evp_key.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+evp_key.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+evp_key.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+evp_key.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+evp_key.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+evp_key.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+evp_key.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+evp_key.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+evp_key.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+evp_key.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+evp_key.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+evp_key.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+evp_key.o: ../../include/openssl/ui.h ../../include/openssl/x509.h
+evp_key.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_key.c
 evp_lib.o: ../../e_os.h ../../include/openssl/asn1.h
 evp_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
 evp_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
@@ -354,36 +362,41 @@ evp_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
 evp_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 evp_lib.o: ../cryptlib.h evp_lib.c
 evp_pbe.o: ../../e_os.h ../../include/openssl/asn1.h
-evp_pbe.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-evp_pbe.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-evp_pbe.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-evp_pbe.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-evp_pbe.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-evp_pbe.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-evp_pbe.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-evp_pbe.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
-evp_pbe.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-evp_pbe.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-evp_pbe.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
-evp_pbe.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_pbe.c
+evp_pbe.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+evp_pbe.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+evp_pbe.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+evp_pbe.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+evp_pbe.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+evp_pbe.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+evp_pbe.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+evp_pbe.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+evp_pbe.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+evp_pbe.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+evp_pbe.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+evp_pbe.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+evp_pbe.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+evp_pbe.o: ../cryptlib.h evp_pbe.c
 evp_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
-evp_pkey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-evp_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-evp_pkey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-evp_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-evp_pkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-evp_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-evp_pkey.o: ../../include/openssl/opensslconf.h
+evp_pkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+evp_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+evp_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+evp_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+evp_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+evp_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+evp_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+evp_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 evp_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 evp_pkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
 evp_pkey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 evp_pkey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 evp_pkey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 evp_pkey.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_pkey.c
-m_dss.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+m_dss.o: ../../e_os.h ../../include/openssl/asn1.h
+m_dss.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 m_dss.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 m_dss.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 m_dss.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+m_dss.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 m_dss.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 m_dss.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 m_dss.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -393,10 +406,12 @@ m_dss.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 m_dss.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 m_dss.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 m_dss.o: ../cryptlib.h m_dss.c
-m_dss1.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+m_dss1.o: ../../e_os.h ../../include/openssl/asn1.h
+m_dss1.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 m_dss1.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 m_dss1.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 m_dss1.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+m_dss1.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 m_dss1.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 m_dss1.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 m_dss1.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -406,10 +421,27 @@ m_dss1.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 m_dss1.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 m_dss1.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 m_dss1.o: ../cryptlib.h m_dss1.c
-m_md2.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+m_ecdsa.o: ../../e_os.h ../../include/openssl/asn1.h
+m_ecdsa.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+m_ecdsa.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+m_ecdsa.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+m_ecdsa.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+m_ecdsa.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+m_ecdsa.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+m_ecdsa.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+m_ecdsa.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+m_ecdsa.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+m_ecdsa.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+m_ecdsa.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+m_ecdsa.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+m_ecdsa.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+m_ecdsa.o: ../cryptlib.h m_ecdsa.c
+m_md2.o: ../../e_os.h ../../include/openssl/asn1.h
+m_md2.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 m_md2.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 m_md2.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 m_md2.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+m_md2.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 m_md2.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 m_md2.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
 m_md2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
@@ -419,10 +451,12 @@ m_md2.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 m_md2.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 m_md2.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 m_md2.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_md2.c
-m_md4.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+m_md4.o: ../../e_os.h ../../include/openssl/asn1.h
+m_md4.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 m_md4.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 m_md4.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 m_md4.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+m_md4.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 m_md4.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 m_md4.o: ../../include/openssl/lhash.h ../../include/openssl/md4.h
 m_md4.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
@@ -432,10 +466,12 @@ m_md4.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 m_md4.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 m_md4.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 m_md4.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_md4.c
-m_md5.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+m_md5.o: ../../e_os.h ../../include/openssl/asn1.h
+m_md5.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 m_md5.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 m_md5.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 m_md5.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+m_md5.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 m_md5.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 m_md5.o: ../../include/openssl/lhash.h ../../include/openssl/md5.h
 m_md5.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
@@ -445,11 +481,13 @@ m_md5.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 m_md5.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 m_md5.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 m_md5.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_md5.c
-m_mdc2.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+m_mdc2.o: ../../e_os.h ../../include/openssl/asn1.h
+m_mdc2.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 m_mdc2.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 m_mdc2.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
 m_mdc2.o: ../../include/openssl/des_old.h ../../include/openssl/dh.h
 m_mdc2.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+m_mdc2.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 m_mdc2.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 m_mdc2.o: ../../include/openssl/lhash.h ../../include/openssl/mdc2.h
 m_mdc2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
@@ -460,10 +498,12 @@ m_mdc2.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 m_mdc2.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
 m_mdc2.o: ../../include/openssl/ui_compat.h ../../include/openssl/x509.h
 m_mdc2.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_mdc2.c
-m_null.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+m_null.o: ../../e_os.h ../../include/openssl/asn1.h
+m_null.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 m_null.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 m_null.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 m_null.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+m_null.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 m_null.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 m_null.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 m_null.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -474,23 +514,26 @@ m_null.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 m_null.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 m_null.o: ../cryptlib.h m_null.c
 m_ripemd.o: ../../e_os.h ../../include/openssl/asn1.h
-m_ripemd.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-m_ripemd.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-m_ripemd.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-m_ripemd.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-m_ripemd.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-m_ripemd.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-m_ripemd.o: ../../include/openssl/opensslconf.h
+m_ripemd.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+m_ripemd.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+m_ripemd.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+m_ripemd.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+m_ripemd.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+m_ripemd.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+m_ripemd.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+m_ripemd.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 m_ripemd.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 m_ripemd.o: ../../include/openssl/pkcs7.h ../../include/openssl/ripemd.h
 m_ripemd.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 m_ripemd.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 m_ripemd.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 m_ripemd.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_ripemd.c
-m_sha.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+m_sha.o: ../../e_os.h ../../include/openssl/asn1.h
+m_sha.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 m_sha.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 m_sha.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 m_sha.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+m_sha.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 m_sha.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 m_sha.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 m_sha.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -500,10 +543,12 @@ m_sha.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 m_sha.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 m_sha.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 m_sha.o: ../cryptlib.h m_sha.c
-m_sha1.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+m_sha1.o: ../../e_os.h ../../include/openssl/asn1.h
+m_sha1.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 m_sha1.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 m_sha1.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 m_sha1.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+m_sha1.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 m_sha1.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 m_sha1.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 m_sha1.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -513,10 +558,12 @@ m_sha1.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 m_sha1.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 m_sha1.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 m_sha1.o: ../cryptlib.h m_sha1.c
-names.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+names.o: ../../e_os.h ../../include/openssl/asn1.h
+names.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 names.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 names.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 names.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+names.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 names.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 names.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 names.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -527,36 +574,42 @@ names.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 names.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 names.o: ../cryptlib.h names.c
 p5_crpt.o: ../../e_os.h ../../include/openssl/asn1.h
-p5_crpt.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p5_crpt.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p5_crpt.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p5_crpt.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p5_crpt.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p5_crpt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p5_crpt.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-p5_crpt.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
-p5_crpt.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-p5_crpt.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-p5_crpt.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
-p5_crpt.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p5_crpt.c
+p5_crpt.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p5_crpt.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p5_crpt.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p5_crpt.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p5_crpt.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p5_crpt.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p5_crpt.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p5_crpt.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+p5_crpt.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+p5_crpt.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+p5_crpt.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+p5_crpt.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+p5_crpt.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+p5_crpt.o: ../cryptlib.h p5_crpt.c
 p5_crpt2.o: ../../e_os.h ../../include/openssl/asn1.h
-p5_crpt2.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p5_crpt2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p5_crpt2.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p5_crpt2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p5_crpt2.o: ../../include/openssl/evp.h ../../include/openssl/hmac.h
-p5_crpt2.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-p5_crpt2.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+p5_crpt2.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p5_crpt2.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p5_crpt2.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p5_crpt2.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p5_crpt2.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p5_crpt2.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p5_crpt2.o: ../../include/openssl/hmac.h ../../include/openssl/lhash.h
+p5_crpt2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+p5_crpt2.o: ../../include/openssl/opensslconf.h
 p5_crpt2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 p5_crpt2.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 p5_crpt2.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 p5_crpt2.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 p5_crpt2.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 p5_crpt2.o: ../cryptlib.h p5_crpt2.c
-p_dec.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+p_dec.o: ../../e_os.h ../../include/openssl/asn1.h
+p_dec.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 p_dec.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 p_dec.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 p_dec.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p_dec.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 p_dec.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 p_dec.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 p_dec.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -566,10 +619,12 @@ p_dec.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 p_dec.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 p_dec.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 p_dec.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_dec.c
-p_enc.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+p_enc.o: ../../e_os.h ../../include/openssl/asn1.h
+p_enc.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 p_enc.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 p_enc.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 p_enc.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p_enc.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 p_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 p_enc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 p_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -580,23 +635,26 @@ p_enc.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 p_enc.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 p_enc.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_enc.c
 p_lib.o: ../../e_os.h ../../include/openssl/asn1.h
-p_lib.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h
-p_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-p_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-p_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-p_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-p_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-p_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-p_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-p_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-p_lib.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-p_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-p_lib.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-p_lib.o: ../cryptlib.h p_lib.c
-p_open.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+p_lib.o: ../../include/openssl/asn1_mac.h ../../include/openssl/asn1t.h
+p_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+p_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+p_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+p_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+p_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+p_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+p_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+p_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+p_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+p_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+p_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+p_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+p_lib.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_lib.c
+p_open.o: ../../e_os.h ../../include/openssl/asn1.h
+p_open.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 p_open.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 p_open.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 p_open.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p_open.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 p_open.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 p_open.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 p_open.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -606,10 +664,12 @@ p_open.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 p_open.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 p_open.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 p_open.o: ../cryptlib.h p_open.c
-p_seal.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+p_seal.o: ../../e_os.h ../../include/openssl/asn1.h
+p_seal.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 p_seal.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 p_seal.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 p_seal.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p_seal.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 p_seal.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 p_seal.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 p_seal.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -619,10 +679,12 @@ p_seal.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 p_seal.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 p_seal.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 p_seal.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_seal.c
-p_sign.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+p_sign.o: ../../e_os.h ../../include/openssl/asn1.h
+p_sign.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 p_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 p_sign.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 p_sign.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 p_sign.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 p_sign.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 p_sign.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -633,13 +695,14 @@ p_sign.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 p_sign.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 p_sign.o: ../cryptlib.h p_sign.c
 p_verify.o: ../../e_os.h ../../include/openssl/asn1.h
-p_verify.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p_verify.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p_verify.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p_verify.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p_verify.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p_verify.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p_verify.o: ../../include/openssl/opensslconf.h
+p_verify.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p_verify.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p_verify.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p_verify.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p_verify.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p_verify.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p_verify.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p_verify.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 p_verify.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 p_verify.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 p_verify.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
index be91cdb03731d1060dc33fc0c3031945052e8b44..2334a28a5e33f2e4b823971c75b7bf51497b84f0 100644 (file)
@@ -91,6 +91,9 @@ void OpenSSL_add_all_digests(void)
        EVP_add_digest_alias(SN_dsaWithSHA1,"DSS1");
        EVP_add_digest_alias(SN_dsaWithSHA1,"dss1");
 #endif
+#ifndef OPENSSL_NO_ECDSA
+       EVP_add_digest(EVP_ecdsa());
+#endif
 #endif
 #if !defined(OPENSSL_NO_MDC2) && !defined(OPENSSL_NO_DES)
        EVP_add_digest(EVP_mdc2());
index beb2c9eb44bd17430bef3a5711cc764ffd4b68e5..cc521feb63465238f8ae53a9c4cac9780043baa7 100644 (file)
 #define EVP_PK_RSA     0x0001
 #define EVP_PK_DSA     0x0002
 #define EVP_PK_DH      0x0004
+#define EVP_PK_ECDSA   0x0008
 #define EVP_PKT_SIGN   0x0010
 #define EVP_PKT_ENC    0x0020
 #define EVP_PKT_EXCH   0x0040
 #define EVP_PKS_RSA    0x0100
 #define EVP_PKS_DSA    0x0200
+#define EVP_PKS_ECDSA  0x0400
 #define EVP_PKT_EXP    0x1000 /* <= 512 bit key */
 
 #define EVP_PKEY_NONE  NID_undef
 #define EVP_PKEY_DSA3  NID_dsaWithSHA1
 #define EVP_PKEY_DSA4  NID_dsaWithSHA1_2
 #define EVP_PKEY_DH    NID_dhKeyAgreement
+#define EVP_PKEY_ECDSA NID_X9_62_id_ecPublicKey
 
 #ifdef __cplusplus
 extern "C" {
@@ -133,6 +136,9 @@ struct evp_pkey_st
 #endif
 #ifndef OPENSSL_NO_DH
                struct dh_st *dh;       /* DH */
+#endif
+#ifndef OPENSSL_NO_ECDSA
+               struct ecdsa_st *ecdsa; /* ECDSA */
 #endif
                } pkey;
        int save_parameters;
@@ -245,6 +251,13 @@ struct env_md_st
 #define EVP_PKEY_DSA_method    EVP_PKEY_NULL_method
 #endif
 
+#ifndef OPENSSL_NO_ECDSA
+#define EVP_PKEY_ECDSA_method   ECDSA_sign,ECDSA_verify, \
+                                 {EVP_PKEY_ECDSA,0,0,0}
+#else   
+#define EVP_PKEY_ECDSA_method   EVP_PKEY_NULL_method
+#endif
+
 #ifndef OPENSSL_NO_RSA
 #define EVP_PKEY_RSA_method    RSA_sign,RSA_verify, \
                                {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0}
@@ -385,6 +398,11 @@ typedef int (EVP_PBE_KEYGEN)(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
                                        (char *)(dh))
 #endif
 
+#ifndef OPENSSL_NO_ECDSA
+#define EVP_PKEY_assign_ECDSA(pkey,ecdsa) EVP_PKEY_assign((pkey),EVP_PKEY_ECDSA,\
+                                        (char *)(ecdsa))
+#endif
+
 /* Add some extra combinations */
 #define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a))
 #define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a))
@@ -568,6 +586,7 @@ const EVP_MD *EVP_sha(void);
 const EVP_MD *EVP_sha1(void);
 const EVP_MD *EVP_dss(void);
 const EVP_MD *EVP_dss1(void);
+const EVP_MD *EVP_ecdsa(void);
 #endif
 #ifndef OPENSSL_NO_MDC2
 const EVP_MD *EVP_mdc2(void);
@@ -683,7 +702,11 @@ struct dh_st;
 int EVP_PKEY_set1_DH(EVP_PKEY *pkey,struct dh_st *key);
 struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey);
 #endif
-
+#ifndef OPENSSL_NO_ECDSA
+struct ecdsa_st;
+int EVP_PKEY_set1_ECDSA(EVP_PKEY *pkey,struct ecdsa_st *key);
+struct ecdsa_st *EVP_PKEY_get1_ECDSA(EVP_PKEY *pkey);
+#endif
 
 EVP_PKEY *     EVP_PKEY_new(void);
 void           EVP_PKEY_free(EVP_PKEY *pkey);
@@ -741,6 +764,7 @@ void ERR_load_EVP_strings(void);
 
 /* Function codes. */
 #define EVP_F_D2I_PKEY                                  100
+#define EVP_F_ECDSA_PKEY2PKCS8                          129
 #define EVP_F_EVP_CIPHERINIT                            123
 #define EVP_F_EVP_CIPHER_CTX_CTRL                       124
 #define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH             122
@@ -759,6 +783,7 @@ void ERR_load_EVP_strings(void);
 #define EVP_F_EVP_PKEY_ENCRYPT                          105
 #define EVP_F_EVP_PKEY_GET1_DH                          119
 #define EVP_F_EVP_PKEY_GET1_DSA                                 120
+#define EVP_F_EVP_PKEY_GET1_ECDSA                       130
 #define EVP_F_EVP_PKEY_GET1_RSA                                 121
 #define EVP_F_EVP_PKEY_NEW                              106
 #define EVP_F_EVP_RIJNDAEL                              126
@@ -770,6 +795,7 @@ void ERR_load_EVP_strings(void);
 #define EVP_F_RC5_CTRL                                  125
 
 /* Reason codes. */
+#define EVP_R_ASN1_LIB                                  140
 #define EVP_R_BAD_BLOCK_LENGTH                          136
 #define EVP_R_BAD_DECRYPT                               100
 #define EVP_R_BAD_KEY_LENGTH                            137
@@ -786,6 +812,7 @@ void ERR_load_EVP_strings(void);
 #define EVP_R_EXPECTING_AN_RSA_KEY                      127
 #define EVP_R_EXPECTING_A_DH_KEY                        128
 #define EVP_R_EXPECTING_A_DSA_KEY                       129
+#define EVP_R_EXPECTING_A_ECDSA_KEY                     141
 #define EVP_R_INITIALIZATION_ERROR                      134
 #define EVP_R_INPUT_NOT_INITIALIZED                     111
 #define EVP_R_INVALID_KEY_LENGTH                        130
index 3a23d21c217e1ba2c5112eda7a8106112a7e6c29..e6c71d4e01bef7d713f229788d959b03e62096f5 100644 (file)
@@ -67,6 +67,7 @@
 static ERR_STRING_DATA EVP_str_functs[]=
        {
 {ERR_PACK(0,EVP_F_D2I_PKEY,0), "D2I_PKEY"},
+{ERR_PACK(0,EVP_F_ECDSA_PKEY2PKCS8,0), "ECDSA_PKEY2PKCS8"},
 {ERR_PACK(0,EVP_F_EVP_CIPHERINIT,0),   "EVP_CipherInit"},
 {ERR_PACK(0,EVP_F_EVP_CIPHER_CTX_CTRL,0),      "EVP_CIPHER_CTX_ctrl"},
 {ERR_PACK(0,EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH,0),    "EVP_CIPHER_CTX_set_key_length"},
@@ -85,6 +86,7 @@ static ERR_STRING_DATA EVP_str_functs[]=
 {ERR_PACK(0,EVP_F_EVP_PKEY_ENCRYPT,0), "EVP_PKEY_encrypt"},
 {ERR_PACK(0,EVP_F_EVP_PKEY_GET1_DH,0), "EVP_PKEY_get1_DH"},
 {ERR_PACK(0,EVP_F_EVP_PKEY_GET1_DSA,0),        "EVP_PKEY_get1_DSA"},
+{ERR_PACK(0,EVP_F_EVP_PKEY_GET1_ECDSA,0),      "EVP_PKEY_get1_ECDSA"},
 {ERR_PACK(0,EVP_F_EVP_PKEY_GET1_RSA,0),        "EVP_PKEY_get1_RSA"},
 {ERR_PACK(0,EVP_F_EVP_PKEY_NEW,0),     "EVP_PKEY_new"},
 {ERR_PACK(0,EVP_F_EVP_RIJNDAEL,0),     "EVP_RIJNDAEL"},
@@ -99,6 +101,7 @@ static ERR_STRING_DATA EVP_str_functs[]=
 
 static ERR_STRING_DATA EVP_str_reasons[]=
        {
+{EVP_R_ASN1_LIB                          ,"asn1 lib"},
 {EVP_R_BAD_BLOCK_LENGTH                  ,"bad block length"},
 {EVP_R_BAD_DECRYPT                       ,"bad decrypt"},
 {EVP_R_BAD_KEY_LENGTH                    ,"bad key length"},
@@ -115,6 +118,7 @@ static ERR_STRING_DATA EVP_str_reasons[]=
 {EVP_R_EXPECTING_AN_RSA_KEY              ,"expecting an rsa key"},
 {EVP_R_EXPECTING_A_DH_KEY                ,"expecting a dh key"},
 {EVP_R_EXPECTING_A_DSA_KEY               ,"expecting a dsa key"},
+{EVP_R_EXPECTING_A_ECDSA_KEY             ,"expecting a ecdsa key"},
 {EVP_R_INITIALIZATION_ERROR              ,"initialization error"},
 {EVP_R_INPUT_NOT_INITIALIZED             ,"input not initialized"},
 {EVP_R_INVALID_KEY_LENGTH                ,"invalid key length"},
index a7c4e9fa7a16ae1117e983bd694bc8fcee866745..15d4d667213a50927e5230adaf304282290ff54f 100644 (file)
@@ -3,7 +3,7 @@
  * project 1999.
  */
 /* ====================================================================
- * Copyright (c) 1999 The OpenSSL Project.  All rights reserved.
+ * Copyright (c) 1999-2002 The OpenSSL Project.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -65,6 +65,9 @@
 #ifndef OPENSSL_NO_DSA
 static int dsa_pkey2pkcs8(PKCS8_PRIV_KEY_INFO *p8inf, EVP_PKEY *pkey);
 #endif
+#ifndef OPENSSL_NO_ECDSA
+static int ecdsa_pkey2pkcs8(PKCS8_PRIV_KEY_INFO *p8inf, EVP_PKEY *pkey);
+#endif
 
 /* Extract a private key from a PKCS8 structure */
 
@@ -76,9 +79,14 @@ EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8)
 #endif
 #ifndef OPENSSL_NO_DSA
        DSA *dsa = NULL;
+#endif
+#ifndef OPENSSL_NO_ECDSA
+       ECDSA    *ecdsa = NULL;
+#endif
+#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_ECDSA)
        ASN1_INTEGER *privkey;
-       ASN1_TYPE *t1, *t2, *param = NULL;
-       STACK_OF(ASN1_TYPE) *ndsa = NULL;
+       ASN1_TYPE    *t1, *t2, *param = NULL;
+       STACK_OF(ASN1_TYPE) *n_stack = NULL;
        BN_CTX *ctx = NULL;
        int plen;
 #endif
@@ -88,6 +96,7 @@ EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8)
        const unsigned char *cp;
 #endif
        int pkeylen;
+       int  nid;
        char obj_tmp[80];
 
        if(p8->pkey->type == V_ASN1_OCTET_STRING) {
@@ -104,7 +113,8 @@ EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8)
                return NULL;
        }
        a = p8->pkeyalg;
-       switch (OBJ_obj2nid(a->algorithm))
+       nid = OBJ_obj2nid(a->algorithm);
+       switch(nid)
        {
 #ifndef OPENSSL_NO_RSA
                case NID_rsaEncryption:
@@ -116,97 +126,162 @@ EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8)
                EVP_PKEY_assign_RSA (pkey, rsa);
                break;
 #endif
-#ifndef OPENSSL_NO_DSA
+#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_ECDSA)
+               case NID_ecdsa_with_SHA1:
                case NID_dsa:
-               /* PKCS#8 DSA is weird: you just get a private key integer
+               /* PKCS#8 DSA/ECDSA is weird: you just get a private key integer
                 * and parameters in the AlgorithmIdentifier the pubkey must
                 * be recalculated.
                 */
        
-               /* Check for broken DSA PKCS#8, UGH! */
-               if(*p == (V_ASN1_SEQUENCE|V_ASN1_CONSTRUCTED)) {
-                   if(!(ndsa = ASN1_seq_unpack_ASN1_TYPE(p, pkeylen, 
+               /* Check for broken DSA/ECDSA PKCS#8, UGH! */
+               if(*p == (V_ASN1_SEQUENCE|V_ASN1_CONSTRUCTED)) 
+               {
+                       if(!(n_stack = ASN1_seq_unpack_ASN1_TYPE(p, pkeylen, 
                                                          d2i_ASN1_TYPE,
-                                                         ASN1_TYPE_free))) {
-                       EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR);
-                       goto dsaerr;
-                   }
-                   if(sk_ASN1_TYPE_num(ndsa) != 2 ) {
-                       EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR);
-                       goto dsaerr;
-                   }
+                                                         ASN1_TYPE_free))) 
+                       {
+                               EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR);
+                               goto err;
+                       }
+                       if(sk_ASN1_TYPE_num(n_stack) != 2 ) 
+                       {
+                               EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR);
+                               goto err;
+                       }
                    /* Handle Two broken types:
                     * SEQUENCE {parameters, priv_key}
                     * SEQUENCE {pub_key, priv_key}
                     */
 
-                   t1 = sk_ASN1_TYPE_value(ndsa, 0);
-                   t2 = sk_ASN1_TYPE_value(ndsa, 1);
-                   if(t1->type == V_ASN1_SEQUENCE) {
+                   t1 = sk_ASN1_TYPE_value(n_stack, 0);
+                   t2 = sk_ASN1_TYPE_value(n_stack, 1);
+                   if(t1->type == V_ASN1_SEQUENCE) 
+                   {
                        p8->broken = PKCS8_EMBEDDED_PARAM;
                        param = t1;
-                   } else if(a->parameter->type == V_ASN1_SEQUENCE) {
+                   } 
+                   else if(a->parameter->type == V_ASN1_SEQUENCE) 
+                   {
                        p8->broken = PKCS8_NS_DB;
                        param = a->parameter;
-                   } else {
+                   } 
+                   else 
+                   {
                        EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR);
-                       goto dsaerr;
+                       goto err;
                    }
 
                    if(t2->type != V_ASN1_INTEGER) {
                        EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR);
-                       goto dsaerr;
+                       goto err;
                    }
                    privkey = t2->value.integer;
-               } else {
-                       if (!(privkey=d2i_ASN1_INTEGER (NULL, &p, pkeylen))) {
+               } 
+               else 
+               {
+                       if (!(privkey=d2i_ASN1_INTEGER (NULL, &p, pkeylen))) 
+                       {
                                EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR);
-                               goto dsaerr;
+                               goto err;
                        }
                        param = p8->pkeyalg->parameter;
                }
-               if (!param || (param->type != V_ASN1_SEQUENCE)) {
+               if (!param || (param->type != V_ASN1_SEQUENCE)) 
+               {
                        EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR);
-                       goto dsaerr;
+                       goto err;
                }
                cp = p = param->value.sequence->data;
                plen = param->value.sequence->length;
-               if (!(dsa = d2i_DSAparams (NULL, &cp, plen))) {
-                       EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR);
-                       goto dsaerr;
-               }
-               /* We have parameters now set private key */
-               if (!(dsa->priv_key = ASN1_INTEGER_to_BN(privkey, NULL))) {
-                       EVPerr(EVP_F_EVP_PKCS82PKEY,EVP_R_BN_DECODE_ERROR);
-                       goto dsaerr;
-               }
-               /* Calculate public key (ouch!) */
-               if (!(dsa->pub_key = BN_new())) {
+               if (!(ctx = BN_CTX_new())) 
+               {
                        EVPerr(EVP_F_EVP_PKCS82PKEY,ERR_R_MALLOC_FAILURE);
-                       goto dsaerr;
+                       goto err;
                }
-               if (!(ctx = BN_CTX_new())) {
-                       EVPerr(EVP_F_EVP_PKCS82PKEY,ERR_R_MALLOC_FAILURE);
-                       goto dsaerr;
-               }
-                       
-               if (!BN_mod_exp(dsa->pub_key, dsa->g,
-                                                dsa->priv_key, dsa->p, ctx)) {
+               if (nid == NID_dsa)
+               {
+#ifndef OPENSSL_NO_DSA
+                       if (!(dsa = d2i_DSAparams (NULL, &cp, plen))) 
+                       {
+                               EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR);
+                               goto err;
+                       }
+                       /* We have parameters now set private key */
+                       if (!(dsa->priv_key = ASN1_INTEGER_to_BN(privkey, NULL))) 
+                       {
+                               EVPerr(EVP_F_EVP_PKCS82PKEY,EVP_R_BN_DECODE_ERROR);
+                               goto err;
+                       }
+                       /* Calculate public key (ouch!) */
+                       if (!(dsa->pub_key = BN_new())) 
+                       {
+                               EVPerr(EVP_F_EVP_PKCS82PKEY,ERR_R_MALLOC_FAILURE);
+                               goto err;
+                       }
+                       if (!BN_mod_exp(dsa->pub_key, dsa->g,
+                                                dsa->priv_key, dsa->p, ctx)) 
+                       {
+                               EVPerr(EVP_F_EVP_PKCS82PKEY,EVP_R_BN_PUBKEY_ERROR);
+                               goto err;
+                       }
+
+                       EVP_PKEY_assign_DSA(pkey, dsa);
+                       BN_CTX_free(ctx);
+                       if(n_stack) sk_ASN1_TYPE_pop_free(n_stack, ASN1_TYPE_free);
+                       else ASN1_INTEGER_free(privkey);
+#else
+                       EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM);
+                       goto err;
+#endif 
+               } 
+               else /* nid == NID_ecdsa_with_SHA1 */
+               {
+#ifndef OPENSSL_NO_ECDSA
+                       if ((ecdsa = d2i_ECDSAParameters(NULL, &cp, plen)) == NULL)
+                       {
+                               EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR);
+                               goto err;
+                       }
+                       if ((ecdsa->priv_key = ASN1_INTEGER_to_BN(privkey, NULL)) == NULL)
+                       {
+                               EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR);
+                               goto err;
+                       }
+                       if ((ecdsa->pub_key = EC_POINT_new(ecdsa->group)) == NULL)
+                       {
+                               EVPerr(EVP_F_EVP_PKCS82PKEY, ERR_R_EC_LIB);
+                               goto err;
+                       }
+                       if (!EC_POINT_copy(ecdsa->pub_key, EC_GROUP_get0_generator(ecdsa->group)))
+                       {
+                               EVPerr(EVP_F_EVP_PKCS82PKEY, ERR_R_EC_LIB);
+                               goto err;
+                       }
+                       if (!EC_POINT_mul(ecdsa->group, ecdsa->pub_key, ecdsa->priv_key,
+                                         NULL, NULL, ctx))
+                       {
+                               EVPerr(EVP_F_EVP_PKCS82PKEY, ERR_R_EC_LIB);
+                               goto err;
+                       }
                        
-                       EVPerr(EVP_F_EVP_PKCS82PKEY,EVP_R_BN_PUBKEY_ERROR);
-                       goto dsaerr;
+                       EVP_PKEY_assign_ECDSA(pkey, ecdsa);
+                       BN_CTX_free(ctx);
+                       if (n_stack) sk_ASN1_TYPE_pop_free(n_stack, ASN1_TYPE_free);
+                       else
+                               ASN1_INTEGER_free(privkey);
+#else
+                       EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM);
+                       goto err;
+#endif
                }
-
-               EVP_PKEY_assign_DSA(pkey, dsa);
-               BN_CTX_free (ctx);
-               if(ndsa) sk_ASN1_TYPE_pop_free(ndsa, ASN1_TYPE_free);
-               else ASN1_INTEGER_free(privkey);
                break;
-               dsaerr:
-               BN_CTX_free (ctx);
-               sk_ASN1_TYPE_pop_free(ndsa, ASN1_TYPE_free);
-               DSA_free(dsa);
-               EVP_PKEY_free(pkey);
+err:
+               if (ctx)   BN_CTX_free(ctx);
+               sk_ASN1_TYPE_pop_free(n_stack, ASN1_TYPE_free);
+               if (dsa)   DSA_free(dsa);
+               if (ecdsa) ECDSA_free(ecdsa);
+               if (pkey)  EVP_PKEY_free(pkey);
                return NULL;
                break;
 #endif
@@ -269,6 +344,15 @@ PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken)
 
                break;
 #endif
+#ifndef OPENSSL_NO_ECDSA
+               case EVP_PKEY_ECDSA:
+               if (!ecdsa_pkey2pkcs8(p8, pkey))
+               {
+                       PKCS8_PRIV_KEY_INFO_free(p8);
+                       return(NULL);
+               }
+               break;
+#endif
                default:
                EVPerr(EVP_F_EVP_PKEY2PKCS8, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM);
                PKCS8_PRIV_KEY_INFO_free (p8);
@@ -412,3 +496,210 @@ static int dsa_pkey2pkcs8(PKCS8_PRIV_KEY_INFO *p8, EVP_PKEY *pkey)
        return 1;
 }
 #endif
+
+#ifndef OPENSSL_NO_ECDSA
+static int ecdsa_pkey2pkcs8(PKCS8_PRIV_KEY_INFO *p8, EVP_PKEY *pkey)
+{
+       ASN1_STRING       *params=NULL;
+       ASN1_INTEGER      *prkey=NULL;
+       ASN1_TYPE         *ttmp=NULL;
+       STACK_OF(ASN1_TYPE) *necdsa=NULL;
+       unsigned char     *p=NULL, *q=NULL;
+       int len=0;
+       EC_POINT          *point=NULL;
+
+       if (pkey->pkey.ecdsa == NULL || pkey->pkey.ecdsa->group == NULL)
+       {
+               EVPerr(EVP_F_ECDSA_PKEY2PKCS8, EVP_R_MISSING_PARAMETERS);
+               return 0;
+       }
+       p8->pkeyalg->algorithm = OBJ_nid2obj(NID_ecdsa_with_SHA1);
+       len = i2d_ECDSAParameters(pkey->pkey.ecdsa, NULL);
+       if ((p = OPENSSL_malloc(len)) == NULL)
+       {
+               EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE);
+               return 0;
+       }
+       q = p;
+       if (!i2d_ECDSAParameters(pkey->pkey.ecdsa, &q))
+       {
+               EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_ECDSA_LIB);
+               OPENSSL_free(p);
+               return 0;
+       }
+       if ((params = ASN1_STRING_new()) == NULL)
+       {
+               EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE);
+               OPENSSL_free(p);
+               return 0;
+               
+       }
+       if (!ASN1_STRING_set(params, p, len))
+       {
+               EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_ASN1_LIB);
+               OPENSSL_free(p);
+               return 0;
+       }
+       OPENSSL_free(p);
+       if ((prkey = BN_to_ASN1_INTEGER(pkey->pkey.ecdsa->priv_key, NULL)) == NULL)
+       {
+               EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_ASN1_LIB);
+               return 0;
+       }
+
+       switch(p8->broken) {
+
+               case PKCS8_OK:
+               case PKCS8_NO_OCTET:
+
+               if (!ASN1_pack_string((char *)prkey, i2d_ASN1_INTEGER,
+                                        &p8->pkey->value.octet_string)) 
+               {
+                       EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE);
+                       M_ASN1_INTEGER_free(prkey);
+                       return 0;
+               }
+
+               ASN1_INTEGER_free(prkey);
+               p8->pkeyalg->parameter->value.sequence = params;
+               p8->pkeyalg->parameter->type = V_ASN1_SEQUENCE;
+
+               break;
+
+               case PKCS8_NS_DB:
+
+               p8->pkeyalg->parameter->value.sequence = params;
+               p8->pkeyalg->parameter->type = V_ASN1_SEQUENCE;
+               necdsa = sk_ASN1_TYPE_new_null();
+               if (necdsa == NULL || (ttmp = ASN1_TYPE_new()) == NULL)
+               {
+                       EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE);
+                       sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free);
+                       return 0;
+               }
+
+               if ((point = EC_GROUP_get0_generator(pkey->pkey.ecdsa->group)) == NULL)
+               {
+                       EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_EC_LIB);
+                       return 0;
+               }
+               len = EC_POINT_point2oct(pkey->pkey.ecdsa->group, point, POINT_CONVERSION_COMPRESSED,
+                                        NULL, 0, NULL);
+               p = OPENSSL_malloc(len);
+               if (!len || !p || !EC_POINT_point2oct(pkey->pkey.ecdsa->group, point,
+                       POINT_CONVERSION_COMPRESSED, p, len, NULL))
+               {
+                       EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_EC_LIB);
+                       OPENSSL_free(p);
+                       return 0;
+               }
+               if ((ttmp->value.octet_string = ASN1_OCTET_STRING_new()) == NULL)
+               {
+                       EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE);
+                       return 0;
+               }
+               if (!ASN1_OCTET_STRING_set(ttmp->value.octet_string, p, len))
+               {
+                       EVPerr(EVP_F_ECDSA_PKEY2PKCS8, EVP_R_ASN1_LIB);
+                       return 0;
+               }
+               OPENSSL_free(p);
+               
+               ttmp->type = V_ASN1_OCTET_STRING;
+               if (!sk_ASN1_TYPE_push(necdsa, ttmp))
+               {
+                       sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free);
+                       ASN1_INTEGER_free(prkey);
+                       return 0;
+               }
+
+               if ((ttmp = ASN1_TYPE_new()) == NULL)
+               {
+                       EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE);
+                       return 0;
+               }
+               ttmp->value.integer = prkey;
+               ttmp->type = V_ASN1_INTEGER;
+               if (!sk_ASN1_TYPE_push(necdsa, ttmp))
+               {
+                       sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free);
+                       ASN1_INTEGER_free(prkey);
+                       return 0;
+               }
+
+               if ((p8->pkey->value.octet_string = ASN1_OCTET_STRING_new()) == NULL)
+               {       
+                       EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE);
+                       sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free);
+                       return 0;
+               }
+
+               if (!ASN1_seq_pack_ASN1_TYPE(necdsa, i2d_ASN1_TYPE,
+                                        &p8->pkey->value.octet_string->data,
+                                        &p8->pkey->value.octet_string->length)) 
+               {
+
+                       EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE);
+                       sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free);
+                       return 0;
+               }
+               sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free);
+               break;
+
+               case PKCS8_EMBEDDED_PARAM:
+
+               p8->pkeyalg->parameter->type = V_ASN1_NULL;
+               necdsa = sk_ASN1_TYPE_new_null();
+               if ((ttmp = ASN1_TYPE_new()) == NULL)
+               {
+                       EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE);
+                       sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free);
+                       ASN1_INTEGER_free(prkey);
+                       return 0;
+               }
+               ttmp->value.sequence = params;
+               ttmp->type = V_ASN1_SEQUENCE;
+               if (!sk_ASN1_TYPE_push(necdsa, ttmp))
+               {
+                       sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free);
+                       ASN1_INTEGER_free(prkey);
+                       return 0;
+               }
+
+               if ((ttmp = ASN1_TYPE_new()) == NULL)
+               {
+                       EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE);
+                       sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free);
+                       ASN1_INTEGER_free(prkey);
+                       return 0;
+               }
+               ttmp->value.integer = prkey;
+               ttmp->type = V_ASN1_INTEGER;
+               if (!sk_ASN1_TYPE_push(necdsa, ttmp))
+               {
+                       sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free);
+                       ASN1_INTEGER_free(prkey);
+                       return 0;
+               }
+
+               if ((p8->pkey->value.octet_string = ASN1_OCTET_STRING_new()) == NULL)
+               {
+                       EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE);
+                       sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free);
+                       return 0;
+               }
+
+               if (!ASN1_seq_pack_ASN1_TYPE(necdsa, i2d_ASN1_TYPE,
+                                        &p8->pkey->value.octet_string->data,
+                                        &p8->pkey->value.octet_string->length)) 
+               {
+                       EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE);
+                       sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free);
+                       return 0;
+               }
+               sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free);
+               break;
+       }
+       return 1;
+}
+#endif
diff --git a/crypto/evp/m_ecdsa.c b/crypto/evp/m_ecdsa.c
new file mode 100644 (file)
index 0000000..4e8b010
--- /dev/null
@@ -0,0 +1,95 @@
+/* crypto/evp/m_ecdsa.c */
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ * 
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to.  The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ * 
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *    "This product includes cryptographic software written by
+ *     Eric Young (eay@cryptsoft.com)"
+ *    The word 'cryptographic' can be left out if the rouines from the library
+ *    being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from 
+ *    the apps directory (application code) you must include an acknowledgement:
+ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ * 
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * 
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed.  i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/evp.h>
+#include <openssl/objects.h>
+#include <openssl/x509.h>
+
+#ifndef OPENSSL_NO_SHA
+static int init(EVP_MD_CTX *ctx)
+       { return SHA1_Init(ctx->md_data); }
+
+static int update(EVP_MD_CTX *ctx,const void *data,unsigned long count)
+       { return SHA1_Update(ctx->md_data,data,count); }
+
+static int final(EVP_MD_CTX *ctx,unsigned char *md)
+       { return SHA1_Final(md,ctx->md_data); }
+
+static const EVP_MD ecdsa_md=
+       {
+       NID_ecdsa_with_SHA1,
+       NID_ecdsa_with_SHA1,
+       SHA_DIGEST_LENGTH,
+       0,
+       init,
+       update,
+       final,
+       NULL,
+       NULL,
+       EVP_PKEY_ECDSA_method,
+       SHA_CBLOCK,
+       sizeof(EVP_MD *)+sizeof(SHA_CTX),
+       };
+
+const EVP_MD *EVP_ecdsa(void)
+       {
+       return(&ecdsa_md);
+       }
+#endif
index 215b94292aae4428aeb3cda5a97c7aaa59aecf1a..fcb5711753d762d48878e0376a5a8f0c995c53b0 100644 (file)
@@ -58,6 +58,8 @@
 
 #include <stdio.h>
 #include "cryptlib.h"
+#include <openssl/bn.h>
+#include <openssl/err.h>
 #include <openssl/objects.h>
 #include <openssl/evp.h>
 #include <openssl/asn1_mac.h>
@@ -67,14 +69,37 @@ static void EVP_PKEY_free_it(EVP_PKEY *x);
 
 int EVP_PKEY_bits(EVP_PKEY *pkey)
        {
+       if (0)
+               return 0;
 #ifndef OPENSSL_NO_RSA
-       if (pkey->type == EVP_PKEY_RSA)
+       else if (pkey->type == EVP_PKEY_RSA)
                return(BN_num_bits(pkey->pkey.rsa->n));
-       else
 #endif
 #ifndef OPENSSL_NO_DSA
-               if (pkey->type == EVP_PKEY_DSA)
+       else if (pkey->type == EVP_PKEY_DSA)
                return(BN_num_bits(pkey->pkey.dsa->p));
+#endif
+#ifndef OPENSSL_NO_ECDSA
+       else if (pkey->type == EVP_PKEY_ECDSA)
+               {
+               BIGNUM *order = BN_new();
+               int ret;
+
+               if (!order)
+                       {
+                       ERR_clear_error();
+                       return 0;
+                       }
+               if (!EC_GROUP_get_order(pkey->pkey.ecdsa->group, order, NULL))
+                       {
+                       ERR_clear_error();
+                       return 0;
+                       }
+
+               ret = BN_num_bits(order);
+               BN_free(order);
+               return ret;
+               }
 #endif
        return(0);
        }
@@ -92,6 +117,11 @@ int EVP_PKEY_size(EVP_PKEY *pkey)
                if (pkey->type == EVP_PKEY_DSA)
                return(DSA_size(pkey->pkey.dsa));
 #endif
+#ifndef OPENSSL_NO_ECDSA
+               if (pkey->type == EVP_PKEY_ECDSA)
+               return(ECDSA_size(pkey->pkey.ecdsa));
+#endif
+
        return(0);
        }
 
@@ -106,6 +136,16 @@ int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode)
                        pkey->save_parameters=mode;
                return(ret);
                }
+#endif
+#ifndef OPENSSL_NO_ECDSA
+       if (pkey->type == EVP_PKEY_ECDSA)
+               {
+               int ret = pkey->save_parameters;
+
+               if (mode >= 0)
+                       pkey->save_parameters = mode;
+               return(ret);
+               }
 #endif
        return(0);
        }
@@ -140,6 +180,15 @@ int EVP_PKEY_copy_parameters(EVP_PKEY *to, EVP_PKEY *from)
                if (to->pkey.dsa->g != NULL) BN_free(to->pkey.dsa->g);
                to->pkey.dsa->g=a;
                }
+#endif
+#ifndef OPENSSL_NO_ECDSA
+       if (to->type == EVP_PKEY_ECDSA)
+               {
+               if (to->pkey.ecdsa->group != NULL)
+                       EC_GROUP_free(to->pkey.ecdsa->group);
+               if ((to->pkey.ecdsa->group = EC_GROUP_new(EC_GROUP_method_of(from->pkey.ecdsa->group))) == NULL) goto err;
+               if (!EC_GROUP_copy(to->pkey.ecdsa->group,from->pkey.ecdsa->group)) goto err;
+               }
 #endif
        return(1);
 err:
@@ -158,6 +207,14 @@ int EVP_PKEY_missing_parameters(EVP_PKEY *pkey)
                        return(1);
                }
 #endif
+#ifndef OPENSSL_NO_ECDSA
+       if (pkey->type == EVP_PKEY_ECDSA)
+               {
+               if (pkey->pkey.ecdsa->group == NULL)
+                       return(1);
+               }
+#endif
+
        return(0);
        }
 
@@ -246,6 +303,28 @@ DSA *EVP_PKEY_get1_DSA(EVP_PKEY *pkey)
 }
 #endif
 
+#ifndef OPENSSL_NO_ECDSA
+
+int EVP_PKEY_set1_ECDSA(EVP_PKEY *pkey, ECDSA *key)
+{
+       int ret = EVP_PKEY_assign_ECDSA(pkey,key);
+       if (ret) CRYPTO_add(&key->references, 1,CRYPTO_LOCK_ECDSA);
+               return ret;
+}
+
+ECDSA *EVP_PKEY_get1_ECDSA(EVP_PKEY *pkey)
+{
+       if (pkey->type != EVP_PKEY_ECDSA)
+       {
+               EVPerr(EVP_F_EVP_PKEY_GET1_ECDSA, EVP_R_EXPECTING_A_ECDSA_KEY);
+               return NULL;
+       }
+       CRYPTO_add(&pkey->pkey.ecdsa->references, 1, CRYPTO_LOCK_ECDSA);
+       return pkey->pkey.ecdsa;
+}
+#endif
+
+
 #ifndef OPENSSL_NO_DH
 
 int EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *key)
@@ -282,6 +361,8 @@ int EVP_PKEY_type(int type)
                return(EVP_PKEY_DSA);
        case EVP_PKEY_DH:
                return(EVP_PKEY_DH);
+       case EVP_PKEY_ECDSA:
+               return(EVP_PKEY_ECDSA);
        default:
                return(NID_undef);
                }
@@ -327,6 +408,11 @@ static void EVP_PKEY_free_it(EVP_PKEY *x)
                DSA_free(x->pkey.dsa);
                break;
 #endif
+#ifndef OPENSSL_NO_ECDSA
+       case EVP_PKEY_ECDSA:
+               ECDSA_free(x->pkey.ecdsa);
+               break;
+#endif
 #ifndef OPENSSL_NO_DH
        case EVP_PKEY_DH:
                DH_free(x->pkey.dh);
index b69abdc1c74c985bffc8e769714853eac750a30e..3fc9d1149c6c2f0db5f0353ce5c6ea4635edf21c 100644 (file)
@@ -87,6 +87,7 @@ ocsp_asn.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
 ocsp_asn.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
 ocsp_asn.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 ocsp_asn.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+ocsp_asn.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 ocsp_asn.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 ocsp_asn.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 ocsp_asn.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h
@@ -97,29 +98,33 @@ ocsp_asn.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 ocsp_asn.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 ocsp_asn.o: ../../include/openssl/x509v3.h ocsp_asn.c
 ocsp_cl.o: ../../e_os.h ../../include/openssl/asn1.h
-ocsp_cl.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-ocsp_cl.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-ocsp_cl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-ocsp_cl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-ocsp_cl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-ocsp_cl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-ocsp_cl.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h
-ocsp_cl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-ocsp_cl.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h
-ocsp_cl.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h
-ocsp_cl.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
-ocsp_cl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-ocsp_cl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-ocsp_cl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-ocsp_cl.o: ../../include/openssl/x509v3.h ../cryptlib.h ocsp_cl.c
-ocsp_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-ocsp_err.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-ocsp_err.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
-ocsp_err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-ocsp_err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-ocsp_err.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-ocsp_err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-ocsp_err.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h
+ocsp_cl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+ocsp_cl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+ocsp_cl.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+ocsp_cl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+ocsp_cl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+ocsp_cl.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+ocsp_cl.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+ocsp_cl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ocsp_cl.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h
+ocsp_cl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+ocsp_cl.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
+ocsp_cl.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
+ocsp_cl.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+ocsp_cl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+ocsp_cl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+ocsp_cl.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
+ocsp_cl.o: ../cryptlib.h ocsp_cl.c
+ocsp_err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+ocsp_err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+ocsp_err.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
+ocsp_err.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+ocsp_err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+ocsp_err.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+ocsp_err.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+ocsp_err.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ocsp_err.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h
+ocsp_err.o: ../../include/openssl/opensslconf.h
 ocsp_err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 ocsp_err.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 ocsp_err.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -127,14 +132,15 @@ ocsp_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 ocsp_err.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 ocsp_err.o: ../../include/openssl/x509v3.h ocsp_err.c
 ocsp_ext.o: ../../e_os.h ../../include/openssl/asn1.h
-ocsp_ext.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-ocsp_ext.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-ocsp_ext.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-ocsp_ext.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-ocsp_ext.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-ocsp_ext.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-ocsp_ext.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h
-ocsp_ext.o: ../../include/openssl/opensslconf.h
+ocsp_ext.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+ocsp_ext.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+ocsp_ext.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+ocsp_ext.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+ocsp_ext.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+ocsp_ext.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+ocsp_ext.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+ocsp_ext.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ocsp_ext.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h
 ocsp_ext.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 ocsp_ext.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
 ocsp_ext.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
@@ -142,29 +148,32 @@ ocsp_ext.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 ocsp_ext.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 ocsp_ext.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 ocsp_ext.o: ../cryptlib.h ocsp_ext.c
-ocsp_ht.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-ocsp_ht.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-ocsp_ht.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
-ocsp_ht.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-ocsp_ht.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-ocsp_ht.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-ocsp_ht.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-ocsp_ht.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h
-ocsp_ht.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-ocsp_ht.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-ocsp_ht.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-ocsp_ht.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-ocsp_ht.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-ocsp_ht.o: ../../include/openssl/x509v3.h ocsp_ht.c
+ocsp_ht.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+ocsp_ht.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+ocsp_ht.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
+ocsp_ht.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+ocsp_ht.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+ocsp_ht.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+ocsp_ht.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+ocsp_ht.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ocsp_ht.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h
+ocsp_ht.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+ocsp_ht.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+ocsp_ht.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+ocsp_ht.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+ocsp_ht.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+ocsp_ht.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
+ocsp_ht.o: ocsp_ht.c
 ocsp_lib.o: ../../e_os.h ../../include/openssl/asn1.h
-ocsp_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-ocsp_lib.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-ocsp_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-ocsp_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-ocsp_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-ocsp_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-ocsp_lib.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h
-ocsp_lib.o: ../../include/openssl/opensslconf.h
+ocsp_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+ocsp_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+ocsp_lib.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+ocsp_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+ocsp_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+ocsp_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+ocsp_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+ocsp_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ocsp_lib.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h
 ocsp_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 ocsp_lib.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
 ocsp_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
@@ -173,14 +182,16 @@ ocsp_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 ocsp_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 ocsp_lib.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 ocsp_lib.o: ../cryptlib.h ocsp_lib.c
-ocsp_prn.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-ocsp_prn.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-ocsp_prn.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
-ocsp_prn.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-ocsp_prn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-ocsp_prn.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-ocsp_prn.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-ocsp_prn.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h
+ocsp_prn.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+ocsp_prn.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+ocsp_prn.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
+ocsp_prn.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+ocsp_prn.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+ocsp_prn.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+ocsp_prn.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+ocsp_prn.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ocsp_prn.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h
+ocsp_prn.o: ../../include/openssl/opensslconf.h
 ocsp_prn.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 ocsp_prn.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
 ocsp_prn.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
@@ -189,14 +200,15 @@ ocsp_prn.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 ocsp_prn.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 ocsp_prn.o: ../../include/openssl/x509v3.h ocsp_prn.c
 ocsp_srv.o: ../../e_os.h ../../include/openssl/asn1.h
-ocsp_srv.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-ocsp_srv.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-ocsp_srv.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-ocsp_srv.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-ocsp_srv.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-ocsp_srv.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-ocsp_srv.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h
-ocsp_srv.o: ../../include/openssl/opensslconf.h
+ocsp_srv.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+ocsp_srv.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+ocsp_srv.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+ocsp_srv.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+ocsp_srv.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+ocsp_srv.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+ocsp_srv.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+ocsp_srv.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ocsp_srv.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h
 ocsp_srv.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 ocsp_srv.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
 ocsp_srv.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
@@ -205,14 +217,16 @@ ocsp_srv.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 ocsp_srv.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 ocsp_srv.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 ocsp_srv.o: ../cryptlib.h ocsp_srv.c
-ocsp_vfy.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-ocsp_vfy.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-ocsp_vfy.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
-ocsp_vfy.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-ocsp_vfy.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-ocsp_vfy.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-ocsp_vfy.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-ocsp_vfy.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h
+ocsp_vfy.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+ocsp_vfy.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+ocsp_vfy.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
+ocsp_vfy.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+ocsp_vfy.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+ocsp_vfy.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+ocsp_vfy.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+ocsp_vfy.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ocsp_vfy.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h
+ocsp_vfy.o: ../../include/openssl/opensslconf.h
 ocsp_vfy.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 ocsp_vfy.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 ocsp_vfy.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
index a051b6fecc147c060f5ef9a3a98cf57517c4e060..c02be5b091549c438c49f5d9de4032e10b3c9c84 100644 (file)
@@ -83,41 +83,45 @@ clean:
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
 pem_all.o: ../../e_os.h ../../include/openssl/asn1.h
-pem_all.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pem_all.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-pem_all.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-pem_all.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-pem_all.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pem_all.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pem_all.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-pem_all.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h
-pem_all.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h
-pem_all.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-pem_all.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-pem_all.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
-pem_all.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pem_all.c
-pem_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-pem_err.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-pem_err.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-pem_err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-pem_err.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-pem_err.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-pem_err.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-pem_err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-pem_err.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
-pem_err.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-pem_err.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-pem_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-pem_err.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-pem_err.o: pem_err.c
+pem_all.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pem_all.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pem_all.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+pem_all.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+pem_all.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+pem_all.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pem_all.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pem_all.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+pem_all.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+pem_all.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
+pem_all.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+pem_all.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+pem_all.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+pem_all.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+pem_all.o: ../cryptlib.h pem_all.c
+pem_err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+pem_err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+pem_err.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+pem_err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+pem_err.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+pem_err.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+pem_err.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+pem_err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+pem_err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+pem_err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h
+pem_err.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h
+pem_err.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+pem_err.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+pem_err.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+pem_err.o: ../../include/openssl/x509_vfy.h pem_err.c
 pem_info.o: ../../e_os.h ../../include/openssl/asn1.h
-pem_info.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pem_info.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-pem_info.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-pem_info.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-pem_info.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pem_info.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pem_info.o: ../../include/openssl/opensslconf.h
+pem_info.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pem_info.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pem_info.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+pem_info.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+pem_info.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+pem_info.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pem_info.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pem_info.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 pem_info.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 pem_info.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
 pem_info.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
@@ -126,60 +130,66 @@ pem_info.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 pem_info.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 pem_info.o: ../cryptlib.h pem_info.c
 pem_lib.o: ../../e_os.h ../../include/openssl/asn1.h
-pem_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pem_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-pem_lib.o: ../../include/openssl/des.h ../../include/openssl/des_old.h
-pem_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-pem_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-pem_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pem_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pem_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-pem_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h
-pem_lib.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs12.h
-pem_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
-pem_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-pem_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-pem_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
-pem_lib.o: ../../include/openssl/ui_compat.h ../../include/openssl/x509.h
-pem_lib.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pem_lib.c
+pem_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pem_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pem_lib.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
+pem_lib.o: ../../include/openssl/des_old.h ../../include/openssl/dh.h
+pem_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+pem_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+pem_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pem_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pem_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+pem_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+pem_lib.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
+pem_lib.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
+pem_lib.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
+pem_lib.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+pem_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+pem_lib.o: ../../include/openssl/ui.h ../../include/openssl/ui_compat.h
+pem_lib.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+pem_lib.o: ../cryptlib.h pem_lib.c
 pem_oth.o: ../../e_os.h ../../include/openssl/asn1.h
-pem_oth.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pem_oth.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-pem_oth.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-pem_oth.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-pem_oth.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pem_oth.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pem_oth.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-pem_oth.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h
-pem_oth.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h
-pem_oth.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
-pem_oth.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-pem_oth.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-pem_oth.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-pem_oth.o: ../cryptlib.h pem_oth.c
+pem_oth.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pem_oth.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pem_oth.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+pem_oth.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+pem_oth.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+pem_oth.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pem_oth.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pem_oth.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+pem_oth.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+pem_oth.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
+pem_oth.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
+pem_oth.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+pem_oth.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+pem_oth.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+pem_oth.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pem_oth.c
 pem_pk8.o: ../../e_os.h ../../include/openssl/asn1.h
-pem_pk8.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pem_pk8.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-pem_pk8.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-pem_pk8.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-pem_pk8.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pem_pk8.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pem_pk8.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-pem_pk8.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h
-pem_pk8.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs12.h
-pem_pk8.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
-pem_pk8.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-pem_pk8.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-pem_pk8.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
-pem_pk8.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pem_pk8.c
+pem_pk8.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pem_pk8.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pem_pk8.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+pem_pk8.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+pem_pk8.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+pem_pk8.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pem_pk8.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pem_pk8.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+pem_pk8.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+pem_pk8.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
+pem_pk8.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
+pem_pk8.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
+pem_pk8.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+pem_pk8.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+pem_pk8.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+pem_pk8.o: ../cryptlib.h pem_pk8.c
 pem_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
-pem_pkey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pem_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-pem_pkey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-pem_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-pem_pkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pem_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pem_pkey.o: ../../include/openssl/opensslconf.h
+pem_pkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pem_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pem_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+pem_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+pem_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+pem_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pem_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pem_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 pem_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 pem_pkey.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
 pem_pkey.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
@@ -189,13 +199,14 @@ pem_pkey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 pem_pkey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 pem_pkey.o: ../cryptlib.h pem_pkey.c
 pem_seal.o: ../../e_os.h ../../include/openssl/asn1.h
-pem_seal.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pem_seal.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-pem_seal.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-pem_seal.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-pem_seal.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pem_seal.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pem_seal.o: ../../include/openssl/opensslconf.h
+pem_seal.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pem_seal.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pem_seal.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+pem_seal.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+pem_seal.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+pem_seal.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pem_seal.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pem_seal.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 pem_seal.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 pem_seal.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
 pem_seal.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
@@ -204,13 +215,14 @@ pem_seal.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 pem_seal.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 pem_seal.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pem_seal.c
 pem_sign.o: ../../e_os.h ../../include/openssl/asn1.h
-pem_sign.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pem_sign.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-pem_sign.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-pem_sign.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-pem_sign.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pem_sign.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pem_sign.o: ../../include/openssl/opensslconf.h
+pem_sign.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pem_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pem_sign.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+pem_sign.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+pem_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+pem_sign.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pem_sign.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pem_sign.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 pem_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 pem_sign.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
 pem_sign.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
@@ -219,13 +231,14 @@ pem_sign.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 pem_sign.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 pem_sign.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pem_sign.c
 pem_x509.o: ../../e_os.h ../../include/openssl/asn1.h
-pem_x509.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pem_x509.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-pem_x509.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-pem_x509.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-pem_x509.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pem_x509.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pem_x509.o: ../../include/openssl/opensslconf.h
+pem_x509.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pem_x509.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pem_x509.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+pem_x509.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+pem_x509.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+pem_x509.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pem_x509.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pem_x509.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 pem_x509.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 pem_x509.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
 pem_x509.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
@@ -234,13 +247,14 @@ pem_x509.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 pem_x509.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 pem_x509.o: ../cryptlib.h pem_x509.c
 pem_xaux.o: ../../e_os.h ../../include/openssl/asn1.h
-pem_xaux.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pem_xaux.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-pem_xaux.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-pem_xaux.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-pem_xaux.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pem_xaux.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pem_xaux.o: ../../include/openssl/opensslconf.h
+pem_xaux.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pem_xaux.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pem_xaux.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+pem_xaux.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+pem_xaux.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+pem_xaux.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pem_xaux.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pem_xaux.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 pem_xaux.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 pem_xaux.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
 pem_xaux.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
index 3785fca77dd35263ffb4e02ff7cef57657ce50ec..a0feea36c52e5edf414a6c58a261b3eb31fb9075 100644 (file)
@@ -91,6 +91,9 @@ extern "C" {
 #define PEM_OBJ_DHPARAMS       17
 #define PEM_OBJ_DSAPARAMS      18
 #define PEM_OBJ_PRIV_RSA_PUBLIC        19
+#define PEM_OBJ_PRIV_ECDSA     20
+#define PEM_OBJ_PUB_ECDSA      21
+#define PEM_OBJ_ECDSAPARAMS    22
 
 #define PEM_ERROR              30
 #define PEM_DEK_DES_CBC         40
@@ -126,6 +129,9 @@ extern "C" {
 #define PEM_STRING_DHPARAMS    "DH PARAMETERS"
 #define PEM_STRING_SSL_SESSION "SSL SESSION PARAMETERS"
 #define PEM_STRING_DSAPARAMS   "DSA PARAMETERS"
+#define PEM_STRING_ECDSA       "ECDSA PRIVATE KEY"
+#define PEM_STRING_ECDSA_PUBLIC "ECDSA PUBLIC KEY"
+#define PEM_STRING_ECDSAPARAMS "ECDSA PARAMETERS"
 
   /* Note that this structure is initialised by PEM_SealInit and cleaned up
      by PEM_SealFinal (at least for now) */
@@ -572,6 +578,12 @@ DECLARE_PEM_rw(DSAparams, DSA)
 
 #endif
 
+#ifndef OPENSSL_NO_ECDSA
+DECLARE_PEM_rw_cb(ECDSAPrivateKey, ECDSA)
+DECLARE_PEM_rw(ECDSA_PUBKEY, ECDSA)
+DECLARE_PEM_rw(ECDSAParameters, ECDSA)
+#endif
+
 #ifndef OPENSSL_NO_DH
 
 DECLARE_PEM_rw(DHparams, DH)
index e72b7134cec204996f9c6cdd5df83deca2d84253..2a4b865a507e01b35b4d8bf229a66abaab666c2b 100644 (file)
  * copied and put under another distribution licence
  * [including the GNU Public Licence.]
  */
+/* ====================================================================
+ * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    openssl-core@openssl.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
 
 #include <stdio.h>
 #undef SSLEAY_MACROS
@@ -72,6 +125,10 @@ static RSA *pkey_get_rsa(EVP_PKEY *key, RSA **rsa);
 static DSA *pkey_get_dsa(EVP_PKEY *key, DSA **dsa);
 #endif
 
+#ifndef OPENSSL_NO_ECDSA
+static ECDSA *pkey_get_ecdsa(EVP_PKEY *key, ECDSA **ecdsa);
+#endif
+
 IMPLEMENT_PEM_rw(X509_REQ, X509_REQ, PEM_STRING_X509_REQ, X509_REQ)
 
 IMPLEMENT_PEM_write(X509_REQ_NEW, X509_REQ, PEM_STRING_X509_REQ_OLD, X509_REQ)
@@ -177,6 +234,50 @@ IMPLEMENT_PEM_rw(DSAparams, DSA, PEM_STRING_DSAPARAMS, DSAparams)
 
 #endif
 
+#ifndef OPENSSL_NO_ECDSA
+
+static ECDSA *pkey_get_ecdsa(EVP_PKEY *key, ECDSA **ecdsa)
+{
+       ECDSA *dtmp;
+       if(!key) return NULL;
+       dtmp = EVP_PKEY_get1_ECDSA(key);
+       EVP_PKEY_free(key);
+       if(!dtmp) return NULL;
+       if(ecdsa) 
+       {
+               ECDSA_free(*ecdsa);
+               *ecdsa = dtmp;
+       }
+       return dtmp;
+}
+
+ECDSA *PEM_read_bio_ECDSAPrivateKey(BIO *bp, ECDSA **ecdsa, pem_password_cb *cb,
+                                                       void *u)
+{
+       EVP_PKEY *pktmp;
+       pktmp = PEM_read_bio_PrivateKey(bp, NULL, cb, u);
+       return pkey_get_ecdsa(pktmp, ecdsa);
+}
+
+IMPLEMENT_PEM_write_cb(ECDSAPrivateKey, ECDSA, PEM_STRING_ECDSA, ECDSAPrivateKey)
+IMPLEMENT_PEM_rw(ECDSA_PUBKEY, ECDSA, PEM_STRING_PUBLIC, ECDSA_PUBKEY)
+
+#ifndef OPENSSL_NO_FP_API
+ECDSA *PEM_read_ECDSAPrivateKey(FILE *fp, ECDSA **ecdsa, pem_password_cb *cb,
+                                                               void *u)
+{
+       EVP_PKEY *pktmp;
+       pktmp = PEM_read_PrivateKey(fp, NULL, cb, u);
+       return pkey_get_ecdsa(pktmp, ecdsa);
+}
+
+#endif
+
+IMPLEMENT_PEM_rw(ECDSAParameters, ECDSA, PEM_STRING_ECDSAPARAMS, ECDSAParameters)
+
+#endif
+
 #ifndef OPENSSL_NO_DH
 
 IMPLEMENT_PEM_rw(DHparams, DH, PEM_STRING_DHPARAMS, DHparams)
@@ -190,7 +291,8 @@ IMPLEMENT_PEM_rw(DHparams, DH, PEM_STRING_DHPARAMS, DHparams)
  * (When reading, parameter PEM_STRING_EVP_PKEY is a wildcard for anything
  * appropriate.)
  */
-IMPLEMENT_PEM_write_cb(PrivateKey, EVP_PKEY, ((x->type == EVP_PKEY_DSA)?PEM_STRING_DSA:PEM_STRING_RSA), PrivateKey)
+IMPLEMENT_PEM_write_cb(PrivateKey, EVP_PKEY, ((x->type == EVP_PKEY_DSA)?PEM_STRING_DSA:\
+                       (x->type == EVP_PKEY_RSA)?PEM_STRING_RSA:PEM_STRING_ECDSA), PrivateKey)
 
 IMPLEMENT_PEM_rw(PUBKEY, EVP_PKEY, PEM_STRING_PUBLIC, PUBKEY)
 
index b6ca51a1869ad603c8936f284eaf4fc486d3cea3..8bcd9f770dc50762fa76ad8ba7b6968c3147970b 100644 (file)
@@ -202,6 +202,30 @@ start:
                                raw=1;
                        }
                else
+#endif
+#ifndef OPENSSL_NO_ECDSA
+                       if (strcmp(name,PEM_STRING_ECDSA) == 0)
+                       {
+                               d2i=(char *(*)())d2i_ECDSAPrivateKey;
+                               if (xi->x_pkey != NULL) 
+                               {
+                                       if (!sk_X509_INFO_push(ret,xi)) goto err;
+                                       if ((xi=X509_INFO_new()) == NULL) goto err;
+                                               goto start;
+                               }
+                       xi->enc_data=NULL;
+                       xi->enc_len=0;
+                       xi->x_pkey=X509_PKEY_new();
+                       if ((xi->x_pkey->dec_pkey=EVP_PKEY_new()) == NULL)
+                               goto err;
+                       xi->x_pkey->dec_pkey->type=EVP_PKEY_ECDSA;
+                       pp=(char **)&(xi->x_pkey->dec_pkey->pkey.ecdsa);
+                       if ((int)strlen(header) > 10) /* assume encrypted */
+                               raw=1;
+                       }
+               else
 #endif
                        {
                        d2i=NULL;
index 94373e1d23f7f3ad3d54f25dfaf2567c2aabbd21..52a36dc00dd1355a994a67610b26a0e6a21077c2 100644 (file)
@@ -193,6 +193,8 @@ static int check_pem(const char *nm, const char *name)
        if(!strcmp(nm,PEM_STRING_DSA) &&
                 !strcmp(name,PEM_STRING_EVP_PKEY)) return 1;
 
+       if(!strcmp(nm,PEM_STRING_ECDSA) &&
+                !strcmp(name,PEM_STRING_EVP_PKEY)) return 1;
        /* Permit older strings */
 
        if(!strcmp(nm,PEM_STRING_X509_OLD) &&
index 270892d72bb668bc5f1477257c9bef330aff201f..0e3faffa4416a7f829f4943fd22fe0b3967c3243 100644 (file)
@@ -82,6 +82,8 @@ EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, vo
                ret=d2i_PrivateKey(EVP_PKEY_RSA,x,&p,len);
        else if (strcmp(nm,PEM_STRING_DSA) == 0)
                ret=d2i_PrivateKey(EVP_PKEY_DSA,x,&p,len);
+       else if (strcmp(nm,PEM_STRING_ECDSA) == 0)
+               ret=d2i_PrivateKey(EVP_PKEY_ECDSA,x,&p,len);
        else if (strcmp(nm,PEM_STRING_PKCS8INF) == 0) {
                PKCS8_PRIV_KEY_INFO *p8inf;
                p8inf=d2i_PKCS8_PRIV_KEY_INFO(NULL, &p, len);
index cb815db72f04a1c8b541bad78b10f4679e0c6966..e6e6026990b066fdb3bbbca40254ec7d9e2df985 100644 (file)
@@ -86,24 +86,26 @@ clean:
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
 p12_add.o: ../../e_os.h ../../include/openssl/asn1.h
-p12_add.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p12_add.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p12_add.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p12_add.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p12_add.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p12_add.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p12_add.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-p12_add.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h
-p12_add.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-p12_add.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-p12_add.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-p12_add.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-p12_add.o: ../cryptlib.h p12_add.c
+p12_add.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p12_add.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p12_add.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p12_add.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p12_add.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p12_add.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p12_add.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p12_add.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+p12_add.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+p12_add.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
+p12_add.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+p12_add.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+p12_add.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+p12_add.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_add.c
 p12_asn.o: ../../e_os.h ../../include/openssl/asn1.h
 p12_asn.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 p12_asn.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 p12_asn.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 p12_asn.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p12_asn.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 p12_asn.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 p12_asn.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 p12_asn.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -114,13 +116,14 @@ p12_asn.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 p12_asn.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 p12_asn.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_asn.c
 p12_attr.o: ../../e_os.h ../../include/openssl/asn1.h
-p12_attr.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p12_attr.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p12_attr.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p12_attr.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p12_attr.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p12_attr.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p12_attr.o: ../../include/openssl/opensslconf.h
+p12_attr.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p12_attr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p12_attr.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p12_attr.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p12_attr.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p12_attr.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p12_attr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p12_attr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 p12_attr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 p12_attr.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
 p12_attr.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
@@ -128,13 +131,14 @@ p12_attr.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 p12_attr.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 p12_attr.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_attr.c
 p12_crpt.o: ../../e_os.h ../../include/openssl/asn1.h
-p12_crpt.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p12_crpt.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p12_crpt.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p12_crpt.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p12_crpt.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p12_crpt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p12_crpt.o: ../../include/openssl/opensslconf.h
+p12_crpt.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p12_crpt.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p12_crpt.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p12_crpt.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p12_crpt.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p12_crpt.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p12_crpt.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p12_crpt.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 p12_crpt.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 p12_crpt.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
 p12_crpt.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
@@ -142,27 +146,29 @@ p12_crpt.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 p12_crpt.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 p12_crpt.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_crpt.c
 p12_crt.o: ../../e_os.h ../../include/openssl/asn1.h
-p12_crt.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p12_crt.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p12_crt.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p12_crt.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p12_crt.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p12_crt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p12_crt.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-p12_crt.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h
-p12_crt.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-p12_crt.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-p12_crt.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-p12_crt.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-p12_crt.o: ../cryptlib.h p12_crt.c
+p12_crt.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p12_crt.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p12_crt.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p12_crt.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p12_crt.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p12_crt.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p12_crt.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p12_crt.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+p12_crt.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+p12_crt.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
+p12_crt.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+p12_crt.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+p12_crt.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+p12_crt.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_crt.c
 p12_decr.o: ../../e_os.h ../../include/openssl/asn1.h
-p12_decr.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p12_decr.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p12_decr.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p12_decr.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p12_decr.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p12_decr.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p12_decr.o: ../../include/openssl/opensslconf.h
+p12_decr.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p12_decr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p12_decr.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p12_decr.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p12_decr.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p12_decr.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p12_decr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p12_decr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 p12_decr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 p12_decr.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
 p12_decr.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
@@ -170,13 +176,14 @@ p12_decr.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 p12_decr.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 p12_decr.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_decr.c
 p12_init.o: ../../e_os.h ../../include/openssl/asn1.h
-p12_init.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p12_init.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p12_init.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p12_init.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p12_init.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p12_init.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p12_init.o: ../../include/openssl/opensslconf.h
+p12_init.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p12_init.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p12_init.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p12_init.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p12_init.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p12_init.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p12_init.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p12_init.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 p12_init.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 p12_init.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
 p12_init.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
@@ -184,27 +191,29 @@ p12_init.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 p12_init.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 p12_init.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_init.c
 p12_key.o: ../../e_os.h ../../include/openssl/asn1.h
-p12_key.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p12_key.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p12_key.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p12_key.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p12_key.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p12_key.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p12_key.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-p12_key.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h
-p12_key.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-p12_key.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-p12_key.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-p12_key.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-p12_key.o: ../cryptlib.h p12_key.c
+p12_key.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p12_key.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p12_key.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p12_key.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p12_key.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p12_key.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p12_key.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p12_key.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+p12_key.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+p12_key.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
+p12_key.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+p12_key.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+p12_key.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+p12_key.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_key.c
 p12_kiss.o: ../../e_os.h ../../include/openssl/asn1.h
-p12_kiss.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p12_kiss.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p12_kiss.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p12_kiss.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p12_kiss.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p12_kiss.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p12_kiss.o: ../../include/openssl/opensslconf.h
+p12_kiss.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p12_kiss.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p12_kiss.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p12_kiss.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p12_kiss.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p12_kiss.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p12_kiss.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p12_kiss.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 p12_kiss.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 p12_kiss.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
 p12_kiss.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
@@ -212,13 +221,15 @@ p12_kiss.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 p12_kiss.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 p12_kiss.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_kiss.c
 p12_mutl.o: ../../e_os.h ../../include/openssl/asn1.h
-p12_mutl.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p12_mutl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p12_mutl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p12_mutl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p12_mutl.o: ../../include/openssl/evp.h ../../include/openssl/hmac.h
-p12_mutl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-p12_mutl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+p12_mutl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p12_mutl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p12_mutl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p12_mutl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p12_mutl.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p12_mutl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p12_mutl.o: ../../include/openssl/hmac.h ../../include/openssl/lhash.h
+p12_mutl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+p12_mutl.o: ../../include/openssl/opensslconf.h
 p12_mutl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 p12_mutl.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
 p12_mutl.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
@@ -226,13 +237,15 @@ p12_mutl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 p12_mutl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 p12_mutl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 p12_mutl.o: ../cryptlib.h p12_mutl.c
-p12_npas.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-p12_npas.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-p12_npas.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-p12_npas.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-p12_npas.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-p12_npas.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-p12_npas.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+p12_npas.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+p12_npas.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+p12_npas.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+p12_npas.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+p12_npas.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+p12_npas.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+p12_npas.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+p12_npas.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+p12_npas.o: ../../include/openssl/opensslconf.h
 p12_npas.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 p12_npas.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
 p12_npas.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
@@ -241,57 +254,62 @@ p12_npas.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 p12_npas.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 p12_npas.o: ../../include/openssl/x509_vfy.h p12_npas.c
 p12_p8d.o: ../../e_os.h ../../include/openssl/asn1.h
-p12_p8d.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p12_p8d.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p12_p8d.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p12_p8d.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p12_p8d.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p12_p8d.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p12_p8d.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-p12_p8d.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h
-p12_p8d.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-p12_p8d.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-p12_p8d.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-p12_p8d.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-p12_p8d.o: ../cryptlib.h p12_p8d.c
+p12_p8d.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p12_p8d.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p12_p8d.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p12_p8d.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p12_p8d.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p12_p8d.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p12_p8d.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p12_p8d.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+p12_p8d.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+p12_p8d.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
+p12_p8d.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+p12_p8d.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+p12_p8d.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+p12_p8d.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_p8d.c
 p12_p8e.o: ../../e_os.h ../../include/openssl/asn1.h
-p12_p8e.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p12_p8e.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p12_p8e.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p12_p8e.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p12_p8e.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p12_p8e.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p12_p8e.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-p12_p8e.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h
-p12_p8e.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-p12_p8e.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-p12_p8e.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-p12_p8e.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-p12_p8e.o: ../cryptlib.h p12_p8e.c
+p12_p8e.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p12_p8e.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p12_p8e.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p12_p8e.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p12_p8e.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p12_p8e.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p12_p8e.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p12_p8e.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+p12_p8e.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+p12_p8e.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
+p12_p8e.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+p12_p8e.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+p12_p8e.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+p12_p8e.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_p8e.c
 p12_utl.o: ../../e_os.h ../../include/openssl/asn1.h
-p12_utl.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-p12_utl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-p12_utl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-p12_utl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-p12_utl.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p12_utl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p12_utl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-p12_utl.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h
-p12_utl.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-p12_utl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-p12_utl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-p12_utl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-p12_utl.o: ../cryptlib.h p12_utl.c
-pk12err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-pk12err.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-pk12err.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-pk12err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-pk12err.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-pk12err.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-pk12err.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-pk12err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-pk12err.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
-pk12err.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-pk12err.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-pk12err.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
-pk12err.o: ../../include/openssl/x509_vfy.h pk12err.c
+p12_utl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+p12_utl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+p12_utl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+p12_utl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+p12_utl.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+p12_utl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p12_utl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p12_utl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+p12_utl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+p12_utl.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
+p12_utl.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+p12_utl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+p12_utl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+p12_utl.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_utl.c
+pk12err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+pk12err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+pk12err.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+pk12err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+pk12err.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+pk12err.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+pk12err.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+pk12err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+pk12err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+pk12err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h
+pk12err.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+pk12err.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+pk12err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+pk12err.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+pk12err.o: pk12err.c
index f606abe440b1bf38566c8a79a4e406dc0a5daef2..2e58c66842715bcfc912e1b31f3994e33276efe9 100644 (file)
@@ -105,6 +105,7 @@ pk7_asn1.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 pk7_asn1.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 pk7_asn1.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 pk7_asn1.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+pk7_asn1.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 pk7_asn1.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 pk7_asn1.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 pk7_asn1.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -114,13 +115,15 @@ pk7_asn1.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 pk7_asn1.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 pk7_asn1.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 pk7_asn1.o: ../cryptlib.h pk7_asn1.c
-pk7_attr.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-pk7_attr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-pk7_attr.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-pk7_attr.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-pk7_attr.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-pk7_attr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-pk7_attr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+pk7_attr.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+pk7_attr.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+pk7_attr.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+pk7_attr.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+pk7_attr.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+pk7_attr.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+pk7_attr.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+pk7_attr.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+pk7_attr.o: ../../include/openssl/opensslconf.h
 pk7_attr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 pk7_attr.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
 pk7_attr.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
@@ -129,13 +132,15 @@ pk7_attr.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 pk7_attr.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 pk7_attr.o: pk7_attr.c
 pk7_doit.o: ../../e_os.h ../../include/openssl/asn1.h
-pk7_doit.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pk7_doit.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-pk7_doit.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-pk7_doit.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-pk7_doit.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-pk7_doit.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-pk7_doit.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+pk7_doit.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pk7_doit.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pk7_doit.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+pk7_doit.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+pk7_doit.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+pk7_doit.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+pk7_doit.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+pk7_doit.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+pk7_doit.o: ../../include/openssl/opensslconf.h
 pk7_doit.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 pk7_doit.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
 pk7_doit.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
@@ -144,26 +149,29 @@ pk7_doit.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 pk7_doit.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 pk7_doit.o: ../cryptlib.h pk7_doit.c
 pk7_lib.o: ../../e_os.h ../../include/openssl/asn1.h
-pk7_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pk7_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-pk7_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-pk7_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-pk7_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pk7_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pk7_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-pk7_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
-pk7_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-pk7_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-pk7_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
-pk7_lib.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pk7_lib.c
+pk7_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pk7_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pk7_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+pk7_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+pk7_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+pk7_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pk7_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pk7_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+pk7_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+pk7_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+pk7_lib.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+pk7_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+pk7_lib.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+pk7_lib.o: ../cryptlib.h pk7_lib.c
 pk7_mime.o: ../../e_os.h ../../include/openssl/asn1.h
-pk7_mime.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pk7_mime.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-pk7_mime.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-pk7_mime.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-pk7_mime.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pk7_mime.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pk7_mime.o: ../../include/openssl/opensslconf.h
+pk7_mime.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pk7_mime.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pk7_mime.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+pk7_mime.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+pk7_mime.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+pk7_mime.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pk7_mime.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pk7_mime.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 pk7_mime.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 pk7_mime.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
 pk7_mime.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
@@ -171,13 +179,14 @@ pk7_mime.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 pk7_mime.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 pk7_mime.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pk7_mime.c
 pk7_smime.o: ../../e_os.h ../../include/openssl/asn1.h
-pk7_smime.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-pk7_smime.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-pk7_smime.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-pk7_smime.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-pk7_smime.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-pk7_smime.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-pk7_smime.o: ../../include/openssl/objects.h
+pk7_smime.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+pk7_smime.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+pk7_smime.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+pk7_smime.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+pk7_smime.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+pk7_smime.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+pk7_smime.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+pk7_smime.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 pk7_smime.o: ../../include/openssl/opensslconf.h
 pk7_smime.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 pk7_smime.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
index f016fdb2e255969c2e4bc7fba813e250c6cb3efc..0119272d751c386511754cafaa41fc0f17c1d82d 100644 (file)
@@ -628,6 +628,10 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio)
                        if (si->pkey->type == EVP_PKEY_DSA)
                                ctx_tmp.digest=EVP_dss1();
 #endif
+#ifndef OPENSSL_NO_ECDSA
+                       if (si->pkey->type == EVP_PKEY_ECDSA)
+                               ctx_tmp.digest=EVP_ecdsa();
+#endif
 
                        if (!EVP_SignFinal(&ctx_tmp,(unsigned char *)buf->data,
                                (unsigned int *)&buf->length,si->pkey))
@@ -825,6 +829,9 @@ for (ii=0; ii<md_len; ii++) printf("%02X",md_dat[ii]); printf(" calc\n");
 #ifndef OPENSSL_NO_DSA
        if(pkey->type == EVP_PKEY_DSA) mdc_tmp.digest=EVP_dss1();
 #endif
+#ifndef OPENSSL_NO_ECDSA
+       if (pkey->type == EVP_PKEY_ECDSA) mdc_tmp.digest=EVP_ecdsa();
+#endif
 
        i=EVP_VerifyFinal(&mdc_tmp,os->data,os->length, pkey);
        EVP_PKEY_free(pkey);
index c00ed6833a50c9af70b846f484c4468f5b7f4a77..3e0a889288bb5d1339f5e4ab8ed4b6ae74de0bc1 100644 (file)
@@ -308,7 +308,7 @@ int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey,
             const EVP_MD *dgst)
        {
        char is_dsa;
-       if (pkey->type == EVP_PKEY_DSA) is_dsa = 1;
+       if (pkey->type == EVP_PKEY_DSA || pkey->type == EVP_PKEY_ECDSA) is_dsa = 1;
        else is_dsa = 0;
        /* We now need to add another PKCS7_SIGNER_INFO entry */
        ASN1_INTEGER_set(p7i->version,1);
index ccf65f0d78a1c08f01873cf9eeaac52005339984..e03ddcca6bc04da9b5adccf8c7390cc25972bc5b 100644 (file)
@@ -102,12 +102,13 @@ rand_err.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
 rand_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 rand_err.o: rand_err.c
 rand_lib.o: ../../e_os.h ../../include/openssl/asn1.h
-rand_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-rand_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-rand_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-rand_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-rand_lib.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-rand_lib.o: ../../include/openssl/opensslconf.h
+rand_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+rand_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+rand_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+rand_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+rand_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+rand_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+rand_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 rand_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 rand_lib.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 rand_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
index f1e93c2fa3881e67ed4b106256154ff15026057b..f11df9787a59ddb9efb2c98a8b8c370a010dbacb 100644 (file)
@@ -102,16 +102,18 @@ rsa_chk.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 rsa_chk.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 rsa_chk.o: rsa_chk.c
 rsa_eay.o: ../../e_os.h ../../include/openssl/asn1.h
-rsa_eay.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-rsa_eay.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-rsa_eay.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-rsa_eay.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-rsa_eay.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-rsa_eay.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-rsa_eay.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
-rsa_eay.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-rsa_eay.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-rsa_eay.o: ../../include/openssl/ui.h ../cryptlib.h rsa_eay.c
+rsa_eay.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+rsa_eay.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+rsa_eay.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+rsa_eay.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+rsa_eay.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+rsa_eay.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+rsa_eay.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+rsa_eay.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+rsa_eay.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
+rsa_eay.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+rsa_eay.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+rsa_eay.o: ../cryptlib.h rsa_eay.c
 rsa_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
 rsa_err.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
 rsa_err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
@@ -130,16 +132,18 @@ rsa_gen.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 rsa_gen.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 rsa_gen.o: ../cryptlib.h rsa_gen.c
 rsa_lib.o: ../../e_os.h ../../include/openssl/asn1.h
-rsa_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-rsa_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-rsa_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-rsa_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-rsa_lib.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-rsa_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-rsa_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
-rsa_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-rsa_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-rsa_lib.o: ../../include/openssl/ui.h ../cryptlib.h rsa_lib.c
+rsa_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+rsa_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+rsa_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+rsa_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+rsa_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+rsa_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+rsa_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+rsa_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+rsa_lib.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
+rsa_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+rsa_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+rsa_lib.o: ../cryptlib.h rsa_lib.c
 rsa_none.o: ../../e_os.h ../../include/openssl/asn1.h
 rsa_none.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
 rsa_none.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
@@ -180,13 +184,14 @@ rsa_pk1.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 rsa_pk1.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 rsa_pk1.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_pk1.c
 rsa_saos.o: ../../e_os.h ../../include/openssl/asn1.h
-rsa_saos.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-rsa_saos.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-rsa_saos.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-rsa_saos.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-rsa_saos.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-rsa_saos.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-rsa_saos.o: ../../include/openssl/opensslconf.h
+rsa_saos.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+rsa_saos.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+rsa_saos.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+rsa_saos.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+rsa_saos.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+rsa_saos.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+rsa_saos.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+rsa_saos.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 rsa_saos.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 rsa_saos.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 rsa_saos.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -194,13 +199,15 @@ rsa_saos.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 rsa_saos.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 rsa_saos.o: ../cryptlib.h rsa_saos.c
 rsa_sign.o: ../../e_os.h ../../include/openssl/asn1.h
-rsa_sign.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-rsa_sign.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-rsa_sign.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-rsa_sign.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
-rsa_sign.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-rsa_sign.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-rsa_sign.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+rsa_sign.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+rsa_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+rsa_sign.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+rsa_sign.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+rsa_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+rsa_sign.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+rsa_sign.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+rsa_sign.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+rsa_sign.o: ../../include/openssl/opensslconf.h
 rsa_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 rsa_sign.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
 rsa_sign.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
index 3063f448c06d6c95123b565159dc29646d92f3a9..80af66b05d6a6a5228007a1dda270b9d78b525a2 100644 (file)
@@ -89,10 +89,12 @@ clean:
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-by_dir.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+by_dir.o: ../../e_os.h ../../include/openssl/asn1.h
+by_dir.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 by_dir.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 by_dir.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 by_dir.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+by_dir.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 by_dir.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 by_dir.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 by_dir.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
@@ -103,27 +105,31 @@ by_dir.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 by_dir.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 by_dir.o: ../cryptlib.h by_dir.c
 by_file.o: ../../e_os.h ../../include/openssl/asn1.h
-by_file.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-by_file.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-by_file.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-by_file.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-by_file.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-by_file.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-by_file.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-by_file.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h
-by_file.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h
-by_file.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-by_file.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-by_file.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
-by_file.o: ../../include/openssl/x509_vfy.h ../cryptlib.h by_file.c
+by_file.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+by_file.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+by_file.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+by_file.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+by_file.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+by_file.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+by_file.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+by_file.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+by_file.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+by_file.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
+by_file.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+by_file.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+by_file.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+by_file.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+by_file.o: ../cryptlib.h by_file.c
 x509_att.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_att.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_att.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-x509_att.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-x509_att.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-x509_att.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-x509_att.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-x509_att.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+x509_att.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_att.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_att.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+x509_att.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+x509_att.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+x509_att.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+x509_att.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+x509_att.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+x509_att.o: ../../include/openssl/opensslconf.h
 x509_att.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509_att.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509_att.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -131,13 +137,15 @@ x509_att.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509_att.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509_att.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_att.c
 x509_cmp.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_cmp.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_cmp.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-x509_cmp.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-x509_cmp.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-x509_cmp.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-x509_cmp.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-x509_cmp.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+x509_cmp.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_cmp.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_cmp.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+x509_cmp.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+x509_cmp.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+x509_cmp.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+x509_cmp.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+x509_cmp.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+x509_cmp.o: ../../include/openssl/opensslconf.h
 x509_cmp.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509_cmp.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509_cmp.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -145,39 +153,44 @@ x509_cmp.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509_cmp.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509_cmp.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_cmp.c
 x509_d2.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_d2.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_d2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-x509_d2.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x509_d2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-x509_d2.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-x509_d2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-x509_d2.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-x509_d2.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
-x509_d2.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-x509_d2.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-x509_d2.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
-x509_d2.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x509_d2.c
+x509_d2.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_d2.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_d2.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+x509_d2.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x509_d2.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+x509_d2.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+x509_d2.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+x509_d2.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+x509_d2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+x509_d2.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+x509_d2.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+x509_d2.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+x509_d2.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+x509_d2.o: ../cryptlib.h x509_d2.c
 x509_def.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_def.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_def.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-x509_def.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x509_def.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-x509_def.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-x509_def.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-x509_def.o: ../../include/openssl/opensslconf.h
+x509_def.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_def.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_def.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+x509_def.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x509_def.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+x509_def.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+x509_def.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+x509_def.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 x509_def.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509_def.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509_def.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 x509_def.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509_def.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509_def.o: ../cryptlib.h x509_def.c
-x509_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-x509_err.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-x509_err.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-x509_err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-x509_err.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-x509_err.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-x509_err.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+x509_err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+x509_err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+x509_err.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+x509_err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+x509_err.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+x509_err.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+x509_err.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+x509_err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+x509_err.o: ../../include/openssl/opensslconf.h
 x509_err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509_err.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509_err.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -185,13 +198,15 @@ x509_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509_err.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509_err.o: x509_err.c
 x509_ext.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_ext.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_ext.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-x509_ext.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-x509_ext.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-x509_ext.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-x509_ext.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-x509_ext.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+x509_ext.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_ext.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_ext.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+x509_ext.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+x509_ext.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+x509_ext.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+x509_ext.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+x509_ext.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+x509_ext.o: ../../include/openssl/opensslconf.h
 x509_ext.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509_ext.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509_ext.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -199,27 +214,30 @@ x509_ext.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509_ext.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509_ext.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_ext.c
 x509_lu.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_lu.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_lu.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-x509_lu.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-x509_lu.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-x509_lu.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-x509_lu.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-x509_lu.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-x509_lu.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-x509_lu.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-x509_lu.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-x509_lu.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-x509_lu.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-x509_lu.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_lu.c
+x509_lu.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_lu.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_lu.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+x509_lu.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+x509_lu.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+x509_lu.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+x509_lu.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+x509_lu.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+x509_lu.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+x509_lu.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+x509_lu.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+x509_lu.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+x509_lu.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+x509_lu.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
+x509_lu.o: ../cryptlib.h x509_lu.c
 x509_obj.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_obj.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_obj.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-x509_obj.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x509_obj.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-x509_obj.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-x509_obj.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-x509_obj.o: ../../include/openssl/opensslconf.h
+x509_obj.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_obj.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_obj.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+x509_obj.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x509_obj.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+x509_obj.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+x509_obj.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+x509_obj.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 x509_obj.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509_obj.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509_obj.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -227,13 +245,14 @@ x509_obj.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509_obj.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509_obj.o: ../cryptlib.h x509_obj.c
 x509_r2x.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_r2x.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_r2x.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-x509_r2x.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x509_r2x.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-x509_r2x.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-x509_r2x.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-x509_r2x.o: ../../include/openssl/opensslconf.h
+x509_r2x.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_r2x.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_r2x.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+x509_r2x.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x509_r2x.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+x509_r2x.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+x509_r2x.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+x509_r2x.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 x509_r2x.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509_r2x.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509_r2x.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -241,13 +260,14 @@ x509_r2x.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509_r2x.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509_r2x.o: ../cryptlib.h x509_r2x.c
 x509_req.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_req.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_req.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-x509_req.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x509_req.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-x509_req.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-x509_req.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-x509_req.o: ../../include/openssl/opensslconf.h
+x509_req.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_req.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_req.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+x509_req.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x509_req.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+x509_req.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+x509_req.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+x509_req.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 x509_req.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509_req.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
 x509_req.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
@@ -256,13 +276,14 @@ x509_req.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509_req.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509_req.o: ../cryptlib.h x509_req.c
 x509_set.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_set.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_set.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-x509_set.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x509_set.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-x509_set.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-x509_set.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-x509_set.o: ../../include/openssl/opensslconf.h
+x509_set.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_set.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_set.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+x509_set.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x509_set.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+x509_set.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+x509_set.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+x509_set.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 x509_set.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509_set.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509_set.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -270,13 +291,15 @@ x509_set.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509_set.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509_set.o: ../cryptlib.h x509_set.c
 x509_trs.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_trs.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_trs.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-x509_trs.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-x509_trs.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-x509_trs.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-x509_trs.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-x509_trs.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+x509_trs.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_trs.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_trs.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+x509_trs.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+x509_trs.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+x509_trs.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+x509_trs.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+x509_trs.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+x509_trs.o: ../../include/openssl/opensslconf.h
 x509_trs.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509_trs.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509_trs.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -284,13 +307,14 @@ x509_trs.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509_trs.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509_trs.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_trs.c
 x509_txt.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_txt.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_txt.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-x509_txt.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x509_txt.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-x509_txt.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-x509_txt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-x509_txt.o: ../../include/openssl/opensslconf.h
+x509_txt.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_txt.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_txt.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+x509_txt.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x509_txt.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+x509_txt.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+x509_txt.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+x509_txt.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 x509_txt.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509_txt.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509_txt.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -298,27 +322,31 @@ x509_txt.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509_txt.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509_txt.o: ../cryptlib.h x509_txt.c
 x509_v3.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_v3.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_v3.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-x509_v3.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-x509_v3.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-x509_v3.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-x509_v3.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-x509_v3.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-x509_v3.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-x509_v3.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-x509_v3.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-x509_v3.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-x509_v3.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-x509_v3.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_v3.c
+x509_v3.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_v3.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_v3.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+x509_v3.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+x509_v3.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+x509_v3.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+x509_v3.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+x509_v3.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+x509_v3.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+x509_v3.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+x509_v3.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+x509_v3.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+x509_v3.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+x509_v3.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
+x509_v3.o: ../cryptlib.h x509_v3.c
 x509_vfy.o: ../../e_os.h ../../include/openssl/asn1.h
-x509_vfy.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509_vfy.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-x509_vfy.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-x509_vfy.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-x509_vfy.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-x509_vfy.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-x509_vfy.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+x509_vfy.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509_vfy.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509_vfy.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+x509_vfy.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+x509_vfy.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+x509_vfy.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+x509_vfy.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+x509_vfy.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+x509_vfy.o: ../../include/openssl/opensslconf.h
 x509_vfy.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509_vfy.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509_vfy.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -326,13 +354,14 @@ x509_vfy.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509_vfy.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509_vfy.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_vfy.c
 x509cset.o: ../../e_os.h ../../include/openssl/asn1.h
-x509cset.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509cset.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-x509cset.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x509cset.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-x509cset.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-x509cset.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-x509cset.o: ../../include/openssl/opensslconf.h
+x509cset.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509cset.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509cset.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+x509cset.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x509cset.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+x509cset.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+x509cset.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+x509cset.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 x509cset.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509cset.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509cset.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -340,13 +369,14 @@ x509cset.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509cset.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509cset.o: ../cryptlib.h x509cset.c
 x509name.o: ../../e_os.h ../../include/openssl/asn1.h
-x509name.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509name.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-x509name.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x509name.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-x509name.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-x509name.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-x509name.o: ../../include/openssl/opensslconf.h
+x509name.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509name.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509name.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+x509name.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x509name.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+x509name.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+x509name.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+x509name.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 x509name.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509name.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509name.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -354,13 +384,14 @@ x509name.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509name.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509name.o: ../cryptlib.h x509name.c
 x509rset.o: ../../e_os.h ../../include/openssl/asn1.h
-x509rset.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509rset.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-x509rset.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x509rset.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-x509rset.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-x509rset.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-x509rset.o: ../../include/openssl/opensslconf.h
+x509rset.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509rset.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509rset.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+x509rset.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x509rset.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+x509rset.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+x509rset.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+x509rset.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 x509rset.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509rset.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509rset.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -368,13 +399,14 @@ x509rset.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509rset.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509rset.o: ../cryptlib.h x509rset.c
 x509spki.o: ../../e_os.h ../../include/openssl/asn1.h
-x509spki.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509spki.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-x509spki.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x509spki.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-x509spki.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-x509spki.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-x509spki.o: ../../include/openssl/opensslconf.h
+x509spki.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509spki.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509spki.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+x509spki.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x509spki.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+x509spki.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+x509spki.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+x509spki.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 x509spki.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509spki.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509spki.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -382,23 +414,26 @@ x509spki.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509spki.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509spki.o: ../cryptlib.h x509spki.c
 x509type.o: ../../e_os.h ../../include/openssl/asn1.h
-x509type.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-x509type.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
-x509type.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-x509type.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-x509type.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-x509type.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-x509type.o: ../../include/openssl/opensslconf.h
+x509type.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+x509type.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+x509type.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+x509type.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x509type.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+x509type.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+x509type.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+x509type.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 x509type.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 x509type.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 x509type.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 x509type.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 x509type.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 x509type.o: ../cryptlib.h x509type.c
-x_all.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+x_all.o: ../../e_os.h ../../include/openssl/asn1.h
+x_all.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 x_all.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 x_all.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 x_all.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+x_all.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
 x_all.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 x_all.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 x_all.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
index c75aa0c717421856eb55229205cd20ab8636ebc7..7687e3bf2e902e46998d7fd148078c72f67040f1 100644 (file)
 #include <openssl/dsa.h>
 #endif
 
+#ifndef OPENSSL_NO_ECDSA
+#include <openssl/ecdsa.h>
+#endif
+
 #ifndef OPENSSL_NO_DH
 #include <openssl/dh.h>
 #endif
@@ -652,6 +656,17 @@ extern "C" {
 #define i2d_DSAPrivateKey_bio(bp,dsa) ASN1_i2d_bio(i2d_DSAPrivateKey,bp, \
                (unsigned char *)dsa)
 
+#define d2i_ECDSAPrivateKey_fp(fp,ecdsa) (ECDSA *)ASN1_d2i_fp((char *(*)())\
+               ECDSA_new,(char *(*)())d2i_ECDSAPrivateKey, (fp), \
+               (unsigned char **)(ecdsa))
+#define i2d_ECDSAPrivateKey_fp(fp,ecdsa) ASN1_i2d_fp(i2d_ECDSAPrivateKey,fp, \
+               (unsigned char *)ecdsa)
+#define d2i_ECDSAPrivateKey_bio(bp,ecdsa) (ECDSA *)ASN1_d2i_bio((char *(*)())\
+               ECDSA_new,(char *(*)())d2i_ECDSAPrivateKey, (bp), \
+               (unsigned char **)(ecdsa))
+#define i2d_ECDSAPrivateKey_bio(bp,ecdsa) ASN1_i2d_bio(i2d_ECDSAPrivateKey,bp, \
+               (unsigned char *)ecdsa)
+
 #define X509_ALGOR_dup(xn) (X509_ALGOR *)ASN1_dup((int (*)())i2d_X509_ALGOR,\
                (char *(*)())d2i_X509_ALGOR,(char *)xn)
 
@@ -755,6 +770,12 @@ int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa);
 DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa);
 int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa);
 #endif
+#ifndef OPENSSL_NO_ECDSA
+ECDSA *d2i_ECDSA_PUBKEY_fp(FILE *fp, ECDSA **ecdsa);
+int   i2d_ECDSA_PUBKEY_fp(FILE *fp, ECDSA *ecdsa);
+ECDSA *d2i_ECDSAPrivateKey_fp(FILE *fp, ECDSA **ecdsa);
+int   i2d_ECDSAPrivateKey_fp(FILE *fp, ECDSA *ecdsa);
+#endif
 X509_SIG *d2i_PKCS8_fp(FILE *fp,X509_SIG **p8);
 int i2d_PKCS8_fp(FILE *fp,X509_SIG *p8);
 PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp,
@@ -788,6 +809,12 @@ int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa);
 DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa);
 int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa);
 #endif
+#ifndef OPENSSL_NO_ECDSA
+ECDSA *d2i_ECDSA_PUBKEY_bio(BIO *bp, ECDSA **ecdsa);
+int   i2d_ECDSA_PUBKEY_bio(BIO *bp, ECDSA *ecdsa);
+ECDSA *d2i_ECDSAPrivateKey_bio(BIO *bp, ECDSA **ecdsa);
+int   i2d_ECDSAPrivateKey_bio(BIO *bp, ECDSA *ecdsa);
+#endif
 X509_SIG *d2i_PKCS8_bio(BIO *bp,X509_SIG **p8);
 int i2d_PKCS8_bio(BIO *bp,X509_SIG *p8);
 PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp,
@@ -852,6 +879,11 @@ int                i2d_DSA_PUBKEY(DSA *a,unsigned char **pp);
 DSA *          d2i_DSA_PUBKEY(DSA **a,unsigned char **pp,
                        long length);
 #endif
+#ifndef OPENSSL_NO_ECDSA
+int            i2d_ECDSA_PUBKEY(ECDSA *a, unsigned char **pp);
+ECDSA          *d2i_ECDSA_PUBKEY(ECDSA **a, unsigned char **pp,
+                       long length);
+#endif
 
 DECLARE_ASN1_FUNCTIONS(X509_SIG)
 DECLARE_ASN1_FUNCTIONS(X509_REQ_INFO)
index cd20b6d66f91f1348476505a1bdcb3e8900f77d6..dbbe0a9236721eb663cb5cfac7daf77df296f392 100644 (file)
@@ -295,6 +295,22 @@ int X509_check_private_key(X509 *x, EVP_PKEY *k)
                    }
                break;
 #endif
+#ifndef OPENSSL_NO_ECDSA
+       case EVP_PKEY_ECDSA:
+               {
+               int  r = EC_POINT_cmp(xk->pkey.ecdsa->group,xk->pkey.ecdsa->pub_key,k->pkey.ecdsa->pub_key,NULL);
+               if (r != 0)
+                       {
+                       if (r == 1)
+                               X509err(X509_F_X509_CHECK_PRIVATE_KEY, X509_R_KEY_VALUES_MISMATCH);
+                       else
+                               X509err(X509_F_X509_CHECK_PRIVATE_KEY, ERR_R_EC_LIB);
+                       
+                       goto err;
+                       }
+               }
+               break;
+#endif
 #ifndef OPENSSL_NO_DH
        case EVP_PKEY_DH:
                /* No idea */
index 8e78b344581e016af982ccb168963a6a759ba1cb..7673c1ba03bf11f754f58b2b5ee25ec6429d0502 100644 (file)
@@ -86,6 +86,9 @@ int X509_certificate_type(X509 *x, EVP_PKEY *pkey)
        case EVP_PKEY_DSA:
                ret=EVP_PK_DSA|EVP_PKT_SIGN;
                break;
+       case EVP_PKEY_ECDSA:
+               ret=EVP_PK_ECDSA|EVP_PKT_SIGN;
+               break;
        case EVP_PKEY_DH:
                ret=EVP_PK_DH|EVP_PKT_EXCH;
                break;
@@ -102,6 +105,9 @@ int X509_certificate_type(X509 *x, EVP_PKEY *pkey)
        case EVP_PKS_DSA:
                ret|=EVP_PKS_DSA;
                break;
+       case EVP_PKS_ECDSA:
+               ret|=EVP_PKS_ECDSA;
+               break;
        default:
                break;
                }
index fb5015cd4defa667e960ea0c0c1f6a20c104f304..cc1ff90e9a837ca7b62e3b6f3f75e8c36a4b1f7b 100644 (file)
@@ -325,6 +325,59 @@ int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa)
 
 #endif
 
+#ifndef OPENSSL_NO_ECDSA
+#ifndef OPENSSL_NO_FP_API
+ECDSA *d2i_ECDSAPrivateKey_fp(FILE *fp, ECDSA **ecdsa)
+       {
+       return((ECDSA *)ASN1_d2i_fp((char *(*)())
+               ECDSA_new,(char *(*)())d2i_ECDSAPrivateKey, (fp),
+               (unsigned char **)(ecdsa)));
+       }
+  
+int i2d_ECDSAPrivateKey_fp(FILE *fp, ECDSA *ecdsa)
+       {
+       return(ASN1_i2d_fp(i2d_ECDSAPrivateKey,fp,(unsigned char *)ecdsa));
+       }
+  
+ECDSA *d2i_ECDSA_PUBKEY_fp(FILE *fp, ECDSA **ecdsa)
+       {
+       return((ECDSA *)ASN1_d2i_fp((char *(*)())
+               ECDSA_new,(char *(*)())d2i_ECDSA_PUBKEY, (fp),
+               (unsigned char **)(ecdsa)));
+       }
+  
+int i2d_ECDSA_PUBKEY_fp(FILE *fp, ECDSA *ecdsa)
+       {
+       return(ASN1_i2d_fp(i2d_ECDSA_PUBKEY,fp,(unsigned char *)ecdsa));
+       }
+#endif
+  
+ECDSA *d2i_ECDSAPrivateKey_bio(BIO *bp, ECDSA **ecdsa)
+       {
+       return((ECDSA *)ASN1_d2i_bio((char *(*)())
+               ECDSA_new,(char *(*)())d2i_ECDSAPrivateKey, (bp),
+               (unsigned char **)(ecdsa)));
+       }
+  
+int i2d_ECDSAPrivateKey_bio(BIO *bp, ECDSA *ecdsa)
+       {
+       return(ASN1_i2d_bio(i2d_ECDSAPrivateKey,bp,(unsigned char *)ecdsa));
+       }
+  
+ECDSA *d2i_ECDSA_PUBKEY_bio(BIO *bp, ECDSA **ecdsa)
+       {
+       return((ECDSA *)ASN1_d2i_bio((char *(*)())
+               ECDSA_new,(char *(*)())d2i_ECDSA_PUBKEY, (bp),
+               (unsigned char **)(ecdsa)));
+       }
+  
+int i2d_ECDSA_PUBKEY_bio(BIO *bp, ECDSA *ecdsa)
+       {
+       return(ASN1_i2d_bio(i2d_ECDSA_PUBKEY,bp,(unsigned char *)ecdsa));
+       }
+  
+#endif
+
 int X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned char *md,
             unsigned int *len)
        {
index da7c859476434cd8705a58e79601020aca94c24f..61ad31469dfc57c3e60b7090b6f25c514c5d5317 100644 (file)
@@ -90,7 +90,8 @@ v3_akey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_akey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_akey.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_akey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_akey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_akey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_akey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_akey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_akey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_akey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -105,7 +106,8 @@ v3_akeya.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_akeya.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_akeya.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_akeya.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_akeya.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_akeya.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_akeya.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_akeya.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_akeya.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_akeya.o: ../../include/openssl/opensslconf.h
@@ -115,11 +117,13 @@ v3_akeya.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 v3_akeya.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 v3_akeya.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 v3_akeya.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_akeya.c
-v3_alt.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+v3_alt.o: ../../e_os.h ../../include/openssl/asn1.h
+v3_alt.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_alt.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_alt.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_alt.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_alt.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_alt.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_alt.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_alt.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_alt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_alt.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -134,7 +138,8 @@ v3_bcons.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_bcons.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_bcons.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_bcons.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_bcons.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_bcons.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_bcons.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_bcons.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_bcons.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_bcons.o: ../../include/openssl/opensslconf.h
@@ -145,13 +150,15 @@ v3_bcons.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 v3_bcons.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 v3_bcons.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_bcons.c
 v3_bitst.o: ../../e_os.h ../../include/openssl/asn1.h
-v3_bitst.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-v3_bitst.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-v3_bitst.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-v3_bitst.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-v3_bitst.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-v3_bitst.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-v3_bitst.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+v3_bitst.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+v3_bitst.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+v3_bitst.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+v3_bitst.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+v3_bitst.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_bitst.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+v3_bitst.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+v3_bitst.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+v3_bitst.o: ../../include/openssl/opensslconf.h
 v3_bitst.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 v3_bitst.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 v3_bitst.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
@@ -159,25 +166,28 @@ v3_bitst.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 v3_bitst.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 v3_bitst.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_bitst.c
 v3_conf.o: ../../e_os.h ../../include/openssl/asn1.h
-v3_conf.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-v3_conf.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-v3_conf.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-v3_conf.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-v3_conf.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-v3_conf.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-v3_conf.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-v3_conf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-v3_conf.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-v3_conf.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-v3_conf.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-v3_conf.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-v3_conf.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_conf.c
+v3_conf.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+v3_conf.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+v3_conf.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+v3_conf.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+v3_conf.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_conf.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+v3_conf.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+v3_conf.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+v3_conf.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+v3_conf.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+v3_conf.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+v3_conf.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+v3_conf.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+v3_conf.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
+v3_conf.o: ../cryptlib.h v3_conf.c
 v3_cpols.o: ../../e_os.h ../../include/openssl/asn1.h
 v3_cpols.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_cpols.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_cpols.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_cpols.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_cpols.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_cpols.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_cpols.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_cpols.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_cpols.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_cpols.o: ../../include/openssl/opensslconf.h
@@ -192,7 +202,8 @@ v3_crld.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_crld.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_crld.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_crld.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_crld.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_crld.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_crld.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_crld.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_crld.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_crld.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -203,25 +214,28 @@ v3_crld.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 v3_crld.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 v3_crld.o: ../cryptlib.h v3_crld.c
 v3_enum.o: ../../e_os.h ../../include/openssl/asn1.h
-v3_enum.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-v3_enum.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-v3_enum.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-v3_enum.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-v3_enum.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-v3_enum.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-v3_enum.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-v3_enum.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-v3_enum.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-v3_enum.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-v3_enum.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-v3_enum.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-v3_enum.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_enum.c
+v3_enum.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+v3_enum.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+v3_enum.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+v3_enum.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+v3_enum.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_enum.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+v3_enum.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+v3_enum.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+v3_enum.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+v3_enum.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+v3_enum.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+v3_enum.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+v3_enum.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+v3_enum.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
+v3_enum.o: ../cryptlib.h v3_enum.c
 v3_extku.o: ../../e_os.h ../../include/openssl/asn1.h
 v3_extku.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_extku.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_extku.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_extku.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_extku.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_extku.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_extku.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_extku.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_extku.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_extku.o: ../../include/openssl/opensslconf.h
@@ -236,7 +250,8 @@ v3_genn.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_genn.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_genn.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_genn.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_genn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_genn.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_genn.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_genn.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_genn.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_genn.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -246,11 +261,13 @@ v3_genn.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 v3_genn.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 v3_genn.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 v3_genn.o: ../cryptlib.h v3_genn.c
-v3_ia5.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+v3_ia5.o: ../../e_os.h ../../include/openssl/asn1.h
+v3_ia5.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_ia5.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_ia5.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_ia5.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_ia5.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_ia5.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_ia5.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_ia5.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_ia5.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_ia5.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -265,7 +282,8 @@ v3_info.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_info.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_info.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_info.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_info.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_info.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_info.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_info.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_info.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_info.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -275,11 +293,13 @@ v3_info.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 v3_info.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 v3_info.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 v3_info.o: ../cryptlib.h v3_info.c
-v3_int.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+v3_int.o: ../../e_os.h ../../include/openssl/asn1.h
+v3_int.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_int.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_int.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_int.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_int.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_int.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_int.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_int.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_int.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_int.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -289,11 +309,13 @@ v3_int.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 v3_int.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 v3_int.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 v3_int.o: ../cryptlib.h v3_int.c
-v3_lib.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+v3_lib.o: ../../e_os.h ../../include/openssl/asn1.h
+v3_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_lib.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -304,26 +326,28 @@ v3_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 v3_lib.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 v3_lib.o: ../cryptlib.h ext_dat.h v3_lib.c
 v3_ocsp.o: ../../e_os.h ../../include/openssl/asn1.h
-v3_ocsp.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-v3_ocsp.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-v3_ocsp.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-v3_ocsp.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-v3_ocsp.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-v3_ocsp.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-v3_ocsp.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h
-v3_ocsp.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-v3_ocsp.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
-v3_ocsp.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-v3_ocsp.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-v3_ocsp.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
-v3_ocsp.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
-v3_ocsp.o: ../cryptlib.h v3_ocsp.c
+v3_ocsp.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+v3_ocsp.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+v3_ocsp.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+v3_ocsp.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+v3_ocsp.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_ocsp.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+v3_ocsp.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+v3_ocsp.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+v3_ocsp.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h
+v3_ocsp.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+v3_ocsp.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+v3_ocsp.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+v3_ocsp.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+v3_ocsp.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+v3_ocsp.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_ocsp.c
 v3_pku.o: ../../e_os.h ../../include/openssl/asn1.h
 v3_pku.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_pku.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_pku.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_pku.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_pku.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_pku.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_pku.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_pku.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_pku.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_pku.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -333,11 +357,13 @@ v3_pku.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 v3_pku.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 v3_pku.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 v3_pku.o: ../cryptlib.h v3_pku.c
-v3_prn.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+v3_prn.o: ../../e_os.h ../../include/openssl/asn1.h
+v3_prn.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_prn.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_prn.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_prn.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_prn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_prn.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_prn.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_prn.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_prn.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_prn.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -348,39 +374,44 @@ v3_prn.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 v3_prn.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 v3_prn.o: ../cryptlib.h v3_prn.c
 v3_purp.o: ../../e_os.h ../../include/openssl/asn1.h
-v3_purp.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-v3_purp.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-v3_purp.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-v3_purp.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-v3_purp.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-v3_purp.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-v3_purp.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-v3_purp.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-v3_purp.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-v3_purp.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-v3_purp.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-v3_purp.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-v3_purp.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_purp.c
+v3_purp.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+v3_purp.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+v3_purp.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+v3_purp.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+v3_purp.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_purp.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+v3_purp.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+v3_purp.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+v3_purp.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+v3_purp.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+v3_purp.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+v3_purp.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+v3_purp.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+v3_purp.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
+v3_purp.o: ../cryptlib.h v3_purp.c
 v3_skey.o: ../../e_os.h ../../include/openssl/asn1.h
-v3_skey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
-v3_skey.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
-v3_skey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
-v3_skey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
-v3_skey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-v3_skey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-v3_skey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-v3_skey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-v3_skey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
-v3_skey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-v3_skey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-v3_skey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-v3_skey.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_skey.c
+v3_skey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+v3_skey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+v3_skey.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+v3_skey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
+v3_skey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_skey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+v3_skey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+v3_skey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+v3_skey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+v3_skey.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+v3_skey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+v3_skey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+v3_skey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+v3_skey.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
+v3_skey.o: ../cryptlib.h v3_skey.c
 v3_sxnet.o: ../../e_os.h ../../include/openssl/asn1.h
 v3_sxnet.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_sxnet.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_sxnet.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_sxnet.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_sxnet.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_sxnet.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_sxnet.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_sxnet.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_sxnet.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_sxnet.o: ../../include/openssl/opensslconf.h
@@ -390,11 +421,13 @@ v3_sxnet.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 v3_sxnet.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 v3_sxnet.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 v3_sxnet.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_sxnet.c
-v3_utl.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+v3_utl.o: ../../e_os.h ../../include/openssl/asn1.h
+v3_utl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 v3_utl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 v3_utl.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 v3_utl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3_utl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+v3_utl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+v3_utl.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 v3_utl.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 v3_utl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 v3_utl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
@@ -404,17 +437,18 @@ v3_utl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 v3_utl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 v3_utl.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 v3_utl.o: ../cryptlib.h v3_utl.c
-v3err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-v3err.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
-v3err.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
-v3err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
-v3err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
-v3err.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-v3err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-v3err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-v3err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
-v3err.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-v3err.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-v3err.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
-v3err.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
-v3err.o: v3err.c
+v3err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
+v3err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+v3err.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
+v3err.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+v3err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+v3err.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h
+v3err.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+v3err.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+v3err.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+v3err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+v3err.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+v3err.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+v3err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+v3err.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+v3err.o: ../../include/openssl/x509v3.h v3err.c
index 2a3f8406d89c2328dd78d39a027ee4e3c94c1dc5..b9e60f83a137aef7516a388a66df88be9484c836 100644 (file)
@@ -104,633 +104,688 @@ clean:
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-bio_ssl.o: ../include/openssl/asn1.h ../include/openssl/bio.h
-bio_ssl.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-bio_ssl.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-bio_ssl.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-bio_ssl.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-bio_ssl.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-bio_ssl.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-bio_ssl.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-bio_ssl.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-bio_ssl.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-bio_ssl.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-bio_ssl.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-bio_ssl.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-bio_ssl.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-bio_ssl.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-bio_ssl.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-bio_ssl.o: ../include/openssl/x509_vfy.h bio_ssl.c
-kssl.o: ../include/openssl/asn1.h ../include/openssl/bio.h
-kssl.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-kssl.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-kssl.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-kssl.o: ../include/openssl/e_os2.h ../include/openssl/evp.h
-kssl.o: ../include/openssl/krb5_asn.h ../include/openssl/kssl.h
-kssl.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-kssl.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-kssl.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-kssl.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-kssl.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-kssl.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-kssl.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-kssl.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-kssl.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-kssl.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-kssl.o: ../include/openssl/x509_vfy.h kssl.c
-s23_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s23_clnt.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s23_clnt.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s23_clnt.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s23_clnt.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s23_clnt.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s23_clnt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s23_clnt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s23_clnt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s23_clnt.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s23_clnt.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-s23_clnt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-s23_clnt.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-s23_clnt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-s23_clnt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-s23_clnt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-s23_clnt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s23_clnt.c
-s23_clnt.o: ssl_locl.h
-s23_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s23_lib.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s23_lib.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s23_lib.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s23_lib.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s23_lib.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s23_lib.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s23_lib.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s23_lib.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s23_lib.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s23_lib.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-s23_lib.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-s23_lib.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-s23_lib.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-s23_lib.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-s23_lib.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-s23_lib.o: ../include/openssl/x509_vfy.h s23_lib.c ssl_locl.h
-s23_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s23_meth.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s23_meth.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s23_meth.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s23_meth.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s23_meth.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s23_meth.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s23_meth.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s23_meth.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s23_meth.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s23_meth.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-s23_meth.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-s23_meth.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-s23_meth.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-s23_meth.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-s23_meth.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-s23_meth.o: ../include/openssl/x509_vfy.h s23_meth.c ssl_locl.h
-s23_pkt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s23_pkt.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s23_pkt.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s23_pkt.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s23_pkt.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s23_pkt.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s23_pkt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s23_pkt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s23_pkt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s23_pkt.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s23_pkt.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-s23_pkt.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-s23_pkt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-s23_pkt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-s23_pkt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-s23_pkt.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-s23_pkt.o: ../include/openssl/x509_vfy.h s23_pkt.c ssl_locl.h
-s23_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s23_srvr.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s23_srvr.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s23_srvr.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s23_srvr.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s23_srvr.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s23_srvr.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s23_srvr.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s23_srvr.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s23_srvr.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s23_srvr.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-s23_srvr.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-s23_srvr.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-s23_srvr.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-s23_srvr.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-s23_srvr.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-s23_srvr.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s23_srvr.c
-s23_srvr.o: ssl_locl.h
-s2_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s2_clnt.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s2_clnt.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s2_clnt.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s2_clnt.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s2_clnt.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s2_clnt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s2_clnt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s2_clnt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s2_clnt.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s2_clnt.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-s2_clnt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-s2_clnt.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-s2_clnt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-s2_clnt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-s2_clnt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-s2_clnt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s2_clnt.c
-s2_clnt.o: ssl_locl.h
-s2_enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s2_enc.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s2_enc.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s2_enc.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s2_enc.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s2_enc.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s2_enc.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s2_enc.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s2_enc.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s2_enc.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s2_enc.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-s2_enc.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-s2_enc.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-s2_enc.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-s2_enc.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-s2_enc.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-s2_enc.o: ../include/openssl/x509_vfy.h s2_enc.c ssl_locl.h
-s2_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s2_lib.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s2_lib.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s2_lib.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s2_lib.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s2_lib.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s2_lib.o: ../include/openssl/lhash.h ../include/openssl/md5.h
-s2_lib.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-s2_lib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-s2_lib.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-s2_lib.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-s2_lib.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-s2_lib.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-s2_lib.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-s2_lib.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-s2_lib.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-s2_lib.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s2_lib.c
-s2_lib.o: ssl_locl.h
-s2_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s2_meth.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s2_meth.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s2_meth.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s2_meth.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s2_meth.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s2_meth.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s2_meth.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s2_meth.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s2_meth.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s2_meth.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-s2_meth.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-s2_meth.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-s2_meth.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-s2_meth.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-s2_meth.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-s2_meth.o: ../include/openssl/x509_vfy.h s2_meth.c ssl_locl.h
-s2_pkt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s2_pkt.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s2_pkt.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s2_pkt.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s2_pkt.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s2_pkt.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s2_pkt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s2_pkt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s2_pkt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s2_pkt.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s2_pkt.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-s2_pkt.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-s2_pkt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-s2_pkt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-s2_pkt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-s2_pkt.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-s2_pkt.o: ../include/openssl/x509_vfy.h s2_pkt.c ssl_locl.h
-s2_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s2_srvr.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s2_srvr.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s2_srvr.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s2_srvr.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s2_srvr.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s2_srvr.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s2_srvr.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s2_srvr.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s2_srvr.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s2_srvr.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-s2_srvr.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-s2_srvr.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-s2_srvr.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-s2_srvr.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-s2_srvr.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-s2_srvr.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s2_srvr.c
-s2_srvr.o: ssl_locl.h
-s3_both.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s3_both.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s3_both.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s3_both.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s3_both.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s3_both.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s3_both.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s3_both.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s3_both.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s3_both.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s3_both.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-s3_both.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-s3_both.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-s3_both.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-s3_both.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-s3_both.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-s3_both.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s3_both.c
-s3_both.o: ssl_locl.h
-s3_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s3_clnt.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s3_clnt.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s3_clnt.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s3_clnt.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s3_clnt.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s3_clnt.o: ../include/openssl/lhash.h ../include/openssl/md5.h
-s3_clnt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-s3_clnt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-s3_clnt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-s3_clnt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-s3_clnt.o: ../include/openssl/rand.h ../include/openssl/rsa.h
-s3_clnt.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-s3_clnt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-s3_clnt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-s3_clnt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-s3_clnt.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-s3_clnt.o: ../include/openssl/x509_vfy.h kssl_lcl.h s3_clnt.c ssl_locl.h
-s3_enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s3_enc.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s3_enc.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s3_enc.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s3_enc.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s3_enc.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s3_enc.o: ../include/openssl/lhash.h ../include/openssl/md5.h
-s3_enc.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-s3_enc.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-s3_enc.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-s3_enc.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-s3_enc.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-s3_enc.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-s3_enc.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-s3_enc.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-s3_enc.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-s3_enc.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s3_enc.c
-s3_enc.o: ssl_locl.h
-s3_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s3_lib.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s3_lib.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s3_lib.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s3_lib.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s3_lib.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s3_lib.o: ../include/openssl/lhash.h ../include/openssl/md5.h
-s3_lib.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-s3_lib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-s3_lib.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-s3_lib.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-s3_lib.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-s3_lib.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-s3_lib.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-s3_lib.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-s3_lib.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-s3_lib.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h kssl_lcl.h
-s3_lib.o: s3_lib.c ssl_locl.h
-s3_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s3_meth.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s3_meth.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s3_meth.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s3_meth.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s3_meth.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s3_meth.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s3_meth.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s3_meth.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s3_meth.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s3_meth.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-s3_meth.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-s3_meth.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-s3_meth.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-s3_meth.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-s3_meth.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-s3_meth.o: ../include/openssl/x509_vfy.h s3_meth.c ssl_locl.h
-s3_pkt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s3_pkt.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s3_pkt.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s3_pkt.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s3_pkt.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s3_pkt.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-s3_pkt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-s3_pkt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s3_pkt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s3_pkt.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s3_pkt.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-s3_pkt.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-s3_pkt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-s3_pkt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-s3_pkt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-s3_pkt.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-s3_pkt.o: ../include/openssl/x509_vfy.h s3_pkt.c ssl_locl.h
-s3_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-s3_srvr.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-s3_srvr.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-s3_srvr.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-s3_srvr.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-s3_srvr.o: ../include/openssl/evp.h ../include/openssl/krb5_asn.h
-s3_srvr.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-s3_srvr.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h
-s3_srvr.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-s3_srvr.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-s3_srvr.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-s3_srvr.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-s3_srvr.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-s3_srvr.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-s3_srvr.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-s3_srvr.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-s3_srvr.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-s3_srvr.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h kssl_lcl.h
-s3_srvr.o: s3_srvr.c ssl_locl.h
-ssl_algs.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-ssl_algs.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ssl_algs.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-ssl_algs.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-ssl_algs.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-ssl_algs.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-ssl_algs.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-ssl_algs.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-ssl_algs.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-ssl_algs.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-ssl_algs.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-ssl_algs.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-ssl_algs.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-ssl_algs.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-ssl_algs.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-ssl_algs.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-ssl_algs.o: ../include/openssl/x509_vfy.h ssl_algs.c ssl_locl.h
+bio_ssl.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h
+bio_ssl.o: ../include/openssl/bio.h ../include/openssl/bn.h
+bio_ssl.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+bio_ssl.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+bio_ssl.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+bio_ssl.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+bio_ssl.o: ../include/openssl/err.h ../include/openssl/evp.h
+bio_ssl.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+bio_ssl.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+bio_ssl.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+bio_ssl.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+bio_ssl.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+bio_ssl.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+bio_ssl.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+bio_ssl.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+bio_ssl.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+bio_ssl.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+bio_ssl.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h bio_ssl.c
+kssl.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h
+kssl.o: ../include/openssl/bio.h ../include/openssl/bn.h
+kssl.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+kssl.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+kssl.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+kssl.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+kssl.o: ../include/openssl/evp.h ../include/openssl/krb5_asn.h
+kssl.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+kssl.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+kssl.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+kssl.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+kssl.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+kssl.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+kssl.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+kssl.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+kssl.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+kssl.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+kssl.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h kssl.c
+s23_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s23_clnt.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s23_clnt.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s23_clnt.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s23_clnt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s23_clnt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s23_clnt.o: ../include/openssl/err.h ../include/openssl/evp.h
+s23_clnt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s23_clnt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s23_clnt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s23_clnt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s23_clnt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s23_clnt.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+s23_clnt.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+s23_clnt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+s23_clnt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+s23_clnt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+s23_clnt.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+s23_clnt.o: ../include/openssl/x509_vfy.h s23_clnt.c ssl_locl.h
+s23_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s23_lib.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s23_lib.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s23_lib.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s23_lib.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s23_lib.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s23_lib.o: ../include/openssl/err.h ../include/openssl/evp.h
+s23_lib.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s23_lib.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s23_lib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s23_lib.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s23_lib.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s23_lib.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+s23_lib.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+s23_lib.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+s23_lib.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+s23_lib.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+s23_lib.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s23_lib.c
+s23_lib.o: ssl_locl.h
+s23_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s23_meth.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s23_meth.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s23_meth.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s23_meth.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s23_meth.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s23_meth.o: ../include/openssl/err.h ../include/openssl/evp.h
+s23_meth.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s23_meth.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s23_meth.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s23_meth.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s23_meth.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s23_meth.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+s23_meth.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+s23_meth.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+s23_meth.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+s23_meth.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+s23_meth.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s23_meth.c
+s23_meth.o: ssl_locl.h
+s23_pkt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s23_pkt.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s23_pkt.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s23_pkt.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s23_pkt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s23_pkt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s23_pkt.o: ../include/openssl/err.h ../include/openssl/evp.h
+s23_pkt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s23_pkt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s23_pkt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s23_pkt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s23_pkt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s23_pkt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+s23_pkt.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+s23_pkt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+s23_pkt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+s23_pkt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+s23_pkt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s23_pkt.c
+s23_pkt.o: ssl_locl.h
+s23_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s23_srvr.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s23_srvr.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s23_srvr.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s23_srvr.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s23_srvr.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s23_srvr.o: ../include/openssl/err.h ../include/openssl/evp.h
+s23_srvr.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s23_srvr.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s23_srvr.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s23_srvr.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s23_srvr.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s23_srvr.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+s23_srvr.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+s23_srvr.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+s23_srvr.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+s23_srvr.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+s23_srvr.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+s23_srvr.o: ../include/openssl/x509_vfy.h s23_srvr.c ssl_locl.h
+s2_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s2_clnt.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s2_clnt.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s2_clnt.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s2_clnt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s2_clnt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s2_clnt.o: ../include/openssl/err.h ../include/openssl/evp.h
+s2_clnt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s2_clnt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s2_clnt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s2_clnt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s2_clnt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s2_clnt.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+s2_clnt.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+s2_clnt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+s2_clnt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+s2_clnt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+s2_clnt.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+s2_clnt.o: ../include/openssl/x509_vfy.h s2_clnt.c ssl_locl.h
+s2_enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s2_enc.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s2_enc.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s2_enc.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s2_enc.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s2_enc.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s2_enc.o: ../include/openssl/err.h ../include/openssl/evp.h
+s2_enc.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s2_enc.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s2_enc.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s2_enc.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s2_enc.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s2_enc.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+s2_enc.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+s2_enc.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+s2_enc.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+s2_enc.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+s2_enc.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s2_enc.c
+s2_enc.o: ssl_locl.h
+s2_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s2_lib.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s2_lib.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s2_lib.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s2_lib.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s2_lib.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s2_lib.o: ../include/openssl/err.h ../include/openssl/evp.h
+s2_lib.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s2_lib.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h
+s2_lib.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+s2_lib.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+s2_lib.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+s2_lib.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+s2_lib.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+s2_lib.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+s2_lib.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+s2_lib.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+s2_lib.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+s2_lib.o: ../include/openssl/x509_vfy.h s2_lib.c ssl_locl.h
+s2_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s2_meth.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s2_meth.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s2_meth.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s2_meth.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s2_meth.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s2_meth.o: ../include/openssl/err.h ../include/openssl/evp.h
+s2_meth.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s2_meth.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s2_meth.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s2_meth.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s2_meth.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s2_meth.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+s2_meth.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+s2_meth.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+s2_meth.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+s2_meth.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+s2_meth.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s2_meth.c
+s2_meth.o: ssl_locl.h
+s2_pkt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s2_pkt.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s2_pkt.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s2_pkt.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s2_pkt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s2_pkt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s2_pkt.o: ../include/openssl/err.h ../include/openssl/evp.h
+s2_pkt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s2_pkt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s2_pkt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s2_pkt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s2_pkt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s2_pkt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+s2_pkt.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+s2_pkt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+s2_pkt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+s2_pkt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+s2_pkt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s2_pkt.c
+s2_pkt.o: ssl_locl.h
+s2_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s2_srvr.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s2_srvr.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s2_srvr.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s2_srvr.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s2_srvr.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s2_srvr.o: ../include/openssl/err.h ../include/openssl/evp.h
+s2_srvr.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s2_srvr.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s2_srvr.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s2_srvr.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s2_srvr.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s2_srvr.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+s2_srvr.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+s2_srvr.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+s2_srvr.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+s2_srvr.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+s2_srvr.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+s2_srvr.o: ../include/openssl/x509_vfy.h s2_srvr.c ssl_locl.h
+s3_both.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s3_both.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s3_both.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s3_both.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s3_both.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s3_both.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s3_both.o: ../include/openssl/err.h ../include/openssl/evp.h
+s3_both.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s3_both.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s3_both.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s3_both.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s3_both.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s3_both.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+s3_both.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+s3_both.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+s3_both.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+s3_both.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+s3_both.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+s3_both.o: ../include/openssl/x509_vfy.h s3_both.c ssl_locl.h
+s3_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s3_clnt.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s3_clnt.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s3_clnt.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s3_clnt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s3_clnt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s3_clnt.o: ../include/openssl/err.h ../include/openssl/evp.h
+s3_clnt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s3_clnt.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h
+s3_clnt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+s3_clnt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+s3_clnt.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+s3_clnt.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
+s3_clnt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+s3_clnt.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+s3_clnt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+s3_clnt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+s3_clnt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+s3_clnt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h kssl_lcl.h
+s3_clnt.o: s3_clnt.c ssl_locl.h
+s3_enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s3_enc.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s3_enc.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s3_enc.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s3_enc.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s3_enc.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s3_enc.o: ../include/openssl/err.h ../include/openssl/evp.h
+s3_enc.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s3_enc.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h
+s3_enc.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+s3_enc.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+s3_enc.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+s3_enc.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+s3_enc.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+s3_enc.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+s3_enc.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+s3_enc.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+s3_enc.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+s3_enc.o: ../include/openssl/x509_vfy.h s3_enc.c ssl_locl.h
+s3_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s3_lib.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s3_lib.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s3_lib.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s3_lib.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s3_lib.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s3_lib.o: ../include/openssl/err.h ../include/openssl/evp.h
+s3_lib.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s3_lib.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h
+s3_lib.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+s3_lib.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+s3_lib.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+s3_lib.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+s3_lib.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+s3_lib.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+s3_lib.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+s3_lib.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+s3_lib.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+s3_lib.o: ../include/openssl/x509_vfy.h kssl_lcl.h s3_lib.c ssl_locl.h
+s3_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s3_meth.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s3_meth.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s3_meth.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s3_meth.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s3_meth.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s3_meth.o: ../include/openssl/err.h ../include/openssl/evp.h
+s3_meth.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s3_meth.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s3_meth.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s3_meth.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s3_meth.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s3_meth.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+s3_meth.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+s3_meth.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+s3_meth.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+s3_meth.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+s3_meth.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s3_meth.c
+s3_meth.o: ssl_locl.h
+s3_pkt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s3_pkt.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s3_pkt.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s3_pkt.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s3_pkt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s3_pkt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s3_pkt.o: ../include/openssl/err.h ../include/openssl/evp.h
+s3_pkt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+s3_pkt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s3_pkt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s3_pkt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s3_pkt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s3_pkt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+s3_pkt.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+s3_pkt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+s3_pkt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+s3_pkt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+s3_pkt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s3_pkt.c
+s3_pkt.o: ssl_locl.h
+s3_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+s3_srvr.o: ../include/openssl/bio.h ../include/openssl/bn.h
+s3_srvr.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+s3_srvr.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+s3_srvr.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+s3_srvr.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+s3_srvr.o: ../include/openssl/err.h ../include/openssl/evp.h
+s3_srvr.o: ../include/openssl/krb5_asn.h ../include/openssl/kssl.h
+s3_srvr.o: ../include/openssl/lhash.h ../include/openssl/md5.h
+s3_srvr.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+s3_srvr.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+s3_srvr.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+s3_srvr.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+s3_srvr.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+s3_srvr.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+s3_srvr.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+s3_srvr.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+s3_srvr.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+s3_srvr.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+s3_srvr.o: ../include/openssl/x509_vfy.h kssl_lcl.h s3_srvr.c ssl_locl.h
+ssl_algs.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ssl_algs.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ssl_algs.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+ssl_algs.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+ssl_algs.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+ssl_algs.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+ssl_algs.o: ../include/openssl/err.h ../include/openssl/evp.h
+ssl_algs.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+ssl_algs.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+ssl_algs.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+ssl_algs.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+ssl_algs.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+ssl_algs.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+ssl_algs.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+ssl_algs.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+ssl_algs.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+ssl_algs.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+ssl_algs.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_algs.c
+ssl_algs.o: ssl_locl.h
 ssl_asn1.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1_mac.h
-ssl_asn1.o: ../include/openssl/bio.h ../include/openssl/bn.h
-ssl_asn1.o: ../include/openssl/buffer.h ../include/openssl/comp.h
-ssl_asn1.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-ssl_asn1.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-ssl_asn1.o: ../include/openssl/err.h ../include/openssl/evp.h
-ssl_asn1.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-ssl_asn1.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-ssl_asn1.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-ssl_asn1.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-ssl_asn1.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-ssl_asn1.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-ssl_asn1.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-ssl_asn1.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-ssl_asn1.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-ssl_asn1.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-ssl_asn1.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_asn1.c
-ssl_asn1.o: ssl_locl.h
-ssl_cert.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-ssl_cert.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ssl_cert.o: ../include/openssl/comp.h ../include/openssl/conf.h
-ssl_cert.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-ssl_cert.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-ssl_cert.o: ../include/openssl/err.h ../include/openssl/evp.h
-ssl_cert.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-ssl_cert.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-ssl_cert.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-ssl_cert.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-ssl_cert.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-ssl_cert.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-ssl_cert.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-ssl_cert.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-ssl_cert.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-ssl_cert.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-ssl_cert.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
-ssl_cert.o: ../include/openssl/x509v3.h ssl_cert.c ssl_locl.h
-ssl_ciph.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-ssl_ciph.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ssl_ciph.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-ssl_ciph.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-ssl_ciph.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-ssl_ciph.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-ssl_ciph.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-ssl_ciph.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-ssl_ciph.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-ssl_ciph.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-ssl_ciph.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-ssl_ciph.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-ssl_ciph.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-ssl_ciph.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-ssl_ciph.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-ssl_ciph.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-ssl_ciph.o: ../include/openssl/x509_vfy.h ssl_ciph.c ssl_locl.h
-ssl_err.o: ../include/openssl/asn1.h ../include/openssl/bio.h
-ssl_err.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ssl_err.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-ssl_err.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-ssl_err.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-ssl_err.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-ssl_err.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-ssl_err.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-ssl_err.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-ssl_err.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-ssl_err.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-ssl_err.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-ssl_err.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-ssl_err.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-ssl_err.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-ssl_err.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-ssl_err.o: ../include/openssl/x509_vfy.h ssl_err.c
-ssl_err2.o: ../include/openssl/asn1.h ../include/openssl/bio.h
-ssl_err2.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ssl_err2.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-ssl_err2.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-ssl_err2.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-ssl_err2.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-ssl_err2.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-ssl_err2.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-ssl_err2.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-ssl_err2.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-ssl_err2.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-ssl_err2.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-ssl_err2.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-ssl_err2.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-ssl_err2.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-ssl_err2.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-ssl_err2.o: ../include/openssl/x509_vfy.h ssl_err2.c
-ssl_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-ssl_lib.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ssl_lib.o: ../include/openssl/comp.h ../include/openssl/conf.h
-ssl_lib.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-ssl_lib.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-ssl_lib.o: ../include/openssl/err.h ../include/openssl/evp.h
-ssl_lib.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-ssl_lib.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-ssl_lib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-ssl_lib.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-ssl_lib.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-ssl_lib.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-ssl_lib.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-ssl_lib.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-ssl_lib.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-ssl_lib.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-ssl_lib.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
-ssl_lib.o: ../include/openssl/x509v3.h kssl_lcl.h ssl_lib.c ssl_locl.h
-ssl_rsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-ssl_rsa.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ssl_rsa.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-ssl_rsa.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-ssl_rsa.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-ssl_rsa.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-ssl_rsa.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-ssl_rsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-ssl_rsa.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-ssl_rsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-ssl_rsa.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-ssl_rsa.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-ssl_rsa.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-ssl_rsa.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-ssl_rsa.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-ssl_rsa.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-ssl_rsa.o: ../include/openssl/x509_vfy.h ssl_locl.h ssl_rsa.c
-ssl_sess.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-ssl_sess.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ssl_sess.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-ssl_sess.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-ssl_sess.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-ssl_sess.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-ssl_sess.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-ssl_sess.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-ssl_sess.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-ssl_sess.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-ssl_sess.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-ssl_sess.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-ssl_sess.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-ssl_sess.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-ssl_sess.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-ssl_sess.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-ssl_sess.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h
-ssl_sess.o: ssl_sess.c
-ssl_stat.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-ssl_stat.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ssl_stat.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-ssl_stat.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-ssl_stat.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-ssl_stat.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-ssl_stat.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-ssl_stat.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-ssl_stat.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-ssl_stat.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-ssl_stat.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-ssl_stat.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-ssl_stat.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-ssl_stat.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-ssl_stat.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-ssl_stat.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-ssl_stat.o: ../include/openssl/x509_vfy.h ssl_locl.h ssl_stat.c
-ssl_txt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-ssl_txt.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ssl_txt.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-ssl_txt.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-ssl_txt.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-ssl_txt.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-ssl_txt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-ssl_txt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-ssl_txt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-ssl_txt.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-ssl_txt.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-ssl_txt.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-ssl_txt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-ssl_txt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-ssl_txt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-ssl_txt.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-ssl_txt.o: ../include/openssl/x509_vfy.h ssl_locl.h ssl_txt.c
-t1_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-t1_clnt.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-t1_clnt.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-t1_clnt.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-t1_clnt.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-t1_clnt.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-t1_clnt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-t1_clnt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-t1_clnt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-t1_clnt.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-t1_clnt.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-t1_clnt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-t1_clnt.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-t1_clnt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-t1_clnt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-t1_clnt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-t1_clnt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h
-t1_clnt.o: t1_clnt.c
-t1_enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-t1_enc.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-t1_enc.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-t1_enc.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-t1_enc.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-t1_enc.o: ../include/openssl/evp.h ../include/openssl/hmac.h
-t1_enc.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-t1_enc.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h
-t1_enc.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-t1_enc.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-t1_enc.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-t1_enc.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-t1_enc.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-t1_enc.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-t1_enc.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-t1_enc.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-t1_enc.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-t1_enc.o: ../include/openssl/x509_vfy.h ssl_locl.h t1_enc.c
-t1_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-t1_lib.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-t1_lib.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-t1_lib.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-t1_lib.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-t1_lib.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-t1_lib.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-t1_lib.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-t1_lib.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-t1_lib.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-t1_lib.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-t1_lib.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-t1_lib.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-t1_lib.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-t1_lib.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-t1_lib.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-t1_lib.o: ../include/openssl/x509_vfy.h ssl_locl.h t1_lib.c
-t1_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-t1_meth.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-t1_meth.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-t1_meth.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-t1_meth.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-t1_meth.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-t1_meth.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-t1_meth.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-t1_meth.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-t1_meth.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-t1_meth.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
-t1_meth.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-t1_meth.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-t1_meth.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-t1_meth.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-t1_meth.o: ../include/openssl/tls1.h ../include/openssl/x509.h
-t1_meth.o: ../include/openssl/x509_vfy.h ssl_locl.h t1_meth.c
-t1_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-t1_srvr.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-t1_srvr.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-t1_srvr.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-t1_srvr.o: ../include/openssl/e_os2.h ../include/openssl/err.h
-t1_srvr.o: ../include/openssl/evp.h ../include/openssl/kssl.h
-t1_srvr.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-t1_srvr.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-t1_srvr.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-t1_srvr.o: ../include/openssl/pem.h ../include/openssl/pem2.h
-t1_srvr.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-t1_srvr.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-t1_srvr.o: ../include/openssl/sha.h ../include/openssl/ssl.h
-t1_srvr.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
-t1_srvr.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
-t1_srvr.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
-t1_srvr.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h
-t1_srvr.o: t1_srvr.c
+ssl_asn1.o: ../include/openssl/asn1t.h ../include/openssl/bio.h
+ssl_asn1.o: ../include/openssl/bn.h ../include/openssl/buffer.h
+ssl_asn1.o: ../include/openssl/comp.h ../include/openssl/crypto.h
+ssl_asn1.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+ssl_asn1.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+ssl_asn1.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+ssl_asn1.o: ../include/openssl/evp.h ../include/openssl/kssl.h
+ssl_asn1.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+ssl_asn1.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+ssl_asn1.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+ssl_asn1.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+ssl_asn1.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+ssl_asn1.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+ssl_asn1.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+ssl_asn1.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+ssl_asn1.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+ssl_asn1.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+ssl_asn1.o: ../include/openssl/x509_vfy.h ssl_asn1.c ssl_locl.h
+ssl_cert.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ssl_cert.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ssl_cert.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+ssl_cert.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+ssl_cert.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+ssl_cert.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+ssl_cert.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+ssl_cert.o: ../include/openssl/evp.h ../include/openssl/kssl.h
+ssl_cert.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+ssl_cert.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+ssl_cert.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+ssl_cert.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+ssl_cert.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+ssl_cert.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+ssl_cert.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+ssl_cert.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+ssl_cert.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+ssl_cert.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+ssl_cert.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h
+ssl_cert.o: ssl_cert.c ssl_locl.h
+ssl_ciph.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ssl_ciph.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ssl_ciph.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+ssl_ciph.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+ssl_ciph.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+ssl_ciph.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+ssl_ciph.o: ../include/openssl/err.h ../include/openssl/evp.h
+ssl_ciph.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+ssl_ciph.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+ssl_ciph.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+ssl_ciph.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+ssl_ciph.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+ssl_ciph.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+ssl_ciph.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+ssl_ciph.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+ssl_ciph.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+ssl_ciph.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+ssl_ciph.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_ciph.c
+ssl_ciph.o: ssl_locl.h
+ssl_err.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ssl_err.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ssl_err.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+ssl_err.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+ssl_err.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+ssl_err.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+ssl_err.o: ../include/openssl/err.h ../include/openssl/evp.h
+ssl_err.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+ssl_err.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+ssl_err.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+ssl_err.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+ssl_err.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+ssl_err.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+ssl_err.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+ssl_err.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+ssl_err.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+ssl_err.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+ssl_err.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_err.c
+ssl_err2.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ssl_err2.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ssl_err2.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+ssl_err2.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+ssl_err2.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+ssl_err2.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+ssl_err2.o: ../include/openssl/err.h ../include/openssl/evp.h
+ssl_err2.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+ssl_err2.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+ssl_err2.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+ssl_err2.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+ssl_err2.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+ssl_err2.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+ssl_err2.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+ssl_err2.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+ssl_err2.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+ssl_err2.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+ssl_err2.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_err2.c
+ssl_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ssl_lib.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ssl_lib.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+ssl_lib.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+ssl_lib.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+ssl_lib.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+ssl_lib.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+ssl_lib.o: ../include/openssl/evp.h ../include/openssl/kssl.h
+ssl_lib.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+ssl_lib.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+ssl_lib.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+ssl_lib.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+ssl_lib.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
+ssl_lib.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+ssl_lib.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+ssl_lib.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+ssl_lib.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+ssl_lib.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+ssl_lib.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h kssl_lcl.h
+ssl_lib.o: ssl_lib.c ssl_locl.h
+ssl_rsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ssl_rsa.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ssl_rsa.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+ssl_rsa.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+ssl_rsa.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+ssl_rsa.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+ssl_rsa.o: ../include/openssl/err.h ../include/openssl/evp.h
+ssl_rsa.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+ssl_rsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+ssl_rsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+ssl_rsa.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+ssl_rsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+ssl_rsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+ssl_rsa.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+ssl_rsa.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+ssl_rsa.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+ssl_rsa.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+ssl_rsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h
+ssl_rsa.o: ssl_rsa.c
+ssl_sess.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ssl_sess.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ssl_sess.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+ssl_sess.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+ssl_sess.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+ssl_sess.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+ssl_sess.o: ../include/openssl/err.h ../include/openssl/evp.h
+ssl_sess.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+ssl_sess.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+ssl_sess.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+ssl_sess.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+ssl_sess.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+ssl_sess.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+ssl_sess.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+ssl_sess.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+ssl_sess.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+ssl_sess.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+ssl_sess.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+ssl_sess.o: ../include/openssl/x509_vfy.h ssl_locl.h ssl_sess.c
+ssl_stat.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ssl_stat.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ssl_stat.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+ssl_stat.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+ssl_stat.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+ssl_stat.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+ssl_stat.o: ../include/openssl/err.h ../include/openssl/evp.h
+ssl_stat.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+ssl_stat.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+ssl_stat.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+ssl_stat.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+ssl_stat.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+ssl_stat.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+ssl_stat.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+ssl_stat.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+ssl_stat.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+ssl_stat.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+ssl_stat.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h
+ssl_stat.o: ssl_stat.c
+ssl_txt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ssl_txt.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ssl_txt.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+ssl_txt.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+ssl_txt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+ssl_txt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+ssl_txt.o: ../include/openssl/err.h ../include/openssl/evp.h
+ssl_txt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+ssl_txt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+ssl_txt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+ssl_txt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+ssl_txt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+ssl_txt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+ssl_txt.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+ssl_txt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+ssl_txt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+ssl_txt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+ssl_txt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h
+ssl_txt.o: ssl_txt.c
+t1_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+t1_clnt.o: ../include/openssl/bio.h ../include/openssl/bn.h
+t1_clnt.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+t1_clnt.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+t1_clnt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+t1_clnt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+t1_clnt.o: ../include/openssl/err.h ../include/openssl/evp.h
+t1_clnt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+t1_clnt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+t1_clnt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+t1_clnt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+t1_clnt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+t1_clnt.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+t1_clnt.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+t1_clnt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+t1_clnt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+t1_clnt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+t1_clnt.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+t1_clnt.o: ../include/openssl/x509_vfy.h ssl_locl.h t1_clnt.c
+t1_enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+t1_enc.o: ../include/openssl/bio.h ../include/openssl/bn.h
+t1_enc.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+t1_enc.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+t1_enc.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+t1_enc.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+t1_enc.o: ../include/openssl/err.h ../include/openssl/evp.h
+t1_enc.o: ../include/openssl/hmac.h ../include/openssl/kssl.h
+t1_enc.o: ../include/openssl/lhash.h ../include/openssl/md5.h
+t1_enc.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+t1_enc.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+t1_enc.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+t1_enc.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+t1_enc.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+t1_enc.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+t1_enc.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+t1_enc.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+t1_enc.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+t1_enc.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h
+t1_enc.o: t1_enc.c
+t1_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+t1_lib.o: ../include/openssl/bio.h ../include/openssl/bn.h
+t1_lib.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+t1_lib.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+t1_lib.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+t1_lib.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+t1_lib.o: ../include/openssl/err.h ../include/openssl/evp.h
+t1_lib.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+t1_lib.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+t1_lib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+t1_lib.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+t1_lib.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+t1_lib.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+t1_lib.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+t1_lib.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+t1_lib.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+t1_lib.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+t1_lib.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h
+t1_lib.o: t1_lib.c
+t1_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+t1_meth.o: ../include/openssl/bio.h ../include/openssl/bn.h
+t1_meth.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+t1_meth.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+t1_meth.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+t1_meth.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+t1_meth.o: ../include/openssl/err.h ../include/openssl/evp.h
+t1_meth.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+t1_meth.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+t1_meth.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+t1_meth.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+t1_meth.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+t1_meth.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+t1_meth.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+t1_meth.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+t1_meth.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+t1_meth.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+t1_meth.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h
+t1_meth.o: t1_meth.c
+t1_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+t1_srvr.o: ../include/openssl/bio.h ../include/openssl/bn.h
+t1_srvr.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+t1_srvr.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+t1_srvr.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+t1_srvr.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+t1_srvr.o: ../include/openssl/err.h ../include/openssl/evp.h
+t1_srvr.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+t1_srvr.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+t1_srvr.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+t1_srvr.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
+t1_srvr.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
+t1_srvr.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+t1_srvr.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+t1_srvr.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+t1_srvr.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+t1_srvr.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+t1_srvr.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+t1_srvr.o: ../include/openssl/x509_vfy.h ssl_locl.h t1_srvr.c
index 432c654bb45ac25c888436774b41f25bcc3b5eed..0ffb327aad8a5e0eb89568f496de1bdb6ebc9ba5 100644 (file)
@@ -57,6 +57,7 @@ SSLTEST=      ssltest
 RSATEST=       rsa_test
 ENGINETEST=    enginetest
 EVPTEST=       evp_test
+ECDSATEST=     ecdsatest
 
 TESTS=         alltests
 
@@ -65,7 +66,7 @@ EXE=  $(BNTEST) $(ECTEST) $(IDEATEST) $(MD2TEST)  $(MD4TEST) $(MD5TEST) $(HMACTES
        $(DESTEST) $(SHATEST) $(SHA1TEST) $(MDC2TEST) $(RMDTEST) \
        $(RANDTEST) $(DHTEST) $(ENGINETEST) \
        $(BFTEST) $(CASTTEST) $(SSLTEST) $(EXPTEST) $(DSATEST) $(RSATEST) \
-       $(EVPTEST)
+       $(EVPTEST) $(ECDSATEST)
 
 # $(METHTEST)
 
@@ -75,14 +76,14 @@ OBJ=        $(BNTEST).o $(ECTEST).o $(IDEATEST).o $(MD2TEST).o $(MD4TEST).o $(MD5TEST).
        $(DESTEST).o $(SHATEST).o $(SHA1TEST).o $(MDC2TEST).o $(RMDTEST).o \
        $(RANDTEST).o $(DHTEST).o $(ENGINETEST).o $(CASTTEST).o \
        $(BFTEST).o  $(SSLTEST).o  $(DSATEST).o  $(EXPTEST).o $(RSATEST).o \
-       $(EVPTEST).o
+       $(EVPTEST).o $(ECDSATEST).o
 SRC=   $(BNTEST).c $(ECTEST).c $(IDEATEST).c $(MD2TEST).c  $(MD4TEST).c $(MD5TEST).c \
        $(HMACTEST).c \
        $(RC2TEST).c $(RC4TEST).c $(RC5TEST).c \
        $(DESTEST).c $(SHATEST).c $(SHA1TEST).c $(MDC2TEST).c $(RMDTEST).c \
        $(RANDTEST).c $(DHTEST).c $(ENGINETEST).c $(CASTTEST).c \
        $(BFTEST).c  $(SSLTEST).c $(DSATEST).c   $(EXPTEST).c $(RSATEST).c \
-       $(EVPTEST).c
+       $(EVPTEST).c $(ECDSATEST).c
 
 EXHEADER= 
 HEADER=        $(EXHEADER)
@@ -124,7 +125,7 @@ alltests.chooser: \
        test_rmd test_rc2 test_rc4 test_rc5 test_bf test_cast test_rd \
        test_rand test_bn test_ec test_enc test_x509 test_rsa test_crl test_sid \
        test_gen test_req test_pkcs7 test_verify test_dh test_dsa \
-       test_ss test_ca test_engine test_evp test_ssl
+       test_ss test_ca test_engine test_evp test_ssl test_ecdsa
 
 test_evp:
        ./$(EVPTEST) evptests.txt
@@ -217,6 +218,10 @@ test_ec:
        @echo 'test elliptic curves'
        ./$(ECTEST)
 
+test_ecdsa:
+       @echo 'test ecdsa'
+       ./$(ECDSATEST)
+
 test_verify:
        @echo "The following command should have some OK's and some failures"
        @echo "There are definitly a few expired certificates"
@@ -355,6 +360,9 @@ $(ENGINETEST): $(ENGINETEST).o $(DLIBCRYPTO)
 
 $(EVPTEST): $(EVPTEST).o $(DLIBCRYPTO)
        $(CC) -o $(EVPTEST) $(CFLAGS) $(EVPTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+
+$(ECDSATEST): $(ECDSATEST).o $(DLIBCRYPTO)
+       $(CC) -o $(ECDSATEST) $(CFLAGS) $(ECDSATEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
        
 #$(RDTEST).o: $(RDTEST).c
 #      $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(RDTEST).c
@@ -366,19 +374,20 @@ $(EVPTEST): $(EVPTEST).o $(DLIBCRYPTO)
 
 bftest.o: ../include/openssl/blowfish.h ../include/openssl/e_os2.h
 bftest.o: ../include/openssl/opensslconf.h bftest.c
-bntest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-bntest.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-bntest.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-bntest.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-bntest.o: ../include/openssl/err.h ../include/openssl/evp.h
-bntest.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-bntest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-bntest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-bntest.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-bntest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-bntest.o: ../include/openssl/sha.h ../include/openssl/stack.h
-bntest.o: ../include/openssl/symhacks.h ../include/openssl/x509.h
-bntest.o: ../include/openssl/x509_vfy.h bntest.c
+bntest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+bntest.o: ../include/openssl/bio.h ../include/openssl/bn.h
+bntest.o: ../include/openssl/buffer.h ../include/openssl/crypto.h
+bntest.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+bntest.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+bntest.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+bntest.o: ../include/openssl/evp.h ../include/openssl/lhash.h
+bntest.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+bntest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+bntest.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
+bntest.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+bntest.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+bntest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+bntest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h bntest.c
 casttest.o: ../include/openssl/cast.h casttest.c
 destest.o: ../include/openssl/crypto.h ../include/openssl/des.h
 destest.o: ../include/openssl/des_old.h ../include/openssl/e_os2.h
@@ -393,49 +402,69 @@ dhtest.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
 dhtest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 dhtest.o: ../include/openssl/rand.h ../include/openssl/safestack.h
 dhtest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h dhtest.c
-dsatest.o: ../include/openssl/asn1.h ../include/openssl/bio.h
-dsatest.o: ../include/openssl/bn.h ../include/openssl/crypto.h
-dsatest.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-dsatest.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
-dsatest.o: ../include/openssl/err.h ../include/openssl/lhash.h
-dsatest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-dsatest.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h
-dsatest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-dsatest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-dsatest.o: ../include/openssl/ui.h dsatest.c
-ectest.o: ../include/openssl/asn1.h ../include/openssl/bio.h
-ectest.o: ../include/openssl/bn.h ../include/openssl/crypto.h
-ectest.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-ectest.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+dsatest.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h
+dsatest.o: ../include/openssl/bio.h ../include/openssl/bn.h
+dsatest.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+dsatest.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+dsatest.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+dsatest.o: ../include/openssl/engine.h ../include/openssl/err.h
+dsatest.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
+dsatest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+dsatest.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+dsatest.o: ../include/openssl/safestack.h ../include/openssl/stack.h
+dsatest.o: ../include/openssl/symhacks.h ../include/openssl/ui.h dsatest.c
+ecdsatest.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ecdsatest.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ecdsatest.o: ../include/openssl/buffer.h ../include/openssl/crypto.h
+ecdsatest.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+ecdsatest.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+ecdsatest.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
+ecdsatest.o: ../include/openssl/err.h ../include/openssl/evp.h
+ecdsatest.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+ecdsatest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+ecdsatest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+ecdsatest.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
+ecdsatest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+ecdsatest.o: ../include/openssl/sha.h ../include/openssl/stack.h
+ecdsatest.o: ../include/openssl/symhacks.h ../include/openssl/ui.h
+ecdsatest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
+ecdsatest.o: ecdsatest.c
+ectest.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ectest.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ectest.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+ectest.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+ectest.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
 ectest.o: ../include/openssl/engine.h ../include/openssl/err.h
 ectest.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
 ectest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 ectest.o: ../include/openssl/rand.h ../include/openssl/rsa.h
 ectest.o: ../include/openssl/safestack.h ../include/openssl/stack.h
 ectest.o: ../include/openssl/symhacks.h ../include/openssl/ui.h ectest.c
-enginetest.o: ../include/openssl/asn1.h ../include/openssl/bio.h
-enginetest.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-enginetest.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-enginetest.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-enginetest.o: ../include/openssl/engine.h ../include/openssl/err.h
-enginetest.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
-enginetest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-enginetest.o: ../include/openssl/rand.h ../include/openssl/rsa.h
-enginetest.o: ../include/openssl/safestack.h ../include/openssl/stack.h
-enginetest.o: ../include/openssl/symhacks.h ../include/openssl/ui.h
-enginetest.o: enginetest.c
-evp_test.o: ../include/openssl/asn1.h ../include/openssl/bio.h
-evp_test.o: ../include/openssl/bn.h ../include/openssl/conf.h
-evp_test.o: ../include/openssl/crypto.h ../include/openssl/dh.h
-evp_test.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
-evp_test.o: ../include/openssl/engine.h ../include/openssl/err.h
-evp_test.o: ../include/openssl/evp.h ../include/openssl/lhash.h
-evp_test.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-evp_test.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-evp_test.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h
-evp_test.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-evp_test.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-evp_test.o: ../include/openssl/ui.h evp_test.c
+enginetest.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h
+enginetest.o: ../include/openssl/bio.h ../include/openssl/bn.h
+enginetest.o: ../include/openssl/buffer.h ../include/openssl/crypto.h
+enginetest.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+enginetest.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+enginetest.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
+enginetest.o: ../include/openssl/err.h ../include/openssl/lhash.h
+enginetest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+enginetest.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h
+enginetest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+enginetest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+enginetest.o: ../include/openssl/ui.h enginetest.c
+evp_test.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h
+evp_test.o: ../include/openssl/bio.h ../include/openssl/bn.h
+evp_test.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+evp_test.o: ../include/openssl/dh.h ../include/openssl/dsa.h
+evp_test.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+evp_test.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
+evp_test.o: ../include/openssl/err.h ../include/openssl/evp.h
+evp_test.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+evp_test.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+evp_test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+evp_test.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+evp_test.o: ../include/openssl/safestack.h ../include/openssl/stack.h
+evp_test.o: ../include/openssl/symhacks.h ../include/openssl/ui.h evp_test.c
 exptest.o: ../include/openssl/bio.h ../include/openssl/bn.h
 exptest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 exptest.o: ../include/openssl/err.h ../include/openssl/lhash.h
@@ -499,16 +528,17 @@ rmdtest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 rmdtest.o: ../include/openssl/ossl_typ.h ../include/openssl/ripemd.h
 rmdtest.o: ../include/openssl/safestack.h ../include/openssl/stack.h
 rmdtest.o: ../include/openssl/symhacks.h rmdtest.c
-rsa_test.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-rsa_test.o: ../include/openssl/bn.h ../include/openssl/crypto.h
-rsa_test.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-rsa_test.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
-rsa_test.o: ../include/openssl/err.h ../include/openssl/lhash.h
-rsa_test.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-rsa_test.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h
-rsa_test.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-rsa_test.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-rsa_test.o: ../include/openssl/ui.h rsa_test.c
+rsa_test.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+rsa_test.o: ../include/openssl/bio.h ../include/openssl/bn.h
+rsa_test.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+rsa_test.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+rsa_test.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+rsa_test.o: ../include/openssl/engine.h ../include/openssl/err.h
+rsa_test.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
+rsa_test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+rsa_test.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+rsa_test.o: ../include/openssl/safestack.h ../include/openssl/stack.h
+rsa_test.o: ../include/openssl/symhacks.h ../include/openssl/ui.h rsa_test.c
 sha1test.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 sha1test.o: ../include/openssl/bn.h ../include/openssl/crypto.h
 sha1test.o: ../include/openssl/e_os2.h ../include/openssl/evp.h
@@ -525,21 +555,23 @@ shatest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 shatest.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
 shatest.o: ../include/openssl/sha.h ../include/openssl/stack.h
 shatest.o: ../include/openssl/symhacks.h shatest.c
-ssltest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
-ssltest.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-ssltest.o: ../include/openssl/comp.h ../include/openssl/crypto.h
-ssltest.o: ../include/openssl/dh.h ../include/openssl/dsa.h
-ssltest.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
-ssltest.o: ../include/openssl/err.h ../include/openssl/evp.h
-ssltest.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
-ssltest.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-ssltest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-ssltest.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
-ssltest.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
-ssltest.o: ../include/openssl/rand.h ../include/openssl/rsa.h
-ssltest.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-ssltest.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
-ssltest.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
-ssltest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-ssltest.o: ../include/openssl/tls1.h ../include/openssl/ui.h
-ssltest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssltest.c
+ssltest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h
+ssltest.o: ../include/openssl/bio.h ../include/openssl/bn.h
+ssltest.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+ssltest.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+ssltest.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+ssltest.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h
+ssltest.o: ../include/openssl/engine.h ../include/openssl/err.h
+ssltest.o: ../include/openssl/evp.h ../include/openssl/kssl.h
+ssltest.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+ssltest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+ssltest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+ssltest.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+ssltest.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
+ssltest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+ssltest.o: ../include/openssl/sha.h ../include/openssl/ssl.h
+ssltest.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
+ssltest.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
+ssltest.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
+ssltest.o: ../include/openssl/ui.h ../include/openssl/x509.h
+ssltest.o: ../include/openssl/x509_vfy.h ssltest.c
index adbb09a57fad59ada32d6dc91aa28412d36d252a..68f2e05854a85bc7b9645381143d85dfed99f285 100755 (executable)
@@ -2760,3 +2760,75 @@ DES_read_2passwords                     3206     EXIST::FUNCTION:DES
 DES_read_password                       3207   EXIST::FUNCTION:DES
 UI_UTIL_read_pw                         3208   EXIST::FUNCTION:
 UI_UTIL_read_pw_string                  3209   EXIST::FUNCTION:
+EC_GROUP_new_by_name                    3210   EXIST::FUNCTION:EC
+d2i_ECDSA_PUBKEY                        3211   EXIST::FUNCTION:ECDSA
+PEM_read_bio_ECDSAPrivateKey            3212   EXIST::FUNCTION:ECDSA
+ECDSA_SIG_new                           3213   EXIST::FUNCTION:ECDSA
+ECDSA_verify                            3214   EXIST::FUNCTION:ECDSA
+i2d_ECDSAParameters                     3215   EXIST::FUNCTION:ECDSA
+i2d_ECDSAPrivateKey_bio                 3216   EXIST::FUNCTION:BIO,ECDSA
+PEM_write_bio_ECDSAParameters           3217   EXIST::FUNCTION:ECDSA
+ECDSAParameters_print_fp                3218   EXIST::FUNCTION:ECDSA,FP_API
+ENGINE_set_default_ECDSA                3219   EXIST::FUNCTION:
+PEM_read_bio_ECDSA_PUBKEY               3220   EXIST::FUNCTION:ECDSA
+ECDSA_check_key                         3221   EXIST::FUNCTION:ECDSA
+ECDSA_new_method                        3222   EXIST::FUNCTION:ECDSA
+d2i_ECDSAPrivateKey_bio                 3223   EXIST::FUNCTION:BIO,ECDSA
+i2d_ECDSA_PUBKEY                        3224   EXIST::FUNCTION:ECDSA
+i2d_ECDSA_PUBKEY_fp                     3225   EXIST::FUNCTION:ECDSA,FP_API
+ENGINE_unregister_ECDSA                 3226   EXIST::FUNCTION:
+ECDSA_free                              3227   EXIST::FUNCTION:ECDSA
+ECDSAParameters_print                   3228   EXIST::FUNCTION:BIO,ECDSA
+PEM_write_bio_ECDSA_PUBKEY              3229   EXIST::FUNCTION:ECDSA
+ECDSA_set_method                        3230   EXIST::FUNCTION:ECDSA
+ECDSA_print                             3231   EXIST::FUNCTION:BIO,ECDSA
+EVP_PKEY_get1_ECDSA                     3232   EXIST::FUNCTION:ECDSA
+ECDSA_SIG_free                          3233   EXIST::FUNCTION:ECDSA
+ECDSA_get_default_openssl_method        3234   EXIST::FUNCTION:ECDSA
+ENGINE_get_default_ECDSA                3235   EXIST::FUNCTION:
+PEM_write_ECDSAPrivateKey               3236   EXIST:!WIN16:FUNCTION:ECDSA
+ECDSA_sign_setup                        3237   EXIST::FUNCTION:ECDSA
+ENGINE_get_ECDSA                        3238   EXIST::FUNCTION:
+d2i_ECDSA_PUBKEY_bio                    3239   EXIST::FUNCTION:BIO,ECDSA
+ECDSA_sign                              3240   EXIST::FUNCTION:ECDSA
+ENGINE_register_ECDSA                   3241   EXIST::FUNCTION:
+d2i_ECDSAPrivateKey_fp                  3242   EXIST::FUNCTION:ECDSA,FP_API
+ECDSA_print_fp                          3243   EXIST::FUNCTION:ECDSA,FP_API
+i2d_ECDSAPrivateKey                     3244   EXIST::FUNCTION:ECDSA
+d2i_ECDSAParameters                     3245   EXIST::FUNCTION:ECDSA
+d2i_ECDSAPublicKey                      3246   EXIST::FUNCTION:ECDSA
+PEM_write_bio_ECDSAPrivateKey           3247   EXIST::FUNCTION:ECDSA
+d2i_ECDSA_SIG                           3248   EXIST::FUNCTION:ECDSA
+ECDSA_size                              3249   EXIST::FUNCTION:ECDSA
+EC_GROUP_set_nid                        3250   EXIST::FUNCTION:EC
+EVP_PKEY_set1_ECDSA                     3251   EXIST::FUNCTION:ECDSA
+EC_GROUP_get_nid                        3252   EXIST::FUNCTION:EC
+d2i_ECDSA_PUBKEY_fp                     3253   EXIST::FUNCTION:ECDSA,FP_API
+ECDSA_OpenSSL                           3254   EXIST::FUNCTION:ECDSA
+ECDSA_get_parameter_flags               3255   EXIST::FUNCTION:ECDSA
+PEM_read_ECDSAParameters                3256   EXIST:!WIN16:FUNCTION:ECDSA
+ECDSA_get_ex_data                       3257   EXIST::FUNCTION:ECDSA
+ECDSA_do_verify                         3258   EXIST::FUNCTION:ECDSA
+ECDSA_do_sign                           3259   EXIST::FUNCTION:ECDSA
+ECDSA_set_parameter_flags               3260   EXIST::FUNCTION:ECDSA
+i2d_ECDSA_SIG                           3261   EXIST::FUNCTION:ECDSA
+PEM_read_bio_ECDSAParameters            3262   EXIST::FUNCTION:ECDSA
+ENGINE_load_aep                         3263   EXIST::FUNCTION:
+EVP_ecdsa                               3264   EXIST::FUNCTION:SHA
+ECDSA_set_default_method                3265   EXIST::FUNCTION:ECDSA
+ENGINE_set_ECDSA                        3266   EXIST::FUNCTION:
+ECDSA_get_ex_new_index                  3267   EXIST::FUNCTION:ECDSA
+i2d_ECDSAPublicKey                      3268   EXIST::FUNCTION:ECDSA
+PEM_write_ECDSA_PUBKEY                  3269   EXIST:!WIN16:FUNCTION:ECDSA
+ECDSA_set_ex_data                       3270   EXIST::FUNCTION:ECDSA
+i2d_ECDSA_PUBKEY_bio                    3271   EXIST::FUNCTION:BIO,ECDSA
+ENGINE_load_sureware                    3272   EXIST::FUNCTION:
+d2i_ECDSAPrivateKey                     3273   EXIST::FUNCTION:ECDSA
+EC_GROUP_new_by_nid                     3274   EXIST::FUNCTION:EC
+PEM_read_ECDSA_PUBKEY                   3275   EXIST:!WIN16:FUNCTION:ECDSA
+ECDSA_up_ref                            3276   EXIST::FUNCTION:ECDSA
+ENGINE_register_all_ECDSA               3277   EXIST::FUNCTION:
+ECDSA_generate_key                      3278   EXIST::FUNCTION:ECDSA
+PEM_write_ECDSAParameters               3279   EXIST:!WIN16:FUNCTION:ECDSA
+i2d_ECDSAPrivateKey_fp                  3280   EXIST::FUNCTION:ECDSA,FP_API
+PEM_read_ECDSAPrivateKey                3281   EXIST:!WIN16:FUNCTION:ECDSA
index 071036a6d2caf6b67540cc16399512f12626a86b..3ed8e53473d1d57c04445aa35cdff0b6f7a21b23 100755 (executable)
@@ -82,7 +82,7 @@ my @known_ossl_platforms = ( "VMS", "WIN16", "WIN32", "WINNT" );
 my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF",
                         "CAST", "MD2", "MD4", "MD5", "SHA", "SHA0", "SHA1",
                         "RIPEMD",
-                        "MDC2", "RSA", "DSA", "DH", "EC", "HMAC", "AES",
+                        "MDC2", "RSA", "DSA", "DH", "EC", "ECDSA", "HMAC", "AES",
                         # Envelope "algorithms"
                         "EVP", "X509", "ASN1_TYPEDEFS",
                         # Helper "algorithms"
@@ -105,7 +105,7 @@ my $no_rc2; my $no_rc4; my $no_rc5; my $no_idea; my $no_des; my $no_bf;
 my $no_cast;
 my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2;
 my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5;
-my $no_ec;
+my $no_ec; my $no_ecdsa;
 my $no_fp_api;
 
 foreach (@ARGV, split(/ /, $options))
@@ -155,6 +155,7 @@ foreach (@ARGV, split(/ /, $options))
        elsif (/^no-dsa$/)      { $no_dsa=1; }
        elsif (/^no-dh$/)       { $no_dh=1; }
        elsif (/^no-ec$/)       { $no_ec=1; }
+       elsif (/^no-ecdsa$/)    { $no_ecdsa=1; }
        elsif (/^no-hmac$/)     { $no_hmac=1; }
        elsif (/^no-aes$/)      { $no_aes=1; }
        elsif (/^no-evp$/)      { $no_evp=1; }
@@ -215,6 +216,7 @@ $crypto.=" crypto/rsa/rsa.h" ; # unless $no_rsa;
 $crypto.=" crypto/dsa/dsa.h" ; # unless $no_dsa;
 $crypto.=" crypto/dh/dh.h" ; # unless $no_dh;
 $crypto.=" crypto/ec/ec.h" ; # unless $no_ec;
+$crypto.=" crypto/ecdsa/ecdsa.h" ; # unless $no_ecdsa;
 $crypto.=" crypto/hmac/hmac.h" ; # unless $no_hmac;
 
 $crypto.=" crypto/engine/engine.h";
@@ -1022,6 +1024,7 @@ sub is_valid
                        if ($keyword eq "DSA" && $no_dsa) { return 0; }
                        if ($keyword eq "DH" && $no_dh) { return 0; }
                        if ($keyword eq "EC" && $no_ec) { return 0; }
+                       if ($keyword eq "ECDSA" && $no_ecdsa) { return 0; }
                        if ($keyword eq "HMAC" && $no_hmac) { return 0; }
                        if ($keyword eq "AES" && $no_aes) { return 0; }
                        if ($keyword eq "EVP" && $no_evp) { return 0; }
index 6c2237d1423e24df2fd65818defe4f097fee1703..4105047b217d7502dfa563bbd9f62579f393f4bb 100644 (file)
@@ -262,7 +262,7 @@ foreach $lib (keys %csrc)
        } else {
            push @out,
 "/* ====================================================================\n",
-" * Copyright (c) 2001 The OpenSSL Project.  All rights reserved.\n",
+" * Copyright (c) 2001-2002 The OpenSSL Project.  All rights reserved.\n",
 " *\n",
 " * Redistribution and use in source and binary forms, with or without\n",
 " * modification, are permitted provided that the following conditions\n",
@@ -404,7 +404,7 @@ EOF
        print OUT <<"EOF";
 /* $cfile */
 /* ====================================================================
- * Copyright (c) 1999 The OpenSSL Project.  All rights reserved.
+ * Copyright (c) 1999-2002 The OpenSSL Project.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions