diff options
Diffstat (limited to 'src/lib/libcrypto/pkcs7')
38 files changed, 3428 insertions, 1 deletions
diff --git a/src/lib/libcrypto/pkcs7/Makefile b/src/lib/libcrypto/pkcs7/Makefile new file mode 100644 index 0000000000..790d8edf36 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/Makefile | |||
@@ -0,0 +1,190 @@ | |||
1 | # | ||
2 | # OpenSSL/crypto/pkcs7/Makefile | ||
3 | # | ||
4 | |||
5 | DIR= pkcs7 | ||
6 | TOP= ../.. | ||
7 | CC= cc | ||
8 | INCLUDES= -I.. -I$(TOP) -I../../include | ||
9 | CFLAG=-g | ||
10 | MAKEFILE= Makefile | ||
11 | AR= ar r | ||
12 | |||
13 | PEX_LIBS= | ||
14 | EX_LIBS= | ||
15 | |||
16 | CFLAGS= $(INCLUDES) $(CFLAG) | ||
17 | |||
18 | GENERAL=Makefile README | ||
19 | TEST= | ||
20 | APPS= | ||
21 | |||
22 | LIB=$(TOP)/libcrypto.a | ||
23 | LIBSRC= pk7_asn1.c pk7_lib.c pkcs7err.c pk7_doit.c pk7_smime.c pk7_attr.c \ | ||
24 | pk7_mime.c | ||
25 | LIBOBJ= pk7_asn1.o pk7_lib.o pkcs7err.o pk7_doit.o pk7_smime.o pk7_attr.o \ | ||
26 | pk7_mime.o | ||
27 | |||
28 | SRC= $(LIBSRC) | ||
29 | |||
30 | EXHEADER= pkcs7.h | ||
31 | HEADER= $(EXHEADER) | ||
32 | |||
33 | ALL= $(GENERAL) $(SRC) $(HEADER) | ||
34 | |||
35 | top: | ||
36 | (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all) | ||
37 | |||
38 | test: | ||
39 | |||
40 | all: lib | ||
41 | |||
42 | testapps: enc dec sign verify | ||
43 | |||
44 | enc: enc.o lib | ||
45 | $(CC) $(CFLAGS) -o enc enc.o $(PEX_LIBS) $(LIB) $(EX_LIBS) | ||
46 | |||
47 | dec: dec.o lib | ||
48 | $(CC) $(CFLAGS) -o dec dec.o $(PEX_LIBS) $(LIB) $(EX_LIBS) | ||
49 | |||
50 | sign: sign.o lib | ||
51 | $(CC) $(CFLAGS) -o sign sign.o $(PEX_LIBS) $(LIB) $(EX_LIBS) | ||
52 | |||
53 | verify: verify.o example.o lib | ||
54 | $(CC) $(CFLAGS) -o verify verify.o $(PEX_LIBS) example.o $(LIB) $(EX_LIBS) | ||
55 | |||
56 | lib: $(LIBOBJ) | ||
57 | $(ARX) $(LIB) $(LIBOBJ) | ||
58 | $(RANLIB) $(LIB) || echo Never mind. | ||
59 | @touch lib | ||
60 | |||
61 | files: | ||
62 | $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO | ||
63 | |||
64 | links: | ||
65 | @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER) | ||
66 | @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST) | ||
67 | @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS) | ||
68 | |||
69 | install: | ||
70 | @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile... | ||
71 | @headerlist="$(EXHEADER)"; for i in $$headerlist ; \ | ||
72 | do \ | ||
73 | (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ | ||
74 | chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ | ||
75 | done; | ||
76 | |||
77 | tags: | ||
78 | ctags $(SRC) | ||
79 | |||
80 | tests: | ||
81 | |||
82 | lint: | ||
83 | lint -DLINT $(INCLUDES) $(SRC)>fluff | ||
84 | |||
85 | depend: | ||
86 | @[ -n "$(MAKEDEPEND)" ] # should be set by upper Makefile... | ||
87 | $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC) | ||
88 | |||
89 | dclean: | ||
90 | $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new | ||
91 | mv -f Makefile.new $(MAKEFILE) | ||
92 | |||
93 | clean: | ||
94 | rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff enc dec sign verify | ||
95 | |||
96 | # DO NOT DELETE THIS LINE -- make depend depends on it. | ||
97 | |||
98 | pk7_asn1.o: ../../e_os.h ../../include/openssl/asn1.h | ||
99 | pk7_asn1.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h | ||
100 | pk7_asn1.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h | ||
101 | pk7_asn1.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h | ||
102 | pk7_asn1.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h | ||
103 | pk7_asn1.o: ../../include/openssl/err.h ../../include/openssl/evp.h | ||
104 | pk7_asn1.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h | ||
105 | pk7_asn1.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h | ||
106 | pk7_asn1.o: ../../include/openssl/opensslconf.h | ||
107 | pk7_asn1.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
108 | pk7_asn1.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h | ||
109 | pk7_asn1.o: ../../include/openssl/sha.h ../../include/openssl/stack.h | ||
110 | pk7_asn1.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h | ||
111 | pk7_asn1.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pk7_asn1.c | ||
112 | pk7_attr.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h | ||
113 | pk7_attr.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h | ||
114 | pk7_attr.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h | ||
115 | pk7_attr.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h | ||
116 | pk7_attr.o: ../../include/openssl/err.h ../../include/openssl/evp.h | ||
117 | pk7_attr.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h | ||
118 | pk7_attr.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h | ||
119 | pk7_attr.o: ../../include/openssl/opensslconf.h | ||
120 | pk7_attr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
121 | pk7_attr.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h | ||
122 | pk7_attr.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h | ||
123 | pk7_attr.o: ../../include/openssl/sha.h ../../include/openssl/stack.h | ||
124 | pk7_attr.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h | ||
125 | pk7_attr.o: ../../include/openssl/x509_vfy.h pk7_attr.c | ||
126 | pk7_doit.o: ../../e_os.h ../../include/openssl/asn1.h | ||
127 | pk7_doit.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h | ||
128 | pk7_doit.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h | ||
129 | pk7_doit.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h | ||
130 | pk7_doit.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h | ||
131 | pk7_doit.o: ../../include/openssl/err.h ../../include/openssl/evp.h | ||
132 | pk7_doit.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h | ||
133 | pk7_doit.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h | ||
134 | pk7_doit.o: ../../include/openssl/opensslconf.h | ||
135 | pk7_doit.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
136 | pk7_doit.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h | ||
137 | pk7_doit.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h | ||
138 | pk7_doit.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
139 | pk7_doit.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h | ||
140 | pk7_doit.o: ../../include/openssl/x509v3.h ../cryptlib.h pk7_doit.c | ||
141 | pk7_lib.o: ../../e_os.h ../../include/openssl/asn1.h | ||
142 | pk7_lib.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h | ||
143 | pk7_lib.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h | ||
144 | pk7_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h | ||
145 | pk7_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h | ||
146 | pk7_lib.o: ../../include/openssl/evp.h ../../include/openssl/fips.h | ||
147 | pk7_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h | ||
148 | pk7_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h | ||
149 | pk7_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
150 | pk7_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h | ||
151 | pk7_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h | ||
152 | pk7_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h | ||
153 | pk7_lib.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pk7_lib.c | ||
154 | pk7_mime.o: ../../e_os.h ../../include/openssl/asn1.h | ||
155 | pk7_mime.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h | ||
156 | pk7_mime.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h | ||
157 | pk7_mime.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h | ||
158 | pk7_mime.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h | ||
159 | pk7_mime.o: ../../include/openssl/evp.h ../../include/openssl/fips.h | ||
160 | pk7_mime.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h | ||
161 | pk7_mime.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h | ||
162 | pk7_mime.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
163 | pk7_mime.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h | ||
164 | pk7_mime.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h | ||
165 | pk7_mime.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
166 | pk7_mime.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h | ||
167 | pk7_mime.o: ../cryptlib.h pk7_mime.c | ||
168 | pk7_smime.o: ../../e_os.h ../../include/openssl/asn1.h | ||
169 | pk7_smime.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h | ||
170 | pk7_smime.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h | ||
171 | pk7_smime.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h | ||
172 | pk7_smime.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h | ||
173 | pk7_smime.o: ../../include/openssl/err.h ../../include/openssl/evp.h | ||
174 | pk7_smime.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h | ||
175 | pk7_smime.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h | ||
176 | pk7_smime.o: ../../include/openssl/opensslconf.h | ||
177 | pk7_smime.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
178 | pk7_smime.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h | ||
179 | pk7_smime.o: ../../include/openssl/sha.h ../../include/openssl/stack.h | ||
180 | pk7_smime.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h | ||
181 | pk7_smime.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h | ||
182 | pk7_smime.o: ../cryptlib.h pk7_smime.c | ||
183 | pkcs7err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h | ||
184 | pkcs7err.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h | ||
185 | pkcs7err.o: ../../include/openssl/err.h ../../include/openssl/lhash.h | ||
186 | pkcs7err.o: ../../include/openssl/opensslconf.h | ||
187 | pkcs7err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
188 | pkcs7err.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h | ||
189 | pkcs7err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
190 | pkcs7err.o: pkcs7err.c | ||
diff --git a/src/lib/libcrypto/pkcs7/Makefile.ssl b/src/lib/libcrypto/pkcs7/Makefile.ssl new file mode 100644 index 0000000000..c3bfc7d560 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/Makefile.ssl | |||
@@ -0,0 +1,243 @@ | |||
1 | # | ||
2 | # SSLeay/crypto/pkcs7/Makefile | ||
3 | # | ||
4 | |||
5 | DIR= pkcs7 | ||
6 | TOP= ../.. | ||
7 | CC= cc | ||
8 | INCLUDES= -I.. -I$(TOP) -I../../include | ||
9 | CFLAG=-g | ||
10 | INSTALL_PREFIX= | ||
11 | OPENSSLDIR= /usr/local/ssl | ||
12 | INSTALLTOP=/usr/local/ssl | ||
13 | MAKE= make -f Makefile.ssl | ||
14 | MAKEDEPPROG= makedepend | ||
15 | MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG) | ||
16 | MAKEFILE= Makefile.ssl | ||
17 | AR= ar r | ||
18 | |||
19 | PEX_LIBS= | ||
20 | EX_LIBS= | ||
21 | |||
22 | CFLAGS= $(INCLUDES) $(CFLAG) | ||
23 | |||
24 | GENERAL=Makefile README | ||
25 | TEST= | ||
26 | APPS= | ||
27 | |||
28 | LIB=$(TOP)/libcrypto.a | ||
29 | LIBSRC= pk7_asn1.c pk7_lib.c pkcs7err.c pk7_doit.c pk7_smime.c pk7_attr.c \ | ||
30 | pk7_mime.c | ||
31 | LIBOBJ= pk7_asn1.o pk7_lib.o pkcs7err.o pk7_doit.o pk7_smime.o pk7_attr.o \ | ||
32 | pk7_mime.o | ||
33 | |||
34 | SRC= $(LIBSRC) | ||
35 | |||
36 | EXHEADER= pkcs7.h | ||
37 | HEADER= $(EXHEADER) | ||
38 | |||
39 | ALL= $(GENERAL) $(SRC) $(HEADER) | ||
40 | |||
41 | top: | ||
42 | (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all) | ||
43 | |||
44 | test: | ||
45 | |||
46 | all: lib | ||
47 | |||
48 | testapps: enc dec sign verify | ||
49 | |||
50 | enc: enc.o lib | ||
51 | $(CC) $(CFLAGS) -o enc enc.o $(PEX_LIBS) $(LIB) $(EX_LIBS) | ||
52 | |||
53 | dec: dec.o lib | ||
54 | $(CC) $(CFLAGS) -o dec dec.o $(PEX_LIBS) $(LIB) $(EX_LIBS) | ||
55 | |||
56 | sign: sign.o lib | ||
57 | $(CC) $(CFLAGS) -o sign sign.o $(PEX_LIBS) $(LIB) $(EX_LIBS) | ||
58 | |||
59 | verify: verify.o example.o lib | ||
60 | $(CC) $(CFLAGS) -o verify verify.o $(PEX_LIBS) example.o $(LIB) $(EX_LIBS) | ||
61 | |||
62 | lib: $(LIBOBJ) | ||
63 | $(AR) $(LIB) $(LIBOBJ) | ||
64 | $(RANLIB) $(LIB) || echo Never mind. | ||
65 | @touch lib | ||
66 | |||
67 | files: | ||
68 | $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO | ||
69 | |||
70 | links: | ||
71 | @sh $(TOP)/util/point.sh Makefile.ssl Makefile | ||
72 | @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER) | ||
73 | @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST) | ||
74 | @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS) | ||
75 | |||
76 | install: | ||
77 | @for i in $(EXHEADER) ; \ | ||
78 | do \ | ||
79 | (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ | ||
80 | chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ | ||
81 | done; | ||
82 | |||
83 | tags: | ||
84 | ctags $(SRC) | ||
85 | |||
86 | tests: | ||
87 | |||
88 | lint: | ||
89 | lint -DLINT $(INCLUDES) $(SRC)>fluff | ||
90 | |||
91 | depend: | ||
92 | $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC) | ||
93 | |||
94 | dclean: | ||
95 | $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new | ||
96 | mv -f Makefile.new $(MAKEFILE) | ||
97 | |||
98 | clean: | ||
99 | rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff enc dec sign verify | ||
100 | |||
101 | # DO NOT DELETE THIS LINE -- make depend depends on it. | ||
102 | |||
103 | pk7_asn1.o: ../../e_os.h ../../include/openssl/aes.h | ||
104 | pk7_asn1.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h | ||
105 | pk7_asn1.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h | ||
106 | pk7_asn1.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h | ||
107 | pk7_asn1.o: ../../include/openssl/cast.h ../../include/openssl/crypto.h | ||
108 | pk7_asn1.o: ../../include/openssl/des.h ../../include/openssl/des_old.h | ||
109 | pk7_asn1.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h | ||
110 | pk7_asn1.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
111 | pk7_asn1.o: ../../include/openssl/evp.h ../../include/openssl/idea.h | ||
112 | pk7_asn1.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h | ||
113 | pk7_asn1.o: ../../include/openssl/md4.h ../../include/openssl/md5.h | ||
114 | pk7_asn1.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h | ||
115 | pk7_asn1.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h | ||
116 | pk7_asn1.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
117 | pk7_asn1.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h | ||
118 | pk7_asn1.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h | ||
119 | pk7_asn1.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h | ||
120 | pk7_asn1.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h | ||
121 | pk7_asn1.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
122 | pk7_asn1.o: ../../include/openssl/ui.h ../../include/openssl/ui_compat.h | ||
123 | pk7_asn1.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h | ||
124 | pk7_asn1.o: ../cryptlib.h pk7_asn1.c | ||
125 | pk7_attr.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h | ||
126 | pk7_attr.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h | ||
127 | pk7_attr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h | ||
128 | pk7_attr.o: ../../include/openssl/cast.h ../../include/openssl/crypto.h | ||
129 | pk7_attr.o: ../../include/openssl/des.h ../../include/openssl/des_old.h | ||
130 | pk7_attr.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h | ||
131 | pk7_attr.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
132 | pk7_attr.o: ../../include/openssl/evp.h ../../include/openssl/idea.h | ||
133 | pk7_attr.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h | ||
134 | pk7_attr.o: ../../include/openssl/md4.h ../../include/openssl/md5.h | ||
135 | pk7_attr.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h | ||
136 | pk7_attr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h | ||
137 | pk7_attr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
138 | pk7_attr.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h | ||
139 | pk7_attr.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h | ||
140 | pk7_attr.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h | ||
141 | pk7_attr.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h | ||
142 | pk7_attr.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h | ||
143 | pk7_attr.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
144 | pk7_attr.o: ../../include/openssl/ui.h ../../include/openssl/ui_compat.h | ||
145 | pk7_attr.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h | ||
146 | pk7_attr.o: pk7_attr.c | ||
147 | pk7_doit.o: ../../e_os.h ../../include/openssl/aes.h | ||
148 | pk7_doit.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h | ||
149 | pk7_doit.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h | ||
150 | pk7_doit.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h | ||
151 | pk7_doit.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h | ||
152 | pk7_doit.o: ../../include/openssl/des.h ../../include/openssl/des_old.h | ||
153 | pk7_doit.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h | ||
154 | pk7_doit.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
155 | pk7_doit.o: ../../include/openssl/evp.h ../../include/openssl/idea.h | ||
156 | pk7_doit.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h | ||
157 | pk7_doit.o: ../../include/openssl/md4.h ../../include/openssl/md5.h | ||
158 | pk7_doit.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h | ||
159 | pk7_doit.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h | ||
160 | pk7_doit.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
161 | pk7_doit.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h | ||
162 | pk7_doit.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h | ||
163 | pk7_doit.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h | ||
164 | pk7_doit.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h | ||
165 | pk7_doit.o: ../../include/openssl/sha.h ../../include/openssl/stack.h | ||
166 | pk7_doit.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h | ||
167 | pk7_doit.o: ../../include/openssl/ui_compat.h ../../include/openssl/x509.h | ||
168 | pk7_doit.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h | ||
169 | pk7_doit.o: ../cryptlib.h pk7_doit.c | ||
170 | pk7_lib.o: ../../e_os.h ../../include/openssl/aes.h | ||
171 | pk7_lib.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h | ||
172 | pk7_lib.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h | ||
173 | pk7_lib.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h | ||
174 | pk7_lib.o: ../../include/openssl/crypto.h ../../include/openssl/des.h | ||
175 | pk7_lib.o: ../../include/openssl/des_old.h ../../include/openssl/dh.h | ||
176 | pk7_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h | ||
177 | pk7_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h | ||
178 | pk7_lib.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h | ||
179 | pk7_lib.o: ../../include/openssl/md2.h ../../include/openssl/md4.h | ||
180 | pk7_lib.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h | ||
181 | pk7_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h | ||
182 | pk7_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h | ||
183 | pk7_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h | ||
184 | pk7_lib.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h | ||
185 | pk7_lib.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h | ||
186 | pk7_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h | ||
187 | pk7_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h | ||
188 | pk7_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h | ||
189 | pk7_lib.o: ../../include/openssl/ui_compat.h ../../include/openssl/x509.h | ||
190 | pk7_lib.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pk7_lib.c | ||
191 | pk7_mime.o: ../../e_os.h ../../include/openssl/aes.h | ||
192 | pk7_mime.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h | ||
193 | pk7_mime.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h | ||
194 | pk7_mime.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h | ||
195 | pk7_mime.o: ../../include/openssl/crypto.h ../../include/openssl/des.h | ||
196 | pk7_mime.o: ../../include/openssl/des_old.h ../../include/openssl/dh.h | ||
197 | pk7_mime.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h | ||
198 | pk7_mime.o: ../../include/openssl/err.h ../../include/openssl/evp.h | ||
199 | pk7_mime.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h | ||
200 | pk7_mime.o: ../../include/openssl/md2.h ../../include/openssl/md4.h | ||
201 | pk7_mime.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h | ||
202 | pk7_mime.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h | ||
203 | pk7_mime.o: ../../include/openssl/opensslconf.h | ||
204 | pk7_mime.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
205 | pk7_mime.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h | ||
206 | pk7_mime.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h | ||
207 | pk7_mime.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h | ||
208 | pk7_mime.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h | ||
209 | pk7_mime.o: ../../include/openssl/sha.h ../../include/openssl/stack.h | ||
210 | pk7_mime.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h | ||
211 | pk7_mime.o: ../../include/openssl/ui_compat.h ../../include/openssl/x509.h | ||
212 | pk7_mime.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pk7_mime.c | ||
213 | pk7_smime.o: ../../e_os.h ../../include/openssl/aes.h | ||
214 | pk7_smime.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h | ||
215 | pk7_smime.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h | ||
216 | pk7_smime.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h | ||
217 | pk7_smime.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h | ||
218 | pk7_smime.o: ../../include/openssl/des.h ../../include/openssl/des_old.h | ||
219 | pk7_smime.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h | ||
220 | pk7_smime.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
221 | pk7_smime.o: ../../include/openssl/evp.h ../../include/openssl/idea.h | ||
222 | pk7_smime.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h | ||
223 | pk7_smime.o: ../../include/openssl/md4.h ../../include/openssl/md5.h | ||
224 | pk7_smime.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h | ||
225 | pk7_smime.o: ../../include/openssl/objects.h | ||
226 | pk7_smime.o: ../../include/openssl/opensslconf.h | ||
227 | pk7_smime.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
228 | pk7_smime.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h | ||
229 | pk7_smime.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h | ||
230 | pk7_smime.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h | ||
231 | pk7_smime.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h | ||
232 | pk7_smime.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
233 | pk7_smime.o: ../../include/openssl/ui.h ../../include/openssl/ui_compat.h | ||
234 | pk7_smime.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h | ||
235 | pk7_smime.o: ../../include/openssl/x509v3.h ../cryptlib.h pk7_smime.c | ||
236 | pkcs7err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h | ||
237 | pkcs7err.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h | ||
238 | pkcs7err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
239 | pkcs7err.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h | ||
240 | pkcs7err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
241 | pkcs7err.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h | ||
242 | pkcs7err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
243 | pkcs7err.o: pkcs7err.c | ||
diff --git a/src/lib/libcrypto/pkcs7/bio_ber.c b/src/lib/libcrypto/pkcs7/bio_ber.c new file mode 100644 index 0000000000..31973fcd1f --- /dev/null +++ b/src/lib/libcrypto/pkcs7/bio_ber.c | |||
@@ -0,0 +1,466 @@ | |||
1 | /* crypto/evp/bio_ber.c */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | |||
59 | #include <stdio.h> | ||
60 | #include <errno.h> | ||
61 | #include "cryptlib.h" | ||
62 | #include <openssl/buffer.h> | ||
63 | #include <openssl/evp.h> | ||
64 | |||
65 | static int ber_write(BIO *h,char *buf,int num); | ||
66 | static int ber_read(BIO *h,char *buf,int size); | ||
67 | /*static int ber_puts(BIO *h,char *str); */ | ||
68 | /*static int ber_gets(BIO *h,char *str,int size); */ | ||
69 | static long ber_ctrl(BIO *h,int cmd,long arg1,char *arg2); | ||
70 | static int ber_new(BIO *h); | ||
71 | static int ber_free(BIO *data); | ||
72 | static long ber_callback_ctrl(BIO *h,int cmd,void *(*fp)()); | ||
73 | #define BER_BUF_SIZE (32) | ||
74 | |||
75 | /* This is used to hold the state of the BER objects being read. */ | ||
76 | typedef struct ber_struct | ||
77 | { | ||
78 | int tag; | ||
79 | int class; | ||
80 | long length; | ||
81 | int inf; | ||
82 | int num_left; | ||
83 | int depth; | ||
84 | } BER_CTX; | ||
85 | |||
86 | typedef struct bio_ber_struct | ||
87 | { | ||
88 | int tag; | ||
89 | int class; | ||
90 | long length; | ||
91 | int inf; | ||
92 | |||
93 | /* most of the following are used when doing non-blocking IO */ | ||
94 | /* reading */ | ||
95 | long num_left; /* number of bytes still to read/write in block */ | ||
96 | int depth; /* used with indefinite encoding. */ | ||
97 | int finished; /* No more read data */ | ||
98 | |||
99 | /* writting */ | ||
100 | char *w_addr; | ||
101 | int w_offset; | ||
102 | int w_left; | ||
103 | |||
104 | int buf_len; | ||
105 | int buf_off; | ||
106 | unsigned char buf[BER_BUF_SIZE]; | ||
107 | } BIO_BER_CTX; | ||
108 | |||
109 | static BIO_METHOD methods_ber= | ||
110 | { | ||
111 | BIO_TYPE_CIPHER,"cipher", | ||
112 | ber_write, | ||
113 | ber_read, | ||
114 | NULL, /* ber_puts, */ | ||
115 | NULL, /* ber_gets, */ | ||
116 | ber_ctrl, | ||
117 | ber_new, | ||
118 | ber_free, | ||
119 | ber_callback_ctrl, | ||
120 | }; | ||
121 | |||
122 | BIO_METHOD *BIO_f_ber(void) | ||
123 | { | ||
124 | return(&methods_ber); | ||
125 | } | ||
126 | |||
127 | static int ber_new(BIO *bi) | ||
128 | { | ||
129 | BIO_BER_CTX *ctx; | ||
130 | |||
131 | ctx=(BIO_BER_CTX *)OPENSSL_malloc(sizeof(BIO_BER_CTX)); | ||
132 | if (ctx == NULL) return(0); | ||
133 | |||
134 | memset((char *)ctx,0,sizeof(BIO_BER_CTX)); | ||
135 | |||
136 | bi->init=0; | ||
137 | bi->ptr=(char *)ctx; | ||
138 | bi->flags=0; | ||
139 | return(1); | ||
140 | } | ||
141 | |||
142 | static int ber_free(BIO *a) | ||
143 | { | ||
144 | BIO_BER_CTX *b; | ||
145 | |||
146 | if (a == NULL) return(0); | ||
147 | b=(BIO_BER_CTX *)a->ptr; | ||
148 | OPENSSL_cleanse(a->ptr,sizeof(BIO_BER_CTX)); | ||
149 | OPENSSL_free(a->ptr); | ||
150 | a->ptr=NULL; | ||
151 | a->init=0; | ||
152 | a->flags=0; | ||
153 | return(1); | ||
154 | } | ||
155 | |||
156 | int bio_ber_get_header(BIO *bio, BIO_BER_CTX *ctx) | ||
157 | { | ||
158 | char buf[64]; | ||
159 | int i,j,n; | ||
160 | int ret; | ||
161 | unsigned char *p; | ||
162 | unsigned long length | ||
163 | int tag; | ||
164 | int class; | ||
165 | long max; | ||
166 | |||
167 | BIO_clear_retry_flags(b); | ||
168 | |||
169 | /* Pack the buffer down if there is a hole at the front */ | ||
170 | if (ctx->buf_off != 0) | ||
171 | { | ||
172 | p=ctx->buf; | ||
173 | j=ctx->buf_off; | ||
174 | n=ctx->buf_len-j; | ||
175 | for (i=0; i<n; i++) | ||
176 | { | ||
177 | p[0]=p[j]; | ||
178 | p++; | ||
179 | } | ||
180 | ctx->buf_len-j; | ||
181 | ctx->buf_off=0; | ||
182 | } | ||
183 | |||
184 | /* If there is more room, read some more data */ | ||
185 | i=BER_BUF_SIZE-ctx->buf_len; | ||
186 | if (i) | ||
187 | { | ||
188 | i=BIO_read(bio->next_bio,&(ctx->buf[ctx->buf_len]),i); | ||
189 | if (i <= 0) | ||
190 | { | ||
191 | BIO_copy_next_retry(b); | ||
192 | return(i); | ||
193 | } | ||
194 | else | ||
195 | ctx->buf_len+=i; | ||
196 | } | ||
197 | |||
198 | max=ctx->buf_len; | ||
199 | p=ctx->buf; | ||
200 | ret=ASN1_get_object(&p,&length,&tag,&class,max); | ||
201 | |||
202 | if (ret & 0x80) | ||
203 | { | ||
204 | if ((ctx->buf_len < BER_BUF_SIZE) && | ||
205 | (ERR_GET_REASON(ERR_peek_error()) == ASN1_R_TOO_LONG)) | ||
206 | { | ||
207 | ERR_clear_error(); /* clear the error */ | ||
208 | BIO_set_retry_read(b); | ||
209 | } | ||
210 | return(-1); | ||
211 | } | ||
212 | |||
213 | /* We have no error, we have a header, so make use of it */ | ||
214 | |||
215 | if ((ctx->tag >= 0) && (ctx->tag != tag)) | ||
216 | { | ||
217 | BIOerr(BIO_F_BIO_BER_GET_HEADER,BIO_R_TAG_MISMATCH); | ||
218 | sprintf(buf,"tag=%d, got %d",ctx->tag,tag); | ||
219 | ERR_add_error_data(1,buf); | ||
220 | return(-1); | ||
221 | } | ||
222 | if (ret & 0x01) | ||
223 | if (ret & V_ASN1_CONSTRUCTED) | ||
224 | } | ||
225 | |||
226 | static int ber_read(BIO *b, char *out, int outl) | ||
227 | { | ||
228 | int ret=0,i,n; | ||
229 | BIO_BER_CTX *ctx; | ||
230 | |||
231 | BIO_clear_retry_flags(b); | ||
232 | |||
233 | if (out == NULL) return(0); | ||
234 | ctx=(BIO_BER_CTX *)b->ptr; | ||
235 | |||
236 | if ((ctx == NULL) || (b->next_bio == NULL)) return(0); | ||
237 | |||
238 | if (ctx->finished) return(0); | ||
239 | |||
240 | again: | ||
241 | /* First see if we are half way through reading a block */ | ||
242 | if (ctx->num_left > 0) | ||
243 | { | ||
244 | if (ctx->num_left < outl) | ||
245 | n=ctx->num_left; | ||
246 | else | ||
247 | n=outl; | ||
248 | i=BIO_read(b->next_bio,out,n); | ||
249 | if (i <= 0) | ||
250 | { | ||
251 | BIO_copy_next_retry(b); | ||
252 | return(i); | ||
253 | } | ||
254 | ctx->num_left-=i; | ||
255 | outl-=i; | ||
256 | ret+=i; | ||
257 | if (ctx->num_left <= 0) | ||
258 | { | ||
259 | ctx->depth--; | ||
260 | if (ctx->depth <= 0) | ||
261 | ctx->finished=1; | ||
262 | } | ||
263 | if (outl <= 0) | ||
264 | return(ret); | ||
265 | else | ||
266 | goto again; | ||
267 | } | ||
268 | else /* we need to read another BER header */ | ||
269 | { | ||
270 | } | ||
271 | } | ||
272 | |||
273 | static int ber_write(BIO *b, char *in, int inl) | ||
274 | { | ||
275 | int ret=0,n,i; | ||
276 | BIO_ENC_CTX *ctx; | ||
277 | |||
278 | ctx=(BIO_ENC_CTX *)b->ptr; | ||
279 | ret=inl; | ||
280 | |||
281 | BIO_clear_retry_flags(b); | ||
282 | n=ctx->buf_len-ctx->buf_off; | ||
283 | while (n > 0) | ||
284 | { | ||
285 | i=BIO_write(b->next_bio,&(ctx->buf[ctx->buf_off]),n); | ||
286 | if (i <= 0) | ||
287 | { | ||
288 | BIO_copy_next_retry(b); | ||
289 | return(i); | ||
290 | } | ||
291 | ctx->buf_off+=i; | ||
292 | n-=i; | ||
293 | } | ||
294 | /* at this point all pending data has been written */ | ||
295 | |||
296 | if ((in == NULL) || (inl <= 0)) return(0); | ||
297 | |||
298 | ctx->buf_off=0; | ||
299 | while (inl > 0) | ||
300 | { | ||
301 | n=(inl > ENC_BLOCK_SIZE)?ENC_BLOCK_SIZE:inl; | ||
302 | EVP_CipherUpdate(&(ctx->cipher), | ||
303 | (unsigned char *)ctx->buf,&ctx->buf_len, | ||
304 | (unsigned char *)in,n); | ||
305 | inl-=n; | ||
306 | in+=n; | ||
307 | |||
308 | ctx->buf_off=0; | ||
309 | n=ctx->buf_len; | ||
310 | while (n > 0) | ||
311 | { | ||
312 | i=BIO_write(b->next_bio,&(ctx->buf[ctx->buf_off]),n); | ||
313 | if (i <= 0) | ||
314 | { | ||
315 | BIO_copy_next_retry(b); | ||
316 | return(i); | ||
317 | } | ||
318 | n-=i; | ||
319 | ctx->buf_off+=i; | ||
320 | } | ||
321 | ctx->buf_len=0; | ||
322 | ctx->buf_off=0; | ||
323 | } | ||
324 | BIO_copy_next_retry(b); | ||
325 | return(ret); | ||
326 | } | ||
327 | |||
328 | static long ber_ctrl(BIO *b, int cmd, long num, char *ptr) | ||
329 | { | ||
330 | BIO *dbio; | ||
331 | BIO_ENC_CTX *ctx,*dctx; | ||
332 | long ret=1; | ||
333 | int i; | ||
334 | |||
335 | ctx=(BIO_ENC_CTX *)b->ptr; | ||
336 | |||
337 | switch (cmd) | ||
338 | { | ||
339 | case BIO_CTRL_RESET: | ||
340 | ctx->ok=1; | ||
341 | ctx->finished=0; | ||
342 | EVP_CipherInit_ex(&(ctx->cipher),NULL,NULL,NULL,NULL, | ||
343 | ctx->cipher.berrypt); | ||
344 | ret=BIO_ctrl(b->next_bio,cmd,num,ptr); | ||
345 | break; | ||
346 | case BIO_CTRL_EOF: /* More to read */ | ||
347 | if (ctx->cont <= 0) | ||
348 | ret=1; | ||
349 | else | ||
350 | ret=BIO_ctrl(b->next_bio,cmd,num,ptr); | ||
351 | break; | ||
352 | case BIO_CTRL_WPENDING: | ||
353 | ret=ctx->buf_len-ctx->buf_off; | ||
354 | if (ret <= 0) | ||
355 | ret=BIO_ctrl(b->next_bio,cmd,num,ptr); | ||
356 | break; | ||
357 | case BIO_CTRL_PENDING: /* More to read in buffer */ | ||
358 | ret=ctx->buf_len-ctx->buf_off; | ||
359 | if (ret <= 0) | ||
360 | ret=BIO_ctrl(b->next_bio,cmd,num,ptr); | ||
361 | break; | ||
362 | case BIO_CTRL_FLUSH: | ||
363 | /* do a final write */ | ||
364 | again: | ||
365 | while (ctx->buf_len != ctx->buf_off) | ||
366 | { | ||
367 | i=ber_write(b,NULL,0); | ||
368 | if (i < 0) | ||
369 | { | ||
370 | ret=i; | ||
371 | break; | ||
372 | } | ||
373 | } | ||
374 | |||
375 | if (!ctx->finished) | ||
376 | { | ||
377 | ctx->finished=1; | ||
378 | ctx->buf_off=0; | ||
379 | ret=EVP_CipherFinal_ex(&(ctx->cipher), | ||
380 | (unsigned char *)ctx->buf, | ||
381 | &(ctx->buf_len)); | ||
382 | ctx->ok=(int)ret; | ||
383 | if (ret <= 0) break; | ||
384 | |||
385 | /* push out the bytes */ | ||
386 | goto again; | ||
387 | } | ||
388 | |||
389 | /* Finally flush the underlying BIO */ | ||
390 | ret=BIO_ctrl(b->next_bio,cmd,num,ptr); | ||
391 | break; | ||
392 | case BIO_C_GET_CIPHER_STATUS: | ||
393 | ret=(long)ctx->ok; | ||
394 | break; | ||
395 | case BIO_C_DO_STATE_MACHINE: | ||
396 | BIO_clear_retry_flags(b); | ||
397 | ret=BIO_ctrl(b->next_bio,cmd,num,ptr); | ||
398 | BIO_copy_next_retry(b); | ||
399 | break; | ||
400 | |||
401 | case BIO_CTRL_DUP: | ||
402 | dbio=(BIO *)ptr; | ||
403 | dctx=(BIO_ENC_CTX *)dbio->ptr; | ||
404 | memcpy(&(dctx->cipher),&(ctx->cipher),sizeof(ctx->cipher)); | ||
405 | dbio->init=1; | ||
406 | break; | ||
407 | default: | ||
408 | ret=BIO_ctrl(b->next_bio,cmd,num,ptr); | ||
409 | break; | ||
410 | } | ||
411 | return(ret); | ||
412 | } | ||
413 | |||
414 | static long ber_callback_ctrl(BIO *b, int cmd, void *(*fp)()) | ||
415 | { | ||
416 | long ret=1; | ||
417 | |||
418 | if (b->next_bio == NULL) return(0); | ||
419 | switch (cmd) | ||
420 | { | ||
421 | default: | ||
422 | ret=BIO_callback_ctrl(b->next_bio,cmd,fp); | ||
423 | break; | ||
424 | } | ||
425 | return(ret); | ||
426 | } | ||
427 | |||
428 | /* | ||
429 | void BIO_set_cipher_ctx(b,c) | ||
430 | BIO *b; | ||
431 | EVP_CIPHER_ctx *c; | ||
432 | { | ||
433 | if (b == NULL) return; | ||
434 | |||
435 | if ((b->callback != NULL) && | ||
436 | (b->callback(b,BIO_CB_CTRL,(char *)c,BIO_CTRL_SET,e,0L) <= 0)) | ||
437 | return; | ||
438 | |||
439 | b->init=1; | ||
440 | ctx=(BIO_ENC_CTX *)b->ptr; | ||
441 | memcpy(ctx->cipher,c,sizeof(EVP_CIPHER_CTX)); | ||
442 | |||
443 | if (b->callback != NULL) | ||
444 | b->callback(b,BIO_CB_CTRL,(char *)c,BIO_CTRL_SET,e,1L); | ||
445 | } | ||
446 | */ | ||
447 | |||
448 | void BIO_set_cipher(BIO *b, EVP_CIPHER *c, unsigned char *k, unsigned char *i, | ||
449 | int e) | ||
450 | { | ||
451 | BIO_ENC_CTX *ctx; | ||
452 | |||
453 | if (b == NULL) return; | ||
454 | |||
455 | if ((b->callback != NULL) && | ||
456 | (b->callback(b,BIO_CB_CTRL,(char *)c,BIO_CTRL_SET,e,0L) <= 0)) | ||
457 | return; | ||
458 | |||
459 | b->init=1; | ||
460 | ctx=(BIO_ENC_CTX *)b->ptr; | ||
461 | EVP_CipherInit_ex(&(ctx->cipher),c,NULL,k,i,e); | ||
462 | |||
463 | if (b->callback != NULL) | ||
464 | b->callback(b,BIO_CB_CTRL,(char *)c,BIO_CTRL_SET,e,1L); | ||
465 | } | ||
466 | |||
diff --git a/src/lib/libcrypto/pkcs7/dec.c b/src/lib/libcrypto/pkcs7/dec.c new file mode 100644 index 0000000000..6752ec568a --- /dev/null +++ b/src/lib/libcrypto/pkcs7/dec.c | |||
@@ -0,0 +1,248 @@ | |||
1 | /* crypto/pkcs7/verify.c */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | #include <stdio.h> | ||
59 | #include <stdlib.h> | ||
60 | #include <string.h> | ||
61 | #include <openssl/bio.h> | ||
62 | #include <openssl/x509.h> | ||
63 | #include <openssl/pem.h> | ||
64 | #include <openssl/err.h> | ||
65 | #include <openssl/asn1.h> | ||
66 | |||
67 | int verify_callback(int ok, X509_STORE_CTX *ctx); | ||
68 | |||
69 | BIO *bio_err=NULL; | ||
70 | |||
71 | int main(argc,argv) | ||
72 | int argc; | ||
73 | char *argv[]; | ||
74 | { | ||
75 | char *keyfile=NULL; | ||
76 | BIO *in; | ||
77 | EVP_PKEY *pkey; | ||
78 | X509 *x509; | ||
79 | PKCS7 *p7; | ||
80 | PKCS7_SIGNER_INFO *si; | ||
81 | X509_STORE_CTX cert_ctx; | ||
82 | X509_STORE *cert_store=NULL; | ||
83 | BIO *data,*detached=NULL,*p7bio=NULL; | ||
84 | char buf[1024*4]; | ||
85 | unsigned char *pp; | ||
86 | int i,printit=0; | ||
87 | STACK_OF(PKCS7_SIGNER_INFO) *sk; | ||
88 | |||
89 | OpenSSL_add_all_algorithms(); | ||
90 | bio_err=BIO_new_fp(stderr,BIO_NOCLOSE); | ||
91 | |||
92 | data=BIO_new(BIO_s_file()); | ||
93 | pp=NULL; | ||
94 | while (argc > 1) | ||
95 | { | ||
96 | argc--; | ||
97 | argv++; | ||
98 | if (strcmp(argv[0],"-p") == 0) | ||
99 | { | ||
100 | printit=1; | ||
101 | } | ||
102 | else if ((strcmp(argv[0],"-k") == 0) && (argc >= 2)) { | ||
103 | keyfile = argv[1]; | ||
104 | argc-=1; | ||
105 | argv+=1; | ||
106 | } else if ((strcmp(argv[0],"-d") == 0) && (argc >= 2)) | ||
107 | { | ||
108 | detached=BIO_new(BIO_s_file()); | ||
109 | if (!BIO_read_filename(detached,argv[1])) | ||
110 | goto err; | ||
111 | argc-=1; | ||
112 | argv+=1; | ||
113 | } | ||
114 | else break; | ||
115 | } | ||
116 | |||
117 | if (!BIO_read_filename(data,argv[0])) goto err; | ||
118 | |||
119 | if(!keyfile) { | ||
120 | fprintf(stderr, "No private key file specified\n"); | ||
121 | goto err; | ||
122 | } | ||
123 | |||
124 | if ((in=BIO_new_file(keyfile,"r")) == NULL) goto err; | ||
125 | if ((x509=PEM_read_bio_X509(in,NULL,NULL,NULL)) == NULL) goto err; | ||
126 | BIO_reset(in); | ||
127 | if ((pkey=PEM_read_bio_PrivateKey(in,NULL,NULL,NULL)) == NULL) | ||
128 | goto err; | ||
129 | BIO_free(in); | ||
130 | |||
131 | if (pp == NULL) | ||
132 | BIO_set_fp(data,stdin,BIO_NOCLOSE); | ||
133 | |||
134 | |||
135 | /* Load the PKCS7 object from a file */ | ||
136 | if ((p7=PEM_read_bio_PKCS7(data,NULL,NULL,NULL)) == NULL) goto err; | ||
137 | |||
138 | |||
139 | |||
140 | /* This stuff is being setup for certificate verification. | ||
141 | * When using SSL, it could be replaced with a | ||
142 | * cert_stre=SSL_CTX_get_cert_store(ssl_ctx); */ | ||
143 | cert_store=X509_STORE_new(); | ||
144 | X509_STORE_set_default_paths(cert_store); | ||
145 | X509_STORE_load_locations(cert_store,NULL,"../../certs"); | ||
146 | X509_STORE_set_verify_cb_func(cert_store,verify_callback); | ||
147 | |||
148 | ERR_clear_error(); | ||
149 | |||
150 | /* We need to process the data */ | ||
151 | /* We cannot support detached encryption */ | ||
152 | p7bio=PKCS7_dataDecode(p7,pkey,detached,x509); | ||
153 | |||
154 | if (p7bio == NULL) | ||
155 | { | ||
156 | printf("problems decoding\n"); | ||
157 | goto err; | ||
158 | } | ||
159 | |||
160 | /* We now have to 'read' from p7bio to calculate digests etc. */ | ||
161 | for (;;) | ||
162 | { | ||
163 | i=BIO_read(p7bio,buf,sizeof(buf)); | ||
164 | /* print it? */ | ||
165 | if (i <= 0) break; | ||
166 | fwrite(buf,1, i, stdout); | ||
167 | } | ||
168 | |||
169 | /* We can now verify signatures */ | ||
170 | sk=PKCS7_get_signer_info(p7); | ||
171 | if (sk == NULL) | ||
172 | { | ||
173 | fprintf(stderr, "there are no signatures on this data\n"); | ||
174 | } | ||
175 | else | ||
176 | { | ||
177 | /* Ok, first we need to, for each subject entry, | ||
178 | * see if we can verify */ | ||
179 | ERR_clear_error(); | ||
180 | for (i=0; i<sk_PKCS7_SIGNER_INFO_num(sk); i++) | ||
181 | { | ||
182 | si=sk_PKCS7_SIGNER_INFO_value(sk,i); | ||
183 | i=PKCS7_dataVerify(cert_store,&cert_ctx,p7bio,p7,si); | ||
184 | if (i <= 0) | ||
185 | goto err; | ||
186 | else | ||
187 | fprintf(stderr,"Signature verified\n"); | ||
188 | } | ||
189 | } | ||
190 | X509_STORE_free(cert_store); | ||
191 | |||
192 | exit(0); | ||
193 | err: | ||
194 | ERR_load_crypto_strings(); | ||
195 | ERR_print_errors_fp(stderr); | ||
196 | exit(1); | ||
197 | } | ||
198 | |||
199 | /* should be X509 * but we can just have them as char *. */ | ||
200 | int verify_callback(int ok, X509_STORE_CTX *ctx) | ||
201 | { | ||
202 | char buf[256]; | ||
203 | X509 *err_cert; | ||
204 | int err,depth; | ||
205 | |||
206 | err_cert=X509_STORE_CTX_get_current_cert(ctx); | ||
207 | err= X509_STORE_CTX_get_error(ctx); | ||
208 | depth= X509_STORE_CTX_get_error_depth(ctx); | ||
209 | |||
210 | X509_NAME_oneline(X509_get_subject_name(err_cert),buf,256); | ||
211 | BIO_printf(bio_err,"depth=%d %s\n",depth,buf); | ||
212 | if (!ok) | ||
213 | { | ||
214 | BIO_printf(bio_err,"verify error:num=%d:%s\n",err, | ||
215 | X509_verify_cert_error_string(err)); | ||
216 | if (depth < 6) | ||
217 | { | ||
218 | ok=1; | ||
219 | X509_STORE_CTX_set_error(ctx,X509_V_OK); | ||
220 | } | ||
221 | else | ||
222 | { | ||
223 | ok=0; | ||
224 | X509_STORE_CTX_set_error(ctx,X509_V_ERR_CERT_CHAIN_TOO_LONG); | ||
225 | } | ||
226 | } | ||
227 | switch (ctx->error) | ||
228 | { | ||
229 | case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: | ||
230 | X509_NAME_oneline(X509_get_issuer_name(ctx->current_cert),buf,256); | ||
231 | BIO_printf(bio_err,"issuer= %s\n",buf); | ||
232 | break; | ||
233 | case X509_V_ERR_CERT_NOT_YET_VALID: | ||
234 | case X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: | ||
235 | BIO_printf(bio_err,"notBefore="); | ||
236 | ASN1_UTCTIME_print(bio_err,X509_get_notBefore(ctx->current_cert)); | ||
237 | BIO_printf(bio_err,"\n"); | ||
238 | break; | ||
239 | case X509_V_ERR_CERT_HAS_EXPIRED: | ||
240 | case X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: | ||
241 | BIO_printf(bio_err,"notAfter="); | ||
242 | ASN1_UTCTIME_print(bio_err,X509_get_notAfter(ctx->current_cert)); | ||
243 | BIO_printf(bio_err,"\n"); | ||
244 | break; | ||
245 | } | ||
246 | BIO_printf(bio_err,"verify return:%d\n",ok); | ||
247 | return(ok); | ||
248 | } | ||
diff --git a/src/lib/libcrypto/pkcs7/des.pem b/src/lib/libcrypto/pkcs7/des.pem new file mode 100644 index 0000000000..62d1657e3e --- /dev/null +++ b/src/lib/libcrypto/pkcs7/des.pem | |||
@@ -0,0 +1,15 @@ | |||
1 | |||
2 | MIAGCSqGSIb3DQEHA6CAMIACAQAxggHmMIHwAgEAMIGZMIGSMQswCQYDVQQGEwJBVTETMBEG | ||
3 | A1UECBMKUXVlZW5zbGFuZDERMA8GA1UEBxMIQnJpc2JhbmUxGjAYBgNVBAoTEUNyeXB0c29m | ||
4 | dCBQdHkgTHRkMSIwIAYDVQQLExlERU1PTlNUUkFUSU9OIEFORCBURVNUSU5HMRswGQYDVQQD | ||
5 | ExJERU1PIFpFUk8gVkFMVUUgQ0ECAgR+MA0GCSqGSIb3DQEBAQUABEC2vXI1xQDW6lUHM3zQ | ||
6 | /9uBEBOO5A3TtkrklAXq7v01gsIC21t52qSk36REXY+slhNZ0OQ349tgkTsoETHFLoEwMIHw | ||
7 | AgEAMIGZMIGSMQswCQYDVQQGEwJBVTETMBEGA1UECBMKUXVlZW5zbGFuZDERMA8GA1UEBxMI | ||
8 | QnJpc2JhbmUxGjAYBgNVBAoTEUNyeXB0c29mdCBQdHkgTHRkMSIwIAYDVQQLExlERU1PTlNU | ||
9 | UkFUSU9OIEFORCBURVNUSU5HMRswGQYDVQQDExJERU1PIFpFUk8gVkFMVUUgQ0ECAgR9MA0G | ||
10 | CSqGSIb3DQEBAQUABEB8ujxbabxXUYJhopuDm3oDq4JNqX6Io4p3ro+ShqfIndsXTZ1v5a2N | ||
11 | WtLLCWlHn/habjBwZ/DgQgcKASbZ7QxNMIAGCSqGSIb3DQEHATAaBggqhkiG9w0DAjAOAgIA | ||
12 | oAQIbsL5v1wX98KggAQoAaJ4WHm68fXY1WE5OIjfVBIDpO1K+i8dmKhjnAjrjoyZ9Bwc8rDL | ||
13 | lgQg4CXb805h5xl+GfvSwUaHJayte1m2mcOhs3J2YyqbQ+MEIMIiJQccmhO3oDKm36CFvYR8 | ||
14 | 5PjpclVcZyX2ngbwPFMnBAgy0clOAE6UKAAAAAAAAAAAAAA= | ||
15 | |||
diff --git a/src/lib/libcrypto/pkcs7/doc b/src/lib/libcrypto/pkcs7/doc new file mode 100644 index 0000000000..d2e8b7b2a3 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/doc | |||
@@ -0,0 +1,24 @@ | |||
1 | int PKCS7_set_content_type(PKCS7 *p7, int type); | ||
2 | Call to set the type of PKCS7 object we are working on | ||
3 | |||
4 | int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey, | ||
5 | EVP_MD *dgst); | ||
6 | Use this to setup a signer info | ||
7 | There will also be functions to add signed and unsigned attributes. | ||
8 | |||
9 | int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i); | ||
10 | Add a signer info to the content. | ||
11 | |||
12 | int PKCS7_add_certificae(PKCS7 *p7, X509 *x509); | ||
13 | int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509); | ||
14 | |||
15 | ---- | ||
16 | |||
17 | p7=PKCS7_new(); | ||
18 | PKCS7_set_content_type(p7,NID_pkcs7_signed); | ||
19 | |||
20 | signer=PKCS7_SINGNER_INFO_new(); | ||
21 | PKCS7_SIGNER_INFO_set(signer,x509,pkey,EVP_md5()); | ||
22 | PKCS7_add_signer(py,signer); | ||
23 | |||
24 | we are now setup. | ||
diff --git a/src/lib/libcrypto/pkcs7/enc.c b/src/lib/libcrypto/pkcs7/enc.c new file mode 100644 index 0000000000..7417f8a4e0 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/enc.c | |||
@@ -0,0 +1,174 @@ | |||
1 | /* crypto/pkcs7/enc.c */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | #include <stdio.h> | ||
59 | #include <string.h> | ||
60 | #include <openssl/bio.h> | ||
61 | #include <openssl/x509.h> | ||
62 | #include <openssl/pem.h> | ||
63 | #include <openssl/err.h> | ||
64 | |||
65 | int main(argc,argv) | ||
66 | int argc; | ||
67 | char *argv[]; | ||
68 | { | ||
69 | X509 *x509; | ||
70 | PKCS7 *p7; | ||
71 | BIO *in; | ||
72 | BIO *data,*p7bio; | ||
73 | char buf[1024*4]; | ||
74 | int i; | ||
75 | int nodetach=1; | ||
76 | char *keyfile = NULL; | ||
77 | const EVP_CIPHER *cipher=NULL; | ||
78 | STACK_OF(X509) *recips=NULL; | ||
79 | |||
80 | OpenSSL_add_all_algorithms(); | ||
81 | |||
82 | data=BIO_new(BIO_s_file()); | ||
83 | while(argc > 1) | ||
84 | { | ||
85 | if (strcmp(argv[1],"-nd") == 0) | ||
86 | { | ||
87 | nodetach=1; | ||
88 | argv++; argc--; | ||
89 | } | ||
90 | else if ((strcmp(argv[1],"-c") == 0) && (argc >= 2)) { | ||
91 | if(!(cipher = EVP_get_cipherbyname(argv[2]))) { | ||
92 | fprintf(stderr, "Unknown cipher %s\n", argv[2]); | ||
93 | goto err; | ||
94 | } | ||
95 | argc-=2; | ||
96 | argv+=2; | ||
97 | } else if ((strcmp(argv[1],"-k") == 0) && (argc >= 2)) { | ||
98 | keyfile = argv[2]; | ||
99 | argc-=2; | ||
100 | argv+=2; | ||
101 | if (!(in=BIO_new_file(keyfile,"r"))) goto err; | ||
102 | if (!(x509=PEM_read_bio_X509(in,NULL,NULL,NULL))) | ||
103 | goto err; | ||
104 | if(!recips) recips = sk_X509_new_null(); | ||
105 | sk_X509_push(recips, x509); | ||
106 | BIO_free(in); | ||
107 | } else break; | ||
108 | } | ||
109 | |||
110 | if(!recips) { | ||
111 | fprintf(stderr, "No recipients\n"); | ||
112 | goto err; | ||
113 | } | ||
114 | |||
115 | if (!BIO_read_filename(data,argv[1])) goto err; | ||
116 | |||
117 | p7=PKCS7_new(); | ||
118 | #if 0 | ||
119 | BIO_reset(in); | ||
120 | if ((pkey=PEM_read_bio_PrivateKey(in,NULL,NULL)) == NULL) goto err; | ||
121 | BIO_free(in); | ||
122 | PKCS7_set_type(p7,NID_pkcs7_signedAndEnveloped); | ||
123 | |||
124 | if (PKCS7_add_signature(p7,x509,pkey,EVP_sha1()) == NULL) goto err; | ||
125 | /* we may want to add more */ | ||
126 | PKCS7_add_certificate(p7,x509); | ||
127 | #else | ||
128 | PKCS7_set_type(p7,NID_pkcs7_enveloped); | ||
129 | #endif | ||
130 | if(!cipher) { | ||
131 | #ifndef OPENSSL_NO_DES | ||
132 | cipher = EVP_des_ede3_cbc(); | ||
133 | #else | ||
134 | fprintf(stderr, "No cipher selected\n"); | ||
135 | goto err; | ||
136 | #endif | ||
137 | } | ||
138 | |||
139 | if (!PKCS7_set_cipher(p7,cipher)) goto err; | ||
140 | for(i = 0; i < sk_X509_num(recips); i++) { | ||
141 | if (!PKCS7_add_recipient(p7,sk_X509_value(recips, i))) goto err; | ||
142 | } | ||
143 | sk_X509_pop_free(recips, X509_free); | ||
144 | |||
145 | /* Set the content of the signed to 'data' */ | ||
146 | /* PKCS7_content_new(p7,NID_pkcs7_data); not used in envelope */ | ||
147 | |||
148 | /* could be used, but not in this version :-) | ||
149 | if (!nodetach) PKCS7_set_detached(p7,1); | ||
150 | */ | ||
151 | |||
152 | if ((p7bio=PKCS7_dataInit(p7,NULL)) == NULL) goto err; | ||
153 | |||
154 | for (;;) | ||
155 | { | ||
156 | i=BIO_read(data,buf,sizeof(buf)); | ||
157 | if (i <= 0) break; | ||
158 | BIO_write(p7bio,buf,i); | ||
159 | } | ||
160 | BIO_flush(p7bio); | ||
161 | |||
162 | if (!PKCS7_dataFinal(p7,p7bio)) goto err; | ||
163 | BIO_free(p7bio); | ||
164 | |||
165 | PEM_write_PKCS7(stdout,p7); | ||
166 | PKCS7_free(p7); | ||
167 | |||
168 | exit(0); | ||
169 | err: | ||
170 | ERR_load_crypto_strings(); | ||
171 | ERR_print_errors_fp(stderr); | ||
172 | exit(1); | ||
173 | } | ||
174 | |||
diff --git a/src/lib/libcrypto/pkcs7/es1.pem b/src/lib/libcrypto/pkcs7/es1.pem new file mode 100644 index 0000000000..47112a238f --- /dev/null +++ b/src/lib/libcrypto/pkcs7/es1.pem | |||
@@ -0,0 +1,66 @@ | |||
1 | -----BEGIN PKCS7----- | ||
2 | MIAGCSqGSIb3DQEHA6CAMIACAQAxggHmMIHwAgEAMIGZMIGSMQswCQYDVQQGEwJBVTETMBEG | ||
3 | A1UECBMKUXVlZW5zbGFuZDERMA8GA1UEBxMIQnJpc2JhbmUxGjAYBgNVBAoTEUNyeXB0c29m | ||
4 | dCBQdHkgTHRkMSIwIAYDVQQLExlERU1PTlNUUkFUSU9OIEFORCBURVNUSU5HMRswGQYDVQQD | ||
5 | ExJERU1PIFpFUk8gVkFMVUUgQ0ECAgRuMA0GCSqGSIb3DQEBAQUABEDWak0y/5XZJhQJeCLo | ||
6 | KECcHXkTEbjzYkYNHIinbiPmRK4QbNfs9z2mA3z/c2ykQ4eAqFR2jyNrUMN/+I5XEiv6MIHw | ||
7 | AgEAMIGZMIGSMQswCQYDVQQGEwJBVTETMBEGA1UECBMKUXVlZW5zbGFuZDERMA8GA1UEBxMI | ||
8 | QnJpc2JhbmUxGjAYBgNVBAoTEUNyeXB0c29mdCBQdHkgTHRkMSIwIAYDVQQLExlERU1PTlNU | ||
9 | UkFUSU9OIEFORCBURVNUSU5HMRswGQYDVQQDExJERU1PIFpFUk8gVkFMVUUgQ0ECAgR9MA0G | ||
10 | CSqGSIb3DQEBAQUABEAWg9+KgtCjc77Jdj1Ve4wGgHjVHbbSYEA1ZqKFDoi15vSr9hfpHmC4 | ||
11 | ycZzcRo16JkTfolefiHZzmyjVz94vSN6MIAGCSqGSIb3DQEHATAaBggqhkiG9w0DAjAOAgIA | ||
12 | oAQI7X4Tk4mcbV6ggASBsHl1mCaJ3RhXWlNPCgCRU53d7M5x6TDZRkvwdtdvW96m1lupT03F | ||
13 | XtonkBqk7oMkH7kGfs5/REQOPjx0QE2Ixmgt1W3szum82EZwA7pZNppcraK7W/odw/7bYZO+ | ||
14 | II3HPmRklE2N9qiu1LPaPUsnYogkO6SennyeL5tZ382vBweL/8pnG0qsbT1OBb65v+llnsjT | ||
15 | pa1T/p+fIx/iJJGE6K9fYFokC6gXLQ6ozXRdOu5oBDB8mPCYYvAqKycidM/MrGGUkpEtS4f0 | ||
16 | lS31PwQi5YTim8Ig3/TOwVpPX32i46FTuEIEIMHkD/OvpfwCCzXUHHJnKnKUAUvIsSY3vGBs | ||
17 | 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 | ||
66 | -----END PKCS7----- | ||
diff --git a/src/lib/libcrypto/pkcs7/example.c b/src/lib/libcrypto/pkcs7/example.c new file mode 100644 index 0000000000..2953d04b5c --- /dev/null +++ b/src/lib/libcrypto/pkcs7/example.c | |||
@@ -0,0 +1,329 @@ | |||
1 | #include <stdio.h> | ||
2 | #include <stdlib.h> | ||
3 | #include <string.h> | ||
4 | #include <openssl/pkcs7.h> | ||
5 | #include <openssl/asn1_mac.h> | ||
6 | #include <openssl/x509.h> | ||
7 | |||
8 | int add_signed_time(PKCS7_SIGNER_INFO *si) | ||
9 | { | ||
10 | ASN1_UTCTIME *sign_time; | ||
11 | |||
12 | /* The last parameter is the amount to add/subtract from the current | ||
13 | * time (in seconds) */ | ||
14 | sign_time=X509_gmtime_adj(NULL,0); | ||
15 | PKCS7_add_signed_attribute(si,NID_pkcs9_signingTime, | ||
16 | V_ASN1_UTCTIME,(char *)sign_time); | ||
17 | return(1); | ||
18 | } | ||
19 | |||
20 | ASN1_UTCTIME *get_signed_time(PKCS7_SIGNER_INFO *si) | ||
21 | { | ||
22 | ASN1_TYPE *so; | ||
23 | |||
24 | so=PKCS7_get_signed_attribute(si,NID_pkcs9_signingTime); | ||
25 | if (so->type == V_ASN1_UTCTIME) | ||
26 | return so->value.utctime; | ||
27 | return NULL; | ||
28 | } | ||
29 | |||
30 | static int signed_string_nid= -1; | ||
31 | |||
32 | void add_signed_string(PKCS7_SIGNER_INFO *si, char *str) | ||
33 | { | ||
34 | ASN1_OCTET_STRING *os; | ||
35 | |||
36 | /* To a an object of OID 1.2.3.4.5, which is an octet string */ | ||
37 | if (signed_string_nid == -1) | ||
38 | signed_string_nid= | ||
39 | OBJ_create("1.2.3.4.5","OID_example","Our example OID"); | ||
40 | os=ASN1_OCTET_STRING_new(); | ||
41 | ASN1_OCTET_STRING_set(os,(unsigned char*)str,strlen(str)); | ||
42 | /* When we add, we do not free */ | ||
43 | PKCS7_add_signed_attribute(si,signed_string_nid, | ||
44 | V_ASN1_OCTET_STRING,(char *)os); | ||
45 | } | ||
46 | |||
47 | int get_signed_string(PKCS7_SIGNER_INFO *si, char *buf, int len) | ||
48 | { | ||
49 | ASN1_TYPE *so; | ||
50 | ASN1_OCTET_STRING *os; | ||
51 | int i; | ||
52 | |||
53 | if (signed_string_nid == -1) | ||
54 | signed_string_nid= | ||
55 | OBJ_create("1.2.3.4.5","OID_example","Our example OID"); | ||
56 | /* To retrieve */ | ||
57 | so=PKCS7_get_signed_attribute(si,signed_string_nid); | ||
58 | if (so != NULL) | ||
59 | { | ||
60 | if (so->type == V_ASN1_OCTET_STRING) | ||
61 | { | ||
62 | os=so->value.octet_string; | ||
63 | i=os->length; | ||
64 | if ((i+1) > len) | ||
65 | i=len-1; | ||
66 | memcpy(buf,os->data,i); | ||
67 | return(i); | ||
68 | } | ||
69 | } | ||
70 | return(0); | ||
71 | } | ||
72 | |||
73 | static int signed_seq2string_nid= -1; | ||
74 | /* ########################################### */ | ||
75 | int add_signed_seq2string(PKCS7_SIGNER_INFO *si, char *str1, char *str2) | ||
76 | { | ||
77 | /* To add an object of OID 1.9.999, which is a sequence containing | ||
78 | * 2 octet strings */ | ||
79 | unsigned char *p; | ||
80 | ASN1_OCTET_STRING *os1,*os2; | ||
81 | ASN1_STRING *seq; | ||
82 | unsigned char *data; | ||
83 | int i,total; | ||
84 | |||
85 | if (signed_seq2string_nid == -1) | ||
86 | signed_seq2string_nid= | ||
87 | OBJ_create("1.9.9999","OID_example","Our example OID"); | ||
88 | |||
89 | os1=ASN1_OCTET_STRING_new(); | ||
90 | os2=ASN1_OCTET_STRING_new(); | ||
91 | ASN1_OCTET_STRING_set(os1,(unsigned char*)str1,strlen(str1)); | ||
92 | ASN1_OCTET_STRING_set(os2,(unsigned char*)str1,strlen(str1)); | ||
93 | i =i2d_ASN1_OCTET_STRING(os1,NULL); | ||
94 | i+=i2d_ASN1_OCTET_STRING(os2,NULL); | ||
95 | total=ASN1_object_size(1,i,V_ASN1_SEQUENCE); | ||
96 | |||
97 | data=malloc(total); | ||
98 | p=data; | ||
99 | ASN1_put_object(&p,1,i,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL); | ||
100 | i2d_ASN1_OCTET_STRING(os1,&p); | ||
101 | i2d_ASN1_OCTET_STRING(os2,&p); | ||
102 | |||
103 | seq=ASN1_STRING_new(); | ||
104 | ASN1_STRING_set(seq,data,total); | ||
105 | free(data); | ||
106 | ASN1_OCTET_STRING_free(os1); | ||
107 | ASN1_OCTET_STRING_free(os2); | ||
108 | |||
109 | PKCS7_add_signed_attribute(si,signed_seq2string_nid, | ||
110 | V_ASN1_SEQUENCE,(char *)seq); | ||
111 | return(1); | ||
112 | } | ||
113 | |||
114 | /* For this case, I will malloc the return strings */ | ||
115 | int get_signed_seq2string(PKCS7_SIGNER_INFO *si, char **str1, char **str2) | ||
116 | { | ||
117 | ASN1_TYPE *so; | ||
118 | |||
119 | if (signed_seq2string_nid == -1) | ||
120 | signed_seq2string_nid= | ||
121 | OBJ_create("1.9.9999","OID_example","Our example OID"); | ||
122 | /* To retrieve */ | ||
123 | so=PKCS7_get_signed_attribute(si,signed_seq2string_nid); | ||
124 | if (so && (so->type == V_ASN1_SEQUENCE)) | ||
125 | { | ||
126 | ASN1_const_CTX c; | ||
127 | ASN1_STRING *s; | ||
128 | long length; | ||
129 | ASN1_OCTET_STRING *os1,*os2; | ||
130 | |||
131 | s=so->value.sequence; | ||
132 | c.p=ASN1_STRING_data(s); | ||
133 | c.max=c.p+ASN1_STRING_length(s); | ||
134 | if (!asn1_GetSequence(&c,&length)) goto err; | ||
135 | /* Length is the length of the seqence */ | ||
136 | |||
137 | c.q=c.p; | ||
138 | if ((os1=d2i_ASN1_OCTET_STRING(NULL,&c.p,c.slen)) == NULL) | ||
139 | goto err; | ||
140 | c.slen-=(c.p-c.q); | ||
141 | |||
142 | c.q=c.p; | ||
143 | if ((os2=d2i_ASN1_OCTET_STRING(NULL,&c.p,c.slen)) == NULL) | ||
144 | goto err; | ||
145 | c.slen-=(c.p-c.q); | ||
146 | |||
147 | if (!asn1_const_Finish(&c)) goto err; | ||
148 | *str1=malloc(os1->length+1); | ||
149 | *str2=malloc(os2->length+1); | ||
150 | memcpy(*str1,os1->data,os1->length); | ||
151 | memcpy(*str2,os2->data,os2->length); | ||
152 | (*str1)[os1->length]='\0'; | ||
153 | (*str2)[os2->length]='\0'; | ||
154 | ASN1_OCTET_STRING_free(os1); | ||
155 | ASN1_OCTET_STRING_free(os2); | ||
156 | return(1); | ||
157 | } | ||
158 | err: | ||
159 | return(0); | ||
160 | } | ||
161 | |||
162 | |||
163 | /* ####################################### | ||
164 | * THE OTHER WAY TO DO THINGS | ||
165 | * ####################################### | ||
166 | */ | ||
167 | X509_ATTRIBUTE *create_time(void) | ||
168 | { | ||
169 | ASN1_UTCTIME *sign_time; | ||
170 | X509_ATTRIBUTE *ret; | ||
171 | |||
172 | /* The last parameter is the amount to add/subtract from the current | ||
173 | * time (in seconds) */ | ||
174 | sign_time=X509_gmtime_adj(NULL,0); | ||
175 | ret=X509_ATTRIBUTE_create(NID_pkcs9_signingTime, | ||
176 | V_ASN1_UTCTIME,(char *)sign_time); | ||
177 | return(ret); | ||
178 | } | ||
179 | |||
180 | ASN1_UTCTIME *sk_get_time(STACK_OF(X509_ATTRIBUTE) *sk) | ||
181 | { | ||
182 | ASN1_TYPE *so; | ||
183 | PKCS7_SIGNER_INFO si; | ||
184 | |||
185 | si.auth_attr=sk; | ||
186 | so=PKCS7_get_signed_attribute(&si,NID_pkcs9_signingTime); | ||
187 | if (so->type == V_ASN1_UTCTIME) | ||
188 | return so->value.utctime; | ||
189 | return NULL; | ||
190 | } | ||
191 | |||
192 | X509_ATTRIBUTE *create_string(char *str) | ||
193 | { | ||
194 | ASN1_OCTET_STRING *os; | ||
195 | X509_ATTRIBUTE *ret; | ||
196 | |||
197 | /* To a an object of OID 1.2.3.4.5, which is an octet string */ | ||
198 | if (signed_string_nid == -1) | ||
199 | signed_string_nid= | ||
200 | OBJ_create("1.2.3.4.5","OID_example","Our example OID"); | ||
201 | os=ASN1_OCTET_STRING_new(); | ||
202 | ASN1_OCTET_STRING_set(os,(unsigned char*)str,strlen(str)); | ||
203 | /* When we add, we do not free */ | ||
204 | ret=X509_ATTRIBUTE_create(signed_string_nid, | ||
205 | V_ASN1_OCTET_STRING,(char *)os); | ||
206 | return(ret); | ||
207 | } | ||
208 | |||
209 | int sk_get_string(STACK_OF(X509_ATTRIBUTE) *sk, char *buf, int len) | ||
210 | { | ||
211 | ASN1_TYPE *so; | ||
212 | ASN1_OCTET_STRING *os; | ||
213 | int i; | ||
214 | PKCS7_SIGNER_INFO si; | ||
215 | |||
216 | si.auth_attr=sk; | ||
217 | |||
218 | if (signed_string_nid == -1) | ||
219 | signed_string_nid= | ||
220 | OBJ_create("1.2.3.4.5","OID_example","Our example OID"); | ||
221 | /* To retrieve */ | ||
222 | so=PKCS7_get_signed_attribute(&si,signed_string_nid); | ||
223 | if (so != NULL) | ||
224 | { | ||
225 | if (so->type == V_ASN1_OCTET_STRING) | ||
226 | { | ||
227 | os=so->value.octet_string; | ||
228 | i=os->length; | ||
229 | if ((i+1) > len) | ||
230 | i=len-1; | ||
231 | memcpy(buf,os->data,i); | ||
232 | return(i); | ||
233 | } | ||
234 | } | ||
235 | return(0); | ||
236 | } | ||
237 | |||
238 | X509_ATTRIBUTE *add_seq2string(PKCS7_SIGNER_INFO *si, char *str1, char *str2) | ||
239 | { | ||
240 | /* To add an object of OID 1.9.999, which is a sequence containing | ||
241 | * 2 octet strings */ | ||
242 | unsigned char *p; | ||
243 | ASN1_OCTET_STRING *os1,*os2; | ||
244 | ASN1_STRING *seq; | ||
245 | X509_ATTRIBUTE *ret; | ||
246 | unsigned char *data; | ||
247 | int i,total; | ||
248 | |||
249 | if (signed_seq2string_nid == -1) | ||
250 | signed_seq2string_nid= | ||
251 | OBJ_create("1.9.9999","OID_example","Our example OID"); | ||
252 | |||
253 | os1=ASN1_OCTET_STRING_new(); | ||
254 | os2=ASN1_OCTET_STRING_new(); | ||
255 | ASN1_OCTET_STRING_set(os1,(unsigned char*)str1,strlen(str1)); | ||
256 | ASN1_OCTET_STRING_set(os2,(unsigned char*)str1,strlen(str1)); | ||
257 | i =i2d_ASN1_OCTET_STRING(os1,NULL); | ||
258 | i+=i2d_ASN1_OCTET_STRING(os2,NULL); | ||
259 | total=ASN1_object_size(1,i,V_ASN1_SEQUENCE); | ||
260 | |||
261 | data=malloc(total); | ||
262 | p=data; | ||
263 | ASN1_put_object(&p,1,i,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL); | ||
264 | i2d_ASN1_OCTET_STRING(os1,&p); | ||
265 | i2d_ASN1_OCTET_STRING(os2,&p); | ||
266 | |||
267 | seq=ASN1_STRING_new(); | ||
268 | ASN1_STRING_set(seq,data,total); | ||
269 | free(data); | ||
270 | ASN1_OCTET_STRING_free(os1); | ||
271 | ASN1_OCTET_STRING_free(os2); | ||
272 | |||
273 | ret=X509_ATTRIBUTE_create(signed_seq2string_nid, | ||
274 | V_ASN1_SEQUENCE,(char *)seq); | ||
275 | return(ret); | ||
276 | } | ||
277 | |||
278 | /* For this case, I will malloc the return strings */ | ||
279 | int sk_get_seq2string(STACK_OF(X509_ATTRIBUTE) *sk, char **str1, char **str2) | ||
280 | { | ||
281 | ASN1_TYPE *so; | ||
282 | PKCS7_SIGNER_INFO si; | ||
283 | |||
284 | if (signed_seq2string_nid == -1) | ||
285 | signed_seq2string_nid= | ||
286 | OBJ_create("1.9.9999","OID_example","Our example OID"); | ||
287 | |||
288 | si.auth_attr=sk; | ||
289 | /* To retrieve */ | ||
290 | so=PKCS7_get_signed_attribute(&si,signed_seq2string_nid); | ||
291 | if (so->type == V_ASN1_SEQUENCE) | ||
292 | { | ||
293 | ASN1_const_CTX c; | ||
294 | ASN1_STRING *s; | ||
295 | long length; | ||
296 | ASN1_OCTET_STRING *os1,*os2; | ||
297 | |||
298 | s=so->value.sequence; | ||
299 | c.p=ASN1_STRING_data(s); | ||
300 | c.max=c.p+ASN1_STRING_length(s); | ||
301 | if (!asn1_GetSequence(&c,&length)) goto err; | ||
302 | /* Length is the length of the seqence */ | ||
303 | |||
304 | c.q=c.p; | ||
305 | if ((os1=d2i_ASN1_OCTET_STRING(NULL,&c.p,c.slen)) == NULL) | ||
306 | goto err; | ||
307 | c.slen-=(c.p-c.q); | ||
308 | |||
309 | c.q=c.p; | ||
310 | if ((os2=d2i_ASN1_OCTET_STRING(NULL,&c.p,c.slen)) == NULL) | ||
311 | goto err; | ||
312 | c.slen-=(c.p-c.q); | ||
313 | |||
314 | if (!asn1_const_Finish(&c)) goto err; | ||
315 | *str1=malloc(os1->length+1); | ||
316 | *str2=malloc(os2->length+1); | ||
317 | memcpy(*str1,os1->data,os1->length); | ||
318 | memcpy(*str2,os2->data,os2->length); | ||
319 | (*str1)[os1->length]='\0'; | ||
320 | (*str2)[os2->length]='\0'; | ||
321 | ASN1_OCTET_STRING_free(os1); | ||
322 | ASN1_OCTET_STRING_free(os2); | ||
323 | return(1); | ||
324 | } | ||
325 | err: | ||
326 | return(0); | ||
327 | } | ||
328 | |||
329 | |||
diff --git a/src/lib/libcrypto/pkcs7/example.h b/src/lib/libcrypto/pkcs7/example.h new file mode 100644 index 0000000000..96167de188 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/example.h | |||
@@ -0,0 +1,57 @@ | |||
1 | /* ==================================================================== | ||
2 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. | ||
3 | * | ||
4 | * Redistribution and use in source and binary forms, with or without | ||
5 | * modification, are permitted provided that the following conditions | ||
6 | * are met: | ||
7 | * | ||
8 | * 1. Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * | ||
11 | * 2. Redistributions in binary form must reproduce the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer in | ||
13 | * the documentation and/or other materials provided with the | ||
14 | * distribution. | ||
15 | * | ||
16 | * 3. All advertising materials mentioning features or use of this | ||
17 | * software must display the following acknowledgment: | ||
18 | * "This product includes software developed by the OpenSSL Project | ||
19 | * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" | ||
20 | * | ||
21 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to | ||
22 | * endorse or promote products derived from this software without | ||
23 | * prior written permission. For written permission, please contact | ||
24 | * openssl-core@openssl.org. | ||
25 | * | ||
26 | * 5. Products derived from this software may not be called "OpenSSL" | ||
27 | * nor may "OpenSSL" appear in their names without prior written | ||
28 | * permission of the OpenSSL Project. | ||
29 | * | ||
30 | * 6. Redistributions of any form whatsoever must retain the following | ||
31 | * acknowledgment: | ||
32 | * "This product includes software developed by the OpenSSL Project | ||
33 | * for use in the OpenSSL Toolkit (http://www.openssl.org/)" | ||
34 | * | ||
35 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY | ||
36 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
37 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
38 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR | ||
39 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
40 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
41 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
42 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
43 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | ||
44 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
45 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | ||
46 | * OF THE POSSIBILITY OF SUCH DAMAGE. | ||
47 | * ==================================================================== | ||
48 | * | ||
49 | * This product includes cryptographic software written by Eric Young | ||
50 | * (eay@cryptsoft.com). This product includes software written by Tim | ||
51 | * Hudson (tjh@cryptsoft.com). | ||
52 | * | ||
53 | */ | ||
54 | |||
55 | int add_signed_time(PKCS7_SIGNER_INFO *si); | ||
56 | ASN1_UTCTIME *get_signed_time(PKCS7_SIGNER_INFO *si); | ||
57 | int get_signed_seq2string(PKCS7_SIGNER_INFO *si, char **str1, char **str2); | ||
diff --git a/src/lib/libcrypto/pkcs7/info.pem b/src/lib/libcrypto/pkcs7/info.pem new file mode 100644 index 0000000000..989baf8709 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/info.pem | |||
@@ -0,0 +1,57 @@ | |||
1 | issuer :/C=AU/SP=Queensland/L=Brisbane/O=Cryptsoft Pty Ltd/OU=DEMONSTRATION AND TESTING/CN=DEMO ZERO VALUE CA | ||
2 | subject:/C=AU/SP=Queensland/L=Brisbane/O=Cryptsoft Pty Ltd/OU=SMIME 003/CN=Information/Email=info@cryptsoft.com | ||
3 | serial :047D | ||
4 | |||
5 | Certificate: | ||
6 | Data: | ||
7 | Version: 3 (0x2) | ||
8 | Serial Number: 1149 (0x47d) | ||
9 | Signature Algorithm: md5withRSAEncryption | ||
10 | Issuer: C=AU, SP=Queensland, L=Brisbane, O=Cryptsoft Pty Ltd, OU=DEMONSTRATION AND TESTING, CN=DEMO ZERO VALUE CA | ||
11 | Validity | ||
12 | Not Before: May 13 05:40:58 1998 GMT | ||
13 | Not After : May 12 05:40:58 2000 GMT | ||
14 | Subject: C=AU, SP=Queensland, L=Brisbane, O=Cryptsoft Pty Ltd, OU=SMIME 003, CN=Information/Email=info@cryptsoft.com | ||
15 | Subject Public Key Info: | ||
16 | Public Key Algorithm: rsaEncryption | ||
17 | Modulus: | ||
18 | 00:ad:e7:23:89:ee:0d:87:b7:9c:32:44:4b:95:81: | ||
19 | 73:dd:22:80:4b:2d:c5:60:b8:fe:1e:18:63:ef:dc: | ||
20 | 89:89:22:df:95:3c:7a:db:3d:9a:06:a8:08:d6:29: | ||
21 | fd:ef:41:09:91:ed:bc:ad:98:f9:f6:28:90:62:6f: | ||
22 | e7:e7:0c:4d:0b | ||
23 | Exponent: 65537 (0x10001) | ||
24 | X509v3 extensions: | ||
25 | Netscape Comment: | ||
26 | Generated with SSLeay | ||
27 | Signature Algorithm: md5withRSAEncryption | ||
28 | 52:15:ea:88:f4:f0:f9:0b:ef:ce:d5:f8:83:40:61:16:5e:55: | ||
29 | f9:ce:2d:d1:8b:31:5c:03:c6:2d:10:7c:61:d5:5c:0a:42:97: | ||
30 | d1:fd:65:b6:b6:84:a5:39:ec:46:ec:fc:e0:0d:d9:22:da:1b: | ||
31 | 50:74:ad:92:cb:4e:90:e5:fa:7d | ||
32 | |||
33 | -----BEGIN CERTIFICATE----- | ||
34 | MIICTDCCAfagAwIBAgICBH0wDQYJKoZIhvcNAQEEBQAwgZIxCzAJBgNVBAYTAkFV | ||
35 | MRMwEQYDVQQIEwpRdWVlbnNsYW5kMREwDwYDVQQHEwhCcmlzYmFuZTEaMBgGA1UE | ||
36 | ChMRQ3J5cHRzb2Z0IFB0eSBMdGQxIjAgBgNVBAsTGURFTU9OU1RSQVRJT04gQU5E | ||
37 | IFRFU1RJTkcxGzAZBgNVBAMTEkRFTU8gWkVSTyBWQUxVRSBDQTAeFw05ODA1MTMw | ||
38 | NTQwNThaFw0wMDA1MTIwNTQwNThaMIGeMQswCQYDVQQGEwJBVTETMBEGA1UECBMK | ||
39 | UXVlZW5zbGFuZDERMA8GA1UEBxMIQnJpc2JhbmUxGjAYBgNVBAoTEUNyeXB0c29m | ||
40 | dCBQdHkgTHRkMRIwEAYDVQQLEwlTTUlNRSAwMDMxFDASBgNVBAMTC0luZm9ybWF0 | ||
41 | aW9uMSEwHwYJKoZIhvcNAQkBFhJpbmZvQGNyeXB0c29mdC5jb20wXDANBgkqhkiG | ||
42 | 9w0BAQEFAANLADBIAkEArecjie4Nh7ecMkRLlYFz3SKASy3FYLj+Hhhj79yJiSLf | ||
43 | lTx62z2aBqgI1in970EJke28rZj59iiQYm/n5wxNCwIDAQABoygwJjAkBglghkgB | ||
44 | hvhCAQ0EFxYVR2VuZXJhdGVkIHdpdGggU1NMZWF5MA0GCSqGSIb3DQEBBAUAA0EA | ||
45 | UhXqiPTw+QvvztX4g0BhFl5V+c4t0YsxXAPGLRB8YdVcCkKX0f1ltraEpTnsRuz8 | ||
46 | 4A3ZItobUHStkstOkOX6fQ== | ||
47 | -----END CERTIFICATE----- | ||
48 | |||
49 | -----BEGIN RSA PRIVATE KEY----- | ||
50 | MIIBOgIBAAJBAK3nI4nuDYe3nDJES5WBc90igEstxWC4/h4YY+/ciYki35U8ets9 | ||
51 | mgaoCNYp/e9BCZHtvK2Y+fYokGJv5+cMTQsCAwEAAQJBAIHpvXvqEcOEoDRRHuIG | ||
52 | fkcB4jPHcr9KE9TpxabH6xs9beN6OJnkePXAHwaz5MnUgSnbpOKq+cw8miKjXwe/ | ||
53 | zVECIQDVLwncT2lRmXarEYHzb+q/0uaSvKhWKKt3kJasLNTrAwIhANDUc/ghut29 | ||
54 | p3jJYjurzUKuG774/5eLjPLsxPPIZzNZAiA/10hSq41UnGqHLEUIS9m2/EeEZe7b | ||
55 | bm567dfRU9OnVQIgDo8ROrZXSchEGbaog5J5r/Fle83uO8l93R3GqVxKXZkCIFfk | ||
56 | IPD5PIYQAyyod3hyKKza7ZP4CGY4oOfZetbkSGGG | ||
57 | -----END RSA PRIVATE KEY----- | ||
diff --git a/src/lib/libcrypto/pkcs7/infokey.pem b/src/lib/libcrypto/pkcs7/infokey.pem new file mode 100644 index 0000000000..1e2acc954d --- /dev/null +++ b/src/lib/libcrypto/pkcs7/infokey.pem | |||
@@ -0,0 +1,9 @@ | |||
1 | -----BEGIN RSA PRIVATE KEY----- | ||
2 | MIIBOgIBAAJBAK3nI4nuDYe3nDJES5WBc90igEstxWC4/h4YY+/ciYki35U8ets9 | ||
3 | mgaoCNYp/e9BCZHtvK2Y+fYokGJv5+cMTQsCAwEAAQJBAIHpvXvqEcOEoDRRHuIG | ||
4 | fkcB4jPHcr9KE9TpxabH6xs9beN6OJnkePXAHwaz5MnUgSnbpOKq+cw8miKjXwe/ | ||
5 | zVECIQDVLwncT2lRmXarEYHzb+q/0uaSvKhWKKt3kJasLNTrAwIhANDUc/ghut29 | ||
6 | p3jJYjurzUKuG774/5eLjPLsxPPIZzNZAiA/10hSq41UnGqHLEUIS9m2/EeEZe7b | ||
7 | bm567dfRU9OnVQIgDo8ROrZXSchEGbaog5J5r/Fle83uO8l93R3GqVxKXZkCIFfk | ||
8 | IPD5PIYQAyyod3hyKKza7ZP4CGY4oOfZetbkSGGG | ||
9 | -----END RSA PRIVATE KEY----- | ||
diff --git a/src/lib/libcrypto/pkcs7/p7/a1 b/src/lib/libcrypto/pkcs7/p7/a1 new file mode 100644 index 0000000000..56ca943762 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/p7/a1 | |||
@@ -0,0 +1,2 @@ | |||
1 | j,H>_æá_DôzEîLœ VJ³ß觬¤””E3ûáYäx%_Àk | ||
2 | 3ê)DLScñ8%ôM \ No newline at end of file | ||
diff --git a/src/lib/libcrypto/pkcs7/p7/a2 b/src/lib/libcrypto/pkcs7/p7/a2 new file mode 100644 index 0000000000..23d8fb5e93 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/p7/a2 | |||
@@ -0,0 +1 @@ | |||
k~@a”,NâM͹¼ <O( KP—é¨ ¤K²>×U¿o_½BqrmÎ?Ù t?t÷ÏéId2‰Š \ No newline at end of file | |||
diff --git a/src/lib/libcrypto/pkcs7/p7/cert.p7c b/src/lib/libcrypto/pkcs7/p7/cert.p7c new file mode 100644 index 0000000000..2b75ec05f7 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/p7/cert.p7c | |||
Binary files differ | |||
diff --git a/src/lib/libcrypto/pkcs7/p7/smime.p7m b/src/lib/libcrypto/pkcs7/p7/smime.p7m new file mode 100644 index 0000000000..2b6e6f82ba --- /dev/null +++ b/src/lib/libcrypto/pkcs7/p7/smime.p7m | |||
Binary files differ | |||
diff --git a/src/lib/libcrypto/pkcs7/p7/smime.p7s b/src/lib/libcrypto/pkcs7/p7/smime.p7s new file mode 100644 index 0000000000..2b5d4fb0e3 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/p7/smime.p7s | |||
Binary files differ | |||
diff --git a/src/lib/libcrypto/pkcs7/pk7_dgst.c b/src/lib/libcrypto/pkcs7/pk7_dgst.c new file mode 100644 index 0000000000..90edfa5001 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/pk7_dgst.c | |||
@@ -0,0 +1,66 @@ | |||
1 | /* crypto/pkcs7/pk7_dgst.c */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | |||
59 | #include <stdio.h> | ||
60 | #include "cryptlib.h" | ||
61 | #include <openssl/evp.h> | ||
62 | #include <openssl/rand.h> | ||
63 | #include <openssl/objects.h> | ||
64 | #include <openssl/x509.h> | ||
65 | #include <openssl/pkcs7.h> | ||
66 | |||
diff --git a/src/lib/libcrypto/pkcs7/pk7_enc.c b/src/lib/libcrypto/pkcs7/pk7_enc.c new file mode 100644 index 0000000000..acbb189c59 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/pk7_enc.c | |||
@@ -0,0 +1,76 @@ | |||
1 | /* crypto/pkcs7/pk7_enc.c */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | |||
59 | #include <stdio.h> | ||
60 | #include "cryptlib.h" | ||
61 | #include <openssl/evp.h> | ||
62 | #include <openssl/rand.h> | ||
63 | #include <openssl/objects.h> | ||
64 | #include <openssl/x509.h> | ||
65 | #include <openssl/pkcs7.h> | ||
66 | |||
67 | PKCS7_in_bio(PKCS7 *p7,BIO *in); | ||
68 | PKCS7_out_bio(PKCS7 *p7,BIO *out); | ||
69 | |||
70 | PKCS7_add_signer(PKCS7 *p7,X509 *cert,EVP_PKEY *key); | ||
71 | PKCS7_cipher(PKCS7 *p7,EVP_CIPHER *cipher); | ||
72 | |||
73 | PKCS7_Init(PKCS7 *p7); | ||
74 | PKCS7_Update(PKCS7 *p7); | ||
75 | PKCS7_Finish(PKCS7 *p7); | ||
76 | |||
diff --git a/src/lib/libcrypto/pkcs7/pk7_smime.c b/src/lib/libcrypto/pkcs7/pk7_smime.c index fd18ec3d95..c34db1d6fe 100644 --- a/src/lib/libcrypto/pkcs7/pk7_smime.c +++ b/src/lib/libcrypto/pkcs7/pk7_smime.c | |||
@@ -229,7 +229,8 @@ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, | |||
229 | sk_X509_free(signers); | 229 | sk_X509_free(signers); |
230 | return 0; | 230 | return 0; |
231 | } | 231 | } |
232 | X509_STORE_CTX_set_default(&cert_ctx, "smime_sign"); | 232 | X509_STORE_CTX_set_purpose(&cert_ctx, |
233 | X509_PURPOSE_SMIME_SIGN); | ||
233 | } else if(!X509_STORE_CTX_init (&cert_ctx, store, signer, NULL)) { | 234 | } else if(!X509_STORE_CTX_init (&cert_ctx, store, signer, NULL)) { |
234 | PKCS7err(PKCS7_F_PKCS7_VERIFY,ERR_R_X509_LIB); | 235 | PKCS7err(PKCS7_F_PKCS7_VERIFY,ERR_R_X509_LIB); |
235 | sk_X509_free(signers); | 236 | sk_X509_free(signers); |
diff --git a/src/lib/libcrypto/pkcs7/server.pem b/src/lib/libcrypto/pkcs7/server.pem new file mode 100644 index 0000000000..750aac2094 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/server.pem | |||
@@ -0,0 +1,24 @@ | |||
1 | issuer= /C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Test CA (1024 bit) | ||
2 | subject=/C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Server test cert (512 bit) | ||
3 | -----BEGIN CERTIFICATE----- | ||
4 | MIIB6TCCAVICAQAwDQYJKoZIhvcNAQEEBQAwWzELMAkGA1UEBhMCQVUxEzARBgNV | ||
5 | BAgTClF1ZWVuc2xhbmQxGjAYBgNVBAoTEUNyeXB0U29mdCBQdHkgTHRkMRswGQYD | ||
6 | VQQDExJUZXN0IENBICgxMDI0IGJpdCkwHhcNOTcwNjA5MTM1NzQ2WhcNOTgwNjA5 | ||
7 | MTM1NzQ2WjBjMQswCQYDVQQGEwJBVTETMBEGA1UECBMKUXVlZW5zbGFuZDEaMBgG | ||
8 | A1UEChMRQ3J5cHRTb2Z0IFB0eSBMdGQxIzAhBgNVBAMTGlNlcnZlciB0ZXN0IGNl | ||
9 | cnQgKDUxMiBiaXQpMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJ+zw4Qnlf8SMVIP | ||
10 | Fe9GEcStgOY2Ww/dgNdhjeD8ckUJNP5VZkVDTGiXav6ooKXfX3j/7tdkuD8Ey2// | ||
11 | Kv7+ue0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQB4TMR2CvacKE9wAsu9jyCX8YiW | ||
12 | mgCM+YoP6kt4Zkj2z5IRfm7WrycKsnpnOR+tGeqAjkCeZ6/36o9l91RvPnN1VJ/i | ||
13 | xQv2df0KFeMr00IkDdTNAdIWqFkSsZTAY2QAdgenb7MB1joejquYzO2DQIO7+wpH | ||
14 | irObpESxAZLySCmPPg== | ||
15 | -----END CERTIFICATE----- | ||
16 | -----BEGIN RSA PRIVATE KEY----- | ||
17 | MIIBPAIBAAJBAJ+zw4Qnlf8SMVIPFe9GEcStgOY2Ww/dgNdhjeD8ckUJNP5VZkVD | ||
18 | TGiXav6ooKXfX3j/7tdkuD8Ey2//Kv7+ue0CAwEAAQJAN6W31vDEP2DjdqhzCDDu | ||
19 | OA4NACqoiFqyblo7yc2tM4h4xMbC3Yx5UKMN9ZkCtX0gzrz6DyF47bdKcWBzNWCj | ||
20 | gQIhANEoojVt7hq+SQ6MCN6FTAysGgQf56Q3TYoJMoWvdiXVAiEAw3e3rc+VJpOz | ||
21 | rHuDo6bgpjUAAXM+v3fcpsfZSNO6V7kCIQCtbVjanpUwvZkMI9by02oUk9taki3b | ||
22 | PzPfAfNPYAbCJQIhAJXNQDWyqwn/lGmR11cqY2y9nZ1+5w3yHGatLrcDnQHxAiEA | ||
23 | vnlEGo8K85u+KwIOimM48ZG8oTk7iFdkqLJR1utT3aU= | ||
24 | -----END RSA PRIVATE KEY----- | ||
diff --git a/src/lib/libcrypto/pkcs7/sign.c b/src/lib/libcrypto/pkcs7/sign.c new file mode 100644 index 0000000000..8b59885f7e --- /dev/null +++ b/src/lib/libcrypto/pkcs7/sign.c | |||
@@ -0,0 +1,154 @@ | |||
1 | /* crypto/pkcs7/sign.c */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | #include <stdio.h> | ||
59 | #include <string.h> | ||
60 | #include <openssl/bio.h> | ||
61 | #include <openssl/x509.h> | ||
62 | #include <openssl/pem.h> | ||
63 | #include <openssl/err.h> | ||
64 | |||
65 | int main(argc,argv) | ||
66 | int argc; | ||
67 | char *argv[]; | ||
68 | { | ||
69 | X509 *x509; | ||
70 | EVP_PKEY *pkey; | ||
71 | PKCS7 *p7; | ||
72 | PKCS7_SIGNER_INFO *si; | ||
73 | BIO *in; | ||
74 | BIO *data,*p7bio; | ||
75 | char buf[1024*4]; | ||
76 | int i; | ||
77 | int nodetach=0; | ||
78 | |||
79 | #ifndef OPENSSL_NO_MD2 | ||
80 | EVP_add_digest(EVP_md2()); | ||
81 | #endif | ||
82 | #ifndef OPENSSL_NO_MD5 | ||
83 | EVP_add_digest(EVP_md5()); | ||
84 | #endif | ||
85 | #ifndef OPENSSL_NO_SHA1 | ||
86 | EVP_add_digest(EVP_sha1()); | ||
87 | #endif | ||
88 | #ifndef OPENSSL_NO_MDC2 | ||
89 | EVP_add_digest(EVP_mdc2()); | ||
90 | #endif | ||
91 | |||
92 | data=BIO_new(BIO_s_file()); | ||
93 | again: | ||
94 | if (argc > 1) | ||
95 | { | ||
96 | if (strcmp(argv[1],"-nd") == 0) | ||
97 | { | ||
98 | nodetach=1; | ||
99 | argv++; argc--; | ||
100 | goto again; | ||
101 | } | ||
102 | if (!BIO_read_filename(data,argv[1])) | ||
103 | goto err; | ||
104 | } | ||
105 | else | ||
106 | BIO_set_fp(data,stdin,BIO_NOCLOSE); | ||
107 | |||
108 | if ((in=BIO_new_file("server.pem","r")) == NULL) goto err; | ||
109 | if ((x509=PEM_read_bio_X509(in,NULL,NULL,NULL)) == NULL) goto err; | ||
110 | BIO_reset(in); | ||
111 | if ((pkey=PEM_read_bio_PrivateKey(in,NULL,NULL,NULL)) == NULL) goto err; | ||
112 | BIO_free(in); | ||
113 | |||
114 | p7=PKCS7_new(); | ||
115 | PKCS7_set_type(p7,NID_pkcs7_signed); | ||
116 | |||
117 | si=PKCS7_add_signature(p7,x509,pkey,EVP_sha1()); | ||
118 | if (si == NULL) goto err; | ||
119 | |||
120 | /* If you do this then you get signing time automatically added */ | ||
121 | PKCS7_add_signed_attribute(si, NID_pkcs9_contentType, V_ASN1_OBJECT, | ||
122 | OBJ_nid2obj(NID_pkcs7_data)); | ||
123 | |||
124 | /* we may want to add more */ | ||
125 | PKCS7_add_certificate(p7,x509); | ||
126 | |||
127 | /* Set the content of the signed to 'data' */ | ||
128 | PKCS7_content_new(p7,NID_pkcs7_data); | ||
129 | |||
130 | if (!nodetach) | ||
131 | PKCS7_set_detached(p7,1); | ||
132 | |||
133 | if ((p7bio=PKCS7_dataInit(p7,NULL)) == NULL) goto err; | ||
134 | |||
135 | for (;;) | ||
136 | { | ||
137 | i=BIO_read(data,buf,sizeof(buf)); | ||
138 | if (i <= 0) break; | ||
139 | BIO_write(p7bio,buf,i); | ||
140 | } | ||
141 | |||
142 | if (!PKCS7_dataFinal(p7,p7bio)) goto err; | ||
143 | BIO_free(p7bio); | ||
144 | |||
145 | PEM_write_PKCS7(stdout,p7); | ||
146 | PKCS7_free(p7); | ||
147 | |||
148 | exit(0); | ||
149 | err: | ||
150 | ERR_load_crypto_strings(); | ||
151 | ERR_print_errors_fp(stderr); | ||
152 | exit(1); | ||
153 | } | ||
154 | |||
diff --git a/src/lib/libcrypto/pkcs7/t/3des.pem b/src/lib/libcrypto/pkcs7/t/3des.pem new file mode 100644 index 0000000000..b2b5081a10 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/3des.pem | |||
@@ -0,0 +1,16 @@ | |||
1 | -----BEGIN PKCS7----- | ||
2 | MIAGCSqGSIb3DQEHA6CAMIACAQAxggHmMIHwAgEAMIGZMIGSMQswCQYDVQQGEwJBVTETMBEG | ||
3 | A1UECBMKUXVlZW5zbGFuZDERMA8GA1UEBxMIQnJpc2JhbmUxGjAYBgNVBAoTEUNyeXB0c29m | ||
4 | dCBQdHkgTHRkMSIwIAYDVQQLExlERU1PTlNUUkFUSU9OIEFORCBURVNUSU5HMRswGQYDVQQD | ||
5 | ExJERU1PIFpFUk8gVkFMVUUgQ0ECAgR+MA0GCSqGSIb3DQEBAQUABEC2vXI1xQDW6lUHM3zQ | ||
6 | /9uBEBOO5A3TtkrklAXq7v01gsIC21t52qSk36REXY+slhNZ0OQ349tgkTsoETHFLoEwMIHw | ||
7 | AgEAMIGZMIGSMQswCQYDVQQGEwJBVTETMBEGA1UECBMKUXVlZW5zbGFuZDERMA8GA1UEBxMI | ||
8 | QnJpc2JhbmUxGjAYBgNVBAoTEUNyeXB0c29mdCBQdHkgTHRkMSIwIAYDVQQLExlERU1PTlNU | ||
9 | UkFUSU9OIEFORCBURVNUSU5HMRswGQYDVQQDExJERU1PIFpFUk8gVkFMVUUgQ0ECAgR9MA0G | ||
10 | CSqGSIb3DQEBAQUABEB8ujxbabxXUYJhopuDm3oDq4JNqX6Io4p3ro+ShqfIndsXTZ1v5a2N | ||
11 | WtLLCWlHn/habjBwZ/DgQgcKASbZ7QxNMIAGCSqGSIb3DQEHATAaBggqhkiG9w0DAjAOAgIA | ||
12 | oAQIbsL5v1wX98KggAQoAaJ4WHm68fXY1WE5OIjfVBIDpO1K+i8dmKhjnAjrjoyZ9Bwc8rDL | ||
13 | lgQg4CXb805h5xl+GfvSwUaHJayte1m2mcOhs3J2YyqbQ+MEIMIiJQccmhO3oDKm36CFvYR8 | ||
14 | 5PjpclVcZyX2ngbwPFMnBAgy0clOAE6UKAAAAAAAAAAAAAA= | ||
15 | -----END PKCS7----- | ||
16 | |||
diff --git a/src/lib/libcrypto/pkcs7/t/3dess.pem b/src/lib/libcrypto/pkcs7/t/3dess.pem new file mode 100644 index 0000000000..23f013516a --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/3dess.pem | |||
@@ -0,0 +1,32 @@ | |||
1 | -----BEGIN PKCS7----- | ||
2 | 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 | ||
31 | 9CWR6g== | ||
32 | -----END PKCS7----- | ||
diff --git a/src/lib/libcrypto/pkcs7/t/c.pem b/src/lib/libcrypto/pkcs7/t/c.pem new file mode 100644 index 0000000000..a4b55e321a --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/c.pem | |||
@@ -0,0 +1,48 @@ | |||
1 | issuer :/C=AU/SP=Queensland/L=Brisbane/O=Cryptsoft Pty Ltd/OU=DEMONSTRATION AND TESTING/CN=DEMO ZERO VALUE CA | ||
2 | subject:/C=AU/SP=Queensland/L=Brisbane/O=Cryptsoft Pty Ltd/OU=SMIME 003/CN=Information/Email=info@cryptsoft.com | ||
3 | serial :047D | ||
4 | |||
5 | Certificate: | ||
6 | Data: | ||
7 | Version: 3 (0x2) | ||
8 | Serial Number: 1149 (0x47d) | ||
9 | Signature Algorithm: md5withRSAEncryption | ||
10 | Issuer: C=AU, SP=Queensland, L=Brisbane, O=Cryptsoft Pty Ltd, OU=DEMONSTRATION AND TESTING, CN=DEMO ZERO VALUE CA | ||
11 | Validity | ||
12 | Not Before: May 13 05:40:58 1998 GMT | ||
13 | Not After : May 12 05:40:58 2000 GMT | ||
14 | Subject: C=AU, SP=Queensland, L=Brisbane, O=Cryptsoft Pty Ltd, OU=SMIME 003, CN=Information/Email=info@cryptsoft.com | ||
15 | Subject Public Key Info: | ||
16 | Public Key Algorithm: rsaEncryption | ||
17 | Modulus: | ||
18 | 00:ad:e7:23:89:ee:0d:87:b7:9c:32:44:4b:95:81: | ||
19 | 73:dd:22:80:4b:2d:c5:60:b8:fe:1e:18:63:ef:dc: | ||
20 | 89:89:22:df:95:3c:7a:db:3d:9a:06:a8:08:d6:29: | ||
21 | fd:ef:41:09:91:ed:bc:ad:98:f9:f6:28:90:62:6f: | ||
22 | e7:e7:0c:4d:0b | ||
23 | Exponent: 65537 (0x10001) | ||
24 | X509v3 extensions: | ||
25 | Netscape Comment: | ||
26 | Generated with SSLeay | ||
27 | Signature Algorithm: md5withRSAEncryption | ||
28 | 52:15:ea:88:f4:f0:f9:0b:ef:ce:d5:f8:83:40:61:16:5e:55: | ||
29 | f9:ce:2d:d1:8b:31:5c:03:c6:2d:10:7c:61:d5:5c:0a:42:97: | ||
30 | d1:fd:65:b6:b6:84:a5:39:ec:46:ec:fc:e0:0d:d9:22:da:1b: | ||
31 | 50:74:ad:92:cb:4e:90:e5:fa:7d | ||
32 | |||
33 | -----BEGIN CERTIFICATE----- | ||
34 | MIICTDCCAfagAwIBAgICBH0wDQYJKoZIhvcNAQEEBQAwgZIxCzAJBgNVBAYTAkFV | ||
35 | MRMwEQYDVQQIEwpRdWVlbnNsYW5kMREwDwYDVQQHEwhCcmlzYmFuZTEaMBgGA1UE | ||
36 | ChMRQ3J5cHRzb2Z0IFB0eSBMdGQxIjAgBgNVBAsTGURFTU9OU1RSQVRJT04gQU5E | ||
37 | IFRFU1RJTkcxGzAZBgNVBAMTEkRFTU8gWkVSTyBWQUxVRSBDQTAeFw05ODA1MTMw | ||
38 | NTQwNThaFw0wMDA1MTIwNTQwNThaMIGeMQswCQYDVQQGEwJBVTETMBEGA1UECBMK | ||
39 | UXVlZW5zbGFuZDERMA8GA1UEBxMIQnJpc2JhbmUxGjAYBgNVBAoTEUNyeXB0c29m | ||
40 | dCBQdHkgTHRkMRIwEAYDVQQLEwlTTUlNRSAwMDMxFDASBgNVBAMTC0luZm9ybWF0 | ||
41 | aW9uMSEwHwYJKoZIhvcNAQkBFhJpbmZvQGNyeXB0c29mdC5jb20wXDANBgkqhkiG | ||
42 | 9w0BAQEFAANLADBIAkEArecjie4Nh7ecMkRLlYFz3SKASy3FYLj+Hhhj79yJiSLf | ||
43 | lTx62z2aBqgI1in970EJke28rZj59iiQYm/n5wxNCwIDAQABoygwJjAkBglghkgB | ||
44 | hvhCAQ0EFxYVR2VuZXJhdGVkIHdpdGggU1NMZWF5MA0GCSqGSIb3DQEBBAUAA0EA | ||
45 | UhXqiPTw+QvvztX4g0BhFl5V+c4t0YsxXAPGLRB8YdVcCkKX0f1ltraEpTnsRuz8 | ||
46 | 4A3ZItobUHStkstOkOX6fQ== | ||
47 | -----END CERTIFICATE----- | ||
48 | |||
diff --git a/src/lib/libcrypto/pkcs7/t/ff b/src/lib/libcrypto/pkcs7/t/ff new file mode 100644 index 0000000000..23f013516a --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/ff | |||
@@ -0,0 +1,32 @@ | |||
1 | -----BEGIN PKCS7----- | ||
2 | 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 | ||
31 | 9CWR6g== | ||
32 | -----END PKCS7----- | ||
diff --git a/src/lib/libcrypto/pkcs7/t/msie-e b/src/lib/libcrypto/pkcs7/t/msie-e new file mode 100644 index 0000000000..aafae69fc9 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/msie-e | |||
@@ -0,0 +1,20 @@ | |||
1 | |||
2 | MIAGCSqGSIb3DQEHA6CAMIACAQAxggHCMIHMAgEAMHYwYjERMA8GA1UEBxMISW50ZXJuZXQxFzAV | ||
3 | BgNVBAoTDlZlcmlTaWduLCBJbmMuMTQwMgYDVQQLEytWZXJpU2lnbiBDbGFzcyAxIENBIC0gSW5k | ||
4 | aXZpZHVhbCBTdWJzY3JpYmVyAhBgQJiC3qfbCbjdj5INYLnKMA0GCSqGSIb3DQEBAQUABECMzu8y | ||
5 | wQ/qZbO8cAGMRBF+mPruv3+Dvb9aWNZ2k8njUgqF6mcdhVB2MkGcsG3memRXJBixvMYWVkU3qK4Z | ||
6 | VuKsMIHwAgEAMIGZMIGSMQswCQYDVQQGEwJBVTETMBEGA1UECBMKUXVlZW5zbGFuZDERMA8GA1UE | ||
7 | BxMIQnJpc2JhbmUxGjAYBgNVBAoTEUNyeXB0c29mdCBQdHkgTHRkMSIwIAYDVQQLExlERU1PTlNU | ||
8 | UkFUSU9OIEFORCBURVNUSU5HMRswGQYDVQQDExJERU1PIFpFUk8gVkFMVUUgQ0ECAgRuMA0GCSqG | ||
9 | SIb3DQEBAQUABEBcWwYFHJbJGhiztt7lzue3Lc9CH5WAbyR+2BZ3uv+JxZfRs1PuaWPOwRa0Vgs3 | ||
10 | YwSJoRfxQj2Gk0wFqG1qt6d1MIAGCSqGSIb3DQEHATAaBggqhkiG9w0DAjAOAgIAoAQI8vRlP/Nx | ||
11 | 2iSggASCAZhR5srxyspy7DfomRJ9ff8eMCtaNwEoEx7G25PZRonC57hBvGoScLtEPU3Wp9FEbPN7 | ||
12 | oJESeC+AqMTyTLNy8aQsyC5s53E9UkoIvg62ekYZBbXZqXsrxx4PhiiX3NH8GVh42phB0Chjw0nK | ||
13 | HZeRDmxGY3Cmk+J+l0uVKxbNIfJIKOguLBnhqmnKH/PrnzDt591u0ULy2aTLqRm+4/1Yat/QPb6J | ||
14 | eoKGwNPBbS9ogBdrCNCp9ZFg3Xar2AtQHzyTQIfYeH3SRQUpKmRm5U5o9p5emgEdT+ZfJm/J4tSH | ||
15 | OmbgAFsbHQakA4MBZ4J5qfDJhOA2g5lWk1hIeu5Dn/AaLRZd0yz3oY0Ieo/erPWx/bCqtBzYbMe9 | ||
16 | qSFTedKlbc9EGe3opOTdBZVzK8KH3w3zsy5luxKdOUG59YYb5F1IZiWGiDyuo/HuacX+griu5LeD | ||
17 | bEzOtZnko+TZXvWIko30fD79j3T4MRRhWXbgj2HKza+4vJ0mzcC/1+GPsJjAEAA/JgIEDU4w6/DI | ||
18 | /HQHhLAO3G+9xKD7MvmrzkoAAAAAAAAAAAAA | ||
19 | |||
20 | |||
diff --git a/src/lib/libcrypto/pkcs7/t/msie-e.pem b/src/lib/libcrypto/pkcs7/t/msie-e.pem new file mode 100644 index 0000000000..a2a5e24e74 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/msie-e.pem | |||
@@ -0,0 +1,22 @@ | |||
1 | -----BEGIN PKCS7----- | ||
2 | MIAGCSqGSIb3DQEHA6CAMIIDkAIBADGCAcIwgcwCAQAwdjBiMREwDwYDVQQHEwhJ | ||
3 | bnRlcm5ldDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNDAyBgNVBAsTK1ZlcmlT | ||
4 | aWduIENsYXNzIDEgQ0EgLSBJbmRpdmlkdWFsIFN1YnNjcmliZXICEGBAmILep9sJ | ||
5 | uN2Pkg1gucowDQYJKoZIhvcNAQEBBQAEQIzO7zLBD+pls7xwAYxEEX6Y+u6/f4O9 | ||
6 | v1pY1naTyeNSCoXqZx2FUHYyQZywbeZ6ZFckGLG8xhZWRTeorhlW4qwwgfACAQAw | ||
7 | gZkwgZIxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpRdWVlbnNsYW5kMREwDwYDVQQH | ||
8 | EwhCcmlzYmFuZTEaMBgGA1UEChMRQ3J5cHRzb2Z0IFB0eSBMdGQxIjAgBgNVBAsT | ||
9 | GURFTU9OU1RSQVRJT04gQU5EIFRFU1RJTkcxGzAZBgNVBAMTEkRFTU8gWkVSTyBW | ||
10 | QUxVRSBDQQICBG4wDQYJKoZIhvcNAQEBBQAEQFxbBgUclskaGLO23uXO57ctz0If | ||
11 | lYBvJH7YFne6/4nFl9GzU+5pY87BFrRWCzdjBImhF/FCPYaTTAWobWq3p3UwggHD | ||
12 | BgkqhkiG9w0BBwEwGgYIKoZIhvcNAwIwDgICAKAECPL0ZT/zcdokgIIBmFHmyvHK | ||
13 | ynLsN+iZEn19/x4wK1o3ASgTHsbbk9lGicLnuEG8ahJwu0Q9Tdan0URs83ugkRJ4 | ||
14 | L4CoxPJMs3LxpCzILmzncT1SSgi+DrZ6RhkFtdmpeyvHHg+GKJfc0fwZWHjamEHQ | ||
15 | KGPDScodl5EObEZjcKaT4n6XS5UrFs0h8kgo6C4sGeGqacof8+ufMO3n3W7RQvLZ | ||
16 | pMupGb7j/Vhq39A9vol6gobA08FtL2iAF2sI0Kn1kWDddqvYC1AfPJNAh9h4fdJF | ||
17 | BSkqZGblTmj2nl6aAR1P5l8mb8ni1Ic6ZuAAWxsdBqQDgwFngnmp8MmE4DaDmVaT | ||
18 | WEh67kOf8BotFl3TLPehjQh6j96s9bH9sKq0HNhsx72pIVN50qVtz0QZ7eik5N0F | ||
19 | lXMrwoffDfOzLmW7Ep05Qbn1hhvkXUhmJYaIPK6j8e5pxf6CuK7kt4NsTM61meSj | ||
20 | 5Nle9YiSjfR8Pv2PdPgxFGFZduCPYcrNr7i8nSbNwL/X4Y+wmMAQAD8mAgQNTjDr | ||
21 | 8Mj8dAeEsA7cb73EoPsy+avOSgAAAAA= | ||
22 | -----END PKCS7----- | ||
diff --git a/src/lib/libcrypto/pkcs7/t/msie-enc-01 b/src/lib/libcrypto/pkcs7/t/msie-enc-01 new file mode 100644 index 0000000000..2c93ab6462 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/msie-enc-01 | |||
@@ -0,0 +1,62 @@ | |||
1 | |||
2 | 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 | ||
61 | AAAAAAAAAAAA | ||
62 | |||
diff --git a/src/lib/libcrypto/pkcs7/t/msie-enc-01.pem b/src/lib/libcrypto/pkcs7/t/msie-enc-01.pem new file mode 100644 index 0000000000..9abf00b2f2 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/msie-enc-01.pem | |||
@@ -0,0 +1,66 @@ | |||
1 | -----BEGIN PKCS7----- | ||
2 | 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 | ||
65 | 6RLfsTyyPgJi0GsAAAAA | ||
66 | -----END PKCS7----- | ||
diff --git a/src/lib/libcrypto/pkcs7/t/msie-enc-02 b/src/lib/libcrypto/pkcs7/t/msie-enc-02 new file mode 100644 index 0000000000..7017055965 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/msie-enc-02 | |||
@@ -0,0 +1,90 @@ | |||
1 | |||
2 | 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 | ||
89 | rZgAAAAAAAAAAAAA | ||
90 | |||
diff --git a/src/lib/libcrypto/pkcs7/t/msie-enc-02.pem b/src/lib/libcrypto/pkcs7/t/msie-enc-02.pem new file mode 100644 index 0000000000..279c5d830b --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/msie-enc-02.pem | |||
@@ -0,0 +1,106 @@ | |||
1 | -----BEGIN PKCS7----- | ||
2 | MIAGCSqGSIb3DQEHA6CAMIITQAIBADGCAcIwgcwCAQAwdjBiMREwDwYDVQQHEwhJ | ||
3 | bnRlcm5ldDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNDAyBgNVBAsTK1ZlcmlT | ||
4 | aWduIENsYXNzIDEgQ0EgLSBJbmRpdmlkdWFsIFN1YnNjcmliZXICEGBAmILep9sJ | ||
5 | uN2Pkg1gucowDQYJKoZIhvcNAQEBBQAEQAKvi2eRLO+jdoiUd8ksZt+iQ0JXoWN0 | ||
6 | M/W9CEv6R1c42pwUIR/1F4RMK9oeyUiv9Z6lzmPaGNmx6XOCoueszVkwgfACAQAw | ||
7 | gZkwgZIxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpRdWVlbnNsYW5kMREwDwYDVQQH | ||
8 | EwhCcmlzYmFuZTEaMBgGA1UEChMRQ3J5cHRzb2Z0IFB0eSBMdGQxIjAgBgNVBAsT | ||
9 | GURFTU9OU1RSQVRJT04gQU5EIFRFU1RJTkcxGzAZBgNVBAMTEkRFTU8gWkVSTyBW | ||
10 | QUxVRSBDQQICBG4wDQYJKoZIhvcNAQEBBQAEQFqcHEo69ShGfcOIVjnmWXLZM+7Y | ||
11 | K/50j8YuvNbqq+dQxk9YY8ZpSU/JYsxmtcnEZdlSJEkpMHAO73V+eh1QQr0wghFz | ||
12 | BgkqhkiG9w0BBwEwGgYIKoZIhvcNAwIwDgICAKAECJsSmRA1jxLjgIIRSIGLVtf+ | ||
13 | pzeB6oXJ9GlfsnIij+DgIOvrYaXC9qywAaUg7zMnln9QMgiih5XpBLgPg5Y/KYp3 | ||
14 | RZeHBwkjTIFwlNYSjE0PbsszsJYUmkDTsCjFUJEdM4+Cbv3g3Kct5w1Q6pVMXJLg | ||
15 | JG4uFUY8CTScVkb9ETbIy3HisCRKJWA57ERLvCr/Fa6gNJKa5Mw1A5Nsp+QQqp0U | ||
16 | uQz93raAPbCdqmHu8qQ88rzbB1k/ysXedRQLlzhqFs2hryD7kHe0gX8nPdlkre8Y | ||
17 | tTQhY76LtbjnV2drXcyCUMONc56KQ2VcuxB0BWjSeyN8a75/rpt6wmiM/PKw0D4g | ||
18 | RmXqA1ZR62X2WKbhKqvG5tQTF1LauZeddeYS4Rb8cLt2VMB5irkKWrHmJ3qyWELY | ||
19 | Lah6AzDDdcf3LEfDo6rO9djqlU8RJwS0ExAuBooVBP6bZJG1tNUUbtxBydQ4PJUH | ||
20 | UhulBMXUMd545fVb8d+lZnKbx3OS2LpILJ66Yeao7jTrEOIgxUq0c6ozzqcQe4Ax | ||
21 | mytwvL57LpMQm9HpLg3xBHOeDwkkNkNMldA3qrzhoS52yc6vDYrI5XA+kjp7LioG | ||
22 | wdSBDyQAXLmWxBpZXjmHp7GBTBsFwouA9kYWP450PZEomxNvzf9SpslLlD+UZeHM | ||
23 | GWdpi5zInESmtHFue2Zyc4Q8Ul761ENTA5N3uqUmWN2Egkv64Nyigv0CGCjoLB6n | ||
24 | q1256S/ZxISiEl5MTwO/LfhhGExsu+cU12aek3Ks1kNhVXHFoqjJ3YB8Hw08VmHV | ||
25 | V0Bh8jdHVABDaRcR5/k00h9VB8zMP1qQmfhE/4q/fZBrGbgWucrGbBHIYlKFq8gF | ||
26 | zZrH4XWvX41le5IEefm9+hFPE6TRJPh1ezDvh2eVhQxFpK7iqpR0z2OxdLJ5fhmB | ||
27 | CCRHZuRpg7p7MWB6cUhrtBZXDytdkARnlqJsLFudjVUTjU9gi+GUt1sUmEf2Bjba | ||
28 | z58UC7CfPIBJGMLjQD1oAQi1GVo9K1ZIaKqUtGA2QEHB2m/aXZg8F3ZDMfHp6Tpc | ||
29 | au9Em4AL42Hrau1ArCk0fnhgA4dbnmZoEVbZJDdMX5xno1tuqEKYdPLJHuZxJhz2 | ||
30 | xdJUNYSFgpDWLJTzvTOEdZWm+CVmLNl60kJkWNh7HdvWeBV1yBquA6+k+r26sIoq | ||
31 | LaZuSq/8QWnNJYZeQpKl8Ib9d8ycQ62Q2sHxLTq+eTYlwkE4Gomi3665IfmE6DS9 | ||
32 | OnFfYO440lKJZJbJ9ET+VN8kkVfCGh3tJdyVTJc95LKJtxKJzaFUDMObCMPfWOz+ | ||
33 | PaTTY8j9qA+GvdRDxwyBw0CJqgIps1pZ+foEZsIBtNyHHNSWjZxImIuWtfYgNmZ9 | ||
34 | dteZkKibWyZYgb64rgMQ2+nViwGMlQaDfYWCOAIj3mQGPTLb0OgFfKNvxBZuj72B | ||
35 | l8tx3oufN9Ah9DwXl+ynXen39ct901v5eakpCC9VC0xke6JBXyXjxw5qtXRbevyT | ||
36 | jKbYkPFkruwrCUL2fVUxV3mBXGagjz2XNTaz3oDSu9GX/UMViGwwHryeSiwX9XOo | ||
37 | /KVNv+i57w2OlY2k72EoK+700fHlcx+EZu+1tIjh8YOVXDg7+nBklcrr21/FABqP | ||
38 | Apm+fBEQ7QQyQUF1aViizQLgyfRl/J9szZKY2S2z0pHJroahmgSQRPwWgk5FEFpW | ||
39 | PXSG0bRJ8SFNZn2zz3cdT6WvA6hg40jrEHSnCmDTWbWshMPvhCKZqXQTbCqYQnwf | ||
40 | FBCtlpJOGVVvqshqIv69DBbLztTZkjjmdKP48v2B5qHlER4T8vewDt3lU5BAGuQn | ||
41 | yRCcm5qOeuwg8PxcKBgFAoLKM+65cczLna/yIRyB/gD4p53MV5RztnnLxw/YvA2h | ||
42 | xgPLVYn4LFIakKGYnlC7rXhfeDuVAMTpL+NVGbLGE8DeJ2KzdUJHrGZdwV+DkUuB | ||
43 | BN9Pz0NtwEX91mabWawiXrxptmWMxnofMYNe5gg34izvm33+Kj/+Jgvej7uImuo+ | ||
44 | LaOQcCiCUv/gwrqA/FnkiheKboF0JDFIh3UJzZ1T/Uqdjv+JcuZjvCc60AufVdm5 | ||
45 | 0zQaj4aZ6PJHybyuU8qT0lQvm083q596yelHHgd7K3J/c8SsfRnTcnSUI8lo7/Hn | ||
46 | N593dZ7kMIc+UNOdzQYSI8KBoNxqOyzuou/GTpaRe3XKADtdzXxy8jY58hwmolrV | ||
47 | UU3Lfay3+bzdNLq0p/GCZ4B5NXkyivJxxiHDoOmHWAzg9pxOV8EYoyponhvF2t3i | ||
48 | kc32y9OhqwUBDZXuiZgtd9W6d3EVcaY6vqOkQGxqDJuMiArC+Hk2qwkK7Mh5qDx6 | ||
49 | q/dVB6PdWr8sVO5J1phIV9u8m5rK7PGnmcDx4sS9eE3soa7gqkVb5H9SrOz/s/DD | ||
50 | 1G6BjakHtlizfJLQhhK9eTvDCUf3pvOhtNyX6OKGsPw1VB+UcC0+mnHnThrszIf9 | ||
51 | q/AXJnpoVUPP3Fr1eGCdLTluIc8lRwuYUH/LGdy88Vyx+joZ626a4cb63W2knQoV | ||
52 | mQwz9Gwgm8RIZMLgZAXimazG8EUz/kz0z2C1Ux/wpii8yof9deLZBpMjt4R0uKhM | ||
53 | VFd/Rdko+JspcfoQ9PttA/aZ7aTYu4bXHBpTpusjTOvWrf9/pC4CScqCJWsS3AlG | ||
54 | BzTInw7fk96f7eVOF5g+d7lEOjPHb4/7naj3pDUlH7Htecq3faYzreT3CbqltvKt | ||
55 | LBR3/aRyIM912RTHuTw+6acOq0vguiK+D62C7ZDVtiCm+BbtNNB/UJm79/OQ5mp5 | ||
56 | bTI0kPmDeycaWTa0Ojpum+c/dpG/iJOBDICj7jHOXSHT7JlGyX6aSFJUltucAnZv | ||
57 | wzhPDmdDaIDiKSk85GqgdDWVfGosSCX9Ph/T3WpIxnwfWSDRtIHkWTjly+pe4yy5 | ||
58 | K6/XISy/L5Zh/fhiI5fjHjgzmlibs2ru4nVw6hBhUvlSSe2BEs5d9h/yNH8Wy3qv | ||
59 | b2D3jh7hkepFtZJGNTHp8ZUC7Ns2JIpQYObsaxdI65i3mMOu7fRwI+0/4ejsWhP6 | ||
60 | KCEiLgwvLg0qM82ma6YB7qHAHboaczRVEffDcJUG4a5uycB0DoZFn+uEaEFyili2 | ||
61 | 0hCn4hVfsqUQk2PT8Mo1tSl5e30xI1YJZrRgiJm9nHRX6fLizngP+ILJLPHZsPvl | ||
62 | SVIfY+/v/FR8feKOjaGhyGF51BAxaM2NIQ4jMP5/X+U5gQybi0E6u7rroDhaHsKm | ||
63 | CMgXqszwXWCpedA/sEbeHpiTC59YlPPSlIOMc9vPKo/mQCfWy/9icUaIfKQldvkl | ||
64 | lUxxNkqu6AbIpHVscbAEzSPs5xbQXU8EZNNCDisFnnpY3nQ3eLnlm89saTJxRb7N | ||
65 | WHRMlmPv7qgD7uMIq3vdOGA7i5wT9MeoNIgK1/DsgH30s6RWjJy4YyyLmRTXPzbj | ||
66 | hbQVpEmiMRbEidIvUx2OjKVxVQIcgtLsa2lvHQ4XL1cpLr5GVtOgy0fMg5OCDUUD | ||
67 | svjgjgLQ3P2Up2nVY5FM6/QpPc5DTLuuR9ekI2/c9Biz09RtcYDUQK2ajdo8h1Iy | ||
68 | KqHFoB7h48OXxXKKY94DY0TGx6PonB/epj8orAw4QKmm5M0vXYwBOqRymCTHTqOJ | ||
69 | GObdLx1euFFyqguzHJOU2gAGZI0z9Lg1yRuFyhdPZyuniIcmtLNxRZ1duYHErcAy | ||
70 | X56qndmLXt7UVkATai/rIMuoJLfAsUnVuTUS5p7tJM754UZT7lTcXvDJgOUNnBRa | ||
71 | IcxC3pxvbrYDJ2iFJ72xkxUP2p74gucqg25XnCVmQuLg6zDDxF6CLuw9isxyXg4p | ||
72 | kneMN//7fpp8GYl9nyZm2yqYYM+jcw0fcVc64L+X4w/gL3H2UMGgxIHSJp7HIG7V | ||
73 | KHtXrNyjdPXXPVUsMsAAimqOr0Lr2sZWirfuivLaPTqhbkvG5PF7K3gT80AOIcd/ | ||
74 | 6EIHBy2hZ7ukfjHmdP4LyQOhTQklaKzGHI0mypq0uFLWJOUlZnVrMiLP1xrWkpC8 | ||
75 | Ro9eo6mfjjQ45z8adC43a47klwTEzvod3rNEFIGJJUEjAN3mbqie7IxoSJknBBJK | ||
76 | 0D9lZEQ8lZWlq7vuN8JdqPM6xh155jMVsPwjLK6Tzkj5BpRD9Tgm3u6HPeCRYQ3v | ||
77 | ky71MaixdjTGbWTorqw+/wv3j0KstajivUjYsDTvZtMa9A/bxWyFQDvqOBxPWhwL | ||
78 | 770+iS0grXRgKrnD4V8wBDTgp4Je4B2aJjaIBPhKV5rrU8wIy1reZUbItRkIsSY/ | ||
79 | 4jRQpHmaU7R8YRyNT2PxOZuNmrE0WqWguxTuhKLs6zQS1geR0BWsTFTI5z9kOJ7p | ||
80 | 8GN0tOYt0KZsT0k3COVtfKl1Nm6kaAs2EoYMiyRQAAzBlhrIjph9IgyQ0J4BhOeM | ||
81 | 64ZlnWawJcZex8wFHWx9QiP1R4aPAPyCr5RVUdf+h6gf+bR4nmmmqLf6dSWBz0O+ | ||
82 | liwL8WDQbYq5hv0H5Un5rgYzNBI9ESgW1CkH120uQFvsdr+GkZZMh2rNbR4CjmWX | ||
83 | I3wU2+XYW7Yhwto2ZYU7r2AuNEpCimnR28U67ABUjp+8YOOnVaKCg1sVmXw36KJa | ||
84 | bMo6OgbZktt7PVyVkKaz8k8mteEQww7FalXORDI3ffpVYeYaAxyNooIZJ4DaecRI | ||
85 | ga6IJcyuQeUZ9ptgiwpwcUKja3Xe5fJk9/TNI9OS4PQSH3bCoL2m8DeC+usJR+j0 | ||
86 | yfduz54pYqYOWlyzyYOfTfagiD7OtCEh24ypdWfd6/N5UzcHkwE4Yy+DnX9JeDtH | ||
87 | 4wL/jreO5BARv0hV78hgac7/+hab2XD/fvsB/+of4Wc3TahsnDUW96xAiz17lEc1 | ||
88 | DKQps76+ZUlCXWd30NlascM07v/zRjPaEKbtPCzmdJE3aIWXJFpgkevvKnGRTasJ | ||
89 | qTavq5rtcPC7WpTZFPf6o+NPVG7FDahOUfIaQo8xkYJFz4JJbPlp54KYdlXB1vec | ||
90 | Lxil+y6MyJirKAt65DzamMq5HsMgoaad9w4t2/kX4STZbLLQP3yJKCT5qhAZguEv | ||
91 | 2WVTXemfbW5GwNjm4ZxeIjDUgRMWVN2AQ0S/x+61m4mx6Cunt+YVfI2g3IU3LKl4 | ||
92 | OszpmpHi8rEWODe0op5WmTD9bgQCSXMzGY2JrMY0MEeydhXevA+Upr4d54TZjGew | ||
93 | rAYsI2BFhRdNomTjrW9LXrTPd2+H+Yt91nsxgKSY7ds0TcQtQMDDthCRK6j26PN0 | ||
94 | Uq170sLfiyOD1857HdOECDljnSfBibjMGYYzvISovw7pCCczq0gMVL1evINos3Nw | ||
95 | aExaoy+HM7qwL8ADZZ8uDBLnXsKnTciQlBaob2rDnb4T4YC2mKgl9zMSGW/0GuGO | ||
96 | 2126BFKMmsbxJhVgTjMbcC6vl40GgZoAsg4c60/Dz4mi9CYhZwWhon9ZC6CUWta1 | ||
97 | 7DnUgroXxGIcA4FVq9k65lw7u1X7l6dV+t453Stfxk7LiFiYeGYXWE6utY6f4R4T | ||
98 | RJgqidc3TUEz3EywrzQKaZxj01Bo8GzCUYNVSdijIgVh+aCafLcnyAMTLlhXbWi2 | ||
99 | G0Ujg12zgLIT1SvCQGPA0A5M6mgkwJC030kQLfcmOkm1KTLEb+8WvJzGTSQScyU/ | ||
100 | W/8DY4IjiYGhriTJFdoPw19o3z9z6zDP0m58+3nTkVx49T2uV00/JxuTEtBbmYL3 | ||
101 | r3at6P4FVQM/mQijh90oTM2b36dNZUl+YGiU35ZlOnHTcLZ9smeiEnBezq41HgPY | ||
102 | hKElUfXUHAPuJQd0QBtyzMHJ8V2N+Q+/jzCcxyGXRXEp6vp9NwAmNvxP099Yoo0R | ||
103 | 9va72BxiPpj/4nmLOOYquH01qOotR6H3li3T9H1+8Vt1ztP4VmBYsAcSruusIQG0 | ||
104 | YWom91yTb3rVbNuU6GF8og6YxvnHeawjHovLBkMEwY/WXodFEaHjFtYp0z9Cbwpj | ||
105 | FK2YAAAAAA== | ||
106 | -----END PKCS7----- | ||
diff --git a/src/lib/libcrypto/pkcs7/t/msie-s-a-e b/src/lib/libcrypto/pkcs7/t/msie-s-a-e new file mode 100644 index 0000000000..0067794d70 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/msie-s-a-e | |||
@@ -0,0 +1,91 @@ | |||
1 | |||
2 | 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 | ||
89 | 5ify04ua9/t8SGrYZPm/l3MkAAAAAAAAAAAAAA== | ||
90 | |||
91 | |||
diff --git a/src/lib/libcrypto/pkcs7/t/msie-s-a-e.pem b/src/lib/libcrypto/pkcs7/t/msie-s-a-e.pem new file mode 100644 index 0000000000..55dbd8f80b --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/msie-s-a-e.pem | |||
@@ -0,0 +1,106 @@ | |||
1 | -----BEGIN PKCS7----- | ||
2 | MIAGCSqGSIb3DQEHA6CAMIITUAIBADGCAcIwgcwCAQAwdjBiMREwDwYDVQQHEwhJ | ||
3 | bnRlcm5ldDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNDAyBgNVBAsTK1ZlcmlT | ||
4 | aWduIENsYXNzIDEgQ0EgLSBJbmRpdmlkdWFsIFN1YnNjcmliZXICEGBAmILep9sJ | ||
5 | uN2Pkg1gucowDQYJKoZIhvcNAQEBBQAEQKOxxpIbRTb31+qIQCBOpMVAGnwCLrPO | ||
6 | OXnntxVveTrPhBnsJuoGNJcCMtuHl7tLkd38WsVwOfGXUprTqFpUcY8wgfACAQAw | ||
7 | gZkwgZIxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpRdWVlbnNsYW5kMREwDwYDVQQH | ||
8 | EwhCcmlzYmFuZTEaMBgGA1UEChMRQ3J5cHRzb2Z0IFB0eSBMdGQxIjAgBgNVBAsT | ||
9 | GURFTU9OU1RSQVRJT04gQU5EIFRFU1RJTkcxGzAZBgNVBAMTEkRFTU8gWkVSTyBW | ||
10 | QUxVRSBDQQICBG4wDQYJKoZIhvcNAQEBBQAEQKzIddnXFqK/RRBG86ZVixoXfwAv | ||
11 | ZdfvnDFsKzPn/A6DuDdE/hqJxnFpHiwGiDR/YbWj2ib+G74DSshgX8vj8ZQwghGD | ||
12 | BgkqhkiG9w0BBwEwGgYIKoZIhvcNAwIwDgICAKAECLKM0K58I3HNgIIRWBDP8s+g | ||
13 | l7/6JhZ5PBJ5vPpD1R4pnNDZRabsYu0Qzezdz1IK+maTAhF0SEuNZoEkzIgOIvu3 | ||
14 | UjW8x/2KcHwteABwgRiSk1JyNLwRED0RtvuJ40pIGDvDsHwBMcXEtKUMAOpGChms | ||
15 | HUK1+B/GKancSDFOCeG3JCFnFdbuQFDIVHC6amWslc6ntqVs/sii2Gs4qdzDfQgl | ||
16 | PV/A/FY0wi0j2O5cXRQJtZVKM/MYGjj5c1cy9Q7oymU5ATP/LARD0Tw5kBB7HVnD | ||
17 | 2qrmmmxcHakyxhXmwskaKS6Qxgqq6LPdgr603onxqEtwNSz5UbCq9mLXuCkFOVsQ | ||
18 | /5mZcmmc7re3XJMQHRXkBlxEpZQ6HOUIEzlhRqCo2hhymyZK84rptjORQo6vNakM | ||
19 | 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 | ||
105 | 7OYn8tOLmvf7fEhq2GT5v5dzJAAAAAA= | ||
106 | -----END PKCS7----- | ||
diff --git a/src/lib/libcrypto/pkcs7/t/nav-smime b/src/lib/libcrypto/pkcs7/t/nav-smime new file mode 100644 index 0000000000..6ee4b597a1 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/nav-smime | |||
@@ -0,0 +1,157 @@ | |||
1 | From angela@c2.net.au Thu May 14 13:32:27 1998 | ||
2 | X-UIDL: 83c94dd550e54329bf9571b72038b8c8 | ||
3 | Return-Path: angela@c2.net.au | ||
4 | Received: from cryptsoft.com (play.cryptsoft.com [203.56.44.3]) by pandora.cryptsoft.com (8.8.3/8.7.3) with ESMTP id NAA27838 for <tjh@cryptsoft.com>; Thu, 14 May 1998 13:32:26 +1000 (EST) | ||
5 | Message-ID: <355A6779.4B63E64C@cryptsoft.com> | ||
6 | Date: Thu, 14 May 1998 13:39:37 +1000 | ||
7 | From: Angela van Lent <angela@c2.net.au> | ||
8 | X-Mailer: Mozilla 4.03 [en] (Win95; U) | ||
9 | MIME-Version: 1.0 | ||
10 | To: tjh@cryptsoft.com | ||
11 | Subject: signed | ||
12 | Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="------------ms9A58844C95949ECC78A1C54C" | ||
13 | Content-Length: 2604 | ||
14 | Status: OR | ||
15 | |||
16 | This is a cryptographically signed message in MIME format. | ||
17 | |||
18 | --------------ms9A58844C95949ECC78A1C54C | ||
19 | Content-Type: text/plain; charset=us-ascii | ||
20 | Content-Transfer-Encoding: 7bit | ||
21 | |||
22 | signed body | ||
23 | |||
24 | --------------ms9A58844C95949ECC78A1C54C | ||
25 | Content-Type: application/x-pkcs7-signature; name="smime.p7s" | ||
26 | Content-Transfer-Encoding: base64 | ||
27 | Content-Disposition: attachment; filename="smime.p7s" | ||
28 | Content-Description: S/MIME Cryptographic Signature | ||
29 | |||
30 | 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 | ||
59 | 9CWR6g== | ||
60 | --------------ms9A58844C95949ECC78A1C54C-- | ||
61 | |||
62 | |||
63 | From angela@c2.net.au Thu May 14 13:33:16 1998 | ||
64 | X-UIDL: 8f076c44ff7c5967fd5b00c4588a8731 | ||
65 | Return-Path: angela@c2.net.au | ||
66 | Received: from cryptsoft.com (play.cryptsoft.com [203.56.44.3]) by pandora.cryptsoft.com (8.8.3/8.7.3) with ESMTP id NAA27847 for <tjh@cryptsoft.com>; Thu, 14 May 1998 13:33:15 +1000 (EST) | ||
67 | Message-ID: <355A67AB.2AF38806@cryptsoft.com> | ||
68 | Date: Thu, 14 May 1998 13:40:27 +1000 | ||
69 | From: Angela van Lent <angela@c2.net.au> | ||
70 | X-Mailer: Mozilla 4.03 [en] (Win95; U) | ||
71 | MIME-Version: 1.0 | ||
72 | To: tjh@cryptsoft.com | ||
73 | Subject: signed | ||
74 | Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="------------msD7863B84BD61E02C407F2F5E" | ||
75 | Content-Length: 2679 | ||
76 | Status: OR | ||
77 | |||
78 | This is a cryptographically signed message in MIME format. | ||
79 | |||
80 | --------------msD7863B84BD61E02C407F2F5E | ||
81 | Content-Type: text/plain; charset=us-ascii | ||
82 | Content-Transfer-Encoding: 7bit | ||
83 | |||
84 | signed body 2 | ||
85 | |||
86 | --------------msD7863B84BD61E02C407F2F5E | ||
87 | Content-Type: application/x-pkcs7-signature; name="smime.p7s" | ||
88 | Content-Transfer-Encoding: base64 | ||
89 | Content-Disposition: attachment; filename="smime.p7s" | ||
90 | Content-Description: S/MIME Cryptographic Signature | ||
91 | |||
92 | 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 | ||
122 | Zp8SSVVY | ||
123 | --------------msD7863B84BD61E02C407F2F5E-- | ||
124 | |||
125 | |||
126 | From angela@c2.net.au Thu May 14 14:05:32 1998 | ||
127 | X-UIDL: a7d629b4b9acacaee8b39371b860a32a | ||
128 | Return-Path: angela@c2.net.au | ||
129 | Received: from cryptsoft.com (play.cryptsoft.com [203.56.44.3]) by pandora.cryptsoft.com (8.8.3/8.7.3) with ESMTP id OAA28033 for <tjh@cryptsoft.com>; Thu, 14 May 1998 14:05:32 +1000 (EST) | ||
130 | Message-ID: <355A6F3B.AC385981@cryptsoft.com> | ||
131 | Date: Thu, 14 May 1998 14:12:43 +1000 | ||
132 | From: Angela van Lent <angela@c2.net.au> | ||
133 | X-Mailer: Mozilla 4.03 [en] (Win95; U) | ||
134 | MIME-Version: 1.0 | ||
135 | To: tjh@cryptsoft.com | ||
136 | Subject: encrypted | ||
137 | Content-Type: application/x-pkcs7-mime; name="smime.p7m" | ||
138 | Content-Transfer-Encoding: base64 | ||
139 | Content-Disposition: attachment; filename="smime.p7m" | ||
140 | Content-Description: S/MIME Encrypted Message | ||
141 | Content-Length: 905 | ||
142 | Status: OR | ||
143 | |||
144 | MIAGCSqGSIb3DQEHA6CAMIACAQAxggHmMIHwAgEAMIGZMIGSMQswCQYDVQQGEwJBVTETMBEG | ||
145 | A1UECBMKUXVlZW5zbGFuZDERMA8GA1UEBxMIQnJpc2JhbmUxGjAYBgNVBAoTEUNyeXB0c29m | ||
146 | dCBQdHkgTHRkMSIwIAYDVQQLExlERU1PTlNUUkFUSU9OIEFORCBURVNUSU5HMRswGQYDVQQD | ||
147 | ExJERU1PIFpFUk8gVkFMVUUgQ0ECAgR+MA0GCSqGSIb3DQEBAQUABEA92N29Yk39RUY2tIVd | ||
148 | exGT2MFX3J6H8LB8aDRJjw7843ALgJ5zXpM5+f80QkAWwEN2A6Pl3VxiCeKLi435zXVyMIHw | ||
149 | AgEAMIGZMIGSMQswCQYDVQQGEwJBVTETMBEGA1UECBMKUXVlZW5zbGFuZDERMA8GA1UEBxMI | ||
150 | QnJpc2JhbmUxGjAYBgNVBAoTEUNyeXB0c29mdCBQdHkgTHRkMSIwIAYDVQQLExlERU1PTlNU | ||
151 | UkFUSU9OIEFORCBURVNUSU5HMRswGQYDVQQDExJERU1PIFpFUk8gVkFMVUUgQ0ECAgRuMA0G | ||
152 | CSqGSIb3DQEBAQUABECR9IfyHtvnjFmZ8B2oUCEs1vxMsG0u1kxKE4RMPFyDqDCEARq7zXMg | ||
153 | nzSUI7Wgv5USSKDqcLRJeW+jvYURv/nJMIAGCSqGSIb3DQEHATAaBggqhkiG9w0DAjAOAgIA | ||
154 | oAQIrLqrij2ZMpeggAQoibtn6reRZWuWk5Iv5IAhgitr8EYE4w4ySQ7EMB6mTlBoFpccUMWX | ||
155 | BwQgQn1UoWCvYAlhDzURdbui64Dc0rS2wtj+kE/InS6y25EEEPe4NUKaF8/UlE+lo3LtILQE | ||
156 | CL3uV8k7m0iqAAAAAAAAAAAAAA== | ||
157 | |||
diff --git a/src/lib/libcrypto/pkcs7/t/s.pem b/src/lib/libcrypto/pkcs7/t/s.pem new file mode 100644 index 0000000000..4fa925b182 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/s.pem | |||
@@ -0,0 +1,57 @@ | |||
1 | -----BEGIN RSA PRIVATE KEY----- | ||
2 | MIIBOgIBAAJBAK3nI4nuDYe3nDJES5WBc90igEstxWC4/h4YY+/ciYki35U8ets9 | ||
3 | mgaoCNYp/e9BCZHtvK2Y+fYokGJv5+cMTQsCAwEAAQJBAIHpvXvqEcOEoDRRHuIG | ||
4 | fkcB4jPHcr9KE9TpxabH6xs9beN6OJnkePXAHwaz5MnUgSnbpOKq+cw8miKjXwe/ | ||
5 | zVECIQDVLwncT2lRmXarEYHzb+q/0uaSvKhWKKt3kJasLNTrAwIhANDUc/ghut29 | ||
6 | p3jJYjurzUKuG774/5eLjPLsxPPIZzNZAiA/10hSq41UnGqHLEUIS9m2/EeEZe7b | ||
7 | bm567dfRU9OnVQIgDo8ROrZXSchEGbaog5J5r/Fle83uO8l93R3GqVxKXZkCIFfk | ||
8 | IPD5PIYQAyyod3hyKKza7ZP4CGY4oOfZetbkSGGG | ||
9 | -----END RSA PRIVATE KEY----- | ||
10 | issuer :/C=AU/SP=Queensland/L=Brisbane/O=Cryptsoft Pty Ltd/OU=DEMONSTRATION AND TESTING/CN=DEMO ZERO VALUE CA | ||
11 | subject:/C=AU/SP=Queensland/L=Brisbane/O=Cryptsoft Pty Ltd/OU=SMIME 003/CN=Information/Email=info@cryptsoft.com | ||
12 | serial :047D | ||
13 | |||
14 | Certificate: | ||
15 | Data: | ||
16 | Version: 3 (0x2) | ||
17 | Serial Number: 1149 (0x47d) | ||
18 | Signature Algorithm: md5withRSAEncryption | ||
19 | Issuer: C=AU, SP=Queensland, L=Brisbane, O=Cryptsoft Pty Ltd, OU=DEMONSTRATION AND TESTING, CN=DEMO ZERO VALUE CA | ||
20 | Validity | ||
21 | Not Before: May 13 05:40:58 1998 GMT | ||
22 | Not After : May 12 05:40:58 2000 GMT | ||
23 | Subject: C=AU, SP=Queensland, L=Brisbane, O=Cryptsoft Pty Ltd, OU=SMIME 003, CN=Information/Email=info@cryptsoft.com | ||
24 | Subject Public Key Info: | ||
25 | Public Key Algorithm: rsaEncryption | ||
26 | Modulus: | ||
27 | 00:ad:e7:23:89:ee:0d:87:b7:9c:32:44:4b:95:81: | ||
28 | 73:dd:22:80:4b:2d:c5:60:b8:fe:1e:18:63:ef:dc: | ||
29 | 89:89:22:df:95:3c:7a:db:3d:9a:06:a8:08:d6:29: | ||
30 | fd:ef:41:09:91:ed:bc:ad:98:f9:f6:28:90:62:6f: | ||
31 | e7:e7:0c:4d:0b | ||
32 | Exponent: 65537 (0x10001) | ||
33 | X509v3 extensions: | ||
34 | Netscape Comment: | ||
35 | Generated with SSLeay | ||
36 | Signature Algorithm: md5withRSAEncryption | ||
37 | 52:15:ea:88:f4:f0:f9:0b:ef:ce:d5:f8:83:40:61:16:5e:55: | ||
38 | f9:ce:2d:d1:8b:31:5c:03:c6:2d:10:7c:61:d5:5c:0a:42:97: | ||
39 | d1:fd:65:b6:b6:84:a5:39:ec:46:ec:fc:e0:0d:d9:22:da:1b: | ||
40 | 50:74:ad:92:cb:4e:90:e5:fa:7d | ||
41 | |||
42 | -----BEGIN CERTIFICATE----- | ||
43 | MIICTDCCAfagAwIBAgICBH0wDQYJKoZIhvcNAQEEBQAwgZIxCzAJBgNVBAYTAkFV | ||
44 | MRMwEQYDVQQIEwpRdWVlbnNsYW5kMREwDwYDVQQHEwhCcmlzYmFuZTEaMBgGA1UE | ||
45 | ChMRQ3J5cHRzb2Z0IFB0eSBMdGQxIjAgBgNVBAsTGURFTU9OU1RSQVRJT04gQU5E | ||
46 | IFRFU1RJTkcxGzAZBgNVBAMTEkRFTU8gWkVSTyBWQUxVRSBDQTAeFw05ODA1MTMw | ||
47 | NTQwNThaFw0wMDA1MTIwNTQwNThaMIGeMQswCQYDVQQGEwJBVTETMBEGA1UECBMK | ||
48 | UXVlZW5zbGFuZDERMA8GA1UEBxMIQnJpc2JhbmUxGjAYBgNVBAoTEUNyeXB0c29m | ||
49 | dCBQdHkgTHRkMRIwEAYDVQQLEwlTTUlNRSAwMDMxFDASBgNVBAMTC0luZm9ybWF0 | ||
50 | aW9uMSEwHwYJKoZIhvcNAQkBFhJpbmZvQGNyeXB0c29mdC5jb20wXDANBgkqhkiG | ||
51 | 9w0BAQEFAANLADBIAkEArecjie4Nh7ecMkRLlYFz3SKASy3FYLj+Hhhj79yJiSLf | ||
52 | lTx62z2aBqgI1in970EJke28rZj59iiQYm/n5wxNCwIDAQABoygwJjAkBglghkgB | ||
53 | hvhCAQ0EFxYVR2VuZXJhdGVkIHdpdGggU1NMZWF5MA0GCSqGSIb3DQEBBAUAA0EA | ||
54 | UhXqiPTw+QvvztX4g0BhFl5V+c4t0YsxXAPGLRB8YdVcCkKX0f1ltraEpTnsRuz8 | ||
55 | 4A3ZItobUHStkstOkOX6fQ== | ||
56 | -----END CERTIFICATE----- | ||
57 | |||
diff --git a/src/lib/libcrypto/pkcs7/t/server.pem b/src/lib/libcrypto/pkcs7/t/server.pem new file mode 100644 index 0000000000..989baf8709 --- /dev/null +++ b/src/lib/libcrypto/pkcs7/t/server.pem | |||
@@ -0,0 +1,57 @@ | |||
1 | issuer :/C=AU/SP=Queensland/L=Brisbane/O=Cryptsoft Pty Ltd/OU=DEMONSTRATION AND TESTING/CN=DEMO ZERO VALUE CA | ||
2 | subject:/C=AU/SP=Queensland/L=Brisbane/O=Cryptsoft Pty Ltd/OU=SMIME 003/CN=Information/Email=info@cryptsoft.com | ||
3 | serial :047D | ||
4 | |||
5 | Certificate: | ||
6 | Data: | ||
7 | Version: 3 (0x2) | ||
8 | Serial Number: 1149 (0x47d) | ||
9 | Signature Algorithm: md5withRSAEncryption | ||
10 | Issuer: C=AU, SP=Queensland, L=Brisbane, O=Cryptsoft Pty Ltd, OU=DEMONSTRATION AND TESTING, CN=DEMO ZERO VALUE CA | ||
11 | Validity | ||
12 | Not Before: May 13 05:40:58 1998 GMT | ||
13 | Not After : May 12 05:40:58 2000 GMT | ||
14 | Subject: C=AU, SP=Queensland, L=Brisbane, O=Cryptsoft Pty Ltd, OU=SMIME 003, CN=Information/Email=info@cryptsoft.com | ||
15 | Subject Public Key Info: | ||
16 | Public Key Algorithm: rsaEncryption | ||
17 | Modulus: | ||
18 | 00:ad:e7:23:89:ee:0d:87:b7:9c:32:44:4b:95:81: | ||
19 | 73:dd:22:80:4b:2d:c5:60:b8:fe:1e:18:63:ef:dc: | ||
20 | 89:89:22:df:95:3c:7a:db:3d:9a:06:a8:08:d6:29: | ||
21 | fd:ef:41:09:91:ed:bc:ad:98:f9:f6:28:90:62:6f: | ||
22 | e7:e7:0c:4d:0b | ||
23 | Exponent: 65537 (0x10001) | ||
24 | X509v3 extensions: | ||
25 | Netscape Comment: | ||
26 | Generated with SSLeay | ||
27 | Signature Algorithm: md5withRSAEncryption | ||
28 | 52:15:ea:88:f4:f0:f9:0b:ef:ce:d5:f8:83:40:61:16:5e:55: | ||
29 | f9:ce:2d:d1:8b:31:5c:03:c6:2d:10:7c:61:d5:5c:0a:42:97: | ||
30 | d1:fd:65:b6:b6:84:a5:39:ec:46:ec:fc:e0:0d:d9:22:da:1b: | ||
31 | 50:74:ad:92:cb:4e:90:e5:fa:7d | ||
32 | |||
33 | -----BEGIN CERTIFICATE----- | ||
34 | MIICTDCCAfagAwIBAgICBH0wDQYJKoZIhvcNAQEEBQAwgZIxCzAJBgNVBAYTAkFV | ||
35 | MRMwEQYDVQQIEwpRdWVlbnNsYW5kMREwDwYDVQQHEwhCcmlzYmFuZTEaMBgGA1UE | ||
36 | ChMRQ3J5cHRzb2Z0IFB0eSBMdGQxIjAgBgNVBAsTGURFTU9OU1RSQVRJT04gQU5E | ||
37 | IFRFU1RJTkcxGzAZBgNVBAMTEkRFTU8gWkVSTyBWQUxVRSBDQTAeFw05ODA1MTMw | ||
38 | NTQwNThaFw0wMDA1MTIwNTQwNThaMIGeMQswCQYDVQQGEwJBVTETMBEGA1UECBMK | ||
39 | UXVlZW5zbGFuZDERMA8GA1UEBxMIQnJpc2JhbmUxGjAYBgNVBAoTEUNyeXB0c29m | ||
40 | dCBQdHkgTHRkMRIwEAYDVQQLEwlTTUlNRSAwMDMxFDASBgNVBAMTC0luZm9ybWF0 | ||
41 | aW9uMSEwHwYJKoZIhvcNAQkBFhJpbmZvQGNyeXB0c29mdC5jb20wXDANBgkqhkiG | ||
42 | 9w0BAQEFAANLADBIAkEArecjie4Nh7ecMkRLlYFz3SKASy3FYLj+Hhhj79yJiSLf | ||
43 | lTx62z2aBqgI1in970EJke28rZj59iiQYm/n5wxNCwIDAQABoygwJjAkBglghkgB | ||
44 | hvhCAQ0EFxYVR2VuZXJhdGVkIHdpdGggU1NMZWF5MA0GCSqGSIb3DQEBBAUAA0EA | ||
45 | UhXqiPTw+QvvztX4g0BhFl5V+c4t0YsxXAPGLRB8YdVcCkKX0f1ltraEpTnsRuz8 | ||
46 | 4A3ZItobUHStkstOkOX6fQ== | ||
47 | -----END CERTIFICATE----- | ||
48 | |||
49 | -----BEGIN RSA PRIVATE KEY----- | ||
50 | MIIBOgIBAAJBAK3nI4nuDYe3nDJES5WBc90igEstxWC4/h4YY+/ciYki35U8ets9 | ||
51 | mgaoCNYp/e9BCZHtvK2Y+fYokGJv5+cMTQsCAwEAAQJBAIHpvXvqEcOEoDRRHuIG | ||
52 | fkcB4jPHcr9KE9TpxabH6xs9beN6OJnkePXAHwaz5MnUgSnbpOKq+cw8miKjXwe/ | ||
53 | zVECIQDVLwncT2lRmXarEYHzb+q/0uaSvKhWKKt3kJasLNTrAwIhANDUc/ghut29 | ||
54 | p3jJYjurzUKuG774/5eLjPLsxPPIZzNZAiA/10hSq41UnGqHLEUIS9m2/EeEZe7b | ||
55 | bm567dfRU9OnVQIgDo8ROrZXSchEGbaog5J5r/Fle83uO8l93R3GqVxKXZkCIFfk | ||
56 | IPD5PIYQAyyod3hyKKza7ZP4CGY4oOfZetbkSGGG | ||
57 | -----END RSA PRIVATE KEY----- | ||
diff --git a/src/lib/libcrypto/pkcs7/verify.c b/src/lib/libcrypto/pkcs7/verify.c new file mode 100644 index 0000000000..b40f26032e --- /dev/null +++ b/src/lib/libcrypto/pkcs7/verify.c | |||
@@ -0,0 +1,263 @@ | |||
1 | /* crypto/pkcs7/verify.c */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | #include <stdio.h> | ||
59 | #include <string.h> | ||
60 | #include <openssl/bio.h> | ||
61 | #include <openssl/asn1.h> | ||
62 | #include <openssl/x509.h> | ||
63 | #include <openssl/pem.h> | ||
64 | #include <openssl/err.h> | ||
65 | #include "example.h" | ||
66 | |||
67 | int verify_callback(int ok, X509_STORE_CTX *ctx); | ||
68 | |||
69 | BIO *bio_err=NULL; | ||
70 | BIO *bio_out=NULL; | ||
71 | |||
72 | int main(argc,argv) | ||
73 | int argc; | ||
74 | char *argv[]; | ||
75 | { | ||
76 | PKCS7 *p7; | ||
77 | PKCS7_SIGNER_INFO *si; | ||
78 | X509_STORE_CTX cert_ctx; | ||
79 | X509_STORE *cert_store=NULL; | ||
80 | BIO *data,*detached=NULL,*p7bio=NULL; | ||
81 | char buf[1024*4]; | ||
82 | char *pp; | ||
83 | int i,printit=0; | ||
84 | STACK_OF(PKCS7_SIGNER_INFO) *sk; | ||
85 | |||
86 | bio_err=BIO_new_fp(stderr,BIO_NOCLOSE); | ||
87 | bio_out=BIO_new_fp(stdout,BIO_NOCLOSE); | ||
88 | #ifndef OPENSSL_NO_MD2 | ||
89 | EVP_add_digest(EVP_md2()); | ||
90 | #endif | ||
91 | #ifndef OPENSSL_NO_MD5 | ||
92 | EVP_add_digest(EVP_md5()); | ||
93 | #endif | ||
94 | #ifndef OPENSSL_NO_SHA1 | ||
95 | EVP_add_digest(EVP_sha1()); | ||
96 | #endif | ||
97 | #ifndef OPENSSL_NO_MDC2 | ||
98 | EVP_add_digest(EVP_mdc2()); | ||
99 | #endif | ||
100 | |||
101 | data=BIO_new(BIO_s_file()); | ||
102 | |||
103 | pp=NULL; | ||
104 | while (argc > 1) | ||
105 | { | ||
106 | argc--; | ||
107 | argv++; | ||
108 | if (strcmp(argv[0],"-p") == 0) | ||
109 | { | ||
110 | printit=1; | ||
111 | } | ||
112 | else if ((strcmp(argv[0],"-d") == 0) && (argc >= 2)) | ||
113 | { | ||
114 | detached=BIO_new(BIO_s_file()); | ||
115 | if (!BIO_read_filename(detached,argv[1])) | ||
116 | goto err; | ||
117 | argc--; | ||
118 | argv++; | ||
119 | } | ||
120 | else | ||
121 | { | ||
122 | pp=argv[0]; | ||
123 | if (!BIO_read_filename(data,argv[0])) | ||
124 | goto err; | ||
125 | } | ||
126 | } | ||
127 | |||
128 | if (pp == NULL) | ||
129 | BIO_set_fp(data,stdin,BIO_NOCLOSE); | ||
130 | |||
131 | |||
132 | /* Load the PKCS7 object from a file */ | ||
133 | if ((p7=PEM_read_bio_PKCS7(data,NULL,NULL,NULL)) == NULL) goto err; | ||
134 | |||
135 | /* This stuff is being setup for certificate verification. | ||
136 | * When using SSL, it could be replaced with a | ||
137 | * cert_stre=SSL_CTX_get_cert_store(ssl_ctx); */ | ||
138 | cert_store=X509_STORE_new(); | ||
139 | X509_STORE_set_default_paths(cert_store); | ||
140 | X509_STORE_load_locations(cert_store,NULL,"../../certs"); | ||
141 | X509_STORE_set_verify_cb_func(cert_store,verify_callback); | ||
142 | |||
143 | ERR_clear_error(); | ||
144 | |||
145 | /* We need to process the data */ | ||
146 | if ((PKCS7_get_detached(p7) || detached)) | ||
147 | { | ||
148 | if (detached == NULL) | ||
149 | { | ||
150 | printf("no data to verify the signature on\n"); | ||
151 | exit(1); | ||
152 | } | ||
153 | else | ||
154 | p7bio=PKCS7_dataInit(p7,detached); | ||
155 | } | ||
156 | else | ||
157 | { | ||
158 | p7bio=PKCS7_dataInit(p7,NULL); | ||
159 | } | ||
160 | |||
161 | /* We now have to 'read' from p7bio to calculate digests etc. */ | ||
162 | for (;;) | ||
163 | { | ||
164 | i=BIO_read(p7bio,buf,sizeof(buf)); | ||
165 | /* print it? */ | ||
166 | if (i <= 0) break; | ||
167 | } | ||
168 | |||
169 | /* We can now verify signatures */ | ||
170 | sk=PKCS7_get_signer_info(p7); | ||
171 | if (sk == NULL) | ||
172 | { | ||
173 | printf("there are no signatures on this data\n"); | ||
174 | exit(1); | ||
175 | } | ||
176 | |||
177 | /* Ok, first we need to, for each subject entry, see if we can verify */ | ||
178 | for (i=0; i<sk_PKCS7_SIGNER_INFO_num(sk); i++) | ||
179 | { | ||
180 | ASN1_UTCTIME *tm; | ||
181 | char *str1,*str2; | ||
182 | int rc; | ||
183 | |||
184 | si=sk_PKCS7_SIGNER_INFO_value(sk,i); | ||
185 | rc=PKCS7_dataVerify(cert_store,&cert_ctx,p7bio,p7,si); | ||
186 | if (rc <= 0) | ||
187 | goto err; | ||
188 | printf("signer info\n"); | ||
189 | if ((tm=get_signed_time(si)) != NULL) | ||
190 | { | ||
191 | BIO_printf(bio_out,"Signed time:"); | ||
192 | ASN1_UTCTIME_print(bio_out,tm); | ||
193 | ASN1_UTCTIME_free(tm); | ||
194 | BIO_printf(bio_out,"\n"); | ||
195 | } | ||
196 | if (get_signed_seq2string(si,&str1,&str2)) | ||
197 | { | ||
198 | BIO_printf(bio_out,"String 1 is %s\n",str1); | ||
199 | BIO_printf(bio_out,"String 2 is %s\n",str2); | ||
200 | } | ||
201 | |||
202 | } | ||
203 | |||
204 | X509_STORE_free(cert_store); | ||
205 | |||
206 | printf("done\n"); | ||
207 | exit(0); | ||
208 | err: | ||
209 | ERR_load_crypto_strings(); | ||
210 | ERR_print_errors_fp(stderr); | ||
211 | exit(1); | ||
212 | } | ||
213 | |||
214 | /* should be X509 * but we can just have them as char *. */ | ||
215 | int verify_callback(int ok, X509_STORE_CTX *ctx) | ||
216 | { | ||
217 | char buf[256]; | ||
218 | X509 *err_cert; | ||
219 | int err,depth; | ||
220 | |||
221 | err_cert=X509_STORE_CTX_get_current_cert(ctx); | ||
222 | err= X509_STORE_CTX_get_error(ctx); | ||
223 | depth= X509_STORE_CTX_get_error_depth(ctx); | ||
224 | |||
225 | X509_NAME_oneline(X509_get_subject_name(err_cert),buf,256); | ||
226 | BIO_printf(bio_err,"depth=%d %s\n",depth,buf); | ||
227 | if (!ok) | ||
228 | { | ||
229 | BIO_printf(bio_err,"verify error:num=%d:%s\n",err, | ||
230 | X509_verify_cert_error_string(err)); | ||
231 | if (depth < 6) | ||
232 | { | ||
233 | ok=1; | ||
234 | X509_STORE_CTX_set_error(ctx,X509_V_OK); | ||
235 | } | ||
236 | else | ||
237 | { | ||
238 | ok=0; | ||
239 | X509_STORE_CTX_set_error(ctx,X509_V_ERR_CERT_CHAIN_TOO_LONG); | ||
240 | } | ||
241 | } | ||
242 | switch (ctx->error) | ||
243 | { | ||
244 | case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: | ||
245 | X509_NAME_oneline(X509_get_issuer_name(ctx->current_cert),buf,256); | ||
246 | BIO_printf(bio_err,"issuer= %s\n",buf); | ||
247 | break; | ||
248 | case X509_V_ERR_CERT_NOT_YET_VALID: | ||
249 | case X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: | ||
250 | BIO_printf(bio_err,"notBefore="); | ||
251 | ASN1_UTCTIME_print(bio_err,X509_get_notBefore(ctx->current_cert)); | ||
252 | BIO_printf(bio_err,"\n"); | ||
253 | break; | ||
254 | case X509_V_ERR_CERT_HAS_EXPIRED: | ||
255 | case X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: | ||
256 | BIO_printf(bio_err,"notAfter="); | ||
257 | ASN1_UTCTIME_print(bio_err,X509_get_notAfter(ctx->current_cert)); | ||
258 | BIO_printf(bio_err,"\n"); | ||
259 | break; | ||
260 | } | ||
261 | BIO_printf(bio_err,"verify return:%d\n",ok); | ||
262 | return(ok); | ||
263 | } | ||