]> git.ipfire.org Git - thirdparty/openssl.git/blame - test/tests.com
Fix ecparam -genkey with point compression or DER outform
[thirdparty/openssl.git] / test / tests.com
CommitLineData
7d7d2cbc
UM
1$! TESTS.COM -- Performs the necessary tests
2$!
3$! P1 tests to be performed. Empty means all.
01d2e27a
RL
4$! P2 Pointer size: "", "32", or "64".
5$!
6$! Announce/identify.
7$!
8$ proc = f$environment( "procedure")
9$ write sys$output "@@@ "+ -
10 f$parse( proc, , , "name")+ f$parse( proc, , , "type")
11$!
7d7d2cbc
UM
12$ __proc = f$element(0,";",f$environment("procedure"))
13$ __here = f$parse(f$parse("A.;",__proc) - "A.;","[]A.;") - "A.;"
14$ __save_default = f$environment("default")
01d2e27a 15$ __arch = "VAX"
006c7c6b 16$ if f$getsyi("cpu") .ge. 128 then -
2de21373 17 __arch = f$edit( f$getsyi( "ARCH_NAME"), "UPCASE")
01d2e27a
RL
18$ if __arch .eqs. "" then __arch = "UNK"
19$!
20$ __archd = __arch
21$ pointer_size = ""
22$ if (p2 .eq. "64")
23$ then
24$ pointer_size = "64"
25$ __archd = __arch+ "_64"
26$ endif
27$!
28$ texe_dir := sys$disk:[-.'__archd'.exe.test]
29$ exe_dir := sys$disk:[-.'__archd'.exe.apps]
7d7d2cbc 30$
aa292058
RL
31$ set default '__here'
32$
48337a4a
RL
33$ ROOT = F$PARSE("sys$disk:[-]A.;0",,,,"SYNTAX_ONLY,NO_CONCEAL") - "A.;0"
34$ ROOT_DEV = F$PARSE(ROOT,,,"DEVICE","SYNTAX_ONLY")
35$ ROOT_DIR = F$PARSE(ROOT,,,"DIRECTORY","SYNTAX_ONLY") -
36 - ".][000000" - "[000000." - "][" - "[" - "]"
37$ ROOT = ROOT_DEV + "[" + ROOT_DIR
38$ DEFINE/NOLOG SSLROOT 'ROOT'.APPS.] /TRANS=CONC
bf5adc9b 39$ openssl_conf := sslroot:[000000]openssl-vms.cnf
74397d45 40$
7d7d2cbc
UM
41$ on control_y then goto exit
42$ on error then goto exit
43$
44$ if p1 .nes. ""
45$ then
46$ tests = p1
47$ else
006c7c6b
RL
48$! NOTE: This list reflects the list of dependencies following the
49$! "alltests" target in Makefile. This should make it easy to see
50$! if there's a difference that needs to be taken care of.
7d7d2cbc 51$ tests := -
eec79f9b 52 test_des,test_idea,test_sha,test_md4,test_md5,test_hmac,-
8937a13e
RL
53 test_md2,test_mdc2,test_wp,-
54 test_rmd,test_rc2,test_rc4,test_rc5,test_bf,test_cast,test_aes,-
da0bca64 55 test_rand,test_bn,test_ec,test_ecdsa,test_ecdh,-
1f4eada3 56 test_enc,test_x509,test_rsa,test_crl,test_sid,-
d593983d 57 test_gen,test_req,test_pkcs7,test_verify,test_dh,test_dsa,-
8a2ce3a3 58 test_ss,test_ca,test_engine,test_evp,test_evp_extra,test_ssl,test_tsa,test_ige,-
ef8055cb 59 test_jpake,test_srp,test_cms,test_ocsp,test_v3name,test_heartbeat,-
ceee07ce
RL
60 test_constant_time,test_verify_extra,test_clienthello,test_sslv2conftest,-
61 test_dtls,test_bad_dtls,test_fatalerr
7d7d2cbc
UM
62$ endif
63$ tests = f$edit(tests,"COLLAPSE")
64$
65$ BNTEST := bntest
e0a9ba9c 66$ ECTEST := ectest
1f4eada3 67$ ECDSATEST := ecdsatest
da0bca64 68$ ECDHTEST := ecdhtest
7d7d2cbc
UM
69$ EXPTEST := exptest
70$ IDEATEST := ideatest
71$ SHATEST := shatest
72$ SHA1TEST := sha1test
784e2080
RL
73$ SHA256TEST := sha256t
74$ SHA512TEST := sha512t
7d7d2cbc
UM
75$ MDC2TEST := mdc2test
76$ RMDTEST := rmdtest
77$ MD2TEST := md2test
eec79f9b 78$ MD4TEST := md4test
7d7d2cbc
UM
79$ MD5TEST := md5test
80$ HMACTEST := hmactest
959a7201 81$ WPTEST := wp_test
7d7d2cbc
UM
82$ RC2TEST := rc2test
83$ RC4TEST := rc4test
84$ RC5TEST := rc5test
85$ BFTEST := bftest
86$ CASTTEST := casttest
87$ DESTEST := destest
88$ RANDTEST := randtest
89$ DHTEST := dhtest
90$ DSATEST := dsatest
91$ METHTEST := methtest
92$ SSLTEST := ssltest
721b5b2a 93$ RSATEST := rsa_test
5270e702 94$ ENGINETEST := enginetest
e32587d5 95$ EVPTEST := evp_test
8a2ce3a3 96$ EVPEXTRATEST := evp_extra_test
26397d2e
RL
97$ IGETEST := igetest
98$ JPAKETEST := jpaketest
4692b334 99$ SRPTEST := srptest
995d08d1 100$ V3NAMETEST := v3nametest
dda45443 101$ ASN1TEST := asn1test
995d08d1 102$ HEARTBEATTEST := heartbeat_test
ef8055cb 103$ CONSTTIMETEST := constant_time_test
8a2ce3a3
RL
104$ VERIFYEXTRATEST := verify_extra_test
105$ CLIENTHELLOTEST := clienthellotest
ceee07ce 106$ BADDTLSTEST := bad_dtls_test
8a2ce3a3 107$ SSLV2CONFTEST := sslv2conftest
66e70832 108$ DTLSTEST := dtlstest
ceee07ce 109$ FATALERRTEST := fatalerrtest
01d2e27a 110$!
7d7d2cbc
UM
111$ tests_i = 0
112$ loop_tests:
113$ tests_e = f$element(tests_i,",",tests)
114$ tests_i = tests_i + 1
115$ if tests_e .eqs. "," then goto exit
c91b5211 116$ write sys$output "---> ''tests_e'"
c13ee214
RL
117$ gosub 'tests_e'
118$ goto loop_tests
7d7d2cbc 119$
e32587d5 120$ test_evp:
48337a4a 121$ mcr 'texe_dir''evptest' 'ROOT'.CRYPTO.EVP]evptests.txt
e32587d5 122$ return
8a2ce3a3
RL
123$ test_evp_extra:
124$ mcr 'texe_dir''evpextratest'
125$ return
7d7d2cbc
UM
126$ test_des:
127$ mcr 'texe_dir''destest'
c13ee214 128$ return
7d7d2cbc
UM
129$ test_idea:
130$ mcr 'texe_dir''ideatest'
c13ee214 131$ return
7d7d2cbc
UM
132$ test_sha:
133$ mcr 'texe_dir''shatest'
134$ mcr 'texe_dir''sha1test'
784e2080
RL
135$ mcr 'texe_dir''sha256test'
136$ mcr 'texe_dir''sha512test'
c13ee214 137$ return
7d7d2cbc
UM
138$ test_mdc2:
139$ mcr 'texe_dir''mdc2test'
c13ee214 140$ return
7d7d2cbc
UM
141$ test_md5:
142$ mcr 'texe_dir''md5test'
c13ee214 143$ return
eec79f9b
RL
144$ test_md4:
145$ mcr 'texe_dir''md4test'
146$ return
7d7d2cbc
UM
147$ test_hmac:
148$ mcr 'texe_dir''hmactest'
c13ee214 149$ return
959a7201
RL
150$ test_wp:
151$ mcr 'texe_dir''wptest'
152$ return
7d7d2cbc
UM
153$ test_md2:
154$ mcr 'texe_dir''md2test'
c13ee214 155$ return
7d7d2cbc
UM
156$ test_rmd:
157$ mcr 'texe_dir''rmdtest'
c13ee214 158$ return
7d7d2cbc
UM
159$ test_bf:
160$ mcr 'texe_dir''bftest'
c13ee214 161$ return
7d7d2cbc
UM
162$ test_cast:
163$ mcr 'texe_dir''casttest'
c13ee214 164$ return
7d7d2cbc
UM
165$ test_rc2:
166$ mcr 'texe_dir''rc2test'
c13ee214 167$ return
7d7d2cbc
UM
168$ test_rc4:
169$ mcr 'texe_dir''rc4test'
c13ee214 170$ return
7d7d2cbc
UM
171$ test_rc5:
172$ mcr 'texe_dir''rc5test'
c13ee214 173$ return
7d7d2cbc
UM
174$ test_rand:
175$ mcr 'texe_dir''randtest'
c13ee214 176$ return
7d7d2cbc 177$ test_enc:
01d2e27a 178$ @testenc.com 'pointer_size'
c13ee214 179$ return
7d7d2cbc 180$ test_x509:
01d2e27a
RL
181$ set noon
182$ define sys$error test_x509.err
7d7d2cbc 183$ write sys$output "test normal x509v1 certificate"
01d2e27a 184$ @tx509.com "" 'pointer_size'
7d7d2cbc 185$ write sys$output "test first x509v3 certificate"
01d2e27a 186$ @tx509.com v3-cert1.pem 'pointer_size'
7d7d2cbc 187$ write sys$output "test second x509v3 certificate"
01d2e27a 188$ @tx509.com v3-cert2.pem 'pointer_size'
7d7d2cbc 189$ deassign sys$error
01d2e27a 190$ set on
c13ee214 191$ return
7d7d2cbc 192$ test_rsa:
01d2e27a
RL
193$ set noon
194$ define sys$error test_rsa.err
195$ @trsa.com "" 'pointer_size'
7d7d2cbc
UM
196$ deassign sys$error
197$ mcr 'texe_dir''rsatest'
01d2e27a 198$ set on
c13ee214 199$ return
7d7d2cbc 200$ test_crl:
01d2e27a
RL
201$ set noon
202$ define sys$error test_crl.err
203$ @tcrl.com "" 'pointer_size'
7d7d2cbc 204$ deassign sys$error
01d2e27a 205$ set on
c13ee214 206$ return
7d7d2cbc 207$ test_sid:
01d2e27a
RL
208$ set noon
209$ define sys$error test_sid.err
210$ @tsid.com "" 'pointer_size'
7d7d2cbc 211$ deassign sys$error
01d2e27a 212$ set on
c13ee214 213$ return
7d7d2cbc 214$ test_req:
01d2e27a
RL
215$ set noon
216$ define sys$error test_req.err
217$ @treq.com "" 'pointer_size'
218$ @treq.com testreq2.pem 'pointer_size'
7d7d2cbc 219$ deassign sys$error
01d2e27a 220$ set on
c13ee214 221$ return
7d7d2cbc 222$ test_pkcs7:
01d2e27a
RL
223$ set noon
224$ define sys$error test_pkcs7.err
225$ @tpkcs7.com "" 'pointer_size'
226$ @tpkcs7d.com "" 'pointer_size'
7d7d2cbc 227$ deassign sys$error
01d2e27a 228$ set on
c13ee214 229$ return
7d7d2cbc 230$ test_bn:
aa292058
RL
231$ write sys$output -
232 "starting big number library test, could take a while..."
233$ set noon
01d2e27a
RL
234$ define sys$error test_bn.err
235$ define sys$output test_bn.out
aa292058
RL
236$ @ bctest.com
237$ status = $status
238$ deassign sys$error
239$ deassign sys$output
01d2e27a 240$ set on
aa292058
RL
241$ if (status)
242$ then
243$ create /fdl = sys$input bntest-vms.tmp
7d7d2cbc
UM
244FILE
245 ORGANIZATION sequential
246RECORD
247 FORMAT stream_lf
aa292058
RL
248$ define /user_mode sys$output bntest-vms.tmp
249$ mcr 'texe_dir''bntest'
250$ define /user_mode sys$input bntest-vms.tmp
251$ define /user_mode sys$output bntest-vms.out
252$ bc
253$ @ bntest.com bntest-vms.out
254$ status = $status
255$ if (status)
256$ then
257$ delete bntest-vms.out;*
258$ delete bntest-vms.tmp;*
259$ endif
260$ else
261$ create /fdl = sys$input bntest-vms.sh
262FILE
263 ORGANIZATION sequential
264RECORD
265 FORMAT stream_lf
266$ open /append bntest_file bntest-vms.sh
267$ type /output = bntest_file sys$input:
20a9b1a7 268<< __FOO__ sh -c "`sh ./bctest`" | perl -e '$i=0; while (<STDIN>) {if (/^test (.*)/) {print STDERR "\nverify $1";} elsif (!/^0$/) {die "\nFailed! bc: $_";} else {print STDERR "."; $i++;}} print STDERR "\n$i tests passed\n"'
01d2e27a 269$ define /user_mode sys$output bntest-vms.tmp
aa292058
RL
270$ mcr 'texe_dir''bntest'
271$ copy bntest-vms.tmp bntest_file
272$ delete bntest-vms.tmp;*
273$ type /output = bntest_file sys$input:
7d7d2cbc 274__FOO__
aa292058
RL
275$ close bntest_file
276$ write sys$output "-- copy the [.test]bntest-vms.sh and [.test]bctest files to a Unix system and"
277$ write sys$output "-- run bntest-vms.sh through sh or bash to verify that the bignum operations"
278$ write sys$output "-- went well."
279$ write sys$output ""
280$ endif
7d7d2cbc
UM
281$ write sys$output "test a^b%c implementations"
282$ mcr 'texe_dir''exptest'
c13ee214 283$ return
e0a9ba9c 284$ test_ec:
a2b03690 285$ write sys$output "test elliptic curves"
e0a9ba9c
RL
286$ mcr 'texe_dir''ectest'
287$ return
da0bca64 288$ test_ecdsa:
1f4eada3
RL
289$ write sys$output "test ecdsa"
290$ mcr 'texe_dir''ecdsatest'
291$ return
da0bca64
RL
292$ test_ecdh:
293$ write sys$output "test ecdh"
294$ mcr 'texe_dir''ecdhtest'
295$ return
7d7d2cbc
UM
296$ test_verify:
297$ write sys$output "The following command should have some OK's and some failures"
298$ write sys$output "There are definitly a few expired certificates"
01d2e27a 299$ @tverify.com 'pointer_size'
c13ee214 300$ return
7d7d2cbc 301$ test_dh:
da0fc5bf 302$ write sys$output "Generate a set of DH parameters"
7d7d2cbc 303$ mcr 'texe_dir''dhtest'
c13ee214 304$ return
7d7d2cbc 305$ test_dsa:
da0fc5bf 306$ write sys$output "Generate a set of DSA parameters"
7d7d2cbc 307$ mcr 'texe_dir''dsatest'
c13ee214 308$ return
d593983d 309$ test_gen:
7d7d2cbc 310$ write sys$output "Generate and verify a certificate request"
01d2e27a 311$ @testgen.com 'pointer_size'
c13ee214
RL
312$ return
313$ maybe_test_ss:
314$ testss_RDT = f$cvtime(f$file_attributes("testss.com","RDT"))
315$ if f$cvtime(f$file_attributes("keyU.ss","RDT")) .les. testss_RDT then -
316 goto test_ss
317$ if f$cvtime(f$file_attributes("certU.ss","RDT")) .les. testss_RDT then -
318 goto test_ss
319$ if f$cvtime(f$file_attributes("certCA.ss","RDT")) .les. testss_RDT then -
320 goto test_ss
321$ return
7d7d2cbc
UM
322$ test_ss:
323$ write sys$output "Generate and certify a test certificate"
01d2e27a 324$ @testss.com 'pointer_size'
c13ee214 325$ return
5270e702
RL
326$ test_engine:
327$ write sys$output "Manipulate the ENGINE structures"
328$ mcr 'texe_dir''enginetest'
329$ return
7d7d2cbc
UM
330$ test_ssl:
331$ write sys$output "test SSL protocol"
c13ee214 332$ gosub maybe_test_ss
01d2e27a 333$ @testssl.com keyU.ss certU.ss certCA.ss 'pointer_size'
c13ee214 334$ return
7d7d2cbc 335$ test_ca:
c13ee214 336$ set noon
01d2e27a 337$ define /user_mode sys$output test_ca.out
c13ee214
RL
338$ mcr 'exe_dir'openssl no-rsa
339$ save_severity=$SEVERITY
340$ set on
341$ if save_severity
342$ then
343$ write sys$output "skipping CA.com test -- requires RSA"
344$ else
345$ write sys$output "Generate and certify a test certificate via the 'ca' program"
01d2e27a 346$ @testca.com 'pointer_size'
c13ee214
RL
347$ endif
348$ return
8937a13e
RL
349$ test_aes:
350$! write sys$output "test AES"
351$! !mcr 'texe_dir''aestest'
352$ return
353$ test_tsa:
354$ set noon
01d2e27a 355$ define /user_mode sys$output nla0:
8937a13e
RL
356$ mcr 'exe_dir'openssl no-rsa
357$ save_severity=$SEVERITY
358$ set on
359$ if save_severity
360$ then
361$ write sys$output "skipping testtsa.com test -- requires RSA"
362$ else
01d2e27a 363$ @testtsa.com "" "" "" 'pointer_size'
8937a13e 364$ endif
d53d2717 365$ return
26397d2e
RL
366$ test_ige:
367$ write sys$output "Test IGE mode"
368$ mcr 'texe_dir''igetest'
369$ return
370$ test_jpake:
371$ write sys$output "Test JPAKE"
372$ mcr 'texe_dir''jpaketest'
373$ return
1aac5c0e
RL
374$ test_cms:
375$ write sys$output "CMS consistency test"
01d2e27a
RL
376$ ! Define the logical name used to find openssl.exe in the perl script.
377$ define /user_mode osslx 'exe_dir'
1aac5c0e
RL
378$ perl CMS-TEST.PL
379$ return
4692b334
RL
380$ test_srp:
381$ write sys$output "Test SRP"
382$ mcr 'texe_dir''srptest'
383$ return
995d08d1
RL
384$ test_ocsp:
385$ write sys$output "Test OCSP"
386$ @tocsp.com
387$ return
388$ test_v3name:
389$ write sys$output "Test V3NAME"
390$ mcr 'texe_dir''v3nametest'
391$ return
392$ test_heartbeat:
393$ write sys$output "Test HEARTBEAT"
394$ mcr 'texe_dir''heartbeattest'
395$ return
ef8055cb
RL
396$ test_constant_time:
397$ write sys$output "Test constant time utilities"
398$ mcr 'texe_dir''consttimetest'
399$ return
8a2ce3a3
RL
400$ test_verify_extra:
401$ write sys$output "''START' test_verify_extra"
402$ mcr 'texe_dir''verifyextratest'
403$ return
404$ test_clienthello:
405$ write sys$output "''START' test_clienthello"
406$ mcr 'texe_dir''clienthellotest'
407$ return
ceee07ce
RL
408$ test_bad_dtls:
409$ write sys$output "''START' test_bad_dtls"
410$ mcr 'texe_dir''baddtlstest'
411$ return
412$
413$ test_fatalerr:
414$ write sys$output "''START' test_fatalerrtest"
415$ mcr 'texe_dir''fatalerrtest' 'ROOT'.APPS]server.pem 'ROOT'.APPS]server.pem
416$ return
417$
8a2ce3a3
RL
418$ test_sslv2conftest:
419$ write sys$output "''START' test_sslv2conftest"
420$ mcr 'texe_dir''sslv2conftest'
421$ return
66e70832
RL
422$ test_dtls:
423$ write sys$output "''START' test_dtls"
424$ mcr 'texe_dir''dtlstest' 'ROOT'.APPS]server.pem 'ROOT'.APPS]server.pem
425$ return
7d7d2cbc
UM
426$
427$ exit:
6ff73426 428$ on error then goto exit2 ! In case openssl.exe didn't build.
9d13bfc2 429$ mcr 'exe_dir'openssl version -a
6ff73426 430$ exit2:
7d7d2cbc 431$ set default '__save_default'
74397d45 432$ deassign sslroot
7d7d2cbc 433$ exit