]> git.ipfire.org Git - thirdparty/openssl.git/blob - test/tests.com
Fix ecparam -genkey with point compression or DER outform
[thirdparty/openssl.git] / test / tests.com
1 $! TESTS.COM -- Performs the necessary tests
2 $!
3 $! P1 tests to be performed. Empty means all.
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 $!
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")
15 $ __arch = "VAX"
16 $ if f$getsyi("cpu") .ge. 128 then -
17 __arch = f$edit( f$getsyi( "ARCH_NAME"), "UPCASE")
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]
30 $
31 $ set default '__here'
32 $
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
39 $ openssl_conf := sslroot:[000000]openssl-vms.cnf
40 $
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
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.
51 $ tests := -
52 test_des,test_idea,test_sha,test_md4,test_md5,test_hmac,-
53 test_md2,test_mdc2,test_wp,-
54 test_rmd,test_rc2,test_rc4,test_rc5,test_bf,test_cast,test_aes,-
55 test_rand,test_bn,test_ec,test_ecdsa,test_ecdh,-
56 test_enc,test_x509,test_rsa,test_crl,test_sid,-
57 test_gen,test_req,test_pkcs7,test_verify,test_dh,test_dsa,-
58 test_ss,test_ca,test_engine,test_evp,test_evp_extra,test_ssl,test_tsa,test_ige,-
59 test_jpake,test_srp,test_cms,test_ocsp,test_v3name,test_heartbeat,-
60 test_constant_time,test_verify_extra,test_clienthello,test_sslv2conftest,-
61 test_dtls,test_bad_dtls,test_fatalerr
62 $ endif
63 $ tests = f$edit(tests,"COLLAPSE")
64 $
65 $ BNTEST := bntest
66 $ ECTEST := ectest
67 $ ECDSATEST := ecdsatest
68 $ ECDHTEST := ecdhtest
69 $ EXPTEST := exptest
70 $ IDEATEST := ideatest
71 $ SHATEST := shatest
72 $ SHA1TEST := sha1test
73 $ SHA256TEST := sha256t
74 $ SHA512TEST := sha512t
75 $ MDC2TEST := mdc2test
76 $ RMDTEST := rmdtest
77 $ MD2TEST := md2test
78 $ MD4TEST := md4test
79 $ MD5TEST := md5test
80 $ HMACTEST := hmactest
81 $ WPTEST := wp_test
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
93 $ RSATEST := rsa_test
94 $ ENGINETEST := enginetest
95 $ EVPTEST := evp_test
96 $ EVPEXTRATEST := evp_extra_test
97 $ IGETEST := igetest
98 $ JPAKETEST := jpaketest
99 $ SRPTEST := srptest
100 $ V3NAMETEST := v3nametest
101 $ ASN1TEST := asn1test
102 $ HEARTBEATTEST := heartbeat_test
103 $ CONSTTIMETEST := constant_time_test
104 $ VERIFYEXTRATEST := verify_extra_test
105 $ CLIENTHELLOTEST := clienthellotest
106 $ BADDTLSTEST := bad_dtls_test
107 $ SSLV2CONFTEST := sslv2conftest
108 $ DTLSTEST := dtlstest
109 $ FATALERRTEST := fatalerrtest
110 $!
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
116 $ write sys$output "---> ''tests_e'"
117 $ gosub 'tests_e'
118 $ goto loop_tests
119 $
120 $ test_evp:
121 $ mcr 'texe_dir''evptest' 'ROOT'.CRYPTO.EVP]evptests.txt
122 $ return
123 $ test_evp_extra:
124 $ mcr 'texe_dir''evpextratest'
125 $ return
126 $ test_des:
127 $ mcr 'texe_dir''destest'
128 $ return
129 $ test_idea:
130 $ mcr 'texe_dir''ideatest'
131 $ return
132 $ test_sha:
133 $ mcr 'texe_dir''shatest'
134 $ mcr 'texe_dir''sha1test'
135 $ mcr 'texe_dir''sha256test'
136 $ mcr 'texe_dir''sha512test'
137 $ return
138 $ test_mdc2:
139 $ mcr 'texe_dir''mdc2test'
140 $ return
141 $ test_md5:
142 $ mcr 'texe_dir''md5test'
143 $ return
144 $ test_md4:
145 $ mcr 'texe_dir''md4test'
146 $ return
147 $ test_hmac:
148 $ mcr 'texe_dir''hmactest'
149 $ return
150 $ test_wp:
151 $ mcr 'texe_dir''wptest'
152 $ return
153 $ test_md2:
154 $ mcr 'texe_dir''md2test'
155 $ return
156 $ test_rmd:
157 $ mcr 'texe_dir''rmdtest'
158 $ return
159 $ test_bf:
160 $ mcr 'texe_dir''bftest'
161 $ return
162 $ test_cast:
163 $ mcr 'texe_dir''casttest'
164 $ return
165 $ test_rc2:
166 $ mcr 'texe_dir''rc2test'
167 $ return
168 $ test_rc4:
169 $ mcr 'texe_dir''rc4test'
170 $ return
171 $ test_rc5:
172 $ mcr 'texe_dir''rc5test'
173 $ return
174 $ test_rand:
175 $ mcr 'texe_dir''randtest'
176 $ return
177 $ test_enc:
178 $ @testenc.com 'pointer_size'
179 $ return
180 $ test_x509:
181 $ set noon
182 $ define sys$error test_x509.err
183 $ write sys$output "test normal x509v1 certificate"
184 $ @tx509.com "" 'pointer_size'
185 $ write sys$output "test first x509v3 certificate"
186 $ @tx509.com v3-cert1.pem 'pointer_size'
187 $ write sys$output "test second x509v3 certificate"
188 $ @tx509.com v3-cert2.pem 'pointer_size'
189 $ deassign sys$error
190 $ set on
191 $ return
192 $ test_rsa:
193 $ set noon
194 $ define sys$error test_rsa.err
195 $ @trsa.com "" 'pointer_size'
196 $ deassign sys$error
197 $ mcr 'texe_dir''rsatest'
198 $ set on
199 $ return
200 $ test_crl:
201 $ set noon
202 $ define sys$error test_crl.err
203 $ @tcrl.com "" 'pointer_size'
204 $ deassign sys$error
205 $ set on
206 $ return
207 $ test_sid:
208 $ set noon
209 $ define sys$error test_sid.err
210 $ @tsid.com "" 'pointer_size'
211 $ deassign sys$error
212 $ set on
213 $ return
214 $ test_req:
215 $ set noon
216 $ define sys$error test_req.err
217 $ @treq.com "" 'pointer_size'
218 $ @treq.com testreq2.pem 'pointer_size'
219 $ deassign sys$error
220 $ set on
221 $ return
222 $ test_pkcs7:
223 $ set noon
224 $ define sys$error test_pkcs7.err
225 $ @tpkcs7.com "" 'pointer_size'
226 $ @tpkcs7d.com "" 'pointer_size'
227 $ deassign sys$error
228 $ set on
229 $ return
230 $ test_bn:
231 $ write sys$output -
232 "starting big number library test, could take a while..."
233 $ set noon
234 $ define sys$error test_bn.err
235 $ define sys$output test_bn.out
236 $ @ bctest.com
237 $ status = $status
238 $ deassign sys$error
239 $ deassign sys$output
240 $ set on
241 $ if (status)
242 $ then
243 $ create /fdl = sys$input bntest-vms.tmp
244 FILE
245 ORGANIZATION sequential
246 RECORD
247 FORMAT stream_lf
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
262 FILE
263 ORGANIZATION sequential
264 RECORD
265 FORMAT stream_lf
266 $ open /append bntest_file bntest-vms.sh
267 $ type /output = bntest_file sys$input:
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"'
269 $ define /user_mode sys$output bntest-vms.tmp
270 $ mcr 'texe_dir''bntest'
271 $ copy bntest-vms.tmp bntest_file
272 $ delete bntest-vms.tmp;*
273 $ type /output = bntest_file sys$input:
274 __FOO__
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
281 $ write sys$output "test a^b%c implementations"
282 $ mcr 'texe_dir''exptest'
283 $ return
284 $ test_ec:
285 $ write sys$output "test elliptic curves"
286 $ mcr 'texe_dir''ectest'
287 $ return
288 $ test_ecdsa:
289 $ write sys$output "test ecdsa"
290 $ mcr 'texe_dir''ecdsatest'
291 $ return
292 $ test_ecdh:
293 $ write sys$output "test ecdh"
294 $ mcr 'texe_dir''ecdhtest'
295 $ return
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"
299 $ @tverify.com 'pointer_size'
300 $ return
301 $ test_dh:
302 $ write sys$output "Generate a set of DH parameters"
303 $ mcr 'texe_dir''dhtest'
304 $ return
305 $ test_dsa:
306 $ write sys$output "Generate a set of DSA parameters"
307 $ mcr 'texe_dir''dsatest'
308 $ return
309 $ test_gen:
310 $ write sys$output "Generate and verify a certificate request"
311 $ @testgen.com 'pointer_size'
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
322 $ test_ss:
323 $ write sys$output "Generate and certify a test certificate"
324 $ @testss.com 'pointer_size'
325 $ return
326 $ test_engine:
327 $ write sys$output "Manipulate the ENGINE structures"
328 $ mcr 'texe_dir''enginetest'
329 $ return
330 $ test_ssl:
331 $ write sys$output "test SSL protocol"
332 $ gosub maybe_test_ss
333 $ @testssl.com keyU.ss certU.ss certCA.ss 'pointer_size'
334 $ return
335 $ test_ca:
336 $ set noon
337 $ define /user_mode sys$output test_ca.out
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"
346 $ @testca.com 'pointer_size'
347 $ endif
348 $ return
349 $ test_aes:
350 $! write sys$output "test AES"
351 $! !mcr 'texe_dir''aestest'
352 $ return
353 $ test_tsa:
354 $ set noon
355 $ define /user_mode sys$output nla0:
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
363 $ @testtsa.com "" "" "" 'pointer_size'
364 $ endif
365 $ return
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
374 $ test_cms:
375 $ write sys$output "CMS consistency test"
376 $ ! Define the logical name used to find openssl.exe in the perl script.
377 $ define /user_mode osslx 'exe_dir'
378 $ perl CMS-TEST.PL
379 $ return
380 $ test_srp:
381 $ write sys$output "Test SRP"
382 $ mcr 'texe_dir''srptest'
383 $ return
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
396 $ test_constant_time:
397 $ write sys$output "Test constant time utilities"
398 $ mcr 'texe_dir''consttimetest'
399 $ return
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
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 $
418 $ test_sslv2conftest:
419 $ write sys$output "''START' test_sslv2conftest"
420 $ mcr 'texe_dir''sslv2conftest'
421 $ return
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
426 $
427 $ exit:
428 $ on error then goto exit2 ! In case openssl.exe didn't build.
429 $ mcr 'exe_dir'openssl version -a
430 $ exit2:
431 $ set default '__save_default'
432 $ deassign sslroot
433 $ exit