summaryrefslogtreecommitdiff
path: root/src/lib/libssl/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/test')
-rw-r--r--src/lib/libssl/test/Makefile.ssl135
-rw-r--r--src/lib/libssl/test/enginetest.c251
-rw-r--r--src/lib/libssl/test/maketests.com2
-rw-r--r--src/lib/libssl/test/md4test.c131
-rw-r--r--src/lib/libssl/test/testp7.pem88
-rw-r--r--src/lib/libssl/test/tests.com96
6 files changed, 578 insertions, 125 deletions
diff --git a/src/lib/libssl/test/Makefile.ssl b/src/lib/libssl/test/Makefile.ssl
index dbb523bf15..b961dabc3c 100644
--- a/src/lib/libssl/test/Makefile.ssl
+++ b/src/lib/libssl/test/Makefile.ssl
@@ -38,6 +38,7 @@ SHA1TEST= sha1test
38MDC2TEST= mdc2test 38MDC2TEST= mdc2test
39RMDTEST= rmdtest 39RMDTEST= rmdtest
40MD2TEST= md2test 40MD2TEST= md2test
41MD4TEST= md4test
41MD5TEST= md5test 42MD5TEST= md5test
42HMACTEST= hmactest 43HMACTEST= hmactest
43RC2TEST= rc2test 44RC2TEST= rc2test
@@ -52,24 +53,27 @@ DSATEST= dsatest
52METHTEST= methtest 53METHTEST= methtest
53SSLTEST= ssltest 54SSLTEST= ssltest
54RSATEST= rsa_test 55RSATEST= rsa_test
56ENGINETEST= enginetest
55 57
56EXE= $(BNTEST) $(IDEATEST) $(MD2TEST) $(MD5TEST) $(HMACTEST) \ 58EXE= $(BNTEST) $(IDEATEST) $(MD2TEST) $(MD4TEST) $(MD5TEST) $(HMACTEST) \
57 $(RC2TEST) $(RC4TEST) $(RC5TEST) \ 59 $(RC2TEST) $(RC4TEST) $(RC5TEST) \
58 $(DESTEST) $(SHATEST) $(SHA1TEST) $(MDC2TEST) $(RMDTEST) \ 60 $(DESTEST) $(SHATEST) $(SHA1TEST) $(MDC2TEST) $(RMDTEST) \
59 $(RANDTEST) $(DHTEST) \ 61 $(RANDTEST) $(DHTEST) $(ENGINETEST) \
60 $(BFTEST) $(CASTTEST) $(SSLTEST) $(EXPTEST) $(DSATEST) $(RSATEST) 62 $(BFTEST) $(CASTTEST) $(SSLTEST) $(EXPTEST) $(DSATEST) $(RSATEST)
61 63
62# $(METHTEST) 64# $(METHTEST)
63 65
64OBJ= $(BNTEST).o $(IDEATEST).o $(MD2TEST).o $(MD5TEST).o $(HMACTEST).o \ 66OBJ= $(BNTEST).o $(IDEATEST).o $(MD2TEST).o $(MD4TEST).o $(MD5TEST).o \
67 $(HMACTEST).o \
65 $(RC2TEST).o $(RC4TEST).o $(RC5TEST).o \ 68 $(RC2TEST).o $(RC4TEST).o $(RC5TEST).o \
66 $(DESTEST).o $(SHATEST).o $(SHA1TEST).o $(MDC2TEST).o $(RMDTEST).o \ 69 $(DESTEST).o $(SHATEST).o $(SHA1TEST).o $(MDC2TEST).o $(RMDTEST).o \
67 $(RANDTEST).o $(DHTEST).o $(CASTTEST).o \ 70 $(RANDTEST).o $(DHTEST).o $(ENGINETEST).o $(CASTTEST).o \
68 $(BFTEST).o $(SSLTEST).o $(DSATEST).o $(EXPTEST).o $(RSATEST).o 71 $(BFTEST).o $(SSLTEST).o $(DSATEST).o $(EXPTEST).o $(RSATEST).o
69SRC= $(BNTEST).c $(IDEATEST).c $(MD2TEST).c $(MD5TEST).c $(HMACTEST).c \ 72SRC= $(BNTEST).c $(IDEATEST).c $(MD2TEST).c $(MD4TEST).c $(MD5TEST).c \
73 $(HMACTEST).c \
70 $(RC2TEST).c $(RC4TEST).c $(RC5TEST).c \ 74 $(RC2TEST).c $(RC4TEST).c $(RC5TEST).c \
71 $(DESTEST).c $(SHATEST).c $(SHA1TEST).c $(MDC2TEST).c $(RMDTEST).c \ 75 $(DESTEST).c $(SHATEST).c $(SHA1TEST).c $(MDC2TEST).c $(RMDTEST).c \
72 $(RANDTEST).c $(DHTEST).c $(CASTTEST).c \ 76 $(RANDTEST).c $(DHTEST).c $(ENGINETEST).c $(CASTTEST).c \
73 $(BFTEST).c $(SSLTEST).c $(DSATEST).c $(EXPTEST).c $(RSATEST).c 77 $(BFTEST).c $(SSLTEST).c $(DSATEST).c $(EXPTEST).c $(RSATEST).c
74 78
75EXHEADER= 79EXHEADER=
@@ -98,11 +102,12 @@ tags:
98 ctags $(SRC) 102 ctags $(SRC)
99 103
100tests: exe apps \ 104tests: exe apps \
101 test_des test_idea test_sha test_md5 test_hmac test_md2 test_mdc2 \ 105 test_des test_idea test_sha test_md4 test_md5 test_hmac \
106 test_md2 test_mdc2 \
102 test_rmd test_rc2 test_rc4 test_rc5 test_bf test_cast \ 107 test_rmd test_rc2 test_rc4 test_rc5 test_bf test_cast \
103 test_rand test_bn test_enc test_x509 test_rsa test_crl test_sid \ 108 test_rand test_bn test_enc test_x509 test_rsa test_crl test_sid \
104 test_gen test_req test_pkcs7 test_verify test_dh test_dsa \ 109 test_gen test_req test_pkcs7 test_verify test_dh test_dsa \
105 test_ss test_ssl test_ca 110 test_ss test_ca test_engine test_ssl
106 111
107apps: 112apps:
108 @(cd ../apps; $(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' all) 113 @(cd ../apps; $(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' all)
@@ -123,6 +128,9 @@ test_mdc2:
123test_md5: 128test_md5:
124 ./$(MD5TEST) 129 ./$(MD5TEST)
125 130
131test_md4:
132 ./$(MD4TEST)
133
126test_hmac: 134test_hmac:
127 ./$(HMACTEST) 135 ./$(HMACTEST)
128 136
@@ -210,6 +218,10 @@ test_ss:
210 @echo "Generate and certify a test certificate" 218 @echo "Generate and certify a test certificate"
211 @sh ./testss 219 @sh ./testss
212 220
221test_engine:
222 @echo "Manipulate the ENGINE structures"
223 ./$(ENGINETEST)
224
213test_ssl: 225test_ssl:
214 @echo "test SSL protocol" 226 @echo "test SSL protocol"
215 @sh ./testssl 227 @sh ./testssl
@@ -264,6 +276,9 @@ $(RMDTEST): $(RMDTEST).o $(DLIBCRYPTO)
264$(MDC2TEST): $(MDC2TEST).o $(DLIBCRYPTO) 276$(MDC2TEST): $(MDC2TEST).o $(DLIBCRYPTO)
265 $(CC) -o $(MDC2TEST) $(CFLAGS) $(MDC2TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) 277 $(CC) -o $(MDC2TEST) $(CFLAGS) $(MDC2TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
266 278
279$(MD4TEST): $(MD4TEST).o $(DLIBCRYPTO)
280 $(CC) -o $(MD4TEST) $(CFLAGS) $(MD4TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
281
267$(MD5TEST): $(MD5TEST).o $(DLIBCRYPTO) 282$(MD5TEST): $(MD5TEST).o $(DLIBCRYPTO)
268 $(CC) -o $(MD5TEST) $(CFLAGS) $(MD5TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) 283 $(CC) -o $(MD5TEST) $(CFLAGS) $(MD5TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
269 284
@@ -303,25 +318,31 @@ $(METHTEST): $(METHTEST).o $(DLIBCRYPTO)
303$(SSLTEST): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO) 318$(SSLTEST): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
304 $(CC) -o $(SSLTEST) $(CFLAGS) $(SSLTEST).o $(PEX_LIBS) $(LIBSSL) $(LIBCRYPTO) $(EX_LIBS) 319 $(CC) -o $(SSLTEST) $(CFLAGS) $(SSLTEST).o $(PEX_LIBS) $(LIBSSL) $(LIBCRYPTO) $(EX_LIBS)
305 320
321$(ENGINETEST): $(ENGINETEST).o $(DLIBCRYPTO)
322 $(CC) -o $(ENGINETEST) $(CFLAGS) $(ENGINETEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
323
306# DO NOT DELETE THIS LINE -- make depend depends on it. 324# DO NOT DELETE THIS LINE -- make depend depends on it.
307 325
308bftest.o: ../include/openssl/blowfish.h 326bftest.o: ../include/openssl/blowfish.h
309bntest.o: ../include/openssl/asn1.h ../include/openssl/bio.h 327bntest.o: ../include/openssl/asn1.h ../include/openssl/bio.h
310bntest.o: ../include/openssl/blowfish.h ../include/openssl/bn.h 328bntest.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
311bntest.o: ../include/openssl/cast.h ../include/openssl/crypto.h 329bntest.o: ../include/openssl/buffer.h ../include/openssl/cast.h
312bntest.o: ../include/openssl/des.h ../include/openssl/dh.h 330bntest.o: ../include/openssl/crypto.h ../include/openssl/des.h
313bntest.o: ../include/openssl/dsa.h ../include/openssl/e_os.h 331bntest.o: ../include/openssl/dh.h ../include/openssl/dsa.h
314bntest.o: ../include/openssl/e_os2.h ../include/openssl/err.h 332bntest.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
315bntest.o: ../include/openssl/evp.h ../include/openssl/idea.h 333bntest.o: ../include/openssl/err.h ../include/openssl/evp.h
316bntest.o: ../include/openssl/md2.h ../include/openssl/md5.h 334bntest.o: ../include/openssl/idea.h ../include/openssl/lhash.h
317bntest.o: ../include/openssl/mdc2.h ../include/openssl/objects.h 335bntest.o: ../include/openssl/md2.h ../include/openssl/md4.h
336bntest.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
337bntest.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
318bntest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h 338bntest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
319bntest.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h 339bntest.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
320bntest.o: ../include/openssl/rc2.h ../include/openssl/rc4.h 340bntest.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
321bntest.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h 341bntest.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
322bntest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h 342bntest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
323bntest.o: ../include/openssl/sha.h ../include/openssl/stack.h 343bntest.o: ../include/openssl/sha.h ../include/openssl/stack.h
324bntest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h 344bntest.o: ../include/openssl/symhacks.h ../include/openssl/x509.h
345bntest.o: ../include/openssl/x509_vfy.h
325casttest.o: ../include/openssl/cast.h 346casttest.o: ../include/openssl/cast.h
326destest.o: ../include/openssl/des.h ../include/openssl/e_os2.h 347destest.o: ../include/openssl/des.h ../include/openssl/e_os2.h
327destest.o: ../include/openssl/opensslconf.h 348destest.o: ../include/openssl/opensslconf.h
@@ -329,18 +350,37 @@ dhtest.o: ../include/openssl/bio.h ../include/openssl/bn.h
329dhtest.o: ../include/openssl/crypto.h ../include/openssl/dh.h 350dhtest.o: ../include/openssl/crypto.h ../include/openssl/dh.h
330dhtest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h 351dhtest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
331dhtest.o: ../include/openssl/rand.h ../include/openssl/safestack.h 352dhtest.o: ../include/openssl/rand.h ../include/openssl/safestack.h
332dhtest.o: ../include/openssl/stack.h 353dhtest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
333dsatest.o: ../include/openssl/bio.h ../include/openssl/bn.h 354dsatest.o: ../include/openssl/bio.h ../include/openssl/bn.h
334dsatest.o: ../include/openssl/crypto.h ../include/openssl/dh.h 355dsatest.o: ../include/openssl/crypto.h ../include/openssl/dh.h
335dsatest.o: ../include/openssl/dsa.h ../include/openssl/err.h 356dsatest.o: ../include/openssl/dsa.h ../include/openssl/err.h
336dsatest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h 357dsatest.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
337dsatest.o: ../include/openssl/rand.h ../include/openssl/safestack.h 358dsatest.o: ../include/openssl/opensslv.h ../include/openssl/rand.h
338dsatest.o: ../include/openssl/stack.h 359dsatest.o: ../include/openssl/safestack.h ../include/openssl/stack.h
360dsatest.o: ../include/openssl/symhacks.h
361enginetest.o: ../include/openssl/asn1.h ../include/openssl/bio.h
362enginetest.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
363enginetest.o: ../include/openssl/cast.h ../include/openssl/crypto.h
364enginetest.o: ../include/openssl/des.h ../include/openssl/dh.h
365enginetest.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
366enginetest.o: ../include/openssl/engine.h ../include/openssl/err.h
367enginetest.o: ../include/openssl/evp.h ../include/openssl/idea.h
368enginetest.o: ../include/openssl/lhash.h ../include/openssl/md2.h
369enginetest.o: ../include/openssl/md4.h ../include/openssl/md5.h
370enginetest.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
371enginetest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
372enginetest.o: ../include/openssl/opensslv.h ../include/openssl/rand.h
373enginetest.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
374enginetest.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
375enginetest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
376enginetest.o: ../include/openssl/sha.h ../include/openssl/stack.h
377enginetest.o: ../include/openssl/symhacks.h
339exptest.o: ../include/openssl/bio.h ../include/openssl/bn.h 378exptest.o: ../include/openssl/bio.h ../include/openssl/bn.h
340exptest.o: ../include/openssl/crypto.h ../include/openssl/err.h 379exptest.o: ../include/openssl/crypto.h ../include/openssl/err.h
341exptest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h 380exptest.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
342exptest.o: ../include/openssl/rand.h ../include/openssl/safestack.h 381exptest.o: ../include/openssl/opensslv.h ../include/openssl/rand.h
343exptest.o: ../include/openssl/stack.h 382exptest.o: ../include/openssl/safestack.h ../include/openssl/stack.h
383exptest.o: ../include/openssl/symhacks.h
344hmactest.o: ../include/openssl/asn1.h ../include/openssl/bio.h 384hmactest.o: ../include/openssl/asn1.h ../include/openssl/bio.h
345hmactest.o: ../include/openssl/blowfish.h ../include/openssl/bn.h 385hmactest.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
346hmactest.o: ../include/openssl/cast.h ../include/openssl/crypto.h 386hmactest.o: ../include/openssl/cast.h ../include/openssl/crypto.h
@@ -348,15 +388,17 @@ hmactest.o: ../include/openssl/des.h ../include/openssl/dh.h
348hmactest.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h 388hmactest.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
349hmactest.o: ../include/openssl/evp.h ../include/openssl/hmac.h 389hmactest.o: ../include/openssl/evp.h ../include/openssl/hmac.h
350hmactest.o: ../include/openssl/idea.h ../include/openssl/md2.h 390hmactest.o: ../include/openssl/idea.h ../include/openssl/md2.h
351hmactest.o: ../include/openssl/md5.h ../include/openssl/mdc2.h 391hmactest.o: ../include/openssl/md4.h ../include/openssl/md5.h
392hmactest.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
352hmactest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h 393hmactest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
353hmactest.o: ../include/openssl/opensslv.h ../include/openssl/rc2.h 394hmactest.o: ../include/openssl/opensslv.h ../include/openssl/rc2.h
354hmactest.o: ../include/openssl/rc4.h ../include/openssl/rc5.h 395hmactest.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
355hmactest.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h 396hmactest.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
356hmactest.o: ../include/openssl/safestack.h ../include/openssl/sha.h 397hmactest.o: ../include/openssl/safestack.h ../include/openssl/sha.h
357hmactest.o: ../include/openssl/stack.h 398hmactest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
358ideatest.o: ../include/openssl/idea.h ../include/openssl/opensslconf.h 399ideatest.o: ../include/openssl/idea.h ../include/openssl/opensslconf.h
359md2test.o: ../include/openssl/md2.h ../include/openssl/opensslconf.h 400md2test.o: ../include/openssl/md2.h ../include/openssl/opensslconf.h
401md4test.o: ../include/openssl/md4.h
360md5test.o: ../include/openssl/md5.h 402md5test.o: ../include/openssl/md5.h
361mdc2test.o: ../include/openssl/des.h ../include/openssl/e_os2.h 403mdc2test.o: ../include/openssl/des.h ../include/openssl/e_os2.h
362mdc2test.o: ../include/openssl/mdc2.h ../include/openssl/opensslconf.h 404mdc2test.o: ../include/openssl/mdc2.h ../include/openssl/opensslconf.h
@@ -365,32 +407,35 @@ rc2test.o: ../include/openssl/opensslconf.h ../include/openssl/rc2.h
365rc4test.o: ../include/openssl/opensslconf.h ../include/openssl/rc4.h 407rc4test.o: ../include/openssl/opensslconf.h ../include/openssl/rc4.h
366rc5test.o: ../include/openssl/rc5.h 408rc5test.o: ../include/openssl/rc5.h
367rmdtest.o: ../include/openssl/ripemd.h 409rmdtest.o: ../include/openssl/ripemd.h
368rsa_test.o: ../include/openssl/bn.h ../include/openssl/crypto.h 410rsa_test.o: ../include/openssl/bio.h ../include/openssl/bn.h
369rsa_test.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h 411rsa_test.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
370rsa_test.o: ../include/openssl/err.h ../include/openssl/opensslconf.h 412rsa_test.o: ../include/openssl/e_os2.h ../include/openssl/err.h
413rsa_test.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
371rsa_test.o: ../include/openssl/opensslv.h ../include/openssl/rand.h 414rsa_test.o: ../include/openssl/opensslv.h ../include/openssl/rand.h
372rsa_test.o: ../include/openssl/rsa.h ../include/openssl/safestack.h 415rsa_test.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
373rsa_test.o: ../include/openssl/stack.h 416rsa_test.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
374sha1test.o: ../include/openssl/sha.h 417sha1test.o: ../include/openssl/sha.h
375shatest.o: ../include/openssl/sha.h 418shatest.o: ../include/openssl/sha.h
376ssltest.o: ../include/openssl/asn1.h ../include/openssl/bio.h 419ssltest.o: ../include/openssl/asn1.h ../include/openssl/bio.h
377ssltest.o: ../include/openssl/blowfish.h ../include/openssl/bn.h 420ssltest.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
378ssltest.o: ../include/openssl/buffer.h ../include/openssl/cast.h 421ssltest.o: ../include/openssl/buffer.h ../include/openssl/cast.h
379ssltest.o: ../include/openssl/crypto.h ../include/openssl/des.h 422ssltest.o: ../include/openssl/comp.h ../include/openssl/crypto.h
380ssltest.o: ../include/openssl/dh.h ../include/openssl/dsa.h 423ssltest.o: ../include/openssl/des.h ../include/openssl/dh.h
381ssltest.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h 424ssltest.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
382ssltest.o: ../include/openssl/err.h ../include/openssl/evp.h 425ssltest.o: ../include/openssl/e_os2.h ../include/openssl/err.h
383ssltest.o: ../include/openssl/idea.h ../include/openssl/lhash.h 426ssltest.o: ../include/openssl/evp.h ../include/openssl/idea.h
384ssltest.o: ../include/openssl/md2.h ../include/openssl/md5.h 427ssltest.o: ../include/openssl/lhash.h ../include/openssl/md2.h
385ssltest.o: ../include/openssl/mdc2.h ../include/openssl/objects.h 428ssltest.o: ../include/openssl/md4.h ../include/openssl/md5.h
386ssltest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h 429ssltest.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
387ssltest.o: ../include/openssl/pem.h ../include/openssl/pem2.h 430ssltest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
388ssltest.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h 431ssltest.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
389ssltest.o: ../include/openssl/rc2.h ../include/openssl/rc4.h 432ssltest.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
390ssltest.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h 433ssltest.o: ../include/openssl/rand.h ../include/openssl/rc2.h
391ssltest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h 434ssltest.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
392ssltest.o: ../include/openssl/sha.h ../include/openssl/ssl.h 435ssltest.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
393ssltest.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h 436ssltest.o: ../include/openssl/safestack.h ../include/openssl/sha.h
394ssltest.o: ../include/openssl/ssl3.h ../include/openssl/stack.h 437ssltest.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
438ssltest.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
439ssltest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
395ssltest.o: ../include/openssl/tls1.h ../include/openssl/x509.h 440ssltest.o: ../include/openssl/tls1.h ../include/openssl/x509.h
396ssltest.o: ../include/openssl/x509_vfy.h 441ssltest.o: ../include/openssl/x509_vfy.h
diff --git a/src/lib/libssl/test/enginetest.c b/src/lib/libssl/test/enginetest.c
new file mode 100644
index 0000000000..a5a3c47fcb
--- /dev/null
+++ b/src/lib/libssl/test/enginetest.c
@@ -0,0 +1,251 @@
1/* crypto/engine/enginetest.c */
2/* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL
3 * project 2000.
4 */
5/* ====================================================================
6 * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 *
12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 *
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in
17 * the documentation and/or other materials provided with the
18 * distribution.
19 *
20 * 3. All advertising materials mentioning features or use of this
21 * software must display the following acknowledgment:
22 * "This product includes software developed by the OpenSSL Project
23 * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
24 *
25 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
26 * endorse or promote products derived from this software without
27 * prior written permission. For written permission, please contact
28 * licensing@OpenSSL.org.
29 *
30 * 5. Products derived from this software may not be called "OpenSSL"
31 * nor may "OpenSSL" appear in their names without prior written
32 * permission of the OpenSSL Project.
33 *
34 * 6. Redistributions of any form whatsoever must retain the following
35 * acknowledgment:
36 * "This product includes software developed by the OpenSSL Project
37 * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
38 *
39 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
40 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
41 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
42 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
43 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
44 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
45 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
46 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
48 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
49 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50 * OF THE POSSIBILITY OF SUCH DAMAGE.
51 * ====================================================================
52 *
53 * This product includes cryptographic software written by Eric Young
54 * (eay@cryptsoft.com). This product includes software written by Tim
55 * Hudson (tjh@cryptsoft.com).
56 *
57 */
58
59#include <stdio.h>
60#include <string.h>
61#include <openssl/engine.h>
62#include <openssl/err.h>
63
64static void display_engine_list()
65 {
66 ENGINE *h;
67 int loop;
68
69 h = ENGINE_get_first();
70 loop = 0;
71 printf("listing available engine types\n");
72 while(h)
73 {
74 printf("engine %i, id = \"%s\", name = \"%s\"\n",
75 loop++, ENGINE_get_id(h), ENGINE_get_name(h));
76 h = ENGINE_get_next(h);
77 }
78 printf("end of list\n");
79 }
80
81int main(int argc, char *argv[])
82 {
83 ENGINE *block[512];
84 char buf[256];
85 const char *id, *name;
86 ENGINE *ptr;
87 int loop;
88 int to_return = 1;
89 ENGINE *new_h1 = NULL;
90 ENGINE *new_h2 = NULL;
91 ENGINE *new_h3 = NULL;
92 ENGINE *new_h4 = NULL;
93
94 ERR_load_crypto_strings();
95
96 memset(block, 0, 512 * sizeof(ENGINE *));
97 if(((new_h1 = ENGINE_new()) == NULL) ||
98 !ENGINE_set_id(new_h1, "test_id0") ||
99 !ENGINE_set_name(new_h1, "First test item") ||
100 ((new_h2 = ENGINE_new()) == NULL) ||
101 !ENGINE_set_id(new_h2, "test_id1") ||
102 !ENGINE_set_name(new_h2, "Second test item") ||
103 ((new_h3 = ENGINE_new()) == NULL) ||
104 !ENGINE_set_id(new_h3, "test_id2") ||
105 !ENGINE_set_name(new_h3, "Third test item") ||
106 ((new_h4 = ENGINE_new()) == NULL) ||
107 !ENGINE_set_id(new_h4, "test_id3") ||
108 !ENGINE_set_name(new_h4, "Fourth test item"))
109 {
110 printf("Couldn't set up test ENGINE structures\n");
111 goto end;
112 }
113 printf("\nenginetest beginning\n\n");
114 display_engine_list();
115 if(!ENGINE_add(new_h1))
116 {
117 printf("Add failed!\n");
118 goto end;
119 }
120 display_engine_list();
121 ptr = ENGINE_get_first();
122 if(!ENGINE_remove(ptr))
123 {
124 printf("Remove failed!\n");
125 goto end;
126 }
127 display_engine_list();
128 if(!ENGINE_add(new_h3) || !ENGINE_add(new_h2))
129 {
130 printf("Add failed!\n");
131 goto end;
132 }
133 display_engine_list();
134 if(!ENGINE_remove(new_h2))
135 {
136 printf("Remove failed!\n");
137 goto end;
138 }
139 display_engine_list();
140 if(!ENGINE_add(new_h4))
141 {
142 printf("Add failed!\n");
143 goto end;
144 }
145 display_engine_list();
146 if(ENGINE_add(new_h3))
147 {
148 printf("Add *should* have failed but didn't!\n");
149 goto end;
150 }
151 else
152 printf("Add that should fail did.\n");
153 ERR_clear_error();
154 if(ENGINE_remove(new_h2))
155 {
156 printf("Remove *should* have failed but didn't!\n");
157 goto end;
158 }
159 else
160 printf("Remove that should fail did.\n");
161 if(!ENGINE_remove(new_h1))
162 {
163 printf("Remove failed!\n");
164 goto end;
165 }
166 display_engine_list();
167 if(!ENGINE_remove(new_h3))
168 {
169 printf("Remove failed!\n");
170 goto end;
171 }
172 display_engine_list();
173 if(!ENGINE_remove(new_h4))
174 {
175 printf("Remove failed!\n");
176 goto end;
177 }
178 display_engine_list();
179 /* Depending on whether there's any hardware support compiled
180 * in, this remove may be destined to fail. */
181 ptr = ENGINE_get_first();
182 if(ptr)
183 if(!ENGINE_remove(ptr))
184 printf("Remove failed!i - probably no hardware "
185 "support present.\n");
186 display_engine_list();
187 if(!ENGINE_add(new_h1) || !ENGINE_remove(new_h1))
188 {
189 printf("Couldn't add and remove to an empty list!\n");
190 goto end;
191 }
192 else
193 printf("Successfully added and removed to an empty list!\n");
194 printf("About to beef up the engine-type list\n");
195 for(loop = 0; loop < 512; loop++)
196 {
197 sprintf(buf, "id%i", loop);
198 id = strdup(buf);
199 sprintf(buf, "Fake engine type %i", loop);
200 name = strdup(buf);
201 if(((block[loop] = ENGINE_new()) == NULL) ||
202 !ENGINE_set_id(block[loop], id) ||
203 !ENGINE_set_name(block[loop], name))
204 {
205 printf("Couldn't create block of ENGINE structures.\n"
206 "I'll probably also core-dump now, damn.\n");
207 goto end;
208 }
209 }
210 for(loop = 0; loop < 512; loop++)
211 {
212 if(!ENGINE_add(block[loop]))
213 {
214 printf("\nAdding stopped at %i, (%s,%s)\n",
215 loop, ENGINE_get_id(block[loop]),
216 ENGINE_get_name(block[loop]));
217 goto cleanup_loop;
218 }
219 else
220 printf("."); fflush(stdout);
221 }
222cleanup_loop:
223 printf("\nAbout to empty the engine-type list\n");
224 while((ptr = ENGINE_get_first()) != NULL)
225 {
226 if(!ENGINE_remove(ptr))
227 {
228 printf("\nRemove failed!\n");
229 goto end;
230 }
231 printf("."); fflush(stdout);
232 }
233 for(loop = 0; loop < 512; loop++)
234 {
235 free((char *)(ENGINE_get_id(block[loop])));
236 free((char *)(ENGINE_get_name(block[loop])));
237 }
238 printf("\nTests completed happily\n");
239 to_return = 0;
240end:
241 if(to_return)
242 ERR_print_errors_fp(stderr);
243 if(new_h1) ENGINE_free(new_h1);
244 if(new_h2) ENGINE_free(new_h2);
245 if(new_h3) ENGINE_free(new_h3);
246 if(new_h4) ENGINE_free(new_h4);
247 for(loop = 0; loop < 512; loop++)
248 if(block[loop])
249 ENGINE_free(block[loop]);
250 return to_return;
251 }
diff --git a/src/lib/libssl/test/maketests.com b/src/lib/libssl/test/maketests.com
index 1246d9a077..135e0bfeb9 100644
--- a/src/lib/libssl/test/maketests.com
+++ b/src/lib/libssl/test/maketests.com
@@ -143,7 +143,7 @@ $ GOSUB CHECK_OPT_FILE
143$! 143$!
144$! Define The TEST Files. 144$! Define The TEST Files.
145$! 145$!
146$ TEST_FILES = "BNTEST,IDEATEST,MD2TEST,MD5TEST,HMACTEST,"+ - 146$ TEST_FILES = "BNTEST,IDEATEST,MD2TEST,MD4TEST,MD5TEST,HMACTEST,"+ -
147 "RC2TEST,RC4TEST,RC5TEST,"+ - 147 "RC2TEST,RC4TEST,RC5TEST,"+ -
148 "DESTEST,SHATEST,SHA1TEST,MDC2TEST,RMDTEST,"+ - 148 "DESTEST,SHATEST,SHA1TEST,MDC2TEST,RMDTEST,"+ -
149 "RANDTEST,DHTEST,"+ - 149 "RANDTEST,DHTEST,"+ -
diff --git a/src/lib/libssl/test/md4test.c b/src/lib/libssl/test/md4test.c
new file mode 100644
index 0000000000..97e6e21efd
--- /dev/null
+++ b/src/lib/libssl/test/md4test.c
@@ -0,0 +1,131 @@
1/* crypto/md4/md4test.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 <string.h>
61#include <stdlib.h>
62
63#ifdef NO_MD4
64int main(int argc, char *argv[])
65{
66 printf("No MD4 support\n");
67 return(0);
68}
69#else
70#include <openssl/md4.h>
71
72static char *test[]={
73 "",
74 "a",
75 "abc",
76 "message digest",
77 "abcdefghijklmnopqrstuvwxyz",
78 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
79 "12345678901234567890123456789012345678901234567890123456789012345678901234567890",
80 NULL,
81 };
82
83static char *ret[]={
84"31d6cfe0d16ae931b73c59d7e0c089c0",
85"bde52cb31de33e46245e05fbdbd6fb24",
86"a448017aaf21d8525fc10ae87aa6729d",
87"d9130a8164549fe818874806e1c7014b",
88"d79e1c308aa5bbcdeea8ed63df412da9",
89"043f8582f241db351ce627e153e7f0e4",
90"e33b4ddc9c38f2199c3e7b164fcc0536",
91};
92
93static char *pt(unsigned char *md);
94int main(int argc, char *argv[])
95 {
96 int i,err=0;
97 unsigned char **P,**R;
98 char *p;
99
100 P=(unsigned char **)test;
101 R=(unsigned char **)ret;
102 i=1;
103 while (*P != NULL)
104 {
105 p=pt(MD4(&(P[0][0]),(unsigned long)strlen((char *)*P),NULL));
106 if (strcmp(p,(char *)*R) != 0)
107 {
108 printf("error calculating MD4 on '%s'\n",*P);
109 printf("got %s instead of %s\n",p,*R);
110 err++;
111 }
112 else
113 printf("test %d ok\n",i);
114 i++;
115 R++;
116 P++;
117 }
118 exit(err);
119 return(0);
120 }
121
122static char *pt(unsigned char *md)
123 {
124 int i;
125 static char buf[80];
126
127 for (i=0; i<MD4_DIGEST_LENGTH; i++)
128 sprintf(&(buf[i*2]),"%02x",md[i]);
129 return(buf);
130 }
131#endif
diff --git a/src/lib/libssl/test/testp7.pem b/src/lib/libssl/test/testp7.pem
index 6bba16f137..e5b7866c31 100644
--- a/src/lib/libssl/test/testp7.pem
+++ b/src/lib/libssl/test/testp7.pem
@@ -1,46 +1,46 @@
1-----BEGIN PKCS7----- 1-----BEGIN PKCS7-----
2MIAGCSqGSIb3DQEHAqCAMIIIBwIBATEAMIAGCSqGSIb3DQEHAQAAoIIGPDCCBHIw 2MIIIGAYJKoZIhvcNAQcCoIIICTCCCAUCAQExADALBgkqhkiG9w0BBwGgggY8MIIE
3ggQcoAMCAQICEHkvjiX1iVGQMenF9HgIjI8wDQYJKoZIhvcNAQEEBQAwYjERMA8G 3cjCCBBygAwIBAgIQeS+OJfWJUZAx6cX0eAiMjzANBgkqhkiG9w0BAQQFADBiMREw
4A1UEBxMISW50ZXJuZXQxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTQwMgYDVQQL 4DwYDVQQHEwhJbnRlcm5ldDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNDAyBgNV
5EytWZXJpU2lnbiBDbGFzcyAxIENBIC0gSW5kaXZpZHVhbCBTdWJzY3JpYmVyMB4X 5BAsTK1ZlcmlTaWduIENsYXNzIDEgQ0EgLSBJbmRpdmlkdWFsIFN1YnNjcmliZXIw
6DTk2MDcxOTAwMDAwMFoXDTk3MDMzMDIzNTk1OVowgdUxETAPBgNVBAcTCEludGVy 6HhcNOTYwNzE5MDAwMDAwWhcNOTcwMzMwMjM1OTU5WjCB1TERMA8GA1UEBxMISW50
7bmV0MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE0MDIGA1UECxMrVmVyaVNpZ24g 7ZXJuZXQxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTQwMgYDVQQLEytWZXJpU2ln
8Q2xhc3MgMSBDQSAtIEluZGl2aWR1YWwgU3Vic2NyaWJlcjEoMCYGA1UECxMfRGln 8biBDbGFzcyAxIENBIC0gSW5kaXZpZHVhbCBTdWJzY3JpYmVyMSgwJgYDVQQLEx9E
9aXRhbCBJRCBDbGFzcyAxIC0gU01JTUUgVGVzdDFHMEUGA1UECxM+d3d3LnZlcmlz 9aWdpdGFsIElEIENsYXNzIDEgLSBTTUlNRSBUZXN0MUcwRQYDVQQLEz53d3cudmVy
10aWduLmNvbS9yZXBvc2l0b3J5L0NQUy0xLjAgSW5jLiBieSBSZWYuLExJQUIuTFRE 10aXNpZ24uY29tL3JlcG9zaXRvcnkvQ1BTLTEuMCBJbmMuIGJ5IFJlZi4sTElBQi5M
11KGMpOTYwWzANBgkqhkiG9w0BAQEFAANKADBHAkAOy7xxCAIkOfuIA2LyRpxgKlDO 11VEQoYyk5NjBbMA0GCSqGSIb3DQEBAQUAA0oAMEcCQA7LvHEIAiQ5+4gDYvJGnGAq
12Rl8htdXYhF5iBGUx1GYaK6KF+bK/CCI0l4j2OfWGFBUrwGoWqxTNcWgTfMzRAgMB 12UM5GXyG11diEXmIEZTHUZhorooX5sr8IIjSXiPY59YYUFSvAaharFM1xaBN8zNEC
13AAGjggI5MIICNTAJBgNVHRMEAjAAMIICJgYDVR0DBIICHTCCAhkwggIVMIICEQYL 13AwEAAaOCAjkwggI1MAkGA1UdEwQCMAAwggImBgNVHQMEggIdMIICGTCCAhUwggIR
14YIZIAYb4RQEHAQEwggIAFoIBq1RoaXMgY2VydGlmaWNhdGUgaW5jb3Jwb3JhdGVz 14BgtghkgBhvhFAQcBATCCAgAWggGrVGhpcyBjZXJ0aWZpY2F0ZSBpbmNvcnBvcmF0
15IGJ5IHJlZmVyZW5jZSwgYW5kIGl0cyB1c2UgaXMgc3RyaWN0bHkgc3ViamVjdCB0 15ZXMgYnkgcmVmZXJlbmNlLCBhbmQgaXRzIHVzZSBpcyBzdHJpY3RseSBzdWJqZWN0
16bywgdGhlIFZlcmlTaWduIENlcnRpZmljYXRpb24gUHJhY3RpY2UgU3RhdGVtZW50 16IHRvLCB0aGUgVmVyaVNpZ24gQ2VydGlmaWNhdGlvbiBQcmFjdGljZSBTdGF0ZW1l
17IChDUFMpLCBhdmFpbGFibGUgYXQ6IGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9D 17bnQgKENQUyksIGF2YWlsYWJsZSBhdDogaHR0cHM6Ly93d3cudmVyaXNpZ24uY29t
18UFMtMS4wOyBieSBFLW1haWwgYXQgQ1BTLXJlcXVlc3RzQHZlcmlzaWduLmNvbTsg 18L0NQUy0xLjA7IGJ5IEUtbWFpbCBhdCBDUFMtcmVxdWVzdHNAdmVyaXNpZ24uY29t
19b3IgYnkgbWFpbCBhdCBWZXJpU2lnbiwgSW5jLiwgMjU5MyBDb2FzdCBBdmUuLCBN 19OyBvciBieSBtYWlsIGF0IFZlcmlTaWduLCBJbmMuLCAyNTkzIENvYXN0IEF2ZS4s
20b3VudGFpbiBWaWV3LCBDQSA5NDA0MyBVU0EgVGVsLiArMSAoNDE1KSA5NjEtODgz 20IE1vdW50YWluIFZpZXcsIENBIDk0MDQzIFVTQSBUZWwuICsxICg0MTUpIDk2MS04
21MCBDb3B5cmlnaHQgKGMpIDE5OTYgVmVyaVNpZ24sIEluYy4gIEFsbCBSaWdodHMg 21ODMwIENvcHlyaWdodCAoYykgMTk5NiBWZXJpU2lnbiwgSW5jLiAgQWxsIFJpZ2h0
22UmVzZXJ2ZWQuIENFUlRBSU4gV0FSUkFOVElFUyBESVNDTEFJTUVEIGFuZCBMSUFC 22cyBSZXNlcnZlZC4gQ0VSVEFJTiBXQVJSQU5USUVTIERJU0NMQUlNRUQgYW5kIExJ
23SUxJVFkgTElNSVRFRC6gDgYMYIZIAYb4RQEHAQEBoQ4GDGCGSAGG+EUBBwEBAjAv 23QUJJTElUWSBMSU1JVEVELqAOBgxghkgBhvhFAQcBAQGhDgYMYIZIAYb4RQEHAQEC
24MC0WK2h0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9yZXBvc2l0b3J5L0NQUy0xLgMw 24MC8wLRYraHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JlcG9zaXRvcnkvQ1BTLTEu
25DQYJKoZIhvcNAQEEBQADQQDAmA7km/3iJWEsWN9Z2WU2gmZAknx45WnDKHxMa3Bf 25AzANBgkqhkiG9w0BAQQFAANBAMCYDuSb/eIlYSxY31nZZTaCZkCSfHjlacMofExr
26gNsh6BLk/ngkJKjNKTDR13XVHqEPUY1flbjATZputw1GMIIBwjCCAWygAwIBAgIQ 26cF+A2yHoEuT+eCQkqM0pMNHXddUeoQ9RjV+VuMBNmm63DUYwggHCMIIBbKADAgEC
27fAmE6tW5ERSQWDneu3KfSTANBgkqhkiG9w0BAQIFADA+MQswCQYDVQQGEwJVUzEX 27AhB8CYTq1bkRFJBYOd67cp9JMA0GCSqGSIb3DQEBAgUAMD4xCzAJBgNVBAYTAlVT
28MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xFjAUBgNVBAsTDVRFU1QgUm9vdCBQQ0Ew 28MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEWMBQGA1UECxMNVEVTVCBSb290IFBD
29HhcNOTYwNzE3MDAwMDAwWhcNOTcwNzE3MjM1OTU5WjBiMREwDwYDVQQHEwhJbnRl 29QTAeFw05NjA3MTcwMDAwMDBaFw05NzA3MTcyMzU5NTlaMGIxETAPBgNVBAcTCElu
30cm5ldDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNDAyBgNVBAsTK1ZlcmlTaWdu 30dGVybmV0MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE0MDIGA1UECxMrVmVyaVNp
31IENsYXNzIDEgQ0EgLSBJbmRpdmlkdWFsIFN1YnNjcmliZXIwXDANBgkqhkiG9w0B 31Z24gQ2xhc3MgMSBDQSAtIEluZGl2aWR1YWwgU3Vic2NyaWJlcjBcMA0GCSqGSIb3
32AQEFAANLADBIAkEA7Fc6zYJw4WwCWa1ni3fYNbzGSQNluuw990024GusjLfhEk1h 32DQEBAQUAA0sAMEgCQQDsVzrNgnDhbAJZrWeLd9g1vMZJA2W67D33TTbga6yMt+ES
33MsIUukTT/n8yxoO7rYp4x+LS+tHF2tBtuxg7CwIDAQABoyIwIDALBgNVHQ8EBAMC 33TWEywhS6RNP+fzLGg7utinjH4tL60cXa0G27GDsLAgMBAAGjIjAgMAsGA1UdDwQE
34AQYwEQYJYIZIAYb4QgEBBAQDAgIEMA0GCSqGSIb3DQEBAgUAA0EAFKem0cJGg9nd 34AwIBBjARBglghkgBhvhCAQEEBAMCAgQwDQYJKoZIhvcNAQECBQADQQAUp6bRwkaD
35TAbP5o1HIEyNn11ZlvLU5v1Hejs1MKQt72IMm4jjgOH+pjguXW8lB6yzrK4oVOO2 352d1MBs/mjUcgTI2fXVmW8tTm/Ud6OzUwpC3vYgybiOOA4f6mOC5dbyUHrLOsrihU
36UNCaNQ1H26GCAa0wgcEwbTANBgkqhkiG9w0BAQIFADA+MQswCQYDVQQGEwJVUzEX 3647ZQ0Jo1DUfboYIBrTCBwTBtMA0GCSqGSIb3DQEBAgUAMD4xCzAJBgNVBAYTAlVT
37MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xFjAUBgNVBAsTDVRFU1QgUm9vdCBQQ0EX 37MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEWMBQGA1UECxMNVEVTVCBSb290IFBD
38DTk2MDcxNzE3NDQwOVoXDTk4MDcxNzAwMDAwMFowDQYJKoZIhvcNAQECBQADQQB4 38QRcNOTYwNzE3MTc0NDA5WhcNOTgwNzE3MDAwMDAwWjANBgkqhkiG9w0BAQIFAANB
39rQNP8QLpAox83odQDE/5dqAuvDfshW/miTxwQTMXOoBtjGiowTcG+YXF1JZTJRMT 39AHitA0/xAukCjHzeh1AMT/l2oC68N+yFb+aJPHBBMxc6gG2MaKjBNwb5hcXUllMl
40jQN47tdH+6MCKt7N8MddMIHmMIGRMA0GCSqGSIb3DQEBAgUAMGIxETAPBgNVBAcT 40ExONA3ju10f7owIq3s3wx10wgeYwgZEwDQYJKoZIhvcNAQECBQAwYjERMA8GA1UE
41CEludGVybmV0MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE0MDIGA1UECxMrVmVy 41BxMISW50ZXJuZXQxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTQwMgYDVQQLEytW
42aVNpZ24gQ2xhc3MgMSBDQSAtIEluZGl2aWR1YWwgU3Vic2NyaWJlchcNOTYwNzE3 42ZXJpU2lnbiBDbGFzcyAxIENBIC0gSW5kaXZpZHVhbCBTdWJzY3JpYmVyFw05NjA3
43MTc1OTI5WhcNOTcwNzE4MDAwMDAwWjANBgkqhkiG9w0BAQIFAANBALm1VmE7FrEJ 43MTcxNzU5MjlaFw05NzA3MTgwMDAwMDBaMA0GCSqGSIb3DQEBAgUAA0EAubVWYTsW
44rLXvX/lIDMPAZIw5TNuX8EC6wn5ppy8Y3sHstdJEkTsqVGiS2/q+KEQC3NHxvV32 44sQmste9f+UgMw8BkjDlM25fwQLrCfmmnLxjewey10kSROypUaJLb+r4oRALc0fG9
45bGooiIKLUB4xAAAAAAA= 45XfZsaiiIgotQHjEA
46-----END PKCS7----- 46-----END PKCS7-----
diff --git a/src/lib/libssl/test/tests.com b/src/lib/libssl/test/tests.com
index 040dafab8d..df8f46e75d 100644
--- a/src/lib/libssl/test/tests.com
+++ b/src/lib/libssl/test/tests.com
@@ -19,11 +19,12 @@ $ then
19$ tests = p1 19$ tests = p1
20$ else 20$ else
21$ tests := - 21$ tests := -
22 test_des,test_idea,test_sha,test_md5,test_hmac,test_md2,test_mdc2,- 22 test_des,test_idea,test_sha,test_md4,test_md5,test_hmac,-
23 test_md2,test_mdc2,-
23 test_rmd,test_rc2,test_rc4,test_rc5,test_bf,test_cast,- 24 test_rmd,test_rc2,test_rc4,test_rc5,test_bf,test_cast,-
24 test_rand,test_bn,test_enc,test_x509,test_rsa,test_crl,test_sid,- 25 test_rand,test_bn,test_enc,test_x509,test_rsa,test_crl,test_sid,-
25 test_gen,test_req,test_pkcs7,test_verify,test_dh,test_dsa,- 26 test_gen,test_req,test_pkcs7,test_verify,test_dh,test_dsa,-
26 test_ss,test_ssl,test_ca 27 test_ss,test_ca,test_ssl
27$ endif 28$ endif
28$ tests = f$edit(tests,"COLLAPSE") 29$ tests = f$edit(tests,"COLLAPSE")
29$ 30$
@@ -35,6 +36,7 @@ $ SHA1TEST := sha1test
35$ MDC2TEST := mdc2test 36$ MDC2TEST := mdc2test
36$ RMDTEST := rmdtest 37$ RMDTEST := rmdtest
37$ MD2TEST := md2test 38$ MD2TEST := md2test
39$ MD4TEST := md4test
38$ MD5TEST := md5test 40$ MD5TEST := md5test
39$ HMACTEST := hmactest 41$ HMACTEST := hmactest
40$ RC2TEST := rc2test 42$ RC2TEST := rc2test
@@ -55,54 +57,58 @@ $ loop_tests:
55$ tests_e = f$element(tests_i,",",tests) 57$ tests_e = f$element(tests_i,",",tests)
56$ tests_i = tests_i + 1 58$ tests_i = tests_i + 1
57$ if tests_e .eqs. "," then goto exit 59$ if tests_e .eqs. "," then goto exit
58$ goto 'tests_e' 60$ gosub 'tests_e'
61$ goto loop_tests
59$ 62$
60$ test_des: 63$ test_des:
61$ mcr 'texe_dir''destest' 64$ mcr 'texe_dir''destest'
62$ goto loop_tests 65$ return
63$ test_idea: 66$ test_idea:
64$ mcr 'texe_dir''ideatest' 67$ mcr 'texe_dir''ideatest'
65$ goto loop_tests 68$ return
66$ test_sha: 69$ test_sha:
67$ mcr 'texe_dir''shatest' 70$ mcr 'texe_dir''shatest'
68$ mcr 'texe_dir''sha1test' 71$ mcr 'texe_dir''sha1test'
69$ goto loop_tests 72$ return
70$ test_mdc2: 73$ test_mdc2:
71$ mcr 'texe_dir''mdc2test' 74$ mcr 'texe_dir''mdc2test'
72$ goto loop_tests 75$ return
73$ test_md5: 76$ test_md5:
74$ mcr 'texe_dir''md5test' 77$ mcr 'texe_dir''md5test'
75$ goto loop_tests 78$ return
79$ test_md4:
80$ mcr 'texe_dir''md4test'
81$ return
76$ test_hmac: 82$ test_hmac:
77$ mcr 'texe_dir''hmactest' 83$ mcr 'texe_dir''hmactest'
78$ goto loop_tests 84$ return
79$ test_md2: 85$ test_md2:
80$ mcr 'texe_dir''md2test' 86$ mcr 'texe_dir''md2test'
81$ goto loop_tests 87$ return
82$ test_rmd: 88$ test_rmd:
83$ mcr 'texe_dir''rmdtest' 89$ mcr 'texe_dir''rmdtest'
84$ goto loop_tests 90$ return
85$ test_bf: 91$ test_bf:
86$ mcr 'texe_dir''bftest' 92$ mcr 'texe_dir''bftest'
87$ goto loop_tests 93$ return
88$ test_cast: 94$ test_cast:
89$ mcr 'texe_dir''casttest' 95$ mcr 'texe_dir''casttest'
90$ goto loop_tests 96$ return
91$ test_rc2: 97$ test_rc2:
92$ mcr 'texe_dir''rc2test' 98$ mcr 'texe_dir''rc2test'
93$ goto loop_tests 99$ return
94$ test_rc4: 100$ test_rc4:
95$ mcr 'texe_dir''rc4test' 101$ mcr 'texe_dir''rc4test'
96$ goto loop_tests 102$ return
97$ test_rc5: 103$ test_rc5:
98$ mcr 'texe_dir''rc5test' 104$ mcr 'texe_dir''rc5test'
99$ goto loop_tests 105$ return
100$ test_rand: 106$ test_rand:
101$ mcr 'texe_dir''randtest' 107$ mcr 'texe_dir''randtest'
102$ goto loop_tests 108$ return
103$ test_enc: 109$ test_enc:
104$ @testenc.com 110$ @testenc.com
105$ goto loop_tests 111$ return
106$ test_x509: 112$ test_x509:
107$ define sys$error nla0: 113$ define sys$error nla0:
108$ write sys$output "test normal x509v1 certificate" 114$ write sys$output "test normal x509v1 certificate"
@@ -112,35 +118,35 @@ $ @tx509.com v3-cert1.pem
112$ write sys$output "test second x509v3 certificate" 118$ write sys$output "test second x509v3 certificate"
113$ @tx509.com v3-cert2.pem 119$ @tx509.com v3-cert2.pem
114$ deassign sys$error 120$ deassign sys$error
115$ goto loop_tests 121$ return
116$ test_rsa: 122$ test_rsa:
117$ define sys$error nla0: 123$ define sys$error nla0:
118$ @trsa.com 124$ @trsa.com
119$ deassign sys$error 125$ deassign sys$error
120$ mcr 'texe_dir''rsatest' 126$ mcr 'texe_dir''rsatest'
121$ goto loop_tests 127$ return
122$ test_crl: 128$ test_crl:
123$ define sys$error nla0: 129$ define sys$error nla0:
124$ @tcrl.com 130$ @tcrl.com
125$ deassign sys$error 131$ deassign sys$error
126$ goto loop_tests 132$ return
127$ test_sid: 133$ test_sid:
128$ define sys$error nla0: 134$ define sys$error nla0:
129$ @tsid.com 135$ @tsid.com
130$ deassign sys$error 136$ deassign sys$error
131$ goto loop_tests 137$ return
132$ test_req: 138$ test_req:
133$ define sys$error nla0: 139$ define sys$error nla0:
134$ @treq.com 140$ @treq.com
135$ @treq.com testreq2.pem 141$ @treq.com testreq2.pem
136$ deassign sys$error 142$ deassign sys$error
137$ goto loop_tests 143$ return
138$ test_pkcs7: 144$ test_pkcs7:
139$ define sys$error nla0: 145$ define sys$error nla0:
140$ @tpkcs7.com 146$ @tpkcs7.com
141$ @tpkcs7d.com 147$ @tpkcs7d.com
142$ deassign sys$error 148$ deassign sys$error
143$ goto loop_tests 149$ return
144$ test_bn: 150$ test_bn:
145$ write sys$output "starting big number library test, could take a while..." 151$ write sys$output "starting big number library test, could take a while..."
146$ create bntest-vms.fdl 152$ create bntest-vms.fdl
@@ -164,36 +170,56 @@ $ write sys$output "-- through sh or bash to verify that the bignum operations w
164$ write sys$output "" 170$ write sys$output ""
165$ write sys$output "test a^b%c implementations" 171$ write sys$output "test a^b%c implementations"
166$ mcr 'texe_dir''exptest' 172$ mcr 'texe_dir''exptest'
167$ goto loop_tests 173$ return
168$ test_verify: 174$ test_verify:
169$ write sys$output "The following command should have some OK's and some failures" 175$ write sys$output "The following command should have some OK's and some failures"
170$ write sys$output "There are definitly a few expired certificates" 176$ write sys$output "There are definitly a few expired certificates"
171$ @tverify.com 177$ @tverify.com
172$ goto loop_tests 178$ return
173$ test_dh: 179$ test_dh:
174$ write sys$output "Generate a set of DH parameters" 180$ write sys$output "Generate a set of DH parameters"
175$ mcr 'texe_dir''dhtest' 181$ mcr 'texe_dir''dhtest'
176$ goto loop_tests 182$ return
177$ test_dsa: 183$ test_dsa:
178$ write sys$output "Generate a set of DSA parameters" 184$ write sys$output "Generate a set of DSA parameters"
179$ mcr 'texe_dir''dsatest' 185$ mcr 'texe_dir''dsatest'
180$ goto loop_tests 186$ return
181$ test_gen: 187$ test_gen:
182$ write sys$output "Generate and verify a certificate request" 188$ write sys$output "Generate and verify a certificate request"
183$ @testgen.com 189$ @testgen.com
184$ goto loop_tests 190$ return
191$ maybe_test_ss:
192$ testss_RDT = f$cvtime(f$file_attributes("testss.com","RDT"))
193$ if f$cvtime(f$file_attributes("keyU.ss","RDT")) .les. testss_RDT then -
194 goto test_ss
195$ if f$cvtime(f$file_attributes("certU.ss","RDT")) .les. testss_RDT then -
196 goto test_ss
197$ if f$cvtime(f$file_attributes("certCA.ss","RDT")) .les. testss_RDT then -
198 goto test_ss
199$ return
185$ test_ss: 200$ test_ss:
186$ write sys$output "Generate and certify a test certificate" 201$ write sys$output "Generate and certify a test certificate"
187$ @testss.com 202$ @testss.com
188$ goto loop_tests 203$ return
189$ test_ssl: 204$ test_ssl:
190$ write sys$output "test SSL protocol" 205$ write sys$output "test SSL protocol"
191$ @testssl.com 206$ gosub maybe_test_ss
192$ goto loop_tests 207$ @testssl.com keyU.ss certU.ss certCA.ss
208$ return
193$ test_ca: 209$ test_ca:
194$ write sys$output "Generate and certify a test certificate via the 'ca' program" 210$ set noon
195$ @testca.com 211$ define/user sys$output nla0:
196$ goto loop_tests 212$ mcr 'exe_dir'openssl no-rsa
213$ save_severity=$SEVERITY
214$ set on
215$ if save_severity
216$ then
217$ write sys$output "skipping CA.com test -- requires RSA"
218$ else
219$ write sys$output "Generate and certify a test certificate via the 'ca' program"
220$ @testca.com
221$ endif
222$ return
197$ 223$
198$ 224$
199$ exit: 225$ exit: