summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/evp
diff options
context:
space:
mode:
authordjm <>2009-01-09 12:15:52 +0000
committerdjm <>2009-01-09 12:15:52 +0000
commit23f8d96f0f508b8bef2602049feee9c44228d34c (patch)
treea2a7787bc00e8f6a29153b8c6d9eb5e8f73d6269 /src/lib/libcrypto/evp
parent30562050421d947c3eb3c10edde6e87730b17471 (diff)
downloadopenbsd-23f8d96f0f508b8bef2602049feee9c44228d34c.tar.gz
openbsd-23f8d96f0f508b8bef2602049feee9c44228d34c.tar.bz2
openbsd-23f8d96f0f508b8bef2602049feee9c44228d34c.zip
resolve conflicts
Diffstat (limited to 'src/lib/libcrypto/evp')
-rw-r--r--src/lib/libcrypto/evp/Makefile687
-rw-r--r--src/lib/libcrypto/evp/bio_md.c9
-rw-r--r--src/lib/libcrypto/evp/digest.c154
-rw-r--r--src/lib/libcrypto/evp/e_aes.c35
-rw-r--r--src/lib/libcrypto/evp/e_des.c9
-rw-r--r--src/lib/libcrypto/evp/e_des3.c29
-rw-r--r--src/lib/libcrypto/evp/e_null.c2
-rw-r--r--src/lib/libcrypto/evp/e_rc4.c1
-rw-r--r--src/lib/libcrypto/evp/evp.h78
-rw-r--r--src/lib/libcrypto/evp/evp_acnf.c2
-rw-r--r--src/lib/libcrypto/evp/evp_enc.c254
-rw-r--r--src/lib/libcrypto/evp/evp_err.c16
-rw-r--r--src/lib/libcrypto/evp/evp_lib.c39
-rw-r--r--src/lib/libcrypto/evp/evp_locl.h30
-rw-r--r--src/lib/libcrypto/evp/evp_pbe.c2
-rw-r--r--src/lib/libcrypto/evp/evp_pkey.c2
-rw-r--r--src/lib/libcrypto/evp/m_dss.c2
-rw-r--r--src/lib/libcrypto/evp/m_dss1.c3
-rw-r--r--src/lib/libcrypto/evp/m_md2.c1
-rw-r--r--src/lib/libcrypto/evp/m_md4.c1
-rw-r--r--src/lib/libcrypto/evp/m_md5.c1
-rw-r--r--src/lib/libcrypto/evp/m_mdc2.c1
-rw-r--r--src/lib/libcrypto/evp/m_sha.c1
-rw-r--r--src/lib/libcrypto/evp/m_sha1.c7
-rw-r--r--src/lib/libcrypto/evp/names.c7
-rw-r--r--src/lib/libcrypto/evp/p5_crpt.c2
-rw-r--r--src/lib/libcrypto/evp/p5_crpt2.c2
-rw-r--r--src/lib/libcrypto/evp/p_sign.c24
-rw-r--r--src/lib/libcrypto/evp/p_verify.c26
29 files changed, 810 insertions, 617 deletions
diff --git a/src/lib/libcrypto/evp/Makefile b/src/lib/libcrypto/evp/Makefile
index 9de56dc03d..c204f84c1d 100644
--- a/src/lib/libcrypto/evp/Makefile
+++ b/src/lib/libcrypto/evp/Makefile
@@ -18,10 +18,10 @@ TESTDATA=evptests.txt
18APPS= 18APPS=
19 19
20LIB=$(TOP)/libcrypto.a 20LIB=$(TOP)/libcrypto.a
21LIBSRC= encode.c digest.c evp_enc.c evp_key.c evp_acnf.c \ 21LIBSRC= encode.c digest.c dig_eng.c evp_enc.c evp_key.c evp_acnf.c evp_cnf.c \
22 e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c\ 22 e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c\
23 e_rc4.c e_aes.c names.c e_seed.c \ 23 e_rc4.c e_aes.c names.c e_seed.c \
24 e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c \ 24 e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c enc_min.c \
25 m_null.c m_md2.c m_md4.c m_md5.c m_sha.c m_sha1.c \ 25 m_null.c m_md2.c m_md4.c m_md5.c m_sha.c m_sha1.c \
26 m_dss.c m_dss1.c m_mdc2.c m_ripemd.c m_ecdsa.c\ 26 m_dss.c m_dss1.c m_mdc2.c m_ripemd.c m_ecdsa.c\
27 p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c \ 27 p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c \
@@ -30,10 +30,10 @@ LIBSRC= encode.c digest.c evp_enc.c evp_key.c evp_acnf.c \
30 evp_pkey.c evp_pbe.c p5_crpt.c p5_crpt2.c \ 30 evp_pkey.c evp_pbe.c p5_crpt.c p5_crpt2.c \
31 e_old.c 31 e_old.c
32 32
33LIBOBJ= encode.o digest.o evp_enc.o evp_key.o evp_acnf.o \ 33LIBOBJ= encode.o digest.o dig_eng.o evp_enc.o evp_key.o evp_acnf.o evp_cnf.o \
34 e_des.o e_bf.o e_idea.o e_des3.o e_camellia.o\ 34 e_des.o e_bf.o e_idea.o e_des3.o e_camellia.o\
35 e_rc4.o e_aes.o names.o e_seed.o \ 35 e_rc4.o e_aes.o names.o e_seed.o \
36 e_xcbc_d.o e_rc2.o e_cast.o e_rc5.o \ 36 e_xcbc_d.o e_rc2.o e_cast.o e_rc5.o enc_min.o \
37 m_null.o m_md2.o m_md4.o m_md5.o m_sha.o m_sha1.o \ 37 m_null.o m_md2.o m_md4.o m_md5.o m_sha.o m_sha1.o \
38 m_dss.o m_dss1.o m_mdc2.o m_ripemd.o m_ecdsa.o\ 38 m_dss.o m_dss1.o m_mdc2.o m_ripemd.o m_ecdsa.o\
39 p_open.o p_seal.o p_sign.o p_verify.o p_lib.o p_enc.o p_dec.o \ 39 p_open.o p_seal.o p_sign.o p_verify.o p_lib.o p_enc.o p_dec.o \
@@ -55,7 +55,7 @@ top:
55all: lib 55all: lib
56 56
57lib: $(LIBOBJ) 57lib: $(LIBOBJ)
58 $(AR) $(LIB) $(LIBOBJ) 58 $(ARX) $(LIB) $(LIBOBJ)
59 $(RANLIB) $(LIB) || echo Never mind. 59 $(RANLIB) $(LIB) || echo Never mind.
60 @touch lib 60 @touch lib
61 61
@@ -101,177 +101,201 @@ bio_b64.o: ../../e_os.h ../../include/openssl/asn1.h
101bio_b64.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h 101bio_b64.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
102bio_b64.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 102bio_b64.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
103bio_b64.o: ../../include/openssl/err.h ../../include/openssl/evp.h 103bio_b64.o: ../../include/openssl/err.h ../../include/openssl/evp.h
104bio_b64.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 104bio_b64.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
105bio_b64.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 105bio_b64.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
106bio_b64.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 106bio_b64.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
107bio_b64.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 107bio_b64.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
108bio_b64.o: ../../include/openssl/symhacks.h ../cryptlib.h bio_b64.c 108bio_b64.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
109bio_b64.o: ../cryptlib.h bio_b64.c
109bio_enc.o: ../../e_os.h ../../include/openssl/asn1.h 110bio_enc.o: ../../e_os.h ../../include/openssl/asn1.h
110bio_enc.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h 111bio_enc.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
111bio_enc.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 112bio_enc.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
112bio_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h 113bio_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h
113bio_enc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 114bio_enc.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
114bio_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 115bio_enc.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
115bio_enc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 116bio_enc.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
116bio_enc.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 117bio_enc.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
117bio_enc.o: ../../include/openssl/symhacks.h ../cryptlib.h bio_enc.c 118bio_enc.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
119bio_enc.o: ../cryptlib.h bio_enc.c
118bio_md.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 120bio_md.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
119bio_md.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 121bio_md.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
120bio_md.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 122bio_md.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
121bio_md.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 123bio_md.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
122bio_md.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 124bio_md.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
123bio_md.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 125bio_md.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
124bio_md.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h 126bio_md.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
125bio_md.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 127bio_md.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
126bio_md.o: ../cryptlib.h bio_md.c 128bio_md.o: ../../include/openssl/symhacks.h ../cryptlib.h bio_md.c
127bio_ok.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 129bio_ok.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
128bio_ok.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 130bio_ok.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
129bio_ok.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 131bio_ok.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
130bio_ok.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 132bio_ok.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
131bio_ok.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 133bio_ok.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
132bio_ok.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 134bio_ok.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
133bio_ok.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h 135bio_ok.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
134bio_ok.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 136bio_ok.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
135bio_ok.o: ../../include/openssl/symhacks.h ../cryptlib.h bio_ok.c 137bio_ok.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
138bio_ok.o: ../cryptlib.h bio_ok.c
136c_all.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 139c_all.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
137c_all.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 140c_all.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
138c_all.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 141c_all.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
139c_all.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 142c_all.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
140c_all.o: ../../include/openssl/engine.h ../../include/openssl/err.h 143c_all.o: ../../include/openssl/engine.h ../../include/openssl/err.h
141c_all.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 144c_all.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
142c_all.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 145c_all.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
143c_all.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 146c_all.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
144c_all.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h 147c_all.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
145c_all.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 148c_all.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
146c_all.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 149c_all.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
147c_all.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 150c_all.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
148c_all.o: ../cryptlib.h c_all.c 151c_all.o: ../../include/openssl/x509_vfy.h ../cryptlib.h c_all.c
149c_allc.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 152c_allc.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
150c_allc.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 153c_allc.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
151c_allc.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 154c_allc.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
152c_allc.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 155c_allc.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
153c_allc.o: ../../include/openssl/err.h ../../include/openssl/evp.h 156c_allc.o: ../../include/openssl/err.h ../../include/openssl/evp.h
154c_allc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 157c_allc.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
155c_allc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 158c_allc.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
156c_allc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 159c_allc.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
157c_allc.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h 160c_allc.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h
158c_allc.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 161c_allc.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
159c_allc.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 162c_allc.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
160c_allc.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 163c_allc.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
161c_allc.o: ../cryptlib.h c_allc.c 164c_allc.o: ../../include/openssl/x509_vfy.h ../cryptlib.h c_allc.c
162c_alld.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 165c_alld.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
163c_alld.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 166c_alld.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
164c_alld.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 167c_alld.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
165c_alld.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 168c_alld.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
166c_alld.o: ../../include/openssl/err.h ../../include/openssl/evp.h 169c_alld.o: ../../include/openssl/err.h ../../include/openssl/evp.h
167c_alld.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 170c_alld.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
168c_alld.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 171c_alld.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
169c_alld.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 172c_alld.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
170c_alld.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h 173c_alld.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h
171c_alld.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 174c_alld.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
172c_alld.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 175c_alld.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
173c_alld.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 176c_alld.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
174c_alld.o: ../cryptlib.h c_alld.c 177c_alld.o: ../../include/openssl/x509_vfy.h ../cryptlib.h c_alld.c
178dig_eng.o: ../../e_os.h ../../include/openssl/asn1.h
179dig_eng.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
180dig_eng.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
181dig_eng.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
182dig_eng.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
183dig_eng.o: ../../include/openssl/err.h ../../include/openssl/evp.h
184dig_eng.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
185dig_eng.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
186dig_eng.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
187dig_eng.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
188dig_eng.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
189dig_eng.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
190dig_eng.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
191dig_eng.o: ../cryptlib.h dig_eng.c evp_locl.h
175digest.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 192digest.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
176digest.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 193digest.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
177digest.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 194digest.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
178digest.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 195digest.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
179digest.o: ../../include/openssl/engine.h ../../include/openssl/err.h 196digest.o: ../../include/openssl/engine.h ../../include/openssl/err.h
180digest.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 197digest.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
181digest.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 198digest.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
182digest.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 199digest.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
183digest.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h 200digest.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
184digest.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 201digest.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
185digest.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 202digest.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
186digest.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 203digest.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
187digest.o: ../cryptlib.h digest.c 204digest.o: ../../include/openssl/x509_vfy.h ../cryptlib.h digest.c evp_locl.h
188e_aes.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h 205e_aes.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h
189e_aes.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h 206e_aes.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
190e_aes.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 207e_aes.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
191e_aes.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 208e_aes.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
192e_aes.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 209e_aes.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
193e_aes.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 210e_aes.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
194e_aes.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h 211e_aes.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
195e_aes.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h e_aes.c 212e_aes.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
196e_aes.o: evp_locl.h 213e_aes.o: ../../include/openssl/symhacks.h e_aes.c evp_locl.h
197e_bf.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 214e_bf.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
198e_bf.o: ../../include/openssl/blowfish.h ../../include/openssl/buffer.h 215e_bf.o: ../../include/openssl/blowfish.h ../../include/openssl/buffer.h
199e_bf.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 216e_bf.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
200e_bf.o: ../../include/openssl/err.h ../../include/openssl/evp.h 217e_bf.o: ../../include/openssl/err.h ../../include/openssl/evp.h
201e_bf.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 218e_bf.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
202e_bf.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 219e_bf.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
203e_bf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 220e_bf.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
204e_bf.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 221e_bf.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
205e_bf.o: ../../include/openssl/symhacks.h ../cryptlib.h e_bf.c evp_locl.h 222e_bf.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
223e_bf.o: ../cryptlib.h e_bf.c evp_locl.h
206e_camellia.o: ../../include/openssl/opensslconf.h e_camellia.c 224e_camellia.o: ../../include/openssl/opensslconf.h e_camellia.c
207e_cast.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 225e_cast.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
208e_cast.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h 226e_cast.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
209e_cast.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 227e_cast.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
210e_cast.o: ../../include/openssl/err.h ../../include/openssl/evp.h 228e_cast.o: ../../include/openssl/err.h ../../include/openssl/evp.h
211e_cast.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 229e_cast.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
212e_cast.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 230e_cast.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
213e_cast.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 231e_cast.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
214e_cast.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 232e_cast.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
215e_cast.o: ../../include/openssl/symhacks.h ../cryptlib.h e_cast.c evp_locl.h 233e_cast.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
234e_cast.o: ../cryptlib.h e_cast.c evp_locl.h
216e_des.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 235e_des.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
217e_des.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 236e_des.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
218e_des.o: ../../include/openssl/des.h ../../include/openssl/des_old.h 237e_des.o: ../../include/openssl/des.h ../../include/openssl/des_old.h
219e_des.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 238e_des.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
220e_des.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 239e_des.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
221e_des.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 240e_des.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
222e_des.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 241e_des.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
223e_des.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h 242e_des.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
224e_des.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 243e_des.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
225e_des.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h 244e_des.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
226e_des.o: ../../include/openssl/ui_compat.h ../cryptlib.h e_des.c evp_locl.h 245e_des.o: ../../include/openssl/ui.h ../../include/openssl/ui_compat.h
246e_des.o: ../cryptlib.h e_des.c evp_locl.h
227e_des3.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 247e_des3.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
228e_des3.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 248e_des3.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
229e_des3.o: ../../include/openssl/des.h ../../include/openssl/des_old.h 249e_des3.o: ../../include/openssl/des.h ../../include/openssl/des_old.h
230e_des3.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 250e_des3.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
231e_des3.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 251e_des3.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
232e_des3.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 252e_des3.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
233e_des3.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 253e_des3.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
234e_des3.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h 254e_des3.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
235e_des3.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 255e_des3.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
236e_des3.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h 256e_des3.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
237e_des3.o: ../../include/openssl/ui_compat.h ../cryptlib.h e_des3.c evp_locl.h 257e_des3.o: ../../include/openssl/ui.h ../../include/openssl/ui_compat.h
258e_des3.o: ../cryptlib.h e_des3.c evp_locl.h
238e_idea.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 259e_idea.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
239e_idea.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 260e_idea.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
240e_idea.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 261e_idea.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
241e_idea.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 262e_idea.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
242e_idea.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 263e_idea.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
243e_idea.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 264e_idea.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
244e_idea.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 265e_idea.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
245e_idea.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 266e_idea.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
246e_idea.o: ../../include/openssl/symhacks.h ../cryptlib.h e_idea.c evp_locl.h 267e_idea.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
268e_idea.o: ../cryptlib.h e_idea.c evp_locl.h
247e_null.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 269e_null.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
248e_null.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 270e_null.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
249e_null.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 271e_null.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
250e_null.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 272e_null.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
251e_null.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 273e_null.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
252e_null.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 274e_null.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
253e_null.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h 275e_null.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
254e_null.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 276e_null.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
255e_null.o: ../cryptlib.h e_null.c 277e_null.o: ../../include/openssl/symhacks.h ../cryptlib.h e_null.c
256e_old.o: e_old.c 278e_old.o: e_old.c
257e_rc2.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 279e_rc2.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
258e_rc2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 280e_rc2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
259e_rc2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 281e_rc2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
260e_rc2.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 282e_rc2.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
261e_rc2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 283e_rc2.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
262e_rc2.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 284e_rc2.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
263e_rc2.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rc2.h 285e_rc2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
264e_rc2.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 286e_rc2.o: ../../include/openssl/rc2.h ../../include/openssl/safestack.h
265e_rc2.o: ../../include/openssl/symhacks.h ../cryptlib.h e_rc2.c evp_locl.h 287e_rc2.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
288e_rc2.o: ../cryptlib.h e_rc2.c evp_locl.h
266e_rc4.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 289e_rc4.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
267e_rc4.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 290e_rc4.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
268e_rc4.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 291e_rc4.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
269e_rc4.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 292e_rc4.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
270e_rc4.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 293e_rc4.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
271e_rc4.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 294e_rc4.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
272e_rc4.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rc4.h 295e_rc4.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
273e_rc4.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 296e_rc4.o: ../../include/openssl/rc4.h ../../include/openssl/safestack.h
274e_rc4.o: ../../include/openssl/symhacks.h ../cryptlib.h e_rc4.c 297e_rc4.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
298e_rc4.o: ../cryptlib.h e_rc4.c evp_locl.h
275e_rc5.o: ../../e_os.h ../../include/openssl/bio.h 299e_rc5.o: ../../e_os.h ../../include/openssl/bio.h
276e_rc5.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 300e_rc5.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
277e_rc5.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 301e_rc5.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
@@ -282,107 +306,141 @@ e_rc5.o: ../../include/openssl/symhacks.h ../cryptlib.h e_rc5.c
282e_seed.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 306e_seed.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
283e_seed.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 307e_seed.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
284e_seed.o: ../../include/openssl/err.h ../../include/openssl/evp.h 308e_seed.o: ../../include/openssl/err.h ../../include/openssl/evp.h
285e_seed.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 309e_seed.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
286e_seed.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 310e_seed.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
287e_seed.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 311e_seed.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
288e_seed.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 312e_seed.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
289e_seed.o: ../../include/openssl/symhacks.h e_seed.c 313e_seed.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
314e_seed.o: e_seed.c
290e_xcbc_d.o: ../../e_os.h ../../include/openssl/asn1.h 315e_xcbc_d.o: ../../e_os.h ../../include/openssl/asn1.h
291e_xcbc_d.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h 316e_xcbc_d.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
292e_xcbc_d.o: ../../include/openssl/crypto.h ../../include/openssl/des.h 317e_xcbc_d.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
293e_xcbc_d.o: ../../include/openssl/des_old.h ../../include/openssl/e_os2.h 318e_xcbc_d.o: ../../include/openssl/des_old.h ../../include/openssl/e_os2.h
294e_xcbc_d.o: ../../include/openssl/err.h ../../include/openssl/evp.h 319e_xcbc_d.o: ../../include/openssl/err.h ../../include/openssl/evp.h
295e_xcbc_d.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 320e_xcbc_d.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
296e_xcbc_d.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 321e_xcbc_d.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
322e_xcbc_d.o: ../../include/openssl/opensslconf.h
297e_xcbc_d.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 323e_xcbc_d.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
298e_xcbc_d.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 324e_xcbc_d.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
299e_xcbc_d.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h 325e_xcbc_d.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
300e_xcbc_d.o: ../../include/openssl/ui_compat.h ../cryptlib.h e_xcbc_d.c 326e_xcbc_d.o: ../../include/openssl/ui_compat.h ../cryptlib.h e_xcbc_d.c
327enc_min.o: ../../e_os.h ../../include/openssl/asn1.h
328enc_min.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
329enc_min.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
330enc_min.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
331enc_min.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
332enc_min.o: ../../include/openssl/err.h ../../include/openssl/evp.h
333enc_min.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
334enc_min.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
335enc_min.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
336enc_min.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
337enc_min.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
338enc_min.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
339enc_min.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
340enc_min.o: ../../include/openssl/x509_vfy.h ../cryptlib.h enc_min.c evp_locl.h
301encode.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 341encode.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
302encode.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 342encode.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
303encode.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 343encode.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
304encode.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 344encode.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
305encode.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 345encode.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
306encode.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 346encode.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
307encode.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h 347encode.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
308encode.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 348encode.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
309encode.o: ../cryptlib.h encode.c 349encode.o: ../../include/openssl/symhacks.h ../cryptlib.h encode.c
310evp_acnf.o: ../../e_os.h ../../include/openssl/asn1.h 350evp_acnf.o: ../../e_os.h ../../include/openssl/asn1.h
311evp_acnf.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h 351evp_acnf.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
312evp_acnf.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h 352evp_acnf.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
313evp_acnf.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 353evp_acnf.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
314evp_acnf.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 354evp_acnf.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
315evp_acnf.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 355evp_acnf.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
316evp_acnf.o: ../../include/openssl/opensslconf.h 356evp_acnf.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
317evp_acnf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 357evp_acnf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
318evp_acnf.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 358evp_acnf.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
319evp_acnf.o: ../../include/openssl/symhacks.h ../cryptlib.h evp_acnf.c 359evp_acnf.o: ../../include/openssl/symhacks.h ../cryptlib.h evp_acnf.c
360evp_cnf.o: ../../e_os.h ../../include/openssl/asn1.h
361evp_cnf.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
362evp_cnf.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
363evp_cnf.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
364evp_cnf.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
365evp_cnf.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
366evp_cnf.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
367evp_cnf.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
368evp_cnf.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
369evp_cnf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
370evp_cnf.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
371evp_cnf.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
372evp_cnf.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
373evp_cnf.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
374evp_cnf.o: ../cryptlib.h evp_cnf.c
320evp_enc.o: ../../e_os.h ../../include/openssl/asn1.h 375evp_enc.o: ../../e_os.h ../../include/openssl/asn1.h
321evp_enc.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h 376evp_enc.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
322evp_enc.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 377evp_enc.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
323evp_enc.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h 378evp_enc.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
324evp_enc.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h 379evp_enc.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
325evp_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h 380evp_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h
326evp_enc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 381evp_enc.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
327evp_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 382evp_enc.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
328evp_enc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 383evp_enc.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
329evp_enc.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h 384evp_enc.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
330evp_enc.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 385evp_enc.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
331evp_enc.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 386evp_enc.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
332evp_enc.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 387evp_enc.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
333evp_enc.o: ../cryptlib.h evp_enc.c evp_locl.h 388evp_enc.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_enc.c evp_locl.h
334evp_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 389evp_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
335evp_err.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 390evp_err.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
336evp_err.o: ../../include/openssl/err.h ../../include/openssl/evp.h 391evp_err.o: ../../include/openssl/err.h ../../include/openssl/evp.h
337evp_err.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 392evp_err.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
338evp_err.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 393evp_err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
339evp_err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 394evp_err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
340evp_err.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 395evp_err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
341evp_err.o: ../../include/openssl/symhacks.h evp_err.c 396evp_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
397evp_err.o: evp_err.c
342evp_key.o: ../../e_os.h ../../include/openssl/asn1.h 398evp_key.o: ../../e_os.h ../../include/openssl/asn1.h
343evp_key.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h 399evp_key.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
344evp_key.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 400evp_key.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
345evp_key.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h 401evp_key.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
346evp_key.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h 402evp_key.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
347evp_key.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 403evp_key.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
348evp_key.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 404evp_key.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
349evp_key.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 405evp_key.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
350evp_key.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h 406evp_key.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
351evp_key.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 407evp_key.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
352evp_key.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 408evp_key.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
353evp_key.o: ../../include/openssl/ui.h ../../include/openssl/x509.h 409evp_key.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
354evp_key.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_key.c 410evp_key.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
411evp_key.o: ../cryptlib.h evp_key.c
355evp_lib.o: ../../e_os.h ../../include/openssl/asn1.h 412evp_lib.o: ../../e_os.h ../../include/openssl/asn1.h
356evp_lib.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h 413evp_lib.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
357evp_lib.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 414evp_lib.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
358evp_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h 415evp_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
359evp_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 416evp_lib.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
360evp_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 417evp_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
361evp_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 418evp_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
362evp_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 419evp_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
363evp_lib.o: ../../include/openssl/symhacks.h ../cryptlib.h evp_lib.c 420evp_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
421evp_lib.o: ../cryptlib.h evp_lib.c
364evp_pbe.o: ../../e_os.h ../../include/openssl/asn1.h 422evp_pbe.o: ../../e_os.h ../../include/openssl/asn1.h
365evp_pbe.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h 423evp_pbe.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
366evp_pbe.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 424evp_pbe.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
367evp_pbe.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h 425evp_pbe.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
368evp_pbe.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h 426evp_pbe.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
369evp_pbe.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 427evp_pbe.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
370evp_pbe.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 428evp_pbe.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
371evp_pbe.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 429evp_pbe.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
372evp_pbe.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h 430evp_pbe.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
373evp_pbe.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 431evp_pbe.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
374evp_pbe.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 432evp_pbe.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
375evp_pbe.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 433evp_pbe.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
376evp_pbe.o: ../cryptlib.h evp_pbe.c 434evp_pbe.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_pbe.c
377evp_pkey.o: ../../e_os.h ../../include/openssl/asn1.h 435evp_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
378evp_pkey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h 436evp_pkey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
379evp_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 437evp_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
380evp_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h 438evp_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
381evp_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h 439evp_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
382evp_pkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h 440evp_pkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
383evp_pkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 441evp_pkey.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
384evp_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 442evp_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
385evp_pkey.o: ../../include/openssl/opensslconf.h 443evp_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
386evp_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 444evp_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
387evp_pkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h 445evp_pkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
388evp_pkey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 446evp_pkey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
@@ -394,106 +452,110 @@ m_dss.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
394m_dss.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h 452m_dss.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
395m_dss.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h 453m_dss.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
396m_dss.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h 454m_dss.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
397m_dss.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 455m_dss.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
398m_dss.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 456m_dss.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
399m_dss.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 457m_dss.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
400m_dss.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h 458m_dss.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
401m_dss.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 459m_dss.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
402m_dss.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 460m_dss.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
403m_dss.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 461m_dss.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
404m_dss.o: ../cryptlib.h m_dss.c 462m_dss.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_dss.c
405m_dss1.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 463m_dss1.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
406m_dss1.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 464m_dss1.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
407m_dss1.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h 465m_dss1.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
408m_dss1.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h 466m_dss1.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
409m_dss1.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h 467m_dss1.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
410m_dss1.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 468m_dss1.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
411m_dss1.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 469m_dss1.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
412m_dss1.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 470m_dss1.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
413m_dss1.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h 471m_dss1.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
414m_dss1.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 472m_dss1.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
415m_dss1.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 473m_dss1.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
416m_dss1.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 474m_dss1.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
417m_dss1.o: ../cryptlib.h m_dss1.c 475m_dss1.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_dss1.c
418m_ecdsa.o: ../../e_os.h ../../include/openssl/asn1.h 476m_ecdsa.o: ../../e_os.h ../../include/openssl/asn1.h
419m_ecdsa.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h 477m_ecdsa.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
420m_ecdsa.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 478m_ecdsa.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
421m_ecdsa.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h 479m_ecdsa.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
422m_ecdsa.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h 480m_ecdsa.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
423m_ecdsa.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 481m_ecdsa.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
424m_ecdsa.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 482m_ecdsa.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
425m_ecdsa.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 483m_ecdsa.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
426m_ecdsa.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h 484m_ecdsa.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
427m_ecdsa.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 485m_ecdsa.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
428m_ecdsa.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 486m_ecdsa.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
429m_ecdsa.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 487m_ecdsa.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
430m_ecdsa.o: ../cryptlib.h m_ecdsa.c 488m_ecdsa.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_ecdsa.c
431m_md2.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 489m_md2.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
432m_md2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 490m_md2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
433m_md2.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 491m_md2.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
434m_md2.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 492m_md2.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
435m_md2.o: ../../include/openssl/err.h ../../include/openssl/evp.h 493m_md2.o: ../../include/openssl/err.h ../../include/openssl/evp.h
436m_md2.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 494m_md2.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
437m_md2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 495m_md2.o: ../../include/openssl/md2.h ../../include/openssl/obj_mac.h
438m_md2.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 496m_md2.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
439m_md2.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h 497m_md2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
440m_md2.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 498m_md2.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
441m_md2.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 499m_md2.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
442m_md2.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h 500m_md2.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
443m_md2.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_md2.c 501m_md2.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
502m_md2.o: ../cryptlib.h evp_locl.h m_md2.c
444m_md4.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 503m_md4.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
445m_md4.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 504m_md4.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
446m_md4.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 505m_md4.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
447m_md4.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 506m_md4.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
448m_md4.o: ../../include/openssl/err.h ../../include/openssl/evp.h 507m_md4.o: ../../include/openssl/err.h ../../include/openssl/evp.h
449m_md4.o: ../../include/openssl/lhash.h ../../include/openssl/md4.h 508m_md4.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
450m_md4.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 509m_md4.o: ../../include/openssl/md4.h ../../include/openssl/obj_mac.h
451m_md4.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 510m_md4.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
452m_md4.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h 511m_md4.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
453m_md4.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 512m_md4.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
454m_md4.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 513m_md4.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
455m_md4.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h 514m_md4.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
456m_md4.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_md4.c 515m_md4.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
516m_md4.o: ../cryptlib.h evp_locl.h m_md4.c
457m_md5.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 517m_md5.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
458m_md5.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 518m_md5.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
459m_md5.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 519m_md5.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
460m_md5.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 520m_md5.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
461m_md5.o: ../../include/openssl/err.h ../../include/openssl/evp.h 521m_md5.o: ../../include/openssl/err.h ../../include/openssl/evp.h
462m_md5.o: ../../include/openssl/lhash.h ../../include/openssl/md5.h 522m_md5.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
463m_md5.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 523m_md5.o: ../../include/openssl/md5.h ../../include/openssl/obj_mac.h
464m_md5.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 524m_md5.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
465m_md5.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h 525m_md5.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
466m_md5.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 526m_md5.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
467m_md5.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 527m_md5.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
468m_md5.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h 528m_md5.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
469m_md5.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_md5.c 529m_md5.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
530m_md5.o: ../cryptlib.h evp_locl.h m_md5.c
470m_mdc2.o: ../../e_os.h ../../include/openssl/bio.h 531m_mdc2.o: ../../e_os.h ../../include/openssl/bio.h
471m_mdc2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 532m_mdc2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
472m_mdc2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 533m_mdc2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
473m_mdc2.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h 534m_mdc2.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
474m_mdc2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 535m_mdc2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
475m_mdc2.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 536m_mdc2.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
476m_mdc2.o: ../../include/openssl/symhacks.h ../cryptlib.h m_mdc2.c 537m_mdc2.o: ../../include/openssl/symhacks.h ../cryptlib.h evp_locl.h m_mdc2.c
477m_null.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 538m_null.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
478m_null.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 539m_null.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
479m_null.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 540m_null.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
480m_null.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 541m_null.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
481m_null.o: ../../include/openssl/err.h ../../include/openssl/evp.h 542m_null.o: ../../include/openssl/err.h ../../include/openssl/evp.h
482m_null.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 543m_null.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
483m_null.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 544m_null.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
484m_null.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 545m_null.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
485m_null.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h 546m_null.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
486m_null.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 547m_null.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
487m_null.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h 548m_null.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
488m_null.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_null.c 549m_null.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
550m_null.o: ../cryptlib.h m_null.c
489m_ripemd.o: ../../e_os.h ../../include/openssl/asn1.h 551m_ripemd.o: ../../e_os.h ../../include/openssl/asn1.h
490m_ripemd.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h 552m_ripemd.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
491m_ripemd.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 553m_ripemd.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
492m_ripemd.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h 554m_ripemd.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
493m_ripemd.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h 555m_ripemd.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
494m_ripemd.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 556m_ripemd.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
495m_ripemd.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 557m_ripemd.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
496m_ripemd.o: ../../include/openssl/opensslconf.h 558m_ripemd.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
497m_ripemd.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 559m_ripemd.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
498m_ripemd.o: ../../include/openssl/pkcs7.h ../../include/openssl/ripemd.h 560m_ripemd.o: ../../include/openssl/pkcs7.h ../../include/openssl/ripemd.h
499m_ripemd.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 561m_ripemd.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
@@ -505,60 +567,62 @@ m_sha.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
505m_sha.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 567m_sha.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
506m_sha.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 568m_sha.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
507m_sha.o: ../../include/openssl/err.h ../../include/openssl/evp.h 569m_sha.o: ../../include/openssl/err.h ../../include/openssl/evp.h
508m_sha.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 570m_sha.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
509m_sha.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 571m_sha.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
510m_sha.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 572m_sha.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
511m_sha.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h 573m_sha.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
512m_sha.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 574m_sha.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
513m_sha.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 575m_sha.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
514m_sha.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 576m_sha.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
515m_sha.o: ../cryptlib.h m_sha.c 577m_sha.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_locl.h m_sha.c
516m_sha1.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 578m_sha1.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
517m_sha1.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 579m_sha1.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
518m_sha1.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 580m_sha1.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
519m_sha1.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 581m_sha1.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
520m_sha1.o: ../../include/openssl/err.h ../../include/openssl/evp.h 582m_sha1.o: ../../include/openssl/err.h ../../include/openssl/evp.h
521m_sha1.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 583m_sha1.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
522m_sha1.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 584m_sha1.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
523m_sha1.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 585m_sha1.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
524m_sha1.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h 586m_sha1.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
525m_sha1.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 587m_sha1.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
526m_sha1.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 588m_sha1.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
527m_sha1.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 589m_sha1.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
528m_sha1.o: ../cryptlib.h m_sha1.c 590m_sha1.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_sha1.c
529names.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 591names.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
530names.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 592names.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
531names.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 593names.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
532names.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 594names.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
533names.o: ../../include/openssl/err.h ../../include/openssl/evp.h 595names.o: ../../include/openssl/err.h ../../include/openssl/evp.h
534names.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 596names.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
535names.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 597names.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
536names.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 598names.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
537names.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h 599names.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
538names.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 600names.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
539names.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h 601names.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
540names.o: ../../include/openssl/x509_vfy.h ../cryptlib.h names.c 602names.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
603names.o: ../cryptlib.h names.c
541p5_crpt.o: ../../e_os.h ../../include/openssl/asn1.h 604p5_crpt.o: ../../e_os.h ../../include/openssl/asn1.h
542p5_crpt.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h 605p5_crpt.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
543p5_crpt.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 606p5_crpt.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
544p5_crpt.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h 607p5_crpt.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
545p5_crpt.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h 608p5_crpt.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
546p5_crpt.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 609p5_crpt.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
547p5_crpt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 610p5_crpt.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
548p5_crpt.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 611p5_crpt.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
549p5_crpt.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h 612p5_crpt.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
550p5_crpt.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 613p5_crpt.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
551p5_crpt.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 614p5_crpt.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
552p5_crpt.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 615p5_crpt.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
553p5_crpt.o: ../cryptlib.h p5_crpt.c 616p5_crpt.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p5_crpt.c
554p5_crpt2.o: ../../e_os.h ../../include/openssl/asn1.h 617p5_crpt2.o: ../../e_os.h ../../include/openssl/asn1.h
555p5_crpt2.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h 618p5_crpt2.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
556p5_crpt2.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 619p5_crpt2.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
557p5_crpt2.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h 620p5_crpt2.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
558p5_crpt2.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h 621p5_crpt2.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
559p5_crpt2.o: ../../include/openssl/evp.h ../../include/openssl/hmac.h 622p5_crpt2.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
560p5_crpt2.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 623p5_crpt2.o: ../../include/openssl/hmac.h ../../include/openssl/lhash.h
561p5_crpt2.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 624p5_crpt2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
625p5_crpt2.o: ../../include/openssl/opensslconf.h
562p5_crpt2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 626p5_crpt2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
563p5_crpt2.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h 627p5_crpt2.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
564p5_crpt2.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 628p5_crpt2.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
@@ -569,27 +633,29 @@ p_dec.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
569p_dec.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 633p_dec.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
570p_dec.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 634p_dec.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
571p_dec.o: ../../include/openssl/err.h ../../include/openssl/evp.h 635p_dec.o: ../../include/openssl/err.h ../../include/openssl/evp.h
572p_dec.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 636p_dec.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
573p_dec.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 637p_dec.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
574p_dec.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 638p_dec.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
575p_dec.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h 639p_dec.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
576p_dec.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 640p_dec.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
577p_dec.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 641p_dec.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
578p_dec.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h 642p_dec.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
579p_dec.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_dec.c 643p_dec.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
644p_dec.o: ../cryptlib.h p_dec.c
580p_enc.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 645p_enc.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
581p_enc.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 646p_enc.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
582p_enc.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 647p_enc.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
583p_enc.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 648p_enc.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
584p_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h 649p_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h
585p_enc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 650p_enc.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
586p_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 651p_enc.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
587p_enc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 652p_enc.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
588p_enc.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h 653p_enc.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
589p_enc.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 654p_enc.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
590p_enc.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 655p_enc.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
591p_enc.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h 656p_enc.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
592p_enc.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_enc.c 657p_enc.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
658p_enc.o: ../cryptlib.h p_enc.c
593p_lib.o: ../../e_os.h ../../include/openssl/asn1.h 659p_lib.o: ../../e_os.h ../../include/openssl/asn1.h
594p_lib.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h 660p_lib.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h
595p_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h 661p_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
@@ -597,60 +663,63 @@ p_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
597p_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h 663p_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
598p_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h 664p_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
599p_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h 665p_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
600p_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 666p_lib.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
601p_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 667p_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
602p_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 668p_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
603p_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h 669p_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
604p_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 670p_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
605p_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 671p_lib.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
606p_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h 672p_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
607p_lib.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_lib.c 673p_lib.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
674p_lib.o: ../cryptlib.h p_lib.c
608p_open.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 675p_open.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
609p_open.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 676p_open.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
610p_open.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 677p_open.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
611p_open.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 678p_open.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
612p_open.o: ../../include/openssl/err.h ../../include/openssl/evp.h 679p_open.o: ../../include/openssl/err.h ../../include/openssl/evp.h
613p_open.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 680p_open.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
614p_open.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 681p_open.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
615p_open.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 682p_open.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
616p_open.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h 683p_open.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
617p_open.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 684p_open.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
618p_open.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 685p_open.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
619p_open.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 686p_open.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
620p_open.o: ../cryptlib.h p_open.c 687p_open.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_open.c
621p_seal.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 688p_seal.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
622p_seal.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 689p_seal.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
623p_seal.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 690p_seal.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
624p_seal.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 691p_seal.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
625p_seal.o: ../../include/openssl/err.h ../../include/openssl/evp.h 692p_seal.o: ../../include/openssl/err.h ../../include/openssl/evp.h
626p_seal.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 693p_seal.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
627p_seal.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 694p_seal.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
628p_seal.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 695p_seal.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
629p_seal.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h 696p_seal.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
630p_seal.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 697p_seal.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
631p_seal.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 698p_seal.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
632p_seal.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h 699p_seal.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
633p_seal.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_seal.c 700p_seal.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
701p_seal.o: ../cryptlib.h p_seal.c
634p_sign.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h 702p_sign.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
635p_sign.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 703p_sign.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
636p_sign.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h 704p_sign.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
637p_sign.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h 705p_sign.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
638p_sign.o: ../../include/openssl/err.h ../../include/openssl/evp.h 706p_sign.o: ../../include/openssl/err.h ../../include/openssl/evp.h
639p_sign.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h 707p_sign.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
640p_sign.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 708p_sign.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
641p_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 709p_sign.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
642p_sign.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h 710p_sign.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
643p_sign.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 711p_sign.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
644p_sign.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h 712p_sign.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
645p_sign.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_sign.c 713p_sign.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
714p_sign.o: ../cryptlib.h p_sign.c
646p_verify.o: ../../e_os.h ../../include/openssl/asn1.h 715p_verify.o: ../../e_os.h ../../include/openssl/asn1.h
647p_verify.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h 716p_verify.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
648p_verify.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 717p_verify.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
649p_verify.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h 718p_verify.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
650p_verify.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h 719p_verify.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
651p_verify.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h 720p_verify.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
652p_verify.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h 721p_verify.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
653p_verify.o: ../../include/openssl/opensslconf.h 722p_verify.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
654p_verify.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h 723p_verify.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
655p_verify.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h 724p_verify.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
656p_verify.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 725p_verify.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
diff --git a/src/lib/libcrypto/evp/bio_md.c b/src/lib/libcrypto/evp/bio_md.c
index d648ac6da6..ed5c1135fd 100644
--- a/src/lib/libcrypto/evp/bio_md.c
+++ b/src/lib/libcrypto/evp/bio_md.c
@@ -192,13 +192,8 @@ static long md_ctrl(BIO *b, int cmd, long num, void *ptr)
192 ret=0; 192 ret=0;
193 break; 193 break;
194 case BIO_C_GET_MD_CTX: 194 case BIO_C_GET_MD_CTX:
195 if (b->init) 195 pctx=ptr;
196 { 196 *pctx=ctx;
197 pctx=ptr;
198 *pctx=ctx;
199 }
200 else
201 ret=0;
202 break; 197 break;
203 case BIO_C_SET_MD_CTX: 198 case BIO_C_SET_MD_CTX:
204 if (b->init) 199 if (b->init)
diff --git a/src/lib/libcrypto/evp/digest.c b/src/lib/libcrypto/evp/digest.c
index 762e6d3450..3bc2d1295c 100644
--- a/src/lib/libcrypto/evp/digest.c
+++ b/src/lib/libcrypto/evp/digest.c
@@ -116,6 +116,7 @@
116#ifndef OPENSSL_NO_ENGINE 116#ifndef OPENSSL_NO_ENGINE
117#include <openssl/engine.h> 117#include <openssl/engine.h>
118#endif 118#endif
119#include "evp_locl.h"
119 120
120void EVP_MD_CTX_init(EVP_MD_CTX *ctx) 121void EVP_MD_CTX_init(EVP_MD_CTX *ctx)
121 { 122 {
@@ -137,18 +138,77 @@ int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type)
137 return EVP_DigestInit_ex(ctx, type, NULL); 138 return EVP_DigestInit_ex(ctx, type, NULL);
138 } 139 }
139 140
140int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl) 141#ifdef OPENSSL_FIPS
142
143/* The purpose of these is to trap programs that attempt to use non FIPS
144 * algorithms in FIPS mode and ignore the errors.
145 */
146
147static int bad_init(EVP_MD_CTX *ctx)
148 { FIPS_ERROR_IGNORED("Digest init"); return 0;}
149
150static int bad_update(EVP_MD_CTX *ctx,const void *data,size_t count)
151 { FIPS_ERROR_IGNORED("Digest update"); return 0;}
152
153static int bad_final(EVP_MD_CTX *ctx,unsigned char *md)
154 { FIPS_ERROR_IGNORED("Digest Final"); return 0;}
155
156static const EVP_MD bad_md =
141 { 157 {
142 EVP_MD_CTX_clear_flags(ctx,EVP_MD_CTX_FLAG_CLEANED); 158 0,
159 0,
160 0,
161 0,
162 bad_init,
163 bad_update,
164 bad_final,
165 NULL,
166 NULL,
167 NULL,
168 0,
169 {0,0,0,0},
170 };
171
172#endif
173
143#ifndef OPENSSL_NO_ENGINE 174#ifndef OPENSSL_NO_ENGINE
144 /* Whether it's nice or not, "Inits" can be used on "Final"'d contexts 175
145 * so this context may already have an ENGINE! Try to avoid releasing 176#ifdef OPENSSL_FIPS
146 * the previous handle, re-querying for an ENGINE, and having a 177
147 * reinitialisation, when it may all be unecessary. */ 178static int do_engine_null(ENGINE *impl) { return 0;}
148 if (ctx->engine && ctx->digest && (!type || 179static int do_evp_md_engine_null(EVP_MD_CTX *ctx,
149 (type && (type->type == ctx->digest->type)))) 180 const EVP_MD **ptype, ENGINE *impl)
150 goto skip_to_init; 181 { return 1; }
151 if (type) 182
183static int (*do_engine_init)(ENGINE *impl)
184 = do_engine_null;
185
186static int (*do_engine_finish)(ENGINE *impl)
187 = do_engine_null;
188
189static int (*do_evp_md_engine)
190 (EVP_MD_CTX *ctx, const EVP_MD **ptype, ENGINE *impl)
191 = do_evp_md_engine_null;
192
193void int_EVP_MD_set_engine_callbacks(
194 int (*eng_md_init)(ENGINE *impl),
195 int (*eng_md_fin)(ENGINE *impl),
196 int (*eng_md_evp)
197 (EVP_MD_CTX *ctx, const EVP_MD **ptype, ENGINE *impl))
198 {
199 do_engine_init = eng_md_init;
200 do_engine_finish = eng_md_fin;
201 do_evp_md_engine = eng_md_evp;
202 }
203
204#else
205
206#define do_engine_init ENGINE_init
207#define do_engine_finish ENGINE_finish
208
209static int do_evp_md_engine(EVP_MD_CTX *ctx, const EVP_MD **ptype, ENGINE *impl)
210 {
211 if (*ptype)
152 { 212 {
153 /* Ensure an ENGINE left lying around from last time is cleared 213 /* Ensure an ENGINE left lying around from last time is cleared
154 * (the previous check attempted to avoid this if the same 214 * (the previous check attempted to avoid this if the same
@@ -159,25 +219,25 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl)
159 { 219 {
160 if (!ENGINE_init(impl)) 220 if (!ENGINE_init(impl))
161 { 221 {
162 EVPerr(EVP_F_EVP_DIGESTINIT_EX,EVP_R_INITIALIZATION_ERROR); 222 EVPerr(EVP_F_DO_EVP_MD_ENGINE,EVP_R_INITIALIZATION_ERROR);
163 return 0; 223 return 0;
164 } 224 }
165 } 225 }
166 else 226 else
167 /* Ask if an ENGINE is reserved for this job */ 227 /* Ask if an ENGINE is reserved for this job */
168 impl = ENGINE_get_digest_engine(type->type); 228 impl = ENGINE_get_digest_engine((*ptype)->type);
169 if(impl) 229 if(impl)
170 { 230 {
171 /* There's an ENGINE for this job ... (apparently) */ 231 /* There's an ENGINE for this job ... (apparently) */
172 const EVP_MD *d = ENGINE_get_digest(impl, type->type); 232 const EVP_MD *d = ENGINE_get_digest(impl, (*ptype)->type);
173 if(!d) 233 if(!d)
174 { 234 {
175 /* Same comment from evp_enc.c */ 235 /* Same comment from evp_enc.c */
176 EVPerr(EVP_F_EVP_DIGESTINIT_EX,EVP_R_INITIALIZATION_ERROR); 236 EVPerr(EVP_F_DO_EVP_MD_ENGINE,EVP_R_INITIALIZATION_ERROR);
177 return 0; 237 return 0;
178 } 238 }
179 /* We'll use the ENGINE's private digest definition */ 239 /* We'll use the ENGINE's private digest definition */
180 type = d; 240 *ptype = d;
181 /* Store the ENGINE functional reference so we know 241 /* Store the ENGINE functional reference so we know
182 * 'type' came from an ENGINE and we need to release 242 * 'type' came from an ENGINE and we need to release
183 * it when done. */ 243 * it when done. */
@@ -189,12 +249,52 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl)
189 else 249 else
190 if(!ctx->digest) 250 if(!ctx->digest)
191 { 251 {
192 EVPerr(EVP_F_EVP_DIGESTINIT_EX,EVP_R_NO_DIGEST_SET); 252 EVPerr(EVP_F_DO_EVP_MD_ENGINE,EVP_R_NO_DIGEST_SET);
193 return 0; 253 return 0;
194 } 254 }
255 return 1;
256 }
257
258#endif
259
260#endif
261
262int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl)
263 {
264 M_EVP_MD_CTX_clear_flags(ctx,EVP_MD_CTX_FLAG_CLEANED);
265#ifdef OPENSSL_FIPS
266 if(FIPS_selftest_failed())
267 {
268 FIPSerr(FIPS_F_EVP_DIGESTINIT_EX,FIPS_R_FIPS_SELFTEST_FAILED);
269 ctx->digest = &bad_md;
270 return 0;
271 }
272#endif
273#ifndef OPENSSL_NO_ENGINE
274 /* Whether it's nice or not, "Inits" can be used on "Final"'d contexts
275 * so this context may already have an ENGINE! Try to avoid releasing
276 * the previous handle, re-querying for an ENGINE, and having a
277 * reinitialisation, when it may all be unecessary. */
278 if (ctx->engine && ctx->digest && (!type ||
279 (type && (type->type == ctx->digest->type))))
280 goto skip_to_init;
281 if (!do_evp_md_engine(ctx, &type, impl))
282 return 0;
195#endif 283#endif
196 if (ctx->digest != type) 284 if (ctx->digest != type)
197 { 285 {
286#ifdef OPENSSL_FIPS
287 if (FIPS_mode())
288 {
289 if (!(type->flags & EVP_MD_FLAG_FIPS)
290 && !(ctx->flags & EVP_MD_CTX_FLAG_NON_FIPS_ALLOW))
291 {
292 EVPerr(EVP_F_EVP_DIGESTINIT_EX, EVP_R_DISABLED_FOR_FIPS);
293 ctx->digest = &bad_md;
294 return 0;
295 }
296 }
297#endif
198 if (ctx->digest && ctx->digest->ctx_size) 298 if (ctx->digest && ctx->digest->ctx_size)
199 OPENSSL_free(ctx->md_data); 299 OPENSSL_free(ctx->md_data);
200 ctx->digest=type; 300 ctx->digest=type;
@@ -202,7 +302,7 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl)
202 ctx->md_data=OPENSSL_malloc(type->ctx_size); 302 ctx->md_data=OPENSSL_malloc(type->ctx_size);
203 } 303 }
204#ifndef OPENSSL_NO_ENGINE 304#ifndef OPENSSL_NO_ENGINE
205skip_to_init: 305 skip_to_init:
206#endif 306#endif
207 return ctx->digest->init(ctx); 307 return ctx->digest->init(ctx);
208 } 308 }
@@ -210,6 +310,9 @@ skip_to_init:
210int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *data, 310int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *data,
211 size_t count) 311 size_t count)
212 { 312 {
313#ifdef OPENSSL_FIPS
314 FIPS_selftest_check();
315#endif
213 return ctx->digest->update(ctx,data,count); 316 return ctx->digest->update(ctx,data,count);
214 } 317 }
215 318
@@ -226,6 +329,9 @@ int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *size)
226int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *size) 329int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *size)
227 { 330 {
228 int ret; 331 int ret;
332#ifdef OPENSSL_FIPS
333 FIPS_selftest_check();
334#endif
229 335
230 OPENSSL_assert(ctx->digest->md_size <= EVP_MAX_MD_SIZE); 336 OPENSSL_assert(ctx->digest->md_size <= EVP_MAX_MD_SIZE);
231 ret=ctx->digest->final(ctx,md); 337 ret=ctx->digest->final(ctx,md);
@@ -234,7 +340,7 @@ int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *size)
234 if (ctx->digest->cleanup) 340 if (ctx->digest->cleanup)
235 { 341 {
236 ctx->digest->cleanup(ctx); 342 ctx->digest->cleanup(ctx);
237 EVP_MD_CTX_set_flags(ctx,EVP_MD_CTX_FLAG_CLEANED); 343 M_EVP_MD_CTX_set_flags(ctx,EVP_MD_CTX_FLAG_CLEANED);
238 } 344 }
239 memset(ctx->md_data,0,ctx->digest->ctx_size); 345 memset(ctx->md_data,0,ctx->digest->ctx_size);
240 return ret; 346 return ret;
@@ -256,7 +362,7 @@ int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in)
256 } 362 }
257#ifndef OPENSSL_NO_ENGINE 363#ifndef OPENSSL_NO_ENGINE
258 /* Make sure it's safe to copy a digest context using an ENGINE */ 364 /* Make sure it's safe to copy a digest context using an ENGINE */
259 if (in->engine && !ENGINE_init(in->engine)) 365 if (in->engine && !do_engine_init(in->engine))
260 { 366 {
261 EVPerr(EVP_F_EVP_MD_CTX_COPY_EX,ERR_R_ENGINE_LIB); 367 EVPerr(EVP_F_EVP_MD_CTX_COPY_EX,ERR_R_ENGINE_LIB);
262 return 0; 368 return 0;
@@ -266,7 +372,7 @@ int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in)
266 if (out->digest == in->digest) 372 if (out->digest == in->digest)
267 { 373 {
268 tmp_buf = out->md_data; 374 tmp_buf = out->md_data;
269 EVP_MD_CTX_set_flags(out,EVP_MD_CTX_FLAG_REUSE); 375 M_EVP_MD_CTX_set_flags(out,EVP_MD_CTX_FLAG_REUSE);
270 } 376 }
271 else tmp_buf = NULL; 377 else tmp_buf = NULL;
272 EVP_MD_CTX_cleanup(out); 378 EVP_MD_CTX_cleanup(out);
@@ -292,7 +398,7 @@ int EVP_Digest(const void *data, size_t count,
292 int ret; 398 int ret;
293 399
294 EVP_MD_CTX_init(&ctx); 400 EVP_MD_CTX_init(&ctx);
295 EVP_MD_CTX_set_flags(&ctx,EVP_MD_CTX_FLAG_ONESHOT); 401 M_EVP_MD_CTX_set_flags(&ctx,EVP_MD_CTX_FLAG_ONESHOT);
296 ret=EVP_DigestInit_ex(&ctx, type, impl) 402 ret=EVP_DigestInit_ex(&ctx, type, impl)
297 && EVP_DigestUpdate(&ctx, data, count) 403 && EVP_DigestUpdate(&ctx, data, count)
298 && EVP_DigestFinal_ex(&ctx, md, size); 404 && EVP_DigestFinal_ex(&ctx, md, size);
@@ -314,10 +420,10 @@ int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx)
314 * because sometimes only copies of the context are ever finalised. 420 * because sometimes only copies of the context are ever finalised.
315 */ 421 */
316 if (ctx->digest && ctx->digest->cleanup 422 if (ctx->digest && ctx->digest->cleanup
317 && !EVP_MD_CTX_test_flags(ctx,EVP_MD_CTX_FLAG_CLEANED)) 423 && !M_EVP_MD_CTX_test_flags(ctx,EVP_MD_CTX_FLAG_CLEANED))
318 ctx->digest->cleanup(ctx); 424 ctx->digest->cleanup(ctx);
319 if (ctx->digest && ctx->digest->ctx_size && ctx->md_data 425 if (ctx->digest && ctx->digest->ctx_size && ctx->md_data
320 && !EVP_MD_CTX_test_flags(ctx, EVP_MD_CTX_FLAG_REUSE)) 426 && !M_EVP_MD_CTX_test_flags(ctx, EVP_MD_CTX_FLAG_REUSE))
321 { 427 {
322 OPENSSL_cleanse(ctx->md_data,ctx->digest->ctx_size); 428 OPENSSL_cleanse(ctx->md_data,ctx->digest->ctx_size);
323 OPENSSL_free(ctx->md_data); 429 OPENSSL_free(ctx->md_data);
@@ -326,7 +432,7 @@ int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx)
326 if(ctx->engine) 432 if(ctx->engine)
327 /* The EVP_MD we used belongs to an ENGINE, release the 433 /* The EVP_MD we used belongs to an ENGINE, release the
328 * functional reference we held for this reason. */ 434 * functional reference we held for this reason. */
329 ENGINE_finish(ctx->engine); 435 do_engine_finish(ctx->engine);
330#endif 436#endif
331 memset(ctx,'\0',sizeof *ctx); 437 memset(ctx,'\0',sizeof *ctx);
332 438
diff --git a/src/lib/libcrypto/evp/e_aes.c b/src/lib/libcrypto/evp/e_aes.c
index bd6c0a3a62..c9a5ee8d75 100644
--- a/src/lib/libcrypto/evp/e_aes.c
+++ b/src/lib/libcrypto/evp/e_aes.c
@@ -69,32 +69,29 @@ typedef struct
69 69
70IMPLEMENT_BLOCK_CIPHER(aes_128, ks, AES, EVP_AES_KEY, 70IMPLEMENT_BLOCK_CIPHER(aes_128, ks, AES, EVP_AES_KEY,
71 NID_aes_128, 16, 16, 16, 128, 71 NID_aes_128, 16, 16, 16, 128,
72 0, aes_init_key, NULL, 72 EVP_CIPH_FLAG_FIPS|EVP_CIPH_FLAG_DEFAULT_ASN1,
73 EVP_CIPHER_set_asn1_iv, 73 aes_init_key,
74 EVP_CIPHER_get_asn1_iv, 74 NULL, NULL, NULL, NULL)
75 NULL)
76IMPLEMENT_BLOCK_CIPHER(aes_192, ks, AES, EVP_AES_KEY, 75IMPLEMENT_BLOCK_CIPHER(aes_192, ks, AES, EVP_AES_KEY,
77 NID_aes_192, 16, 24, 16, 128, 76 NID_aes_192, 16, 24, 16, 128,
78 0, aes_init_key, NULL, 77 EVP_CIPH_FLAG_FIPS|EVP_CIPH_FLAG_DEFAULT_ASN1,
79 EVP_CIPHER_set_asn1_iv, 78 aes_init_key,
80 EVP_CIPHER_get_asn1_iv, 79 NULL, NULL, NULL, NULL)
81 NULL)
82IMPLEMENT_BLOCK_CIPHER(aes_256, ks, AES, EVP_AES_KEY, 80IMPLEMENT_BLOCK_CIPHER(aes_256, ks, AES, EVP_AES_KEY,
83 NID_aes_256, 16, 32, 16, 128, 81 NID_aes_256, 16, 32, 16, 128,
84 0, aes_init_key, NULL, 82 EVP_CIPH_FLAG_FIPS|EVP_CIPH_FLAG_DEFAULT_ASN1,
85 EVP_CIPHER_set_asn1_iv, 83 aes_init_key,
86 EVP_CIPHER_get_asn1_iv, 84 NULL, NULL, NULL, NULL)
87 NULL)
88 85
89#define IMPLEMENT_AES_CFBR(ksize,cbits) IMPLEMENT_CFBR(aes,AES,EVP_AES_KEY,ks,ksize,cbits,16) 86#define IMPLEMENT_AES_CFBR(ksize,cbits,flags) IMPLEMENT_CFBR(aes,AES,EVP_AES_KEY,ks,ksize,cbits,16,flags)
90 87
91IMPLEMENT_AES_CFBR(128,1) 88IMPLEMENT_AES_CFBR(128,1,EVP_CIPH_FLAG_FIPS)
92IMPLEMENT_AES_CFBR(192,1) 89IMPLEMENT_AES_CFBR(192,1,EVP_CIPH_FLAG_FIPS)
93IMPLEMENT_AES_CFBR(256,1) 90IMPLEMENT_AES_CFBR(256,1,EVP_CIPH_FLAG_FIPS)
94 91
95IMPLEMENT_AES_CFBR(128,8) 92IMPLEMENT_AES_CFBR(128,8,EVP_CIPH_FLAG_FIPS)
96IMPLEMENT_AES_CFBR(192,8) 93IMPLEMENT_AES_CFBR(192,8,EVP_CIPH_FLAG_FIPS)
97IMPLEMENT_AES_CFBR(256,8) 94IMPLEMENT_AES_CFBR(256,8,EVP_CIPH_FLAG_FIPS)
98 95
99static int aes_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, 96static int aes_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
100 const unsigned char *iv, int enc) 97 const unsigned char *iv, int enc)
diff --git a/src/lib/libcrypto/evp/e_des.c b/src/lib/libcrypto/evp/e_des.c
index 856323648c..04376df232 100644
--- a/src/lib/libcrypto/evp/e_des.c
+++ b/src/lib/libcrypto/evp/e_des.c
@@ -129,18 +129,21 @@ static int des_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
129 } 129 }
130 130
131BLOCK_CIPHER_defs(des, DES_key_schedule, NID_des, 8, 8, 8, 64, 131BLOCK_CIPHER_defs(des, DES_key_schedule, NID_des, 8, 8, 8, 64,
132 EVP_CIPH_RAND_KEY, des_init_key, NULL, 132 EVP_CIPH_RAND_KEY,
133 des_init_key, NULL,
133 EVP_CIPHER_set_asn1_iv, 134 EVP_CIPHER_set_asn1_iv,
134 EVP_CIPHER_get_asn1_iv, 135 EVP_CIPHER_get_asn1_iv,
135 des_ctrl) 136 des_ctrl)
136 137
137BLOCK_CIPHER_def_cfb(des,DES_key_schedule,NID_des,8,8,1, 138BLOCK_CIPHER_def_cfb(des,DES_key_schedule,NID_des,8,8,1,
138 EVP_CIPH_RAND_KEY, des_init_key,NULL, 139 EVP_CIPH_RAND_KEY,
140 des_init_key, NULL,
139 EVP_CIPHER_set_asn1_iv, 141 EVP_CIPHER_set_asn1_iv,
140 EVP_CIPHER_get_asn1_iv,des_ctrl) 142 EVP_CIPHER_get_asn1_iv,des_ctrl)
141 143
142BLOCK_CIPHER_def_cfb(des,DES_key_schedule,NID_des,8,8,8, 144BLOCK_CIPHER_def_cfb(des,DES_key_schedule,NID_des,8,8,8,
143 EVP_CIPH_RAND_KEY,des_init_key,NULL, 145 EVP_CIPH_RAND_KEY,
146 des_init_key,NULL,
144 EVP_CIPHER_set_asn1_iv, 147 EVP_CIPHER_set_asn1_iv,
145 EVP_CIPHER_get_asn1_iv,des_ctrl) 148 EVP_CIPHER_get_asn1_iv,des_ctrl)
146 149
diff --git a/src/lib/libcrypto/evp/e_des3.c b/src/lib/libcrypto/evp/e_des3.c
index ac148efab2..f910af19b1 100644
--- a/src/lib/libcrypto/evp/e_des3.c
+++ b/src/lib/libcrypto/evp/e_des3.c
@@ -111,8 +111,7 @@ static int des_ede_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
111#ifdef KSSL_DEBUG 111#ifdef KSSL_DEBUG
112 { 112 {
113 int i; 113 int i;
114 char *cp; 114 printf("des_ede_cbc_cipher(ctx=%lx, buflen=%d)\n", (unsigned long)ctx, ctx->buf_len);
115 printf("des_ede_cbc_cipher(ctx=%lx, buflen=%d)\n", ctx, ctx->buf_len);
116 printf("\t iv= "); 115 printf("\t iv= ");
117 for(i=0;i<8;i++) 116 for(i=0;i<8;i++)
118 printf("%02X",ctx->iv[i]); 117 printf("%02X",ctx->iv[i]);
@@ -164,9 +163,9 @@ static int des_ede3_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
164 } 163 }
165 164
166BLOCK_CIPHER_defs(des_ede, DES_EDE_KEY, NID_des_ede, 8, 16, 8, 64, 165BLOCK_CIPHER_defs(des_ede, DES_EDE_KEY, NID_des_ede, 8, 16, 8, 64,
167 EVP_CIPH_RAND_KEY, des_ede_init_key, NULL, 166 EVP_CIPH_RAND_KEY|EVP_CIPH_FLAG_FIPS|EVP_CIPH_FLAG_DEFAULT_ASN1,
168 EVP_CIPHER_set_asn1_iv, 167 des_ede_init_key,
169 EVP_CIPHER_get_asn1_iv, 168 NULL, NULL, NULL,
170 des3_ctrl) 169 des3_ctrl)
171 170
172#define des_ede3_cfb64_cipher des_ede_cfb64_cipher 171#define des_ede3_cfb64_cipher des_ede_cfb64_cipher
@@ -175,21 +174,21 @@ BLOCK_CIPHER_defs(des_ede, DES_EDE_KEY, NID_des_ede, 8, 16, 8, 64,
175#define des_ede3_ecb_cipher des_ede_ecb_cipher 174#define des_ede3_ecb_cipher des_ede_ecb_cipher
176 175
177BLOCK_CIPHER_defs(des_ede3, DES_EDE_KEY, NID_des_ede3, 8, 24, 8, 64, 176BLOCK_CIPHER_defs(des_ede3, DES_EDE_KEY, NID_des_ede3, 8, 24, 8, 64,
178 EVP_CIPH_RAND_KEY, des_ede3_init_key, NULL, 177 EVP_CIPH_RAND_KEY|EVP_CIPH_FLAG_FIPS|EVP_CIPH_FLAG_DEFAULT_ASN1,
179 EVP_CIPHER_set_asn1_iv, 178 des_ede3_init_key,
180 EVP_CIPHER_get_asn1_iv, 179 NULL, NULL, NULL,
181 des3_ctrl) 180 des3_ctrl)
182 181
183BLOCK_CIPHER_def_cfb(des_ede3,DES_EDE_KEY,NID_des_ede3,24,8,1, 182BLOCK_CIPHER_def_cfb(des_ede3,DES_EDE_KEY,NID_des_ede3,24,8,1,
184 EVP_CIPH_RAND_KEY, des_ede3_init_key,NULL, 183 EVP_CIPH_RAND_KEY|EVP_CIPH_FLAG_FIPS|EVP_CIPH_FLAG_DEFAULT_ASN1,
185 EVP_CIPHER_set_asn1_iv, 184 des_ede3_init_key,
186 EVP_CIPHER_get_asn1_iv, 185 NULL, NULL, NULL,
187 des3_ctrl) 186 des3_ctrl)
188 187
189BLOCK_CIPHER_def_cfb(des_ede3,DES_EDE_KEY,NID_des_ede3,24,8,8, 188BLOCK_CIPHER_def_cfb(des_ede3,DES_EDE_KEY,NID_des_ede3,24,8,8,
190 EVP_CIPH_RAND_KEY, des_ede3_init_key,NULL, 189 EVP_CIPH_RAND_KEY|EVP_CIPH_FLAG_FIPS|EVP_CIPH_FLAG_DEFAULT_ASN1,
191 EVP_CIPHER_set_asn1_iv, 190 des_ede3_init_key,
192 EVP_CIPHER_get_asn1_iv, 191 NULL, NULL, NULL,
193 des3_ctrl) 192 des3_ctrl)
194 193
195static int des_ede_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, 194static int des_ede_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
@@ -216,7 +215,7 @@ static int des_ede3_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
216#ifdef KSSL_DEBUG 215#ifdef KSSL_DEBUG
217 { 216 {
218 int i; 217 int i;
219 printf("des_ede3_init_key(ctx=%lx)\n", ctx); 218 printf("des_ede3_init_key(ctx=%lx)\n", (unsigned long)ctx);
220 printf("\tKEY= "); 219 printf("\tKEY= ");
221 for(i=0;i<24;i++) printf("%02X",key[i]); printf("\n"); 220 for(i=0;i<24;i++) printf("%02X",key[i]); printf("\n");
222 printf("\t IV= "); 221 printf("\t IV= ");
diff --git a/src/lib/libcrypto/evp/e_null.c b/src/lib/libcrypto/evp/e_null.c
index 5205259f18..0872d733e4 100644
--- a/src/lib/libcrypto/evp/e_null.c
+++ b/src/lib/libcrypto/evp/e_null.c
@@ -69,7 +69,7 @@ static const EVP_CIPHER n_cipher=
69 { 69 {
70 NID_undef, 70 NID_undef,
71 1,0,0, 71 1,0,0,
72 0, 72 EVP_CIPH_FLAG_FIPS,
73 null_init_key, 73 null_init_key,
74 null_cipher, 74 null_cipher,
75 NULL, 75 NULL,
diff --git a/src/lib/libcrypto/evp/e_rc4.c b/src/lib/libcrypto/evp/e_rc4.c
index 67af850bea..55baad7446 100644
--- a/src/lib/libcrypto/evp/e_rc4.c
+++ b/src/lib/libcrypto/evp/e_rc4.c
@@ -64,6 +64,7 @@
64#include <openssl/evp.h> 64#include <openssl/evp.h>
65#include <openssl/objects.h> 65#include <openssl/objects.h>
66#include <openssl/rc4.h> 66#include <openssl/rc4.h>
67#include "evp_locl.h"
67 68
68/* FIXME: surely this is available elsewhere? */ 69/* FIXME: surely this is available elsewhere? */
69#define EVP_RC4_KEY_SIZE 16 70#define EVP_RC4_KEY_SIZE 16
diff --git a/src/lib/libcrypto/evp/evp.h b/src/lib/libcrypto/evp/evp.h
index 1aa2d6fb35..51011f2b14 100644
--- a/src/lib/libcrypto/evp/evp.h
+++ b/src/lib/libcrypto/evp/evp.h
@@ -75,6 +75,10 @@
75#include <openssl/bio.h> 75#include <openssl/bio.h>
76#endif 76#endif
77 77
78#ifdef OPENSSL_FIPS
79#include <openssl/fips.h>
80#endif
81
78/* 82/*
79#define EVP_RC2_KEY_SIZE 16 83#define EVP_RC2_KEY_SIZE 16
80#define EVP_RC4_KEY_SIZE 16 84#define EVP_RC4_KEY_SIZE 16
@@ -250,9 +254,19 @@ typedef int evp_verify_method(int type,const unsigned char *m,
250 unsigned int m_length,const unsigned char *sigbuf, 254 unsigned int m_length,const unsigned char *sigbuf,
251 unsigned int siglen, void *key); 255 unsigned int siglen, void *key);
252 256
257typedef struct
258 {
259 EVP_MD_CTX *mctx;
260 void *key;
261 } EVP_MD_SVCTX;
262
253#define EVP_MD_FLAG_ONESHOT 0x0001 /* digest can only handle a single 263#define EVP_MD_FLAG_ONESHOT 0x0001 /* digest can only handle a single
254 * block */ 264 * block */
255 265
266#define EVP_MD_FLAG_FIPS 0x0400 /* Note if suitable for use in FIPS mode */
267
268#define EVP_MD_FLAG_SVCTX 0x0800 /* pass EVP_MD_SVCTX to sign/verify */
269
256#define EVP_PKEY_NULL_method NULL,NULL,{0,0,0,0} 270#define EVP_PKEY_NULL_method NULL,NULL,{0,0,0,0}
257 271
258#ifndef OPENSSL_NO_DSA 272#ifndef OPENSSL_NO_DSA
@@ -306,6 +320,15 @@ struct env_md_ctx_st
306#define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008 /* Allow use of non FIPS digest 320#define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008 /* Allow use of non FIPS digest
307 * in FIPS mode */ 321 * in FIPS mode */
308 322
323#define EVP_MD_CTX_FLAG_PAD_MASK 0xF0 /* RSA mode to use */
324#define EVP_MD_CTX_FLAG_PAD_PKCS1 0x00 /* PKCS#1 v1.5 mode */
325#define EVP_MD_CTX_FLAG_PAD_X931 0x10 /* X9.31 mode */
326#define EVP_MD_CTX_FLAG_PAD_PSS 0x20 /* PSS mode */
327#define M_EVP_MD_CTX_FLAG_PSS_SALT(ctx) \
328 ((ctx->flags>>16) &0xFFFF) /* seed length */
329#define EVP_MD_CTX_FLAG_PSS_MDLEN 0xFFFF /* salt len same as digest */
330#define EVP_MD_CTX_FLAG_PSS_MREC 0xFFFE /* salt max or auto recovered */
331
309struct evp_cipher_st 332struct evp_cipher_st
310 { 333 {
311 int nid; 334 int nid;
@@ -349,6 +372,14 @@ struct evp_cipher_st
349#define EVP_CIPH_NO_PADDING 0x100 372#define EVP_CIPH_NO_PADDING 0x100
350/* cipher handles random key generation */ 373/* cipher handles random key generation */
351#define EVP_CIPH_RAND_KEY 0x200 374#define EVP_CIPH_RAND_KEY 0x200
375/* Note if suitable for use in FIPS mode */
376#define EVP_CIPH_FLAG_FIPS 0x400
377/* Allow non FIPS cipher in FIPS mode */
378#define EVP_CIPH_FLAG_NON_FIPS_ALLOW 0x800
379/* Allow use default ASN1 get/set iv */
380#define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000
381/* Buffer length in bits not bytes: CFB1 mode only */
382#define EVP_CIPH_FLAG_LENGTH_BITS 0x2000
352 383
353/* ctrl() values */ 384/* ctrl() values */
354 385
@@ -432,6 +463,18 @@ typedef int (EVP_PBE_KEYGEN)(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
432#define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a)) 463#define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a))
433#define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a)) 464#define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a))
434 465
466/* Macros to reduce FIPS dependencies: do NOT use in applications */
467#define M_EVP_MD_size(e) ((e)->md_size)
468#define M_EVP_MD_block_size(e) ((e)->block_size)
469#define M_EVP_MD_CTX_set_flags(ctx,flgs) ((ctx)->flags|=(flgs))
470#define M_EVP_MD_CTX_clear_flags(ctx,flgs) ((ctx)->flags&=~(flgs))
471#define M_EVP_MD_CTX_test_flags(ctx,flgs) ((ctx)->flags&(flgs))
472#define M_EVP_MD_type(e) ((e)->type)
473#define M_EVP_MD_CTX_type(e) M_EVP_MD_type(M_EVP_MD_CTX_md(e))
474#define M_EVP_MD_CTX_md(e) ((e)->digest)
475
476#define M_EVP_CIPHER_CTX_set_flags(ctx,flgs) ((ctx)->flags|=(flgs))
477
435int EVP_MD_type(const EVP_MD *md); 478int EVP_MD_type(const EVP_MD *md);
436#define EVP_MD_nid(e) EVP_MD_type(e) 479#define EVP_MD_nid(e) EVP_MD_type(e)
437#define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e)) 480#define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e))
@@ -527,6 +570,10 @@ int EVP_BytesToKey(const EVP_CIPHER *type,const EVP_MD *md,
527 const unsigned char *salt, const unsigned char *data, 570 const unsigned char *salt, const unsigned char *data,
528 int datal, int count, unsigned char *key,unsigned char *iv); 571 int datal, int count, unsigned char *key,unsigned char *iv);
529 572
573void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags);
574void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags);
575int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx,int flags);
576
530int EVP_EncryptInit(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, 577int EVP_EncryptInit(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher,
531 const unsigned char *key, const unsigned char *iv); 578 const unsigned char *key, const unsigned char *iv);
532int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, ENGINE *impl, 579int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, ENGINE *impl,
@@ -885,6 +932,24 @@ int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md,
885 EVP_PBE_KEYGEN *keygen); 932 EVP_PBE_KEYGEN *keygen);
886void EVP_PBE_cleanup(void); 933void EVP_PBE_cleanup(void);
887 934
935#ifdef OPENSSL_FIPS
936#ifndef OPENSSL_NO_ENGINE
937void int_EVP_MD_set_engine_callbacks(
938 int (*eng_md_init)(ENGINE *impl),
939 int (*eng_md_fin)(ENGINE *impl),
940 int (*eng_md_evp)
941 (EVP_MD_CTX *ctx, const EVP_MD **ptype, ENGINE *impl));
942void int_EVP_MD_init_engine_callbacks(void);
943void int_EVP_CIPHER_set_engine_callbacks(
944 int (*eng_ciph_fin)(ENGINE *impl),
945 int (*eng_ciph_evp)
946 (EVP_CIPHER_CTX *ctx, const EVP_CIPHER **pciph, ENGINE *impl));
947void int_EVP_CIPHER_init_engine_callbacks(void);
948#endif
949#endif
950
951void EVP_add_alg_module(void);
952
888/* BEGIN ERROR CODES */ 953/* BEGIN ERROR CODES */
889/* The following lines are auto generated by the script mkerr.pl. Any changes 954/* The following lines are auto generated by the script mkerr.pl. Any changes
890 * made after this point may be overwritten when the script is next run. 955 * made after this point may be overwritten when the script is next run.
@@ -895,16 +960,23 @@ void ERR_load_EVP_strings(void);
895 960
896/* Function codes. */ 961/* Function codes. */
897#define EVP_F_AES_INIT_KEY 133 962#define EVP_F_AES_INIT_KEY 133
963#define EVP_F_ALG_MODULE_INIT 138
898#define EVP_F_CAMELLIA_INIT_KEY 159 964#define EVP_F_CAMELLIA_INIT_KEY 159
899#define EVP_F_D2I_PKEY 100 965#define EVP_F_D2I_PKEY 100
966#define EVP_F_DO_EVP_ENC_ENGINE 140
967#define EVP_F_DO_EVP_ENC_ENGINE_FULL 141
968#define EVP_F_DO_EVP_MD_ENGINE 139
969#define EVP_F_DO_EVP_MD_ENGINE_FULL 142
900#define EVP_F_DSAPKEY2PKCS8 134 970#define EVP_F_DSAPKEY2PKCS8 134
901#define EVP_F_DSA_PKEY2PKCS8 135 971#define EVP_F_DSA_PKEY2PKCS8 135
902#define EVP_F_ECDSA_PKEY2PKCS8 129 972#define EVP_F_ECDSA_PKEY2PKCS8 129
903#define EVP_F_ECKEY_PKEY2PKCS8 132 973#define EVP_F_ECKEY_PKEY2PKCS8 132
974#define EVP_F_EVP_CIPHERINIT 137
904#define EVP_F_EVP_CIPHERINIT_EX 123 975#define EVP_F_EVP_CIPHERINIT_EX 123
905#define EVP_F_EVP_CIPHER_CTX_CTRL 124 976#define EVP_F_EVP_CIPHER_CTX_CTRL 124
906#define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 977#define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122
907#define EVP_F_EVP_DECRYPTFINAL_EX 101 978#define EVP_F_EVP_DECRYPTFINAL_EX 101
979#define EVP_F_EVP_DIGESTINIT 136
908#define EVP_F_EVP_DIGESTINIT_EX 128 980#define EVP_F_EVP_DIGESTINIT_EX 128
909#define EVP_F_EVP_ENCRYPTFINAL_EX 127 981#define EVP_F_EVP_ENCRYPTFINAL_EX 127
910#define EVP_F_EVP_MD_CTX_COPY_EX 110 982#define EVP_F_EVP_MD_CTX_COPY_EX 110
@@ -946,15 +1018,20 @@ void ERR_load_EVP_strings(void);
946#define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 138 1018#define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 138
947#define EVP_R_DECODE_ERROR 114 1019#define EVP_R_DECODE_ERROR 114
948#define EVP_R_DIFFERENT_KEY_TYPES 101 1020#define EVP_R_DIFFERENT_KEY_TYPES 101
1021#define EVP_R_DISABLED_FOR_FIPS 144
949#define EVP_R_ENCODE_ERROR 115 1022#define EVP_R_ENCODE_ERROR 115
1023#define EVP_R_ERROR_LOADING_SECTION 145
1024#define EVP_R_ERROR_SETTING_FIPS_MODE 146
950#define EVP_R_EVP_PBE_CIPHERINIT_ERROR 119 1025#define EVP_R_EVP_PBE_CIPHERINIT_ERROR 119
951#define EVP_R_EXPECTING_AN_RSA_KEY 127 1026#define EVP_R_EXPECTING_AN_RSA_KEY 127
952#define EVP_R_EXPECTING_A_DH_KEY 128 1027#define EVP_R_EXPECTING_A_DH_KEY 128
953#define EVP_R_EXPECTING_A_DSA_KEY 129 1028#define EVP_R_EXPECTING_A_DSA_KEY 129
954#define EVP_R_EXPECTING_A_ECDSA_KEY 141 1029#define EVP_R_EXPECTING_A_ECDSA_KEY 141
955#define EVP_R_EXPECTING_A_EC_KEY 142 1030#define EVP_R_EXPECTING_A_EC_KEY 142
1031#define EVP_R_FIPS_MODE_NOT_SUPPORTED 147
956#define EVP_R_INITIALIZATION_ERROR 134 1032#define EVP_R_INITIALIZATION_ERROR 134
957#define EVP_R_INPUT_NOT_INITIALIZED 111 1033#define EVP_R_INPUT_NOT_INITIALIZED 111
1034#define EVP_R_INVALID_FIPS_MODE 148
958#define EVP_R_INVALID_KEY_LENGTH 130 1035#define EVP_R_INVALID_KEY_LENGTH 130
959#define EVP_R_IV_TOO_LARGE 102 1036#define EVP_R_IV_TOO_LARGE 102
960#define EVP_R_KEYGEN_FAILURE 120 1037#define EVP_R_KEYGEN_FAILURE 120
@@ -966,6 +1043,7 @@ void ERR_load_EVP_strings(void);
966#define EVP_R_NO_VERIFY_FUNCTION_CONFIGURED 105 1043#define EVP_R_NO_VERIFY_FUNCTION_CONFIGURED 105
967#define EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE 117 1044#define EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE 117
968#define EVP_R_PUBLIC_KEY_NOT_RSA 106 1045#define EVP_R_PUBLIC_KEY_NOT_RSA 106
1046#define EVP_R_UNKNOWN_OPTION 149
969#define EVP_R_UNKNOWN_PBE_ALGORITHM 121 1047#define EVP_R_UNKNOWN_PBE_ALGORITHM 121
970#define EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS 135 1048#define EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS 135
971#define EVP_R_UNSUPPORTED_CIPHER 107 1049#define EVP_R_UNSUPPORTED_CIPHER 107
diff --git a/src/lib/libcrypto/evp/evp_acnf.c b/src/lib/libcrypto/evp/evp_acnf.c
index ff3e311cc5..643a1864e8 100644
--- a/src/lib/libcrypto/evp/evp_acnf.c
+++ b/src/lib/libcrypto/evp/evp_acnf.c
@@ -1,5 +1,5 @@
1/* evp_acnf.c */ 1/* evp_acnf.c */
2/* Written by Stephen Henson (shenson@bigfoot.com) for the OpenSSL 2/* Written by Stephen Henson (steve@openssl.org) for the OpenSSL
3 * project 2001. 3 * project 2001.
4 */ 4 */
5/* ==================================================================== 5/* ====================================================================
diff --git a/src/lib/libcrypto/evp/evp_enc.c b/src/lib/libcrypto/evp/evp_enc.c
index 6e582c458d..30e0ca4d9f 100644
--- a/src/lib/libcrypto/evp/evp_enc.c
+++ b/src/lib/libcrypto/evp/evp_enc.c
@@ -66,13 +66,15 @@
66#endif 66#endif
67#include "evp_locl.h" 67#include "evp_locl.h"
68 68
69const char EVP_version[]="EVP" OPENSSL_VERSION_PTEXT; 69#ifdef OPENSSL_FIPS
70 #define M_do_cipher(ctx, out, in, inl) \
71 EVP_Cipher(ctx,out,in,inl)
72#else
73 #define M_do_cipher(ctx, out, in, inl) \
74 ctx->cipher->do_cipher(ctx,out,in,inl)
75#endif
70 76
71void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *ctx) 77const char EVP_version[]="EVP" OPENSSL_VERSION_PTEXT;
72 {
73 memset(ctx,0,sizeof(EVP_CIPHER_CTX));
74 /* ctx->cipher=NULL; */
75 }
76 78
77EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void) 79EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void)
78 { 80 {
@@ -90,144 +92,6 @@ int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
90 return EVP_CipherInit_ex(ctx,cipher,NULL,key,iv,enc); 92 return EVP_CipherInit_ex(ctx,cipher,NULL,key,iv,enc);
91 } 93 }
92 94
93int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl,
94 const unsigned char *key, const unsigned char *iv, int enc)
95 {
96 if (enc == -1)
97 enc = ctx->encrypt;
98 else
99 {
100 if (enc)
101 enc = 1;
102 ctx->encrypt = enc;
103 }
104#ifndef OPENSSL_NO_ENGINE
105 /* Whether it's nice or not, "Inits" can be used on "Final"'d contexts
106 * so this context may already have an ENGINE! Try to avoid releasing
107 * the previous handle, re-querying for an ENGINE, and having a
108 * reinitialisation, when it may all be unecessary. */
109 if (ctx->engine && ctx->cipher && (!cipher ||
110 (cipher && (cipher->nid == ctx->cipher->nid))))
111 goto skip_to_init;
112#endif
113 if (cipher)
114 {
115 /* Ensure a context left lying around from last time is cleared
116 * (the previous check attempted to avoid this if the same
117 * ENGINE and EVP_CIPHER could be used). */
118 EVP_CIPHER_CTX_cleanup(ctx);
119
120 /* Restore encrypt field: it is zeroed by cleanup */
121 ctx->encrypt = enc;
122#ifndef OPENSSL_NO_ENGINE
123 if(impl)
124 {
125 if (!ENGINE_init(impl))
126 {
127 EVPerr(EVP_F_EVP_CIPHERINIT_EX, EVP_R_INITIALIZATION_ERROR);
128 return 0;
129 }
130 }
131 else
132 /* Ask if an ENGINE is reserved for this job */
133 impl = ENGINE_get_cipher_engine(cipher->nid);
134 if(impl)
135 {
136 /* There's an ENGINE for this job ... (apparently) */
137 const EVP_CIPHER *c = ENGINE_get_cipher(impl, cipher->nid);
138 if(!c)
139 {
140 /* One positive side-effect of US's export
141 * control history, is that we should at least
142 * be able to avoid using US mispellings of
143 * "initialisation"? */
144 EVPerr(EVP_F_EVP_CIPHERINIT_EX, EVP_R_INITIALIZATION_ERROR);
145 return 0;
146 }
147 /* We'll use the ENGINE's private cipher definition */
148 cipher = c;
149 /* Store the ENGINE functional reference so we know
150 * 'cipher' came from an ENGINE and we need to release
151 * it when done. */
152 ctx->engine = impl;
153 }
154 else
155 ctx->engine = NULL;
156#endif
157
158 ctx->cipher=cipher;
159 if (ctx->cipher->ctx_size)
160 {
161 ctx->cipher_data=OPENSSL_malloc(ctx->cipher->ctx_size);
162 if (!ctx->cipher_data)
163 {
164 EVPerr(EVP_F_EVP_CIPHERINIT_EX, ERR_R_MALLOC_FAILURE);
165 return 0;
166 }
167 }
168 else
169 {
170 ctx->cipher_data = NULL;
171 }
172 ctx->key_len = cipher->key_len;
173 ctx->flags = 0;
174 if(ctx->cipher->flags & EVP_CIPH_CTRL_INIT)
175 {
176 if(!EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_INIT, 0, NULL))
177 {
178 EVPerr(EVP_F_EVP_CIPHERINIT_EX, EVP_R_INITIALIZATION_ERROR);
179 return 0;
180 }
181 }
182 }
183 else if(!ctx->cipher)
184 {
185 EVPerr(EVP_F_EVP_CIPHERINIT_EX, EVP_R_NO_CIPHER_SET);
186 return 0;
187 }
188#ifndef OPENSSL_NO_ENGINE
189skip_to_init:
190#endif
191 /* we assume block size is a power of 2 in *cryptUpdate */
192 OPENSSL_assert(ctx->cipher->block_size == 1
193 || ctx->cipher->block_size == 8
194 || ctx->cipher->block_size == 16);
195
196 if(!(EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_CUSTOM_IV)) {
197 switch(EVP_CIPHER_CTX_mode(ctx)) {
198
199 case EVP_CIPH_STREAM_CIPHER:
200 case EVP_CIPH_ECB_MODE:
201 break;
202
203 case EVP_CIPH_CFB_MODE:
204 case EVP_CIPH_OFB_MODE:
205
206 ctx->num = 0;
207
208 case EVP_CIPH_CBC_MODE:
209
210 OPENSSL_assert(EVP_CIPHER_CTX_iv_length(ctx) <=
211 (int)sizeof(ctx->iv));
212 if(iv) memcpy(ctx->oiv, iv, EVP_CIPHER_CTX_iv_length(ctx));
213 memcpy(ctx->iv, ctx->oiv, EVP_CIPHER_CTX_iv_length(ctx));
214 break;
215
216 default:
217 return 0;
218 break;
219 }
220 }
221
222 if(key || (ctx->cipher->flags & EVP_CIPH_ALWAYS_CALL_INIT)) {
223 if(!ctx->cipher->init(ctx,key,iv,enc)) return 0;
224 }
225 ctx->buf_len=0;
226 ctx->final_used=0;
227 ctx->block_mask=ctx->cipher->block_size-1;
228 return 1;
229 }
230
231int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, 95int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
232 const unsigned char *in, int inl) 96 const unsigned char *in, int inl)
233 { 97 {
@@ -287,7 +151,7 @@ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
287 151
288 if(ctx->buf_len == 0 && (inl&(ctx->block_mask)) == 0) 152 if(ctx->buf_len == 0 && (inl&(ctx->block_mask)) == 0)
289 { 153 {
290 if(ctx->cipher->do_cipher(ctx,out,in,inl)) 154 if(M_do_cipher(ctx,out,in,inl))
291 { 155 {
292 *outl=inl; 156 *outl=inl;
293 return 1; 157 return 1;
@@ -314,7 +178,7 @@ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
314 { 178 {
315 j=bl-i; 179 j=bl-i;
316 memcpy(&(ctx->buf[i]),in,j); 180 memcpy(&(ctx->buf[i]),in,j);
317 if(!ctx->cipher->do_cipher(ctx,out,ctx->buf,bl)) return 0; 181 if(!M_do_cipher(ctx,out,ctx->buf,bl)) return 0;
318 inl-=j; 182 inl-=j;
319 in+=j; 183 in+=j;
320 out+=bl; 184 out+=bl;
@@ -327,7 +191,7 @@ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
327 inl-=i; 191 inl-=i;
328 if (inl > 0) 192 if (inl > 0)
329 { 193 {
330 if(!ctx->cipher->do_cipher(ctx,out,in,inl)) return 0; 194 if(!M_do_cipher(ctx,out,in,inl)) return 0;
331 *outl+=inl; 195 *outl+=inl;
332 } 196 }
333 197
@@ -371,7 +235,7 @@ int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl)
371 n=b-bl; 235 n=b-bl;
372 for (i=bl; i<b; i++) 236 for (i=bl; i<b; i++)
373 ctx->buf[i]=n; 237 ctx->buf[i]=n;
374 ret=ctx->cipher->do_cipher(ctx,out,ctx->buf,b); 238 ret=M_do_cipher(ctx,out,ctx->buf,b);
375 239
376 240
377 if(ret) 241 if(ret)
@@ -493,28 +357,6 @@ void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx)
493 } 357 }
494 } 358 }
495 359
496int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *c)
497 {
498 if (c->cipher != NULL)
499 {
500 if(c->cipher->cleanup && !c->cipher->cleanup(c))
501 return 0;
502 /* Cleanse cipher context data */
503 if (c->cipher_data)
504 OPENSSL_cleanse(c->cipher_data, c->cipher->ctx_size);
505 }
506 if (c->cipher_data)
507 OPENSSL_free(c->cipher_data);
508#ifndef OPENSSL_NO_ENGINE
509 if (c->engine)
510 /* The EVP_CIPHER we used belongs to an ENGINE, release the
511 * functional reference we held for this reason. */
512 ENGINE_finish(c->engine);
513#endif
514 memset(c,0,sizeof(EVP_CIPHER_CTX));
515 return 1;
516 }
517
518int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *c, int keylen) 360int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *c, int keylen)
519 { 361 {
520 if(c->cipher->flags & EVP_CIPH_CUSTOM_KEY_LENGTH) 362 if(c->cipher->flags & EVP_CIPH_CUSTOM_KEY_LENGTH)
@@ -536,27 +378,6 @@ int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *ctx, int pad)
536 return 1; 378 return 1;
537 } 379 }
538 380
539int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr)
540{
541 int ret;
542 if(!ctx->cipher) {
543 EVPerr(EVP_F_EVP_CIPHER_CTX_CTRL, EVP_R_NO_CIPHER_SET);
544 return 0;
545 }
546
547 if(!ctx->cipher->ctrl) {
548 EVPerr(EVP_F_EVP_CIPHER_CTX_CTRL, EVP_R_CTRL_NOT_IMPLEMENTED);
549 return 0;
550 }
551
552 ret = ctx->cipher->ctrl(ctx, type, arg, ptr);
553 if(ret == -1) {
554 EVPerr(EVP_F_EVP_CIPHER_CTX_CTRL, EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED);
555 return 0;
556 }
557 return ret;
558}
559
560int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key) 381int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key)
561 { 382 {
562 if (ctx->cipher->flags & EVP_CIPH_RAND_KEY) 383 if (ctx->cipher->flags & EVP_CIPH_RAND_KEY)
@@ -566,3 +387,54 @@ int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key)
566 return 1; 387 return 1;
567 } 388 }
568 389
390#ifndef OPENSSL_NO_ENGINE
391
392#ifdef OPENSSL_FIPS
393
394static int do_evp_enc_engine_full(EVP_CIPHER_CTX *ctx, const EVP_CIPHER **pcipher, ENGINE *impl)
395 {
396 if(impl)
397 {
398 if (!ENGINE_init(impl))
399 {
400 EVPerr(EVP_F_DO_EVP_ENC_ENGINE_FULL, EVP_R_INITIALIZATION_ERROR);
401 return 0;
402 }
403 }
404 else
405 /* Ask if an ENGINE is reserved for this job */
406 impl = ENGINE_get_cipher_engine((*pcipher)->nid);
407 if(impl)
408 {
409 /* There's an ENGINE for this job ... (apparently) */
410 const EVP_CIPHER *c = ENGINE_get_cipher(impl, (*pcipher)->nid);
411 if(!c)
412 {
413 /* One positive side-effect of US's export
414 * control history, is that we should at least
415 * be able to avoid using US mispellings of
416 * "initialisation"? */
417 EVPerr(EVP_F_DO_EVP_ENC_ENGINE_FULL, EVP_R_INITIALIZATION_ERROR);
418 return 0;
419 }
420 /* We'll use the ENGINE's private cipher definition */
421 *pcipher = c;
422 /* Store the ENGINE functional reference so we know
423 * 'cipher' came from an ENGINE and we need to release
424 * it when done. */
425 ctx->engine = impl;
426 }
427 else
428 ctx->engine = NULL;
429 return 1;
430 }
431
432void int_EVP_CIPHER_init_engine_callbacks(void)
433 {
434 int_EVP_CIPHER_set_engine_callbacks(
435 ENGINE_finish, do_evp_enc_engine_full);
436 }
437
438#endif
439
440#endif
diff --git a/src/lib/libcrypto/evp/evp_err.c b/src/lib/libcrypto/evp/evp_err.c
index e8c9e8de9c..b5b900d4fe 100644
--- a/src/lib/libcrypto/evp/evp_err.c
+++ b/src/lib/libcrypto/evp/evp_err.c
@@ -1,6 +1,6 @@
1/* crypto/evp/evp_err.c */ 1/* crypto/evp/evp_err.c */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1999-2007 The OpenSSL Project. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
@@ -71,16 +71,23 @@
71static ERR_STRING_DATA EVP_str_functs[]= 71static ERR_STRING_DATA EVP_str_functs[]=
72 { 72 {
73{ERR_FUNC(EVP_F_AES_INIT_KEY), "AES_INIT_KEY"}, 73{ERR_FUNC(EVP_F_AES_INIT_KEY), "AES_INIT_KEY"},
74{ERR_FUNC(EVP_F_ALG_MODULE_INIT), "ALG_MODULE_INIT"},
74{ERR_FUNC(EVP_F_CAMELLIA_INIT_KEY), "CAMELLIA_INIT_KEY"}, 75{ERR_FUNC(EVP_F_CAMELLIA_INIT_KEY), "CAMELLIA_INIT_KEY"},
75{ERR_FUNC(EVP_F_D2I_PKEY), "D2I_PKEY"}, 76{ERR_FUNC(EVP_F_D2I_PKEY), "D2I_PKEY"},
77{ERR_FUNC(EVP_F_DO_EVP_ENC_ENGINE), "DO_EVP_ENC_ENGINE"},
78{ERR_FUNC(EVP_F_DO_EVP_ENC_ENGINE_FULL), "DO_EVP_ENC_ENGINE_FULL"},
79{ERR_FUNC(EVP_F_DO_EVP_MD_ENGINE), "DO_EVP_MD_ENGINE"},
80{ERR_FUNC(EVP_F_DO_EVP_MD_ENGINE_FULL), "DO_EVP_MD_ENGINE_FULL"},
76{ERR_FUNC(EVP_F_DSAPKEY2PKCS8), "DSAPKEY2PKCS8"}, 81{ERR_FUNC(EVP_F_DSAPKEY2PKCS8), "DSAPKEY2PKCS8"},
77{ERR_FUNC(EVP_F_DSA_PKEY2PKCS8), "DSA_PKEY2PKCS8"}, 82{ERR_FUNC(EVP_F_DSA_PKEY2PKCS8), "DSA_PKEY2PKCS8"},
78{ERR_FUNC(EVP_F_ECDSA_PKEY2PKCS8), "ECDSA_PKEY2PKCS8"}, 83{ERR_FUNC(EVP_F_ECDSA_PKEY2PKCS8), "ECDSA_PKEY2PKCS8"},
79{ERR_FUNC(EVP_F_ECKEY_PKEY2PKCS8), "ECKEY_PKEY2PKCS8"}, 84{ERR_FUNC(EVP_F_ECKEY_PKEY2PKCS8), "ECKEY_PKEY2PKCS8"},
85{ERR_FUNC(EVP_F_EVP_CIPHERINIT), "EVP_CipherInit"},
80{ERR_FUNC(EVP_F_EVP_CIPHERINIT_EX), "EVP_CipherInit_ex"}, 86{ERR_FUNC(EVP_F_EVP_CIPHERINIT_EX), "EVP_CipherInit_ex"},
81{ERR_FUNC(EVP_F_EVP_CIPHER_CTX_CTRL), "EVP_CIPHER_CTX_ctrl"}, 87{ERR_FUNC(EVP_F_EVP_CIPHER_CTX_CTRL), "EVP_CIPHER_CTX_ctrl"},
82{ERR_FUNC(EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH), "EVP_CIPHER_CTX_set_key_length"}, 88{ERR_FUNC(EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH), "EVP_CIPHER_CTX_set_key_length"},
83{ERR_FUNC(EVP_F_EVP_DECRYPTFINAL_EX), "EVP_DecryptFinal_ex"}, 89{ERR_FUNC(EVP_F_EVP_DECRYPTFINAL_EX), "EVP_DecryptFinal_ex"},
90{ERR_FUNC(EVP_F_EVP_DIGESTINIT), "EVP_DigestInit"},
84{ERR_FUNC(EVP_F_EVP_DIGESTINIT_EX), "EVP_DigestInit_ex"}, 91{ERR_FUNC(EVP_F_EVP_DIGESTINIT_EX), "EVP_DigestInit_ex"},
85{ERR_FUNC(EVP_F_EVP_ENCRYPTFINAL_EX), "EVP_EncryptFinal_ex"}, 92{ERR_FUNC(EVP_F_EVP_ENCRYPTFINAL_EX), "EVP_EncryptFinal_ex"},
86{ERR_FUNC(EVP_F_EVP_MD_CTX_COPY_EX), "EVP_MD_CTX_copy_ex"}, 93{ERR_FUNC(EVP_F_EVP_MD_CTX_COPY_EX), "EVP_MD_CTX_copy_ex"},
@@ -125,15 +132,20 @@ static ERR_STRING_DATA EVP_str_reasons[]=
125{ERR_REASON(EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH),"data not multiple of block length"}, 132{ERR_REASON(EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH),"data not multiple of block length"},
126{ERR_REASON(EVP_R_DECODE_ERROR) ,"decode error"}, 133{ERR_REASON(EVP_R_DECODE_ERROR) ,"decode error"},
127{ERR_REASON(EVP_R_DIFFERENT_KEY_TYPES) ,"different key types"}, 134{ERR_REASON(EVP_R_DIFFERENT_KEY_TYPES) ,"different key types"},
135{ERR_REASON(EVP_R_DISABLED_FOR_FIPS) ,"disabled for fips"},
128{ERR_REASON(EVP_R_ENCODE_ERROR) ,"encode error"}, 136{ERR_REASON(EVP_R_ENCODE_ERROR) ,"encode error"},
137{ERR_REASON(EVP_R_ERROR_LOADING_SECTION) ,"error loading section"},
138{ERR_REASON(EVP_R_ERROR_SETTING_FIPS_MODE),"error setting fips mode"},
129{ERR_REASON(EVP_R_EVP_PBE_CIPHERINIT_ERROR),"evp pbe cipherinit error"}, 139{ERR_REASON(EVP_R_EVP_PBE_CIPHERINIT_ERROR),"evp pbe cipherinit error"},
130{ERR_REASON(EVP_R_EXPECTING_AN_RSA_KEY) ,"expecting an rsa key"}, 140{ERR_REASON(EVP_R_EXPECTING_AN_RSA_KEY) ,"expecting an rsa key"},
131{ERR_REASON(EVP_R_EXPECTING_A_DH_KEY) ,"expecting a dh key"}, 141{ERR_REASON(EVP_R_EXPECTING_A_DH_KEY) ,"expecting a dh key"},
132{ERR_REASON(EVP_R_EXPECTING_A_DSA_KEY) ,"expecting a dsa key"}, 142{ERR_REASON(EVP_R_EXPECTING_A_DSA_KEY) ,"expecting a dsa key"},
133{ERR_REASON(EVP_R_EXPECTING_A_ECDSA_KEY) ,"expecting a ecdsa key"}, 143{ERR_REASON(EVP_R_EXPECTING_A_ECDSA_KEY) ,"expecting a ecdsa key"},
134{ERR_REASON(EVP_R_EXPECTING_A_EC_KEY) ,"expecting a ec key"}, 144{ERR_REASON(EVP_R_EXPECTING_A_EC_KEY) ,"expecting a ec key"},
145{ERR_REASON(EVP_R_FIPS_MODE_NOT_SUPPORTED),"fips mode not supported"},
135{ERR_REASON(EVP_R_INITIALIZATION_ERROR) ,"initialization error"}, 146{ERR_REASON(EVP_R_INITIALIZATION_ERROR) ,"initialization error"},
136{ERR_REASON(EVP_R_INPUT_NOT_INITIALIZED) ,"input not initialized"}, 147{ERR_REASON(EVP_R_INPUT_NOT_INITIALIZED) ,"input not initialized"},
148{ERR_REASON(EVP_R_INVALID_FIPS_MODE) ,"invalid fips mode"},
137{ERR_REASON(EVP_R_INVALID_KEY_LENGTH) ,"invalid key length"}, 149{ERR_REASON(EVP_R_INVALID_KEY_LENGTH) ,"invalid key length"},
138{ERR_REASON(EVP_R_IV_TOO_LARGE) ,"iv too large"}, 150{ERR_REASON(EVP_R_IV_TOO_LARGE) ,"iv too large"},
139{ERR_REASON(EVP_R_KEYGEN_FAILURE) ,"keygen failure"}, 151{ERR_REASON(EVP_R_KEYGEN_FAILURE) ,"keygen failure"},
@@ -145,6 +157,8 @@ static ERR_STRING_DATA EVP_str_reasons[]=
145{ERR_REASON(EVP_R_NO_VERIFY_FUNCTION_CONFIGURED),"no verify function configured"}, 157{ERR_REASON(EVP_R_NO_VERIFY_FUNCTION_CONFIGURED),"no verify function configured"},
146{ERR_REASON(EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE),"pkcs8 unknown broken type"}, 158{ERR_REASON(EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE),"pkcs8 unknown broken type"},
147{ERR_REASON(EVP_R_PUBLIC_KEY_NOT_RSA) ,"public key not rsa"}, 159{ERR_REASON(EVP_R_PUBLIC_KEY_NOT_RSA) ,"public key not rsa"},
160{ERR_REASON(EVP_R_SEED_KEY_SETUP_FAILED) ,"seed key setup failed"},
161{ERR_REASON(EVP_R_UNKNOWN_OPTION) ,"unknown option"},
148{ERR_REASON(EVP_R_UNKNOWN_PBE_ALGORITHM) ,"unknown pbe algorithm"}, 162{ERR_REASON(EVP_R_UNKNOWN_PBE_ALGORITHM) ,"unknown pbe algorithm"},
149{ERR_REASON(EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS),"unsuported number of rounds"}, 163{ERR_REASON(EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS),"unsuported number of rounds"},
150{ERR_REASON(EVP_R_UNSUPPORTED_CIPHER) ,"unsupported cipher"}, 164{ERR_REASON(EVP_R_UNSUPPORTED_CIPHER) ,"unsupported cipher"},
diff --git a/src/lib/libcrypto/evp/evp_lib.c b/src/lib/libcrypto/evp/evp_lib.c
index edb28ef38e..174cf6c594 100644
--- a/src/lib/libcrypto/evp/evp_lib.c
+++ b/src/lib/libcrypto/evp/evp_lib.c
@@ -67,6 +67,8 @@ int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type)
67 67
68 if (c->cipher->set_asn1_parameters != NULL) 68 if (c->cipher->set_asn1_parameters != NULL)
69 ret=c->cipher->set_asn1_parameters(c,type); 69 ret=c->cipher->set_asn1_parameters(c,type);
70 else if (c->cipher->flags & EVP_CIPH_FLAG_DEFAULT_ASN1)
71 ret=EVP_CIPHER_set_asn1_iv(c, type);
70 else 72 else
71 ret=-1; 73 ret=-1;
72 return(ret); 74 return(ret);
@@ -78,6 +80,8 @@ int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type)
78 80
79 if (c->cipher->get_asn1_parameters != NULL) 81 if (c->cipher->get_asn1_parameters != NULL)
80 ret=c->cipher->get_asn1_parameters(c,type); 82 ret=c->cipher->get_asn1_parameters(c,type);
83 else if (c->cipher->flags & EVP_CIPH_FLAG_DEFAULT_ASN1)
84 ret=EVP_CIPHER_get_asn1_iv(c, type);
81 else 85 else
82 ret=-1; 86 ret=-1;
83 return(ret); 87 return(ret);
@@ -178,11 +182,6 @@ int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx)
178 return ctx->cipher->block_size; 182 return ctx->cipher->block_size;
179 } 183 }
180 184
181int EVP_Cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl)
182 {
183 return ctx->cipher->do_cipher(ctx,out,in,inl);
184 }
185
186const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx) 185const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx)
187 { 186 {
188 return ctx->cipher; 187 return ctx->cipher;
@@ -193,11 +192,6 @@ unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher)
193 return cipher->flags; 192 return cipher->flags;
194 } 193 }
195 194
196unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX *ctx)
197 {
198 return ctx->cipher->flags;
199 }
200
201void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx) 195void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx)
202 { 196 {
203 return ctx->app_data; 197 return ctx->app_data;
@@ -213,11 +207,6 @@ int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher)
213 return cipher->iv_len; 207 return cipher->iv_len;
214 } 208 }
215 209
216int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx)
217 {
218 return ctx->cipher->iv_len;
219 }
220
221int EVP_CIPHER_key_length(const EVP_CIPHER *cipher) 210int EVP_CIPHER_key_length(const EVP_CIPHER *cipher)
222 { 211 {
223 return cipher->key_len; 212 return cipher->key_len;
@@ -228,11 +217,6 @@ int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx)
228 return ctx->key_len; 217 return ctx->key_len;
229 } 218 }
230 219
231int EVP_CIPHER_nid(const EVP_CIPHER *cipher)
232 {
233 return cipher->nid;
234 }
235
236int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx) 220int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx)
237 { 221 {
238 return ctx->cipher->nid; 222 return ctx->cipher->nid;
@@ -277,3 +261,18 @@ int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags)
277 { 261 {
278 return (ctx->flags & flags); 262 return (ctx->flags & flags);
279 } 263 }
264
265void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags)
266 {
267 ctx->flags |= flags;
268 }
269
270void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags)
271 {
272 ctx->flags &= ~flags;
273 }
274
275int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags)
276 {
277 return (ctx->flags & flags);
278 }
diff --git a/src/lib/libcrypto/evp/evp_locl.h b/src/lib/libcrypto/evp/evp_locl.h
index 073b0adcff..eabcc96f30 100644
--- a/src/lib/libcrypto/evp/evp_locl.h
+++ b/src/lib/libcrypto/evp/evp_locl.h
@@ -1,5 +1,5 @@
1/* evp_locl.h */ 1/* evp_locl.h */
2/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
5/* ==================================================================== 5/* ====================================================================
@@ -92,7 +92,7 @@ static int cname##_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const uns
92#define BLOCK_CIPHER_func_cfb(cname, cprefix, cbits, kstruct, ksched) \ 92#define BLOCK_CIPHER_func_cfb(cname, cprefix, cbits, kstruct, ksched) \
93static int cname##_cfb##cbits##_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl) \ 93static int cname##_cfb##cbits##_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl) \
94{\ 94{\
95 cprefix##_cfb##cbits##_encrypt(in, out, (long)(cbits==1?inl*8:inl), &((kstruct *)ctx->cipher_data)->ksched, ctx->iv, &ctx->num, ctx->encrypt);\ 95 cprefix##_cfb##cbits##_encrypt(in, out, (long)((cbits==1) && !(ctx->flags & EVP_CIPH_FLAG_LENGTH_BITS) ?inl*8:inl), &((kstruct *)ctx->cipher_data)->ksched, ctx->iv, &ctx->num, ctx->encrypt);\
96 return 1;\ 96 return 1;\
97} 97}
98 98
@@ -226,11 +226,27 @@ const EVP_CIPHER *EVP_##cname##_ecb(void) { return &cname##_ecb; }
226 226
227#define EVP_C_DATA(kstruct, ctx) ((kstruct *)(ctx)->cipher_data) 227#define EVP_C_DATA(kstruct, ctx) ((kstruct *)(ctx)->cipher_data)
228 228
229#define IMPLEMENT_CFBR(cipher,cprefix,kstruct,ksched,keysize,cbits,iv_len) \ 229#define IMPLEMENT_CFBR(cipher,cprefix,kstruct,ksched,keysize,cbits,iv_len,fl) \
230 BLOCK_CIPHER_func_cfb(cipher##_##keysize,cprefix,cbits,kstruct,ksched) \ 230 BLOCK_CIPHER_func_cfb(cipher##_##keysize,cprefix,cbits,kstruct,ksched) \
231 BLOCK_CIPHER_def_cfb(cipher##_##keysize,kstruct, \ 231 BLOCK_CIPHER_def_cfb(cipher##_##keysize,kstruct, \
232 NID_##cipher##_##keysize, keysize/8, iv_len, cbits, \ 232 NID_##cipher##_##keysize, keysize/8, iv_len, cbits, \
233 0, cipher##_init_key, NULL, \ 233 (fl)|EVP_CIPH_FLAG_DEFAULT_ASN1, \
234 EVP_CIPHER_set_asn1_iv, \ 234 cipher##_init_key, NULL, NULL, NULL, NULL)
235 EVP_CIPHER_get_asn1_iv, \ 235
236 NULL) 236#ifdef OPENSSL_FIPS
237#define RC2_set_key private_RC2_set_key
238#define RC4_set_key private_RC4_set_key
239#define CAST_set_key private_CAST_set_key
240#define RC5_32_set_key private_RC5_32_set_key
241#define BF_set_key private_BF_set_key
242#define Camellia_set_key private_Camellia_set_key
243#define idea_set_encrypt_key private_idea_set_encrypt_key
244
245#define MD5_Init private_MD5_Init
246#define MD4_Init private_MD4_Init
247#define MD2_Init private_MD2_Init
248#define MDC2_Init private_MDC2_Init
249#define SHA_Init private_SHA_Init
250
251#endif
252
diff --git a/src/lib/libcrypto/evp/evp_pbe.c b/src/lib/libcrypto/evp/evp_pbe.c
index c26d2de0f3..5e830be65f 100644
--- a/src/lib/libcrypto/evp/evp_pbe.c
+++ b/src/lib/libcrypto/evp/evp_pbe.c
@@ -1,5 +1,5 @@
1/* evp_pbe.c */ 1/* evp_pbe.c */
2/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
5/* ==================================================================== 5/* ====================================================================
diff --git a/src/lib/libcrypto/evp/evp_pkey.c b/src/lib/libcrypto/evp/evp_pkey.c
index 0147f3e02a..10d9e9e772 100644
--- a/src/lib/libcrypto/evp/evp_pkey.c
+++ b/src/lib/libcrypto/evp/evp_pkey.c
@@ -1,5 +1,5 @@
1/* evp_pkey.c */ 1/* evp_pkey.c */
2/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
5/* ==================================================================== 5/* ====================================================================
diff --git a/src/lib/libcrypto/evp/m_dss.c b/src/lib/libcrypto/evp/m_dss.c
index a948c77fa4..6b0c0aa7a3 100644
--- a/src/lib/libcrypto/evp/m_dss.c
+++ b/src/lib/libcrypto/evp/m_dss.c
@@ -81,7 +81,7 @@ static const EVP_MD dsa_md=
81 NID_dsaWithSHA, 81 NID_dsaWithSHA,
82 NID_dsaWithSHA, 82 NID_dsaWithSHA,
83 SHA_DIGEST_LENGTH, 83 SHA_DIGEST_LENGTH,
84 0, 84 EVP_MD_FLAG_FIPS,
85 init, 85 init,
86 update, 86 update,
87 final, 87 final,
diff --git a/src/lib/libcrypto/evp/m_dss1.c b/src/lib/libcrypto/evp/m_dss1.c
index c12e13972b..da8babc147 100644
--- a/src/lib/libcrypto/evp/m_dss1.c
+++ b/src/lib/libcrypto/evp/m_dss1.c
@@ -68,6 +68,8 @@
68#include <openssl/dsa.h> 68#include <openssl/dsa.h>
69#endif 69#endif
70 70
71#ifndef OPENSSL_FIPS
72
71static int init(EVP_MD_CTX *ctx) 73static int init(EVP_MD_CTX *ctx)
72 { return SHA1_Init(ctx->md_data); } 74 { return SHA1_Init(ctx->md_data); }
73 75
@@ -98,3 +100,4 @@ const EVP_MD *EVP_dss1(void)
98 return(&dss1_md); 100 return(&dss1_md);
99 } 101 }
100#endif 102#endif
103#endif
diff --git a/src/lib/libcrypto/evp/m_md2.c b/src/lib/libcrypto/evp/m_md2.c
index 5ce849f161..8eee6236ba 100644
--- a/src/lib/libcrypto/evp/m_md2.c
+++ b/src/lib/libcrypto/evp/m_md2.c
@@ -58,6 +58,7 @@
58 58
59#include <stdio.h> 59#include <stdio.h>
60#include "cryptlib.h" 60#include "cryptlib.h"
61#include "evp_locl.h"
61 62
62#ifndef OPENSSL_NO_MD2 63#ifndef OPENSSL_NO_MD2
63 64
diff --git a/src/lib/libcrypto/evp/m_md4.c b/src/lib/libcrypto/evp/m_md4.c
index 1e0b7c5b42..5cd2ab5ade 100644
--- a/src/lib/libcrypto/evp/m_md4.c
+++ b/src/lib/libcrypto/evp/m_md4.c
@@ -58,6 +58,7 @@
58 58
59#include <stdio.h> 59#include <stdio.h>
60#include "cryptlib.h" 60#include "cryptlib.h"
61#include "evp_locl.h"
61 62
62#ifndef OPENSSL_NO_MD4 63#ifndef OPENSSL_NO_MD4
63 64
diff --git a/src/lib/libcrypto/evp/m_md5.c b/src/lib/libcrypto/evp/m_md5.c
index 63c142119e..6455829671 100644
--- a/src/lib/libcrypto/evp/m_md5.c
+++ b/src/lib/libcrypto/evp/m_md5.c
@@ -62,6 +62,7 @@
62#ifndef OPENSSL_NO_MD5 62#ifndef OPENSSL_NO_MD5
63 63
64#include <openssl/evp.h> 64#include <openssl/evp.h>
65#include "evp_locl.h"
65#include <openssl/objects.h> 66#include <openssl/objects.h>
66#include <openssl/x509.h> 67#include <openssl/x509.h>
67#include <openssl/md5.h> 68#include <openssl/md5.h>
diff --git a/src/lib/libcrypto/evp/m_mdc2.c b/src/lib/libcrypto/evp/m_mdc2.c
index 36c4e9b134..9f9bcf06ed 100644
--- a/src/lib/libcrypto/evp/m_mdc2.c
+++ b/src/lib/libcrypto/evp/m_mdc2.c
@@ -58,6 +58,7 @@
58 58
59#include <stdio.h> 59#include <stdio.h>
60#include "cryptlib.h" 60#include "cryptlib.h"
61#include "evp_locl.h"
61 62
62#ifndef OPENSSL_NO_MDC2 63#ifndef OPENSSL_NO_MDC2
63 64
diff --git a/src/lib/libcrypto/evp/m_sha.c b/src/lib/libcrypto/evp/m_sha.c
index acccc8f92d..3f30dfc579 100644
--- a/src/lib/libcrypto/evp/m_sha.c
+++ b/src/lib/libcrypto/evp/m_sha.c
@@ -58,6 +58,7 @@
58 58
59#include <stdio.h> 59#include <stdio.h>
60#include "cryptlib.h" 60#include "cryptlib.h"
61#include "evp_locl.h"
61 62
62#if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA0) 63#if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA0)
63 64
diff --git a/src/lib/libcrypto/evp/m_sha1.c b/src/lib/libcrypto/evp/m_sha1.c
index 4679b1c463..471ec30be0 100644
--- a/src/lib/libcrypto/evp/m_sha1.c
+++ b/src/lib/libcrypto/evp/m_sha1.c
@@ -68,6 +68,8 @@
68#include <openssl/rsa.h> 68#include <openssl/rsa.h>
69#endif 69#endif
70 70
71#ifndef OPENSSL_FIPS
72
71static int init(EVP_MD_CTX *ctx) 73static int init(EVP_MD_CTX *ctx)
72 { return SHA1_Init(ctx->md_data); } 74 { return SHA1_Init(ctx->md_data); }
73 75
@@ -97,7 +99,6 @@ const EVP_MD *EVP_sha1(void)
97 { 99 {
98 return(&sha1_md); 100 return(&sha1_md);
99 } 101 }
100#endif
101 102
102#ifndef OPENSSL_NO_SHA256 103#ifndef OPENSSL_NO_SHA256
103static int init224(EVP_MD_CTX *ctx) 104static int init224(EVP_MD_CTX *ctx)
@@ -202,3 +203,7 @@ static const EVP_MD sha512_md=
202const EVP_MD *EVP_sha512(void) 203const EVP_MD *EVP_sha512(void)
203 { return(&sha512_md); } 204 { return(&sha512_md); }
204#endif /* ifndef OPENSSL_NO_SHA512 */ 205#endif /* ifndef OPENSSL_NO_SHA512 */
206
207#endif
208
209#endif
diff --git a/src/lib/libcrypto/evp/names.c b/src/lib/libcrypto/evp/names.c
index 88c1e780dd..e2e04c3570 100644
--- a/src/lib/libcrypto/evp/names.c
+++ b/src/lib/libcrypto/evp/names.c
@@ -66,6 +66,10 @@ int EVP_add_cipher(const EVP_CIPHER *c)
66 { 66 {
67 int r; 67 int r;
68 68
69#ifdef OPENSSL_FIPS
70 OPENSSL_init();
71#endif
72
69 r=OBJ_NAME_add(OBJ_nid2sn(c->nid),OBJ_NAME_TYPE_CIPHER_METH,(const char *)c); 73 r=OBJ_NAME_add(OBJ_nid2sn(c->nid),OBJ_NAME_TYPE_CIPHER_METH,(const char *)c);
70 if (r == 0) return(0); 74 if (r == 0) return(0);
71 r=OBJ_NAME_add(OBJ_nid2ln(c->nid),OBJ_NAME_TYPE_CIPHER_METH,(const char *)c); 75 r=OBJ_NAME_add(OBJ_nid2ln(c->nid),OBJ_NAME_TYPE_CIPHER_METH,(const char *)c);
@@ -77,6 +81,9 @@ int EVP_add_digest(const EVP_MD *md)
77 int r; 81 int r;
78 const char *name; 82 const char *name;
79 83
84#ifdef OPENSSL_FIPS
85 OPENSSL_init();
86#endif
80 name=OBJ_nid2sn(md->type); 87 name=OBJ_nid2sn(md->type);
81 r=OBJ_NAME_add(name,OBJ_NAME_TYPE_MD_METH,(const char *)md); 88 r=OBJ_NAME_add(name,OBJ_NAME_TYPE_MD_METH,(const char *)md);
82 if (r == 0) return(0); 89 if (r == 0) return(0);
diff --git a/src/lib/libcrypto/evp/p5_crpt.c b/src/lib/libcrypto/evp/p5_crpt.c
index 48d50014a0..2a265fdee2 100644
--- a/src/lib/libcrypto/evp/p5_crpt.c
+++ b/src/lib/libcrypto/evp/p5_crpt.c
@@ -1,5 +1,5 @@
1/* p5_crpt.c */ 1/* p5_crpt.c */
2/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
5/* ==================================================================== 5/* ====================================================================
diff --git a/src/lib/libcrypto/evp/p5_crpt2.c b/src/lib/libcrypto/evp/p5_crpt2.c
index c969d5a206..6bec77baf9 100644
--- a/src/lib/libcrypto/evp/p5_crpt2.c
+++ b/src/lib/libcrypto/evp/p5_crpt2.c
@@ -1,5 +1,5 @@
1/* p5_crpt2.c */ 1/* p5_crpt2.c */
2/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
5/* ==================================================================== 5/* ====================================================================
diff --git a/src/lib/libcrypto/evp/p_sign.c b/src/lib/libcrypto/evp/p_sign.c
index e4ae5906f5..bf41a0db68 100644
--- a/src/lib/libcrypto/evp/p_sign.c
+++ b/src/lib/libcrypto/evp/p_sign.c
@@ -84,10 +84,6 @@ int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, unsigned int *siglen,
84 MS_STATIC EVP_MD_CTX tmp_ctx; 84 MS_STATIC EVP_MD_CTX tmp_ctx;
85 85
86 *siglen=0; 86 *siglen=0;
87 EVP_MD_CTX_init(&tmp_ctx);
88 EVP_MD_CTX_copy_ex(&tmp_ctx,ctx);
89 EVP_DigestFinal_ex(&tmp_ctx,&(m[0]),&m_len);
90 EVP_MD_CTX_cleanup(&tmp_ctx);
91 for (i=0; i<4; i++) 87 for (i=0; i<4; i++)
92 { 88 {
93 v=ctx->digest->required_pkey_type[i]; 89 v=ctx->digest->required_pkey_type[i];
@@ -108,7 +104,23 @@ int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, unsigned int *siglen,
108 EVPerr(EVP_F_EVP_SIGNFINAL,EVP_R_NO_SIGN_FUNCTION_CONFIGURED); 104 EVPerr(EVP_F_EVP_SIGNFINAL,EVP_R_NO_SIGN_FUNCTION_CONFIGURED);
109 return(0); 105 return(0);
110 } 106 }
111 return(ctx->digest->sign(ctx->digest->type,m,m_len,sigret,siglen, 107 EVP_MD_CTX_init(&tmp_ctx);
112 pkey->pkey.ptr)); 108 EVP_MD_CTX_copy_ex(&tmp_ctx,ctx);
109 if (ctx->digest->flags & EVP_MD_FLAG_SVCTX)
110 {
111 EVP_MD_SVCTX sctmp;
112 sctmp.mctx = &tmp_ctx;
113 sctmp.key = pkey->pkey.ptr;
114 i = ctx->digest->sign(ctx->digest->type,
115 NULL, -1, sigret, siglen, &sctmp);
116 }
117 else
118 {
119 EVP_DigestFinal_ex(&tmp_ctx,&(m[0]),&m_len);
120 i = ctx->digest->sign(ctx->digest->type,m,m_len,sigret,siglen,
121 pkey->pkey.ptr);
122 }
123 EVP_MD_CTX_cleanup(&tmp_ctx);
124 return i;
113 } 125 }
114 126
diff --git a/src/lib/libcrypto/evp/p_verify.c b/src/lib/libcrypto/evp/p_verify.c
index 21a40a375e..2d46dffe7e 100644
--- a/src/lib/libcrypto/evp/p_verify.c
+++ b/src/lib/libcrypto/evp/p_verify.c
@@ -85,17 +85,29 @@ int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf,
85 EVPerr(EVP_F_EVP_VERIFYFINAL,EVP_R_WRONG_PUBLIC_KEY_TYPE); 85 EVPerr(EVP_F_EVP_VERIFYFINAL,EVP_R_WRONG_PUBLIC_KEY_TYPE);
86 return(-1); 86 return(-1);
87 } 87 }
88 EVP_MD_CTX_init(&tmp_ctx); 88 if (ctx->digest->verify == NULL)
89 EVP_MD_CTX_copy_ex(&tmp_ctx,ctx);
90 EVP_DigestFinal_ex(&tmp_ctx,&(m[0]),&m_len);
91 EVP_MD_CTX_cleanup(&tmp_ctx);
92 if (ctx->digest->verify == NULL)
93 { 89 {
94 EVPerr(EVP_F_EVP_VERIFYFINAL,EVP_R_NO_VERIFY_FUNCTION_CONFIGURED); 90 EVPerr(EVP_F_EVP_VERIFYFINAL,EVP_R_NO_VERIFY_FUNCTION_CONFIGURED);
95 return(0); 91 return(0);
96 } 92 }
97 93
98 return(ctx->digest->verify(ctx->digest->type,m,m_len, 94 EVP_MD_CTX_init(&tmp_ctx);
99 sigbuf,siglen,pkey->pkey.ptr)); 95 EVP_MD_CTX_copy_ex(&tmp_ctx,ctx);
96 if (ctx->digest->flags & EVP_MD_FLAG_SVCTX)
97 {
98 EVP_MD_SVCTX sctmp;
99 sctmp.mctx = &tmp_ctx;
100 sctmp.key = pkey->pkey.ptr;
101 i = ctx->digest->verify(ctx->digest->type,
102 NULL, -1, sigbuf, siglen, &sctmp);
103 }
104 else
105 {
106 EVP_DigestFinal_ex(&tmp_ctx,&(m[0]),&m_len);
107 i = ctx->digest->verify(ctx->digest->type,m,m_len,
108 sigbuf,siglen,pkey->pkey.ptr);
109 }
110 EVP_MD_CTX_cleanup(&tmp_ctx);
111 return i;
100 } 112 }
101 113