diff options
Diffstat (limited to 'src/lib/libcrypto/cms')
| -rw-r--r-- | src/lib/libcrypto/cms/Makefile | 264 | ||||
| -rw-r--r-- | src/lib/libcrypto/cms/cms_smime.c | 61 |
2 files changed, 268 insertions, 57 deletions
diff --git a/src/lib/libcrypto/cms/Makefile b/src/lib/libcrypto/cms/Makefile new file mode 100644 index 0000000000..5837049725 --- /dev/null +++ b/src/lib/libcrypto/cms/Makefile | |||
| @@ -0,0 +1,264 @@ | |||
| 1 | # | ||
| 2 | # OpenSSL/crypto/cms/Makefile | ||
| 3 | # | ||
| 4 | |||
| 5 | DIR= cms | ||
| 6 | TOP= ../.. | ||
| 7 | CC= cc | ||
| 8 | INCLUDES= -I.. -I$(TOP) -I../../include | ||
| 9 | CFLAG=-g | ||
| 10 | MAKEFILE= Makefile | ||
| 11 | AR= ar r | ||
| 12 | |||
| 13 | CFLAGS= $(INCLUDES) $(CFLAG) | ||
| 14 | |||
| 15 | GENERAL=Makefile | ||
| 16 | TEST= | ||
| 17 | APPS= | ||
| 18 | |||
| 19 | LIB=$(TOP)/libcrypto.a | ||
| 20 | LIBSRC= cms_lib.c cms_asn1.c cms_att.c cms_io.c cms_smime.c cms_err.c \ | ||
| 21 | cms_sd.c cms_dd.c cms_cd.c cms_env.c cms_enc.c cms_ess.c | ||
| 22 | LIBOBJ= cms_lib.o cms_asn1.o cms_att.o cms_io.o cms_smime.o cms_err.o \ | ||
| 23 | cms_sd.o cms_dd.o cms_cd.o cms_env.o cms_enc.o cms_ess.o | ||
| 24 | |||
| 25 | SRC= $(LIBSRC) | ||
| 26 | |||
| 27 | EXHEADER= cms.h | ||
| 28 | HEADER= cms_lcl.h $(EXHEADER) | ||
| 29 | |||
| 30 | ALL= $(GENERAL) $(SRC) $(HEADER) | ||
| 31 | |||
| 32 | top: | ||
| 33 | (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all) | ||
| 34 | |||
| 35 | test: | ||
| 36 | |||
| 37 | all: lib | ||
| 38 | |||
| 39 | lib: $(LIBOBJ) | ||
| 40 | $(AR) $(LIB) $(LIBOBJ) | ||
| 41 | $(RANLIB) $(LIB) || echo Never mind. | ||
| 42 | @touch lib | ||
| 43 | |||
| 44 | files: | ||
| 45 | $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO | ||
| 46 | |||
| 47 | links: | ||
| 48 | @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER) | ||
| 49 | @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST) | ||
| 50 | @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS) | ||
| 51 | |||
| 52 | install: | ||
| 53 | @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile... | ||
| 54 | @headerlist="$(EXHEADER)"; for i in $$headerlist ; \ | ||
| 55 | do \ | ||
| 56 | (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ | ||
| 57 | chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ | ||
| 58 | done; | ||
| 59 | |||
| 60 | tags: | ||
| 61 | ctags $(SRC) | ||
| 62 | |||
| 63 | tests: | ||
| 64 | |||
| 65 | lint: | ||
| 66 | lint -DLINT $(INCLUDES) $(SRC)>fluff | ||
| 67 | |||
| 68 | depend: | ||
| 69 | @[ -n "$(MAKEDEPEND)" ] # should be set by upper Makefile... | ||
| 70 | $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC) | ||
| 71 | |||
| 72 | dclean: | ||
| 73 | $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new | ||
| 74 | mv -f Makefile.new $(MAKEFILE) | ||
| 75 | |||
| 76 | clean: | ||
| 77 | rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff | ||
| 78 | |||
| 79 | # DO NOT DELETE THIS LINE -- make depend depends on it. | ||
| 80 | |||
| 81 | cms_asn1.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h | ||
| 82 | cms_asn1.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h | ||
| 83 | cms_asn1.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h | ||
| 84 | cms_asn1.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h | ||
| 85 | cms_asn1.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h | ||
| 86 | cms_asn1.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h | ||
| 87 | cms_asn1.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h | ||
| 88 | cms_asn1.o: ../../include/openssl/opensslconf.h | ||
| 89 | cms_asn1.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
| 90 | cms_asn1.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h | ||
| 91 | cms_asn1.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h | ||
| 92 | cms_asn1.o: ../../include/openssl/sha.h ../../include/openssl/stack.h | ||
| 93 | cms_asn1.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h | ||
| 94 | cms_asn1.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h | ||
| 95 | cms_asn1.o: cms.h cms_asn1.c cms_lcl.h | ||
| 96 | cms_att.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h | ||
| 97 | cms_att.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h | ||
| 98 | cms_att.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h | ||
| 99 | cms_att.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h | ||
| 100 | cms_att.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h | ||
| 101 | cms_att.o: ../../include/openssl/err.h ../../include/openssl/evp.h | ||
| 102 | cms_att.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h | ||
| 103 | cms_att.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h | ||
| 104 | cms_att.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
| 105 | cms_att.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h | ||
| 106 | cms_att.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h | ||
| 107 | cms_att.o: ../../include/openssl/sha.h ../../include/openssl/stack.h | ||
| 108 | cms_att.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h | ||
| 109 | cms_att.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h | ||
| 110 | cms_att.o: cms.h cms_att.c cms_lcl.h | ||
| 111 | cms_cd.o: ../../e_os.h ../../include/openssl/asn1.h | ||
| 112 | cms_cd.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h | ||
| 113 | cms_cd.o: ../../include/openssl/buffer.h ../../include/openssl/cms.h | ||
| 114 | cms_cd.o: ../../include/openssl/comp.h ../../include/openssl/conf.h | ||
| 115 | cms_cd.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h | ||
| 116 | cms_cd.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h | ||
| 117 | cms_cd.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h | ||
| 118 | cms_cd.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h | ||
| 119 | cms_cd.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h | ||
| 120 | cms_cd.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h | ||
| 121 | cms_cd.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h | ||
| 122 | cms_cd.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h | ||
| 123 | cms_cd.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h | ||
| 124 | cms_cd.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
| 125 | cms_cd.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h | ||
| 126 | cms_cd.o: ../../include/openssl/x509v3.h ../cryptlib.h cms_cd.c cms_lcl.h | ||
| 127 | cms_dd.o: ../../e_os.h ../../include/openssl/asn1.h | ||
| 128 | cms_dd.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h | ||
| 129 | cms_dd.o: ../../include/openssl/buffer.h ../../include/openssl/cms.h | ||
| 130 | cms_dd.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h | ||
| 131 | cms_dd.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h | ||
| 132 | cms_dd.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h | ||
| 133 | cms_dd.o: ../../include/openssl/err.h ../../include/openssl/evp.h | ||
| 134 | cms_dd.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h | ||
| 135 | cms_dd.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h | ||
| 136 | cms_dd.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
| 137 | cms_dd.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h | ||
| 138 | cms_dd.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h | ||
| 139 | cms_dd.o: ../../include/openssl/sha.h ../../include/openssl/stack.h | ||
| 140 | cms_dd.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h | ||
| 141 | cms_dd.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h | ||
| 142 | cms_dd.o: ../cryptlib.h cms_dd.c cms_lcl.h | ||
| 143 | cms_enc.o: ../../e_os.h ../../include/openssl/asn1.h | ||
| 144 | cms_enc.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h | ||
| 145 | cms_enc.o: ../../include/openssl/buffer.h ../../include/openssl/cms.h | ||
| 146 | cms_enc.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h | ||
| 147 | cms_enc.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h | ||
| 148 | cms_enc.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h | ||
| 149 | cms_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h | ||
| 150 | cms_enc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h | ||
| 151 | cms_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h | ||
| 152 | cms_enc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
| 153 | cms_enc.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h | ||
| 154 | cms_enc.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h | ||
| 155 | cms_enc.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h | ||
| 156 | cms_enc.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
| 157 | cms_enc.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h | ||
| 158 | cms_enc.o: ../../include/openssl/x509v3.h ../cryptlib.h cms_enc.c cms_lcl.h | ||
| 159 | cms_env.o: ../../e_os.h ../../include/openssl/aes.h | ||
| 160 | cms_env.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h | ||
| 161 | cms_env.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h | ||
| 162 | cms_env.o: ../../include/openssl/cms.h ../../include/openssl/conf.h | ||
| 163 | cms_env.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h | ||
| 164 | cms_env.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h | ||
| 165 | cms_env.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h | ||
| 166 | cms_env.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h | ||
| 167 | cms_env.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h | ||
| 168 | cms_env.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h | ||
| 169 | cms_env.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h | ||
| 170 | cms_env.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h | ||
| 171 | cms_env.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h | ||
| 172 | cms_env.o: ../../include/openssl/sha.h ../../include/openssl/stack.h | ||
| 173 | cms_env.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h | ||
| 174 | cms_env.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h | ||
| 175 | cms_env.o: ../asn1/asn1_locl.h ../cryptlib.h cms_env.c cms_lcl.h | ||
| 176 | cms_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h | ||
| 177 | cms_err.o: ../../include/openssl/buffer.h ../../include/openssl/cms.h | ||
| 178 | cms_err.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h | ||
| 179 | cms_err.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h | ||
| 180 | cms_err.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h | ||
| 181 | cms_err.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h | ||
| 182 | cms_err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h | ||
| 183 | cms_err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h | ||
| 184 | cms_err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h | ||
| 185 | cms_err.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h | ||
| 186 | cms_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
| 187 | cms_err.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h | ||
| 188 | cms_err.o: cms_err.c | ||
| 189 | cms_ess.o: ../../e_os.h ../../include/openssl/asn1.h | ||
| 190 | cms_ess.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h | ||
| 191 | cms_ess.o: ../../include/openssl/buffer.h ../../include/openssl/cms.h | ||
| 192 | cms_ess.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h | ||
| 193 | cms_ess.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h | ||
| 194 | cms_ess.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h | ||
| 195 | cms_ess.o: ../../include/openssl/err.h ../../include/openssl/evp.h | ||
| 196 | cms_ess.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h | ||
| 197 | cms_ess.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h | ||
| 198 | cms_ess.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
| 199 | cms_ess.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h | ||
| 200 | cms_ess.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h | ||
| 201 | cms_ess.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h | ||
| 202 | cms_ess.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
| 203 | cms_ess.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h | ||
| 204 | cms_ess.o: ../../include/openssl/x509v3.h ../cryptlib.h cms_ess.c cms_lcl.h | ||
| 205 | cms_io.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h | ||
| 206 | cms_io.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h | ||
| 207 | cms_io.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h | ||
| 208 | cms_io.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h | ||
| 209 | cms_io.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h | ||
| 210 | cms_io.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h | ||
| 211 | cms_io.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h | ||
| 212 | cms_io.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h | ||
| 213 | cms_io.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h | ||
| 214 | cms_io.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h | ||
| 215 | cms_io.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h | ||
| 216 | cms_io.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
| 217 | cms_io.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h cms.h | ||
| 218 | cms_io.o: cms_io.c cms_lcl.h | ||
| 219 | cms_lib.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h | ||
| 220 | cms_lib.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h | ||
| 221 | cms_lib.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h | ||
| 222 | cms_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h | ||
| 223 | cms_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h | ||
| 224 | cms_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h | ||
| 225 | cms_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h | ||
| 226 | cms_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h | ||
| 227 | cms_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h | ||
| 228 | cms_lib.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h | ||
| 229 | cms_lib.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h | ||
| 230 | cms_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
| 231 | cms_lib.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h cms.h | ||
| 232 | cms_lib.o: cms_lcl.h cms_lib.c | ||
| 233 | cms_sd.o: ../../e_os.h ../../include/openssl/asn1.h | ||
| 234 | cms_sd.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h | ||
| 235 | cms_sd.o: ../../include/openssl/buffer.h ../../include/openssl/cms.h | ||
| 236 | cms_sd.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h | ||
| 237 | cms_sd.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h | ||
| 238 | cms_sd.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h | ||
| 239 | cms_sd.o: ../../include/openssl/err.h ../../include/openssl/evp.h | ||
| 240 | cms_sd.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h | ||
| 241 | cms_sd.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h | ||
| 242 | cms_sd.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
| 243 | cms_sd.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h | ||
| 244 | cms_sd.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h | ||
| 245 | cms_sd.o: ../../include/openssl/sha.h ../../include/openssl/stack.h | ||
| 246 | cms_sd.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h | ||
| 247 | cms_sd.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h | ||
| 248 | cms_sd.o: ../asn1/asn1_locl.h ../cryptlib.h cms_lcl.h cms_sd.c | ||
| 249 | cms_smime.o: ../../e_os.h ../../include/openssl/asn1.h | ||
| 250 | cms_smime.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h | ||
| 251 | cms_smime.o: ../../include/openssl/buffer.h ../../include/openssl/cms.h | ||
| 252 | cms_smime.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h | ||
| 253 | cms_smime.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h | ||
| 254 | cms_smime.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h | ||
| 255 | cms_smime.o: ../../include/openssl/err.h ../../include/openssl/evp.h | ||
| 256 | cms_smime.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h | ||
| 257 | cms_smime.o: ../../include/openssl/objects.h | ||
| 258 | cms_smime.o: ../../include/openssl/opensslconf.h | ||
| 259 | cms_smime.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
| 260 | cms_smime.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h | ||
| 261 | cms_smime.o: ../../include/openssl/sha.h ../../include/openssl/stack.h | ||
| 262 | cms_smime.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h | ||
| 263 | cms_smime.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h | ||
| 264 | cms_smime.o: ../cryptlib.h cms_lcl.h cms_smime.c | ||
diff --git a/src/lib/libcrypto/cms/cms_smime.c b/src/lib/libcrypto/cms/cms_smime.c index 8c56e3a852..4a799eb897 100644 --- a/src/lib/libcrypto/cms/cms_smime.c +++ b/src/lib/libcrypto/cms/cms_smime.c | |||
| @@ -611,10 +611,7 @@ int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert) | |||
| 611 | STACK_OF(CMS_RecipientInfo) *ris; | 611 | STACK_OF(CMS_RecipientInfo) *ris; |
| 612 | CMS_RecipientInfo *ri; | 612 | CMS_RecipientInfo *ri; |
| 613 | int i, r; | 613 | int i, r; |
| 614 | int debug = 0; | ||
| 615 | ris = CMS_get0_RecipientInfos(cms); | 614 | ris = CMS_get0_RecipientInfos(cms); |
| 616 | if (ris) | ||
| 617 | debug = cms->d.envelopedData->encryptedContentInfo->debug; | ||
| 618 | for (i = 0; i < sk_CMS_RecipientInfo_num(ris); i++) | 615 | for (i = 0; i < sk_CMS_RecipientInfo_num(ris); i++) |
| 619 | { | 616 | { |
| 620 | ri = sk_CMS_RecipientInfo_value(ris, i); | 617 | ri = sk_CMS_RecipientInfo_value(ris, i); |
| @@ -628,38 +625,17 @@ int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert) | |||
| 628 | CMS_RecipientInfo_set0_pkey(ri, pk); | 625 | CMS_RecipientInfo_set0_pkey(ri, pk); |
| 629 | r = CMS_RecipientInfo_decrypt(cms, ri); | 626 | r = CMS_RecipientInfo_decrypt(cms, ri); |
| 630 | CMS_RecipientInfo_set0_pkey(ri, NULL); | 627 | CMS_RecipientInfo_set0_pkey(ri, NULL); |
| 628 | if (r > 0) | ||
| 629 | return 1; | ||
| 631 | if (cert) | 630 | if (cert) |
| 632 | { | 631 | { |
| 633 | /* If not debugging clear any error and | ||
| 634 | * return success to avoid leaking of | ||
| 635 | * information useful to MMA | ||
| 636 | */ | ||
| 637 | if (!debug) | ||
| 638 | { | ||
| 639 | ERR_clear_error(); | ||
| 640 | return 1; | ||
| 641 | } | ||
| 642 | if (r > 0) | ||
| 643 | return 1; | ||
| 644 | CMSerr(CMS_F_CMS_DECRYPT_SET1_PKEY, | 632 | CMSerr(CMS_F_CMS_DECRYPT_SET1_PKEY, |
| 645 | CMS_R_DECRYPT_ERROR); | 633 | CMS_R_DECRYPT_ERROR); |
| 646 | return 0; | 634 | return 0; |
| 647 | } | 635 | } |
| 648 | /* If no cert and not debugging don't leave loop | 636 | ERR_clear_error(); |
| 649 | * after first successful decrypt. Always attempt | ||
| 650 | * to decrypt all recipients to avoid leaking timing | ||
| 651 | * of a successful decrypt. | ||
| 652 | */ | ||
| 653 | else if (r > 0 && debug) | ||
| 654 | return 1; | ||
| 655 | } | 637 | } |
| 656 | } | 638 | } |
| 657 | /* If no cert and not debugging always return success */ | ||
| 658 | if (!cert && !debug) | ||
| 659 | { | ||
| 660 | ERR_clear_error(); | ||
| 661 | return 1; | ||
| 662 | } | ||
| 663 | 639 | ||
| 664 | CMSerr(CMS_F_CMS_DECRYPT_SET1_PKEY, CMS_R_NO_MATCHING_RECIPIENT); | 640 | CMSerr(CMS_F_CMS_DECRYPT_SET1_PKEY, CMS_R_NO_MATCHING_RECIPIENT); |
| 665 | return 0; | 641 | return 0; |
| @@ -704,30 +680,6 @@ int CMS_decrypt_set1_key(CMS_ContentInfo *cms, | |||
| 704 | return 0; | 680 | return 0; |
| 705 | 681 | ||
| 706 | } | 682 | } |
| 707 | |||
| 708 | int CMS_decrypt_set1_password(CMS_ContentInfo *cms, | ||
| 709 | unsigned char *pass, ossl_ssize_t passlen) | ||
| 710 | { | ||
| 711 | STACK_OF(CMS_RecipientInfo) *ris; | ||
| 712 | CMS_RecipientInfo *ri; | ||
| 713 | int i, r; | ||
| 714 | ris = CMS_get0_RecipientInfos(cms); | ||
| 715 | for (i = 0; i < sk_CMS_RecipientInfo_num(ris); i++) | ||
| 716 | { | ||
| 717 | ri = sk_CMS_RecipientInfo_value(ris, i); | ||
| 718 | if (CMS_RecipientInfo_type(ri) != CMS_RECIPINFO_PASS) | ||
| 719 | continue; | ||
| 720 | CMS_RecipientInfo_set0_password(ri, pass, passlen); | ||
| 721 | r = CMS_RecipientInfo_decrypt(cms, ri); | ||
| 722 | CMS_RecipientInfo_set0_password(ri, NULL, 0); | ||
| 723 | if (r > 0) | ||
| 724 | return 1; | ||
| 725 | } | ||
| 726 | |||
| 727 | CMSerr(CMS_F_CMS_DECRYPT_SET1_PASSWORD, CMS_R_NO_MATCHING_RECIPIENT); | ||
| 728 | return 0; | ||
| 729 | |||
| 730 | } | ||
| 731 | 683 | ||
| 732 | int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert, | 684 | int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert, |
| 733 | BIO *dcont, BIO *out, | 685 | BIO *dcont, BIO *out, |
| @@ -742,14 +694,9 @@ int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert, | |||
| 742 | } | 694 | } |
| 743 | if (!dcont && !check_content(cms)) | 695 | if (!dcont && !check_content(cms)) |
| 744 | return 0; | 696 | return 0; |
| 745 | if (flags & CMS_DEBUG_DECRYPT) | ||
| 746 | cms->d.envelopedData->encryptedContentInfo->debug = 1; | ||
| 747 | else | ||
| 748 | cms->d.envelopedData->encryptedContentInfo->debug = 0; | ||
| 749 | if (!pk && !cert && !dcont && !out) | ||
| 750 | return 1; | ||
| 751 | if (pk && !CMS_decrypt_set1_pkey(cms, pk, cert)) | 697 | if (pk && !CMS_decrypt_set1_pkey(cms, pk, cert)) |
| 752 | return 0; | 698 | return 0; |
| 699 | |||
| 753 | cont = CMS_dataInit(cms, dcont); | 700 | cont = CMS_dataInit(cms, dcont); |
| 754 | if (!cont) | 701 | if (!cont) |
| 755 | return 0; | 702 | return 0; |
