summaryrefslogtreecommitdiff
path: root/src/lib/libssl/test
diff options
context:
space:
mode:
authorcvs2svn <admin@example.com>2002-05-15 02:29:23 +0000
committercvs2svn <admin@example.com>2002-05-15 02:29:23 +0000
commitfd9566423b542798f5c8b06e68101a9ea5bb9885 (patch)
treef2cc037857a260afc5aaaaaa6cf62d06923c6273 /src/lib/libssl/test
parent536c76cbb863bab152f19842ab88772c01e922c7 (diff)
downloadopenbsd-fd9566423b542798f5c8b06e68101a9ea5bb9885.tar.gz
openbsd-fd9566423b542798f5c8b06e68101a9ea5bb9885.tar.bz2
openbsd-fd9566423b542798f5c8b06e68101a9ea5bb9885.zip
This commit was manufactured by cvs2git to create branch 'openssl'.
Diffstat (limited to 'src/lib/libssl/test')
-rw-r--r--src/lib/libssl/test/maketests.com1053
-rw-r--r--src/lib/libssl/test/tcrl.com78
-rw-r--r--src/lib/libssl/test/testca.com76
-rw-r--r--src/lib/libssl/test/testenc.com50
-rw-r--r--src/lib/libssl/test/testgen.com35
-rw-r--r--src/lib/libssl/test/tests.com203
-rw-r--r--src/lib/libssl/test/testss.com105
-rw-r--r--src/lib/libssl/test/testssl.com111
-rw-r--r--src/lib/libssl/test/tpkcs7.com49
-rw-r--r--src/lib/libssl/test/tpkcs7d.com42
-rw-r--r--src/lib/libssl/test/treq.com78
-rw-r--r--src/lib/libssl/test/trsa.com78
-rw-r--r--src/lib/libssl/test/tsid.com78
-rw-r--r--src/lib/libssl/test/tverify.com26
-rw-r--r--src/lib/libssl/test/tx509.com78
15 files changed, 2140 insertions, 0 deletions
diff --git a/src/lib/libssl/test/maketests.com b/src/lib/libssl/test/maketests.com
new file mode 100644
index 0000000000..e4b052e688
--- /dev/null
+++ b/src/lib/libssl/test/maketests.com
@@ -0,0 +1,1053 @@
1$!
2$! MAKETESTS.COM
3$! Written By: Robert Byer
4$! Vice-President
5$! A-Com Computing, Inc.
6$! byer@mail.all-net.net
7$!
8$! Changes by Richard Levitte <richard@levitte.org>
9$!
10$! This command files compiles and creates all the various different
11$! "test" programs for the different types of encryption for OpenSSL.
12$! It was written so it would try to determine what "C" compiler to
13$! use or you can specify which "C" compiler to use.
14$!
15$! The test "executeables" will be placed in a directory called
16$! [.xxx.EXE.TEST] where "xxx" denotes AXP or VAX depending on your machines
17$! architecture.
18$!
19$! Specify RSAREF as P1 to compile with the RSAREF library instead of
20$! the regular one. If you specify NORSAREF it will compile with the
21$! regular RSAREF routines. (Note: If you are in the United States
22$! you MUST compile with RSAREF unless you have a license from RSA).
23$!
24$! Note: The RSAREF libraries are NOT INCLUDED and you have to
25$! download it from "ftp://ftp.rsa.com/rsaref". You have to
26$! get the ".tar-Z" file as the ".zip" file dosen't have the
27$! directory structure stored. You have to extract the file
28$! into the [.RSAREF] directory under the root directory as that
29$! is where the scripts will look for the files.
30$!
31$! Specify DEBUG or NODEBUG P2 to compile with or without debugger
32$! information.
33$!
34$! Specify which compiler at P3 to try to compile under.
35$!
36$! VAXC For VAX C.
37$! DECC For DEC C.
38$! GNUC For GNU C.
39$!
40$! If you don't speficy a compiler, it will try to determine which
41$! "C" compiler to use.
42$!
43$! P4, if defined, sets a TCP/IP library to use, through one of the following
44$! keywords:
45$!
46$! UCX for UCX
47$! SOCKETSHR for SOCKETSHR+NETLIB
48$!
49$! P5, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up)
50$!
51$!
52$! Define A TCP/IP Library That We Will Need To Link To.
53$! (That is, If Wee Need To Link To One.)
54$!
55$ TCPIP_LIB = ""
56$!
57$! Check Which Architecture We Are Using.
58$!
59$ IF (F$GETSYI("CPU").GE.128)
60$ THEN
61$!
62$! The Architecture Is AXP.
63$!
64$ ARCH := AXP
65$!
66$! Else...
67$!
68$ ELSE
69$!
70$! The Architecture Is VAX.
71$!
72$ ARCH := VAX
73$!
74$! End The Architecture Check.
75$!
76$ ENDIF
77$!
78$! Check To Make Sure We Have Valid Command Line Parameters.
79$!
80$ GOSUB CHECK_OPTIONS
81$!
82$! Initialise logical names and such
83$!
84$ GOSUB INITIALISE
85$!
86$! Tell The User What Kind of Machine We Run On.
87$!
88$ WRITE SYS$OUTPUT "Compiling On A ",ARCH," Machine."
89$!
90$! Define The CRYPTO-LIB We Are To Use.
91$!
92$ CRYPTO_LIB := SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO.OLB
93$!
94$! Define The RSAREF-LIB We Are To Use.
95$!
96$ RSAREF_LIB := SYS$DISK:[-.'ARCH'.EXE.RSAREF]LIBRSAGLUE.OLB
97$!
98$! Define The SSL We Are To Use.
99$!
100$ SSL_LIB := SYS$DISK:[-.'ARCH'.EXE.SSL]LIBSSL.OLB
101$!
102$! Define The OBJ Directory.
103$!
104$ OBJ_DIR := SYS$DISK:[-.'ARCH'.OBJ.TEST]
105$!
106$! Check To See If The Architecture Specific OBJ Directory Exists.
107$!
108$ IF (F$PARSE(OBJ_DIR).EQS."")
109$ THEN
110$!
111$! The EXE Directory Dosen't Exist, So Create It.
112$!
113$ CREATE/DIRECTORY 'OBJ_DIR'
114$!
115$! End The Architecture Specific OBJ Directory Check.
116$!
117$ ENDIF
118$!
119$! Define The EXE Directory.
120$!
121$ EXE_DIR := SYS$DISK:[-.'ARCH'.EXE.TEST]
122$!
123$! Check To See If The Architecture Specific EXE Directory Exists.
124$!
125$ IF (F$PARSE(EXE_DIR).EQS."")
126$ THEN
127$!
128$! The EXE Directory Dosen't Exist, So Create It.
129$!
130$ CREATE/DIRECTORY 'EXE_DIR'
131$!
132$! End The Architecture Specific EXE Directory Check.
133$!
134$ ENDIF
135$!
136$! Check To See If We Have The Proper Libraries.
137$!
138$ GOSUB LIB_CHECK
139$!
140$! Check To See If We Have A Linker Option File.
141$!
142$ GOSUB CHECK_OPT_FILE
143$!
144$! Define The TEST Files.
145$!
146$ TEST_FILES = "BNTEST,IDEATEST,MD2TEST,MD5TEST,HMACTEST,"+ -
147 "RC2TEST,RC4TEST,RC5TEST,"+ -
148 "DESTEST,SHATEST,SHA1TEST,MDC2TEST,RMDTEST,"+ -
149 "RANDTEST,DHTEST,"+ -
150 "BFTEST,CASTTEST,SSLTEST,EXPTEST,DSATEST,RSA_OAEP_TEST"
151$ TCPIP_PROGRAMS = ",,"
152$ IF COMPILER .EQS. "VAXC" THEN -
153 TCPIP_PROGRAMS = ",SSLTEST,"
154$!
155$! Define A File Counter And Set It To "0".
156$!
157$ FILE_COUNTER = 0
158$!
159$! Top Of The File Loop.
160$!
161$ NEXT_FILE:
162$!
163$! O.K, Extract The File Name From The File List.
164$!
165$ FILE_NAME = F$ELEMENT(FILE_COUNTER,",",TEST_FILES)
166$!
167$! Check To See If We Are At The End Of The File List.
168$!
169$ IF (FILE_NAME.EQS.",") THEN GOTO FILE_DONE
170$!
171$! Increment The Counter.
172$!
173$ FILE_COUNTER = FILE_COUNTER + 1
174$!
175$! Create The Source File Name.
176$!
177$ SOURCE_FILE = "SYS$DISK:[]" + FILE_NAME + ".C"
178$!
179$! Create The Object File Name.
180$!
181$ OBJECT_FILE = OBJ_DIR + FILE_NAME + ".OBJ"
182$!
183$! Create The Executable File Name.
184$!
185$ EXE_FILE = EXE_DIR + FILE_NAME + ".EXE"
186$ ON WARNING THEN GOTO NEXT_FILE
187$!
188$! Check To See If The File We Want To Compile Actually Exists.
189$!
190$ IF (F$SEARCH(SOURCE_FILE).EQS."")
191$ THEN
192$!
193$! Tell The User That The File Dosen't Exist.
194$!
195$ WRITE SYS$OUTPUT ""
196$ WRITE SYS$OUTPUT "The File ",SOURCE_FILE," Dosen't Exist."
197$ WRITE SYS$OUTPUT ""
198$!
199$! Exit The Build.
200$!
201$ GOTO EXIT
202$ ENDIF
203$!
204$! Tell The User What We Are Building.
205$!
206$ WRITE SYS$OUTPUT "Building The ",FILE_NAME," Test Program."
207$!
208$! Compile The File.
209$!
210$ ON ERROR THEN GOTO NEXT_FILE
211$ CC/OBJECT='OBJECT_FILE' 'SOURCE_FILE'
212$ ON WARNING THEN GOTO NEXT_FILE
213$!
214$! Check If What We Are About To Compile Works Without A TCP/IP Library.
215$!
216$ IF ((TCPIP_LIB.EQS."").AND.((TCPIP_PROGRAMS-FILE_NAME).NES.TCPIP_PROGRAMS))
217$ THEN
218$!
219$! Inform The User That A TCP/IP Library Is Needed To Compile This Program.
220$!
221$ WRITE SYS$OUTPUT FILE_NAME," Needs A TCP/IP Library. Can't Link. Skipping..."
222$ GOTO NEXT_FILE
223$!
224$! End The TCP/IP Library Check.
225$!
226$ ENDIF
227$!
228$! Link The Program, Check To See If We Need To Link With RSAREF Or Not.
229$!
230$ IF (RSAREF.EQS."TRUE")
231$ THEN
232$!
233$! Check To See If We Are To Link With A Specific TCP/IP Library.
234$!
235$ IF (TCPIP_LIB.NES."")
236$ THEN
237$!
238$! Link With The RSAREF Library And A Specific TCP/IP Library.
239$!
240$ LINK/'DEBUGGER'/'TRACEBACK' /EXE='EXE_FILE' -
241 'OBJECT_FILE',-
242 'SSL_LIB'/LIBRARY,'CRYPTO_LIB'/LIBRARY,'RSAREF_LIB'/LIBRARY, -
243 'TCPIP_LIB','OPT_FILE'/OPTION
244$!
245$! Else...
246$!
247$ ELSE
248$!
249$! Link With The RSAREF Library And NO TCP/IP Library.
250$!
251$ LINK/'DEBUGGER'/'TRACEBACK' /EXE='EXE_FILE' -
252 'OBJECT_FILE', -
253 'SSL_LIB'/LIBRARY,'CRYPTO_LIB'/LIBRARY,'RSAREF_LIB'/LIBRARY, -
254 'OPT_FILE'/OPTION
255$!
256$! End The TCP/IP Library Check.
257$!
258$ ENDIF
259$!
260$! Else...
261$!
262$ ELSE
263$!
264$! Don't Link With The RSAREF Routines.
265$!
266$!
267$! Check To See If We Are To Link With A Specific TCP/IP Library.
268$!
269$ IF (TCPIP_LIB.NES."")
270$ THEN
271$!
272$! Don't Link With The RSAREF Routines And TCP/IP Library.
273$!
274$ LINK/'DEBUGGER'/'TRACEBACK' /EXE='EXE_FILE' -
275 'OBJECT_FILE', -
276 'SSL_LIB'/LIBRARY,'CRYPTO_LIB'/LIBRARY, -
277 'TCPIP_LIB','OPT_FILE'/OPTION
278$!
279$! Else...
280$!
281$ ELSE
282$!
283$! Don't Link With The RSAREF Routines And Link With A TCP/IP Library.
284$!
285$ LINK/'DEBUGGER'/'TRACEBACK' /EXE='EXE_FILE' -
286 'OBJECT_FILE', -
287 'SSL_LIB'/LIBRARY,'CRYPTO_LIB'/LIBRARY, -
288 'OPT_FILE'/OPTION
289$!
290$! End The TCP/IP Library Check.
291$!
292$ ENDIF
293$!
294$! End The RSAREF Link Check.
295$!
296$ ENDIF
297$!
298$! Go Back And Do It Again.
299$!
300$ GOTO NEXT_FILE
301$!
302$! All Done With This Library Part.
303$!
304$ FILE_DONE:
305$!
306$! All Done, Time To Exit.
307$!
308$ EXIT:
309$ GOSUB CLEANUP
310$ EXIT
311$!
312$! Check For The Link Option FIle.
313$!
314$ CHECK_OPT_FILE:
315$!
316$! Check To See If We Need To Make A VAX C Option File.
317$!
318$ IF (COMPILER.EQS."VAXC")
319$ THEN
320$!
321$! Check To See If We Already Have A VAX C Linker Option File.
322$!
323$ IF (F$SEARCH(OPT_FILE).EQS."")
324$ THEN
325$!
326$! We Need A VAX C Linker Option File.
327$!
328$ CREATE 'OPT_FILE'
329$DECK
330!
331! Default System Options File To Link Agianst
332! The Sharable VAX C Runtime Library.
333!
334SYS$SHARE:VAXCRTL.EXE/SHARE
335$EOD
336$!
337$! End The Option File Check.
338$!
339$ ENDIF
340$!
341$! End The VAXC Check.
342$!
343$ ENDIF
344$!
345$! Check To See If We Need A GNU C Option File.
346$!
347$ IF (COMPILER.EQS."GNUC")
348$ THEN
349$!
350$! Check To See If We Already Have A GNU C Linker Option File.
351$!
352$ IF (F$SEARCH(OPT_FILE).EQS."")
353$ THEN
354$!
355$! We Need A GNU C Linker Option File.
356$!
357$ CREATE 'OPT_FILE'
358$DECK
359!
360! Default System Options File To Link Agianst
361! The Sharable C Runtime Library.
362!
363GNU_CC:[000000]GCCLIB/LIBRARY
364SYS$SHARE:VAXCRTL/SHARE
365$EOD
366$!
367$! End The Option File Check.
368$!
369$ ENDIF
370$!
371$! End The GNU C Check.
372$!
373$ ENDIF
374$!
375$! Check To See If We Need A DEC C Option File.
376$!
377$ IF (COMPILER.EQS."DECC")
378$ THEN
379$!
380$! Check To See If We Already Have A DEC C Linker Option File.
381$!
382$ IF (F$SEARCH(OPT_FILE).EQS."")
383$ THEN
384$!
385$! Figure Out If We Need An AXP Or A VAX Linker Option File.
386$!
387$ IF (ARCH.EQS."VAX")
388$ THEN
389$!
390$! We Need A DEC C Linker Option File For VAX.
391$!
392$ CREATE 'OPT_FILE'
393$DECK
394!
395! Default System Options File To Link Agianst
396! The Sharable DEC C Runtime Library.
397!
398SYS$SHARE:DECC$SHR.EXE/SHARE
399$EOD
400$!
401$! Else...
402$!
403$ ELSE
404$!
405$! Create The AXP Linker Option File.
406$!
407$ CREATE 'OPT_FILE'
408$DECK
409!
410! Default System Options File For AXP To Link Agianst
411! The Sharable C Runtime Library.
412!
413SYS$SHARE:CMA$OPEN_LIB_SHR/SHARE
414SYS$SHARE:CMA$OPEN_RTL/SHARE
415$EOD
416$!
417$! End The VAX/AXP DEC C Option File Check.
418$!
419$ ENDIF
420$!
421$! End The Option File Search.
422$!
423$ ENDIF
424$!
425$! End The DEC C Check.
426$!
427$ ENDIF
428$!
429$! Tell The User What Linker Option File We Are Using.
430$!
431$ WRITE SYS$OUTPUT "Using Linker Option File ",OPT_FILE,"."
432$!
433$! Time To RETURN.
434$!
435$ RETURN
436$!
437$! Check To See If We Have The Appropiate Libraries.
438$!
439$ LIB_CHECK:
440$!
441$! Look For The Library LIBCRYPTO.OLB.
442$!
443$ IF (F$SEARCH(CRYPTO_LIB).EQS."")
444$ THEN
445$!
446$! Tell The User We Can't Find The LIBCRYPTO.OLB Library.
447$!
448$ WRITE SYS$OUTPUT ""
449$ WRITE SYS$OUTPUT "Can't Find The Library ",CRYPTO_LIB,"."
450$ WRITE SYS$OUTPUT "We Can't Link Without It."
451$ WRITE SYS$OUTPUT ""
452$!
453$! Since We Can't Link Without It, Exit.
454$!
455$ EXIT
456$!
457$! End The Crypto Library Check.
458$!
459$ ENDIF
460$!
461$! See If We Need The RSAREF Library...
462$!
463$ IF (RSAREF.EQS."TRUE")
464$ THEN
465$!
466$! Look For The Library LIBRSAGLUE.OLB.
467$!
468$ IF (F$SEARCH(RSAREF_LIB).EQS."")
469$ THEN
470$!
471$! Tell The User We Can't Find The LIBRSAGLUE.OLB Library.
472$!
473$ WRITE SYS$OUTPUT ""
474$ WRITE SYS$OUTPUT "Can't Find The Library ",RSAREF_LIB,"."
475$ WRITE SYS$OUTPUT "We Can't Link Without It."
476$ WRITE SYS$OUTPUT ""
477$!
478$! Since We Can't Link Without It, Exit.
479$!
480$ EXIT
481$ ENDIF
482$!
483$! End The RSAREF Library Check.
484$!
485$ ENDIF
486$!
487$! Look For The Library LIBSSL.OLB.
488$!
489$ IF (F$SEARCH(SSL_LIB).EQS."")
490$ THEN
491$!
492$! Tell The User We Can't Find The LIBSSL.OLB Library.
493$!
494$ WRITE SYS$OUTPUT ""
495$ WRITE SYS$OUTPUT "Can't Find The Library ",SSL_LIB,"."
496$ WRITE SYS$OUTPUT "Some Of The Test Programs Need To Link To It."
497$ WRITE SYS$OUTPUT ""
498$!
499$! Since We Can't Link Without It, Exit.
500$!
501$ EXIT
502$!
503$! End The SSL Library Check.
504$!
505$ ENDIF
506$!
507$! Time To Return.
508$!
509$ RETURN
510$!
511$! Check The User's Options.
512$!
513$ CHECK_OPTIONS:
514$!
515$! Check To See If P1 Is Blank.
516$!
517$ IF (P1.EQS."NORSAREF")
518$ THEN
519$!
520$! P1 Is NORSAREF, So Compile With The Regular RSA Libraries.
521$!
522$ RSAREF = "FALSE"
523$ ELSE
524$!
525$! Check To See If We Are To Use The RSAREF Library.
526$!
527$ IF (P1.EQS."RSAREF")
528$ THEN
529$!
530$! Check To Make Sure We Have The RSAREF Source Code Directory.
531$!
532$ IF (F$SEARCH("SYS$DISK:[-.RSAREF]SOURCE.DIR").EQS."")
533$ THEN
534$!
535$! We Don't Have The RSAREF Souce Code Directory, So Tell The
536$! User This.
537$!
538$ WRITE SYS$OUTPUT ""
539$ WRITE SYS$OUTPUT "It appears that you don't have the RSAREF Souce Code."
540$ WRITE SYS$OUTPUT "You need to go to 'ftp://ftp.rsa.com/rsaref'. You have to"
541$ WRITE SYS$OUTPUT "get the '.tar-Z' file as the '.zip' file dosen't have the"
542$ WRITE SYS$OUTPUT "directory structure stored. You have to extract the file"
543$ WRITE SYS$OUTPUT "into the [.RSAREF] directory under the root directory"
544$ WRITE SYS$OUTPUT "as that is where the scripts will look for the files."
545$ WRITE SYS$OUTPUT ""
546$!
547$! Time To Exit.
548$!
549$ EXIT
550$!
551$! Else, Compile Using The RSAREF Library.
552$!
553$ ELSE
554$ RSAREF = "TRUE"
555$ ENDIF
556$ ELSE
557$!
558$! They Entered An Invalid Option..
559$!
560$ WRITE SYS$OUTPUT ""
561$ WRITE SYS$OUTPUT "The Option ",P1," Is Invalid. The Valid Options Are:"
562$ WRITE SYS$OUTPUT ""
563$ WRITE SYS$OUTPUT " RSAREF : Compile With The RSAREF Library."
564$ WRITE SYS$OUTPUT " NORSAREF : Compile With The Regular RSA Library."
565$ WRITE SYS$OUTPUT ""
566$!
567$! Time To EXIT.
568$!
569$ EXIT
570$!
571$! End The Valid Arguement Check.
572$!
573$ ENDIF
574$!
575$! End The P1 Check.
576$!
577$ ENDIF
578$!
579$! Check To See If P2 Is Blank.
580$!
581$ IF (P2.EQS."NODEBUG")
582$ THEN
583$!
584$! P2 Is NODEBUG, So Compile Without Debugger Information.
585$!
586$ DEBUGGER = "NODEBUG"
587$ TRACEBACK = "NOTRACEBACK"
588$ GCC_OPTIMIZE = "OPTIMIZE"
589$ CC_OPTIMIZE = "OPTIMIZE"
590$ WRITE SYS$OUTPUT "No Debugger Information Will Be Produced During Compile."
591$ WRITE SYS$OUTPUT "Compiling With Compiler Optimization."
592$!
593$! Else...
594$!
595$ ELSE
596$!
597$! Check To See If We Are To Compile With Debugger Information.
598$!
599$ IF (P2.EQS."DEBUG")
600$ THEN
601$!
602$! Compile With Debugger Information.
603$!
604$ DEBUGGER = "DEBUG"
605$ TRACEBACK = "TRACEBACK"
606$ GCC_OPTIMIZE = "NOOPTIMIZE"
607$ CC_OPTIMIZE = "NOOPTIMIZE"
608$ WRITE SYS$OUTPUT "Debugger Information Will Be Produced During Compile."
609$ WRITE SYS$OUTPUT "Compiling Without Compiler Optimization."
610$!
611$! Else...
612$!
613$ ELSE
614$!
615$! Tell The User Entered An Invalid Option..
616$!
617$ WRITE SYS$OUTPUT ""
618$ WRITE SYS$OUTPUT "The Option ",P2," Is Invalid. The Valid Options Are:"
619$ WRITE SYS$OUTPUT ""
620$ WRITE SYS$OUTPUT " DEBUG : Compile With The Debugger Information."
621$ WRITE SYS$OUTPUT " NODEBUG : Compile Without The Debugger Information."
622$ WRITE SYS$OUTPUT ""
623$!
624$! Time To EXIT.
625$!
626$ EXIT
627$!
628$! End The Valid Arguement Check.
629$!
630$ ENDIF
631$!
632$! End The P3 Check.
633$!
634$ ENDIF
635$!
636$! Check To See If P3 Is Blank.
637$!
638$ IF (P3.EQS."")
639$ THEN
640$!
641$! O.K., The User Didn't Specify A Compiler, Let's Try To
642$! Find Out Which One To Use.
643$!
644$! Check To See If We Have GNU C.
645$!
646$ IF (F$TRNLNM("GNU_CC").NES."")
647$ THEN
648$!
649$! Looks Like GNUC, Set To Use GNUC.
650$!
651$ P3 = "GNUC"
652$!
653$! End The GNU C Compiler Check.
654$!
655$ ELSE
656$!
657$! Check To See If We Have VAXC Or DECC.
658$!
659$ IF (ARCH.EQS."AXP").OR.(F$TRNLNM("DECC$CC_DEFAULT").NES."")
660$ THEN
661$!
662$! Looks Like DECC, Set To Use DECC.
663$!
664$ P3 = "DECC"
665$!
666$! Else...
667$!
668$ ELSE
669$!
670$! Looks Like VAXC, Set To Use VAXC.
671$!
672$ P3 = "VAXC"
673$!
674$! End The VAXC Compiler Check.
675$!
676$ ENDIF
677$!
678$! End The DECC & VAXC Compiler Check.
679$!
680$ ENDIF
681$!
682$! End The Compiler Check.
683$!
684$ ENDIF
685$!
686$! Check To See If We Have A Option For P4.
687$!
688$ IF (P4.EQS."")
689$ THEN
690$!
691$! Find out what socket library we have available
692$!
693$ IF F$PARSE("SOCKETSHR:") .NES. ""
694$ THEN
695$!
696$! We have SOCKETSHR, and it is my opinion that it's the best to use.
697$!
698$ P4 = "SOCKETSHR"
699$!
700$! Tell the user
701$!
702$ WRITE SYS$OUTPUT "Using SOCKETSHR for TCP/IP"
703$!
704$! Else, let's look for something else
705$!
706$ ELSE
707$!
708$! Like UCX (the reason to do this before Multinet is that the UCX
709$! emulation is easier to use...)
710$!
711$ IF F$TRNLNM("UCX$IPC_SHR") .NES. "" -
712 .OR. F$PARSE("SYS$SHARE:UCX$IPC_SHR.EXE") .NES. "" -
713 .OR. F$PARSE("SYS$LIBRARY:UCX$IPC.OLB") .NES. ""
714$ THEN
715$!
716$! Last resort: a UCX or UCX-compatible library
717$!
718$ P4 = "UCX"
719$!
720$! Tell the user
721$!
722$ WRITE SYS$OUTPUT "Using UCX or an emulation thereof for TCP/IP"
723$!
724$! That was all...
725$!
726$ ENDIF
727$ ENDIF
728$ ENDIF
729$!
730$! Set Up Initial CC Definitions, Possibly With User Ones
731$!
732$ CCDEFS = "VMS=1,TCPIP_TYPE_''P4'"
733$ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS
734$ CCEXTRAFLAGS = ""
735$ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS
736$ CCDISABLEWARNINGS = ""
737$ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN -
738 CCDISABLEWARNINGS = USER_CCDISABLEWARNINGS
739$!
740$! Check To See If The User Entered A Valid Paramter.
741$!
742$ IF (P3.EQS."VAXC").OR.(P3.EQS."DECC").OR.(P3.EQS."GNUC")
743$ THEN
744$!
745$! Check To See If The User Wanted DECC.
746$!
747$ IF (P3.EQS."DECC")
748$ THEN
749$!
750$! Looks Like DECC, Set To Use DECC.
751$!
752$ COMPILER = "DECC"
753$!
754$! Tell The User We Are Using DECC.
755$!
756$ WRITE SYS$OUTPUT "Using DECC 'C' Compiler."
757$!
758$! Use DECC...
759$!
760$ CC = "CC"
761$ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" -
762 THEN CC = "CC/DECC"
763$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89" + -
764 "/NOLIST/PREFIX=ALL" + CCEXTRAFLAGS
765$!
766$! Define The Linker Options File Name.
767$!
768$ OPT_FILE = "SYS$DISK:[]VAX_DECC_OPTIONS.OPT"
769$!
770$! End DECC Check.
771$!
772$ ENDIF
773$!
774$! Check To See If We Are To Use VAXC.
775$!
776$ IF (P3.EQS."VAXC")
777$ THEN
778$!
779$! Looks Like VAXC, Set To Use VAXC.
780$!
781$ COMPILER = "VAXC"
782$!
783$! Tell The User We Are Using VAX C.
784$!
785$ WRITE SYS$OUTPUT "Using VAXC 'C' Compiler."
786$!
787$! Compile Using VAXC.
788$!
789$ CC = "CC"
790$ IF ARCH.EQS."AXP"
791$ THEN
792$ WRITE SYS$OUTPUT "There is no VAX C on Alpha!"
793$ EXIT
794$ ENDIF
795$ IF F$TRNLNM("DECC$CC_DEFAULT").EQS."/DECC" THEN CC = "CC/VAXC"
796$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/NOLIST" + CCEXTRAFLAGS
797$ CCDEFS = CCDEFS + ",""VAXC"""
798$!
799$! Define <sys> As SYS$COMMON:[SYSLIB]
800$!
801$ DEFINE/NOLOG SYS SYS$COMMON:[SYSLIB]
802$!
803$! Define The Linker Options File Name.
804$!
805$ OPT_FILE = "SYS$DISK:[]VAX_VAXC_OPTIONS.OPT"
806$!
807$! End VAXC Check
808$!
809$ ENDIF
810$!
811$! Check To See If We Are To Use GNU C.
812$!
813$ IF (P3.EQS."GNUC")
814$ THEN
815$!
816$! Looks Like GNUC, Set To Use GNUC.
817$!
818$ COMPILER = "GNUC"
819$!
820$! Tell The User We Are Using GNUC.
821$!
822$ WRITE SYS$OUTPUT "Using GNU 'C' Compiler."
823$!
824$! Use GNU C...
825$!
826$ CC = "GCC/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + CCEXTRAFLAGS
827$!
828$! Define The Linker Options File Name.
829$!
830$ OPT_FILE = "SYS$DISK:[]VAX_GNUC_OPTIONS.OPT"
831$!
832$! End The GNU C Check.
833$!
834$ ENDIF
835$!
836$! Set up default defines
837$!
838$ CCDEFS = """FLAT_INC=1""," + CCDEFS
839$!
840$! Check To See If We Are To Compile With RSAREF Routines.
841$!
842$ IF (RSAREF.EQS."TRUE")
843$ THEN
844$!
845$! Compile With RSAREF.
846$!
847$ CCDEFS = CCDEFS + ",""RSAref=1"""
848$!
849$! Tell The User This.
850$!
851$ WRITE SYS$OUTPUT "Compiling With RSAREF Routines."
852$!
853$! Else, We Don't Care. Compile Without The RSAREF Library.
854$!
855$ ELSE
856$!
857$! Tell The User We Are Compile Without The RSAREF Routines.
858$!
859$ WRITE SYS$OUTPUT "Compiling Without The RSAREF Routines.
860$!
861$! End The RSAREF Check.
862$!
863$ ENDIF
864$!
865$! Finish up the definition of CC.
866$!
867$ IF COMPILER .EQS. "DECC"
868$ THEN
869$ IF CCDISABLEWARNINGS .EQS. ""
870$ THEN
871$ CC4DISABLEWARNINGS = "DOLLARID"
872$ ELSE
873$ CC4DISABLEWARNINGS = CCDISABLEWARNINGS + ",DOLLARID"
874$ CCDISABLEWARNINGS = "/WARNING=(DISABLE=(" + CCDISABLEWARNINGS + "))"
875$ ENDIF
876$ CC4DISABLEWARNINGS = "/WARNING=(DISABLE=(" + CC4DISABLEWARNINGS + "))"
877$ ELSE
878$ CCDISABLEWARNINGS = ""
879$ CC4DISABLEWARNINGS = ""
880$ ENDIF
881$ CC = CC + "/DEFINE=(" + CCDEFS + ")" + CCDISABLEWARNINGS
882$!
883$! Show user the result
884$!
885$ WRITE SYS$OUTPUT "Main Compiling Command: ",CC
886$!
887$! Else The User Entered An Invalid Arguement.
888$!
889$ ELSE
890$!
891$! Tell The User We Don't Know What They Want.
892$!
893$ WRITE SYS$OUTPUT ""
894$ WRITE SYS$OUTPUT "The Option ",P3," Is Invalid. The Valid Options Are:"
895$ WRITE SYS$OUTPUT ""
896$ WRITE SYS$OUTPUT " VAXC : To Compile With VAX C."
897$ WRITE SYS$OUTPUT " DECC : To Compile With DEC C."
898$ WRITE SYS$OUTPUT " GNUC : To Compile With GNU C."
899$ WRITE SYS$OUTPUT ""
900$!
901$! Time To EXIT.
902$!
903$ EXIT
904$ ENDIF
905$!
906$! Time to check the contents, and to make sure we get the correct library.
907$!
908$ IF P4.EQS."SOCKETSHR" .OR. P4.EQS."MULTINET" .OR. P4.EQS."UCX"
909$ THEN
910$!
911$! Check to see if SOCKETSHR was chosen
912$!
913$ IF P4.EQS."SOCKETSHR"
914$ THEN
915$!
916$! Set the library to use SOCKETSHR
917$!
918$ TCPIP_LIB = "[-.VMS]SOCKETSHR_SHR.OPT/OPT"
919$!
920$! Done with SOCKETSHR
921$!
922$ ENDIF
923$!
924$! Check to see if MULTINET was chosen
925$!
926$ IF P4.EQS."MULTINET"
927$ THEN
928$!
929$! Set the library to use UXC emulation.
930$!
931$ P4 = "UCX"
932$!
933$! Done with MULTINET
934$!
935$ ENDIF
936$!
937$! Check to see if UCX was chosen
938$!
939$ IF P4.EQS."UCX"
940$ THEN
941$!
942$! Set the library to use UCX.
943$!
944$ TCPIP_LIB = "[-.VMS]UCX_SHR_DECC.OPT/OPT"
945$ IF F$TRNLNM("UCX$IPC_SHR") .NES. ""
946$ THEN
947$ TCPIP_LIB = "[-.VMS]UCX_SHR_DECC_LOG.OPT/OPT"
948$ ELSE
949$ IF COMPILER .NES. "DECC" .AND. ARCH .EQS. "VAX" THEN -
950 TCPIP_LIB = "[-.VMS]UCX_SHR_VAXC.OPT/OPT"
951$ ENDIF
952$!
953$! Done with UCX
954$!
955$ ENDIF
956$!
957$! Print info
958$!
959$ WRITE SYS$OUTPUT "TCP/IP library spec: ", TCPIP_LIB
960$!
961$! Else The User Entered An Invalid Arguement.
962$!
963$ ELSE
964$!
965$! Tell The User We Don't Know What They Want.
966$!
967$ WRITE SYS$OUTPUT ""
968$ WRITE SYS$OUTPUT "The Option ",P4," Is Invalid. The Valid Options Are:"
969$ WRITE SYS$OUTPUT ""
970$ WRITE SYS$OUTPUT " SOCKETSHR : To link with SOCKETSHR TCP/IP library."
971$ WRITE SYS$OUTPUT " UCX : To link with UCX TCP/IP library."
972$ WRITE SYS$OUTPUT ""
973$!
974$! Time To EXIT.
975$!
976$ EXIT
977$!
978$! Done with TCP/IP libraries
979$!
980$ ENDIF
981$!
982$! Special Threads For OpenVMS v7.1 Or Later
983$!
984$! Written By: Richard Levitte
985$! richard@levitte.org
986$!
987$!
988$! Check To See If We Have A Option For P5.
989$!
990$ IF (P5.EQS."")
991$ THEN
992$!
993$! Get The Version Of VMS We Are Using.
994$!
995$ ISSEVEN :=
996$ TMP = F$ELEMENT(0,"-",F$EXTRACT(1,4,F$GETSYI("VERSION")))
997$ TMP = F$INTEGER(F$ELEMENT(0,".",TMP)+F$ELEMENT(1,".",TMP))
998$!
999$! Check To See If The VMS Version Is v7.1 Or Later.
1000$!
1001$ IF (TMP.GE.71)
1002$ THEN
1003$!
1004$! We Have OpenVMS v7.1 Or Later, So Use The Special Threads.
1005$!
1006$ ISSEVEN := ,PTHREAD_USE_D4
1007$!
1008$! End The VMS Version Check.
1009$!
1010$ ENDIF
1011$!
1012$! End The P5 Check.
1013$!
1014$ ENDIF
1015$!
1016$! Time To RETURN...
1017$!
1018$ RETURN
1019$!
1020$ INITIALISE:
1021$!
1022$! Save old value of the logical name OPENSSL
1023$!
1024$ __SAVE_OPENSSL = F$TRNLNM("OPENSSL","LNM$PROCESS_TABLE")
1025$!
1026$! Save directory information
1027$!
1028$ __HERE = F$PARSE(F$PARSE("A.;",F$ENVIRONMENT("PROCEDURE"))-"A.;","[]A.;") - "A.;"
1029$ __TOP = __HERE - "TEST]"
1030$ __INCLUDE = __TOP + "INCLUDE.OPENSSL]"
1031$!
1032$! Set up the logical name OPENSSL to point at the include directory
1033$!
1034$ DEFINE OPENSSL/NOLOG '__INCLUDE'
1035$!
1036$! Done
1037$!
1038$ RETURN
1039$!
1040$ CLEANUP:
1041$!
1042$! Restore the logical name OPENSSL if it had a value
1043$!
1044$ IF __SAVE_OPENSSL .EQS. ""
1045$ THEN
1046$ DEASSIGN OPENSSL
1047$ ELSE
1048$ DEFINE/NOLOG OPENSSL '__SAVE_OPENSSL'
1049$ ENDIF
1050$!
1051$! Done
1052$!
1053$ RETURN
diff --git a/src/lib/libssl/test/tcrl.com b/src/lib/libssl/test/tcrl.com
new file mode 100644
index 0000000000..cef21467bb
--- /dev/null
+++ b/src/lib/libssl/test/tcrl.com
@@ -0,0 +1,78 @@
1$! TCRL.COM -- Tests crl keys
2$
3$ __arch := VAX
4$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
5$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
6$
7$ cmd := mcr 'exe_dir'openssl crl
8$
9$ t := testcrl.pem
10$ if p1 .nes. "" then t = p1
11$
12$ write sys$output "testing CRL conversions"
13$ copy 't' fff.p
14$
15$ write sys$output "p -> d"
16$ 'cmd' -in fff.p -inform p -outform d -out f.d
17$ if $severity .ne. 1 then exit 3
18$! write sys$output "p -> t"
19$! 'cmd' -in fff.p -inform p -outform t -out f.t
20$! if $severity .ne. 1 then exit 3
21$ write sys$output "p -> p"
22$ 'cmd' -in fff.p -inform p -outform p -out f.p
23$ if $severity .ne. 1 then exit 3
24$
25$ write sys$output "d -> d"
26$ 'cmd' -in f.d -inform d -outform d -out ff.d1
27$ if $severity .ne. 1 then exit 3
28$! write sys$output "t -> d"
29$! 'cmd' -in f.t -inform t -outform d -out ff.d2
30$! if $severity .ne. 1 then exit 3
31$ write sys$output "p -> d"
32$ 'cmd' -in f.p -inform p -outform d -out ff.d3
33$ if $severity .ne. 1 then exit 3
34$
35$! write sys$output "d -> t"
36$! 'cmd' -in f.d -inform d -outform t -out ff.t1
37$! if $severity .ne. 1 then exit 3
38$! write sys$output "t -> t"
39$! 'cmd' -in f.t -inform t -outform t -out ff.t2
40$! if $severity .ne. 1 then exit 3
41$! write sys$output "p -> t"
42$! 'cmd' -in f.p -inform p -outform t -out ff.t3
43$! if $severity .ne. 1 then exit 3
44$
45$ write sys$output "d -> p"
46$ 'cmd' -in f.d -inform d -outform p -out ff.p1
47$ if $severity .ne. 1 then exit 3
48$! write sys$output "t -> p"
49$! 'cmd' -in f.t -inform t -outform p -out ff.p2
50$! if $severity .ne. 1 then exit 3
51$ write sys$output "p -> p"
52$ 'cmd' -in f.p -inform p -outform p -out ff.p3
53$ if $severity .ne. 1 then exit 3
54$
55$ difference/output=nl: fff.p f.p
56$ if $severity .ne. 1 then exit 3
57$ difference/output=nl: fff.p ff.p1
58$ if $severity .ne. 1 then exit 3
59$! difference/output=nl: fff.p ff.p2
60$! if $severity .ne. 1 then exit 3
61$ difference/output=nl: fff.p ff.p3
62$ if $severity .ne. 1 then exit 3
63$
64$! difference/output=nl: f.t ff.t1
65$! if $severity .ne. 1 then exit 3
66$! difference/output=nl: f.t ff.t2
67$! if $severity .ne. 1 then exit 3
68$! difference/output=nl: f.t ff.t3
69$! if $severity .ne. 1 then exit 3
70$
71$ difference/output=nl: f.p ff.p1
72$ if $severity .ne. 1 then exit 3
73$! difference/output=nl: f.p ff.p2
74$! if $severity .ne. 1 then exit 3
75$ difference/output=nl: f.p ff.p3
76$ if $severity .ne. 1 then exit 3
77$
78$ delete f.*;*,ff.*;*,fff.*;*
diff --git a/src/lib/libssl/test/testca.com b/src/lib/libssl/test/testca.com
new file mode 100644
index 0000000000..ea75479cd5
--- /dev/null
+++ b/src/lib/libssl/test/testca.com
@@ -0,0 +1,76 @@
1$! TESTCA.COM
2$
3$ __arch := VAX
4$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
5$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
6$
7$ openssl := mcr 'exe_dir'openssl
8$
9$ SSLEAY_CONFIG="-config ""CAss.cnf"""
10$
11$ set noon
12$ if f$search("demoCA.dir") .nes. ""
13$ then
14$ call deltree [.demoCA]*.*
15$ set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) demoCA.dir;*
16$ delete demoCA.dir;*
17$ endif
18$ set on
19$ open/read sys$ca_input VMSca-response.1
20$ @[-.apps]CA.com -input sys$ca_input -newca
21$ close sys$ca_input
22$ if $severity .ne. 1 then exit 3
23$
24$
25$ SSLEAY_CONFIG="-config ""Uss.cnf"""
26$ @[-.apps]CA.com -newreq
27$ if $severity .ne. 1 then exit 3
28$
29$
30$ SSLEAY_CONFIG="-config [-.apps]openssl-vms.cnf"
31$ open/read sys$ca_input VMSca-response.2
32$ @[-.apps]CA.com -input sys$ca_input -sign
33$ close sys$ca_input
34$ if $severity .ne. 1 then exit 3
35$
36$
37$ @[-.apps]CA.com -verify newcert.pem
38$ if $severity .ne. 1 then exit 3
39$
40$ set noon
41$ call deltree [.demoCA]*.*
42$ set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) demoCA.dir;*
43$ delete demoCA.dir;*,newcert.pem;*,newreq.pem;*
44$ set on
45$! #usage: CA -newcert|-newreq|-newca|-sign|-verify
46$
47$ exit
48$
49$ deltree: subroutine ! P1 is a name of a directory
50$ on control_y then goto dt_STOP
51$ on warning then goto dt_exit
52$ _dt_def = f$trnlnm("SYS$DISK")+f$directory()
53$ if f$parse(p1) .eqs. "" then exit
54$ set default 'f$parse(p1,,,"DEVICE")''f$parse(p1,,,"DIRECTORY")'
55$ p1 = f$parse(p1,,,"NAME") + f$parse(p1,,,"TYPE")
56$ _fp = f$parse(".DIR",p1)
57$ dt_loop:
58$ _f = f$search(_fp)
59$ if _f .eqs. "" then goto dt_loopend
60$ call deltree [.'f$parse(_f,,,"NAME")']*.*
61$ goto dt_loop
62$ dt_loopend:
63$ _fp = f$parse(p1,".;*")
64$ if f$search(_fp) .eqs. "" then goto dt_exit
65$ set noon
66$ set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) '_fp'
67$ set on
68$ delete/nolog '_fp'
69$ dt_exit:
70$ set default '_dt_def'
71$ exit
72$ dt_STOP:
73$ set default '_dt_def'
74$ stop/id=""
75$ exit
76$ endsubroutine
diff --git a/src/lib/libssl/test/testenc.com b/src/lib/libssl/test/testenc.com
new file mode 100644
index 0000000000..0756e8bada
--- /dev/null
+++ b/src/lib/libssl/test/testenc.com
@@ -0,0 +1,50 @@
1$! TESTENC.COM -- Test encoding and decoding
2$
3$ __arch := VAX
4$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
5$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
6$
7$ testsrc := makefile.ssl
8$ test := p.txt
9$ cmd := mcr 'exe_dir'openssl
10$
11$ copy 'testsrc' 'test'
12$
13$ write sys$output "cat"
14$ 'cmd' enc -in 'test' -out 'test'-cipher
15$ 'cmd' enc -in 'test'-cipher -out 'test'-clear
16$ difference/output=nl: 'test' 'test'-clear
17$ if $severity .ne. 1 then exit 3
18$ delete 'test'-cipher;*,'test'-clear;*
19$
20$ write sys$output "base64"
21$ 'cmd' enc -a -e -in 'test' -out 'test'-cipher
22$ 'cmd' enc -a -d -in 'test'-cipher -out 'test'-clear
23$ difference/output=nl: 'test' 'test'-clear
24$ if $severity .ne. 1 then exit 3
25$ delete 'test'-cipher;*,'test'-clear;*
26$
27$ define/user sys$output 'test'-cipher-commands
28$ 'cmd' list-cipher-commands
29$ open/read f 'test'-cipher-commands
30$ loop_cipher_commands:
31$ read/end=loop_cipher_commands_end f i
32$ write sys$output i
33$ 'cmd' 'i' -bufsize 113 -e -k test -in 'test' -out 'test'-'i'-cipher
34$ 'cmd' 'i' -bufsize 157 -d -k test -in 'test'-'i'-cipher -out 'test'-'i'-clear
35$ difference/output=nl: 'test' 'test'-'i'-clear
36$ if $severity .ne. 1 then exit 3
37$ delete 'test'-'i'-cipher;*,'test'-'i'-clear;*
38$
39$ write sys$output i," base64"
40$ 'cmd' 'i' -bufsize 113 -a -e -k test -in 'test' -out 'test'-'i'-cipher
41$ 'cmd' 'i' -bufsize 157 -a -d -k test -in 'test'-'i'-cipher -out 'test'-'i'-clear
42$ difference/output=nl: 'test' 'test'-'i'-clear
43$ if $severity .ne. 1 then exit 3
44$ delete 'test'-'i'-cipher;*,'test'-'i'-clear;*
45$
46$ goto loop_cipher_commands
47$ loop_cipher_commands_end:
48$ close f
49$ delete 'test'-cipher-commands;*
50$ delete 'test';*
diff --git a/src/lib/libssl/test/testgen.com b/src/lib/libssl/test/testgen.com
new file mode 100644
index 0000000000..ec302f524a
--- /dev/null
+++ b/src/lib/libssl/test/testgen.com
@@ -0,0 +1,35 @@
1$! TETSGEN.COM
2$
3$ __arch := VAX
4$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
5$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
6$
7$ T := testcert
8$ KEY = 512
9$ CA := [-.certs]testca.pem
10$
11$ set noon
12$ if f$search(T+".1;*") .nes. "" then delete 'T'.1;*
13$ if f$search(T+".2;*") .nes. "" then delete 'T'.2;*
14$ if f$search(T+".key;*") .nes. "" then delete 'T'.key;*
15$ set on
16$
17$ write sys$output "generating certificate request"
18$
19$ write sys$output "There should be a 2 sequences of .'s and some +'s."
20$ write sys$output "There should not be more that at most 80 per line"
21$ write sys$output "This could take some time."
22$
23$ mcr 'exe_dir'openssl req -config test.cnf -new -out testreq.pem
24$ if $severity .ne. 1
25$ then
26$ write sys$output "problems creating request"
27$ exit 3
28$ endif
29$
30$ mcr 'exe_dir'openssl req -verify -in testreq.pem -noout
31$ if $severity .ne. 1
32$ then
33$ write sys$output "signature on req is wrong"
34$ exit 3
35$ endif
diff --git a/src/lib/libssl/test/tests.com b/src/lib/libssl/test/tests.com
new file mode 100644
index 0000000000..147b8aa838
--- /dev/null
+++ b/src/lib/libssl/test/tests.com
@@ -0,0 +1,203 @@
1$! TESTS.COM -- Performs the necessary tests
2$!
3$! P1 tests to be performed. Empty means all.
4$
5$ __proc = f$element(0,";",f$environment("procedure"))
6$ __here = f$parse(f$parse("A.;",__proc) - "A.;","[]A.;") - "A.;"
7$ __save_default = f$environment("default")
8$ __arch := VAX
9$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
10$ texe_dir := sys$disk:[-.'__arch'.exe.test]
11$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
12$
13$ set default '__here'
14$ on control_y then goto exit
15$ on error then goto exit
16$
17$ if p1 .nes. ""
18$ then
19$ tests = p1
20$ else
21$ tests := -
22 test_des,test_idea,test_sha,test_md5,test_hmac,test_md2,test_mdc2,-
23 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_reqgen,test_req,test_pkcs7,test_verify,test_dh,test_dsa,-
26 test_ss,test_ssl,test_ca
27$ endif
28$ tests = f$edit(tests,"COLLAPSE")
29$
30$ BNTEST := bntest
31$ EXPTEST := exptest
32$ IDEATEST := ideatest
33$ SHATEST := shatest
34$ SHA1TEST := sha1test
35$ MDC2TEST := mdc2test
36$ RMDTEST := rmdtest
37$ MD2TEST := md2test
38$ MD5TEST := md5test
39$ HMACTEST := hmactest
40$ RC2TEST := rc2test
41$ RC4TEST := rc4test
42$ RC5TEST := rc5test
43$ BFTEST := bftest
44$ CASTTEST := casttest
45$ DESTEST := destest
46$ RANDTEST := randtest
47$ DHTEST := dhtest
48$ DSATEST := dsatest
49$ METHTEST := methtest
50$ SSLTEST := ssltest
51$ RSATEST := rsa_oaep_test
52$
53$ tests_i = 0
54$ loop_tests:
55$ tests_e = f$element(tests_i,",",tests)
56$ tests_i = tests_i + 1
57$ if tests_e .eqs. "," then goto exit
58$ goto 'tests_e'
59$
60$ test_des:
61$ mcr 'texe_dir''destest'
62$ goto loop_tests
63$ test_idea:
64$ mcr 'texe_dir''ideatest'
65$ goto loop_tests
66$ test_sha:
67$ mcr 'texe_dir''shatest'
68$ mcr 'texe_dir''sha1test'
69$ goto loop_tests
70$ test_mdc2:
71$ mcr 'texe_dir''mdc2test'
72$ goto loop_tests
73$ test_md5:
74$ mcr 'texe_dir''md5test'
75$ goto loop_tests
76$ test_hmac:
77$ mcr 'texe_dir''hmactest'
78$ goto loop_tests
79$ test_md2:
80$ mcr 'texe_dir''md2test'
81$ goto loop_tests
82$ test_rmd:
83$ mcr 'texe_dir''rmdtest'
84$ goto loop_tests
85$ test_bf:
86$ mcr 'texe_dir''bftest'
87$ goto loop_tests
88$ test_cast:
89$ mcr 'texe_dir''casttest'
90$ goto loop_tests
91$ test_rc2:
92$ mcr 'texe_dir''rc2test'
93$ goto loop_tests
94$ test_rc4:
95$ mcr 'texe_dir''rc4test'
96$ goto loop_tests
97$ test_rc5:
98$ mcr 'texe_dir''rc5test'
99$ goto loop_tests
100$ test_rand:
101$ mcr 'texe_dir''randtest'
102$ goto loop_tests
103$ test_enc:
104$ @testenc.com
105$ goto loop_tests
106$ test_x509:
107$ define sys$error nla0:
108$ write sys$output "test normal x509v1 certificate"
109$ @tx509.com
110$ write sys$output "test first x509v3 certificate"
111$ @tx509.com v3-cert1.pem
112$ write sys$output "test second x509v3 certificate"
113$ @tx509.com v3-cert2.pem
114$ deassign sys$error
115$ goto loop_tests
116$ test_rsa:
117$ define sys$error nla0:
118$ @trsa.com
119$ deassign sys$error
120$ mcr 'texe_dir''rsatest'
121$ goto loop_tests
122$ test_crl:
123$ define sys$error nla0:
124$ @tcrl.com
125$ deassign sys$error
126$ goto loop_tests
127$ test_sid:
128$ define sys$error nla0:
129$ @tsid.com
130$ deassign sys$error
131$ goto loop_tests
132$ test_req:
133$ define sys$error nla0:
134$ @treq.com
135$ @treq.com testreq2.pem
136$ deassign sys$error
137$ goto loop_tests
138$ test_pkcs7:
139$ define sys$error nla0:
140$ @tpkcs7.com
141$ @tpkcs7d.com
142$ deassign sys$error
143$ goto loop_tests
144$ test_bn:
145$ write sys$output "starting big number library test, could take a while..."
146$ create bntest-vms.fdl
147FILE
148 ORGANIZATION sequential
149RECORD
150 FORMAT stream_lf
151$ create/fdl=bntest-vms.fdl bntest-vms.sh
152$ open/append foo bntest-vms.sh
153$ type/output=foo: sys$input:
154<< __FOO__ bc | awk '{ \
155if ($$0 != "0") {print "error"; exit(1); } \
156if (((NR+1)%64) == 0) print NR+1," tests done"; }'
157$ define/user sys$output bntest-vms.tmp
158$ mcr 'texe_dir''bntest'
159$ copy bntest-vms.tmp foo:
160$ delete bntest-vms.tmp;*
161$ type/output=foo: sys$input:
162__FOO__
163$ close foo
164$ write sys$output "-- copy the [.test]bntest-vms.sh file to a Unix system and run it"
165$ write sys$output "-- through sh or bash to verify that the bignum operations went well."
166$ write sys$output ""
167$ write sys$output "test a^b%c implementations"
168$ mcr 'texe_dir''exptest'
169$ goto loop_tests
170$ test_verify:
171$ write sys$output "The following command should have some OK's and some failures"
172$ write sys$output "There are definitly a few expired certificates"
173$ @tverify.com
174$ goto loop_tests
175$ test_dh:
176$ write sys$output "Generate as set of DH parameters"
177$ mcr 'texe_dir''dhtest'
178$ goto loop_tests
179$ test_dsa:
180$ write sys$output "Generate as set of DSA parameters"
181$ mcr 'texe_dir''dsatest'
182$ goto loop_tests
183$ test_reqgen:
184$ write sys$output "Generate and verify a certificate request"
185$ @testgen.com
186$ goto loop_tests
187$ test_ss:
188$ write sys$output "Generate and certify a test certificate"
189$ @testss.com
190$ goto loop_tests
191$ test_ssl:
192$ write sys$output "test SSL protocol"
193$ @testssl.com
194$ goto loop_tests
195$ test_ca:
196$ write sys$output "Generate and certify a test certificate via the 'ca' program"
197$ @testca.com
198$ goto loop_tests
199$
200$
201$ exit:
202$ set default '__save_default'
203$ exit
diff --git a/src/lib/libssl/test/testss.com b/src/lib/libssl/test/testss.com
new file mode 100644
index 0000000000..ce2c4b43f6
--- /dev/null
+++ b/src/lib/libssl/test/testss.com
@@ -0,0 +1,105 @@
1$! TESTSS.COM
2$
3$ __arch := VAX
4$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
5$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
6$
7$ digest="-mdc2"
8$ reqcmd := mcr 'exe_dir'openssl req
9$ x509cmd := mcr 'exe_dir'openssl x509 'digest'
10$ verifycmd := mcr 'exe_dir'openssl verify
11$ dummycnf := sys$disk:[-.apps]openssl-vms.cnf
12$
13$ CAkey="""keyCA.ss"""
14$ CAcert="""certCA.ss"""
15$ CAreq="""reqCA.ss"""
16$ CAconf="""CAss.cnf"""
17$ CAreq2="""req2CA.ss""" ! temp
18$
19$ Uconf="""Uss.cnf"""
20$ Ukey="""keyU.ss"""
21$ Ureq="""reqU.ss"""
22$ Ucert="""certU.ss"""
23$
24$ write sys$output ""
25$ write sys$output "make a certificate request using 'req'"
26$ 'reqcmd' -config 'CAconf' -out 'CAreq' -keyout 'CAkey' -new ! -out err.ss
27$ if $severity .ne. 1
28$ then
29$ write sys$output "error using 'req' to generate a certificate request"
30$ exit 3
31$ endif
32$ write sys$output ""
33$ write sys$output "convert the certificate request into a self signed certificate using 'x509'"
34$ define /user sys$output err.ss
35$ 'x509cmd' "-CAcreateserial" -in 'CAreq' -days 30 -req -out 'CAcert' -signkey 'CAkey'
36$ if $severity .ne. 1
37$ then
38$ write sys$output "error using 'x509' to self sign a certificate request"
39$ exit 3
40$ endif
41$
42$ write sys$output ""
43$ write sys$output "convert a certificate into a certificate request using 'x509'"
44$ define /user sys$output err.ss
45$ 'x509cmd' -in 'CAcert' -x509toreq -signkey 'CAkey' -out 'CAreq2'
46$ if $severity .ne. 1
47$ then
48$ write sys$output "error using 'x509' convert a certificate to a certificate request"
49$ exit 3
50$ endif
51$
52$ 'reqcmd' -config 'dummycnf' -verify -in 'CAreq' -noout
53$ if $severity .ne. 1
54$ then
55$ write sys$output "first generated request is invalid"
56$ exit 3
57$ endif
58$
59$ 'reqcmd' -config 'dummycnf' -verify -in 'CAreq2' -noout
60$ if $severity .ne. 1
61$ then
62$ write sys$output "second generated request is invalid"
63$ exit 3
64$ endif
65$
66$ 'verifycmd' "-CAfile" 'CAcert' 'CAcert'
67$ if $severity .ne. 1
68$ then
69$ write sys$output "first generated cert is invalid"
70$ exit 3
71$ endif
72$
73$ write sys$output ""
74$ write sys$output "make another certificate request using 'req'"
75$ define /user sys$output err.ss
76$ 'reqcmd' -config 'Uconf' -out 'Ureq' -keyout 'Ukey' -new
77$ if $severity .ne. 1
78$ then
79$ write sys$output "error using 'req' to generate a certificate request"
80$ exit 3
81$ endif
82$
83$ write sys$output ""
84$ write sys$output "sign certificate request with the just created CA via 'x509'"
85$ define /user sys$output err.ss
86$ 'x509cmd' "-CAcreateserial" -in 'Ureq' -days 30 -req -out 'Ucert' "-CA" 'CAcert' "-CAkey" 'CAkey'
87$ if $severity .ne. 1
88$ then
89$ write sys$output "error using 'x509' to sign a certificate request"
90$ exit 3
91$ endif
92$
93$ 'verifycmd' "-CAfile" 'CAcert' 'Ucert'
94$ write sys$output ""
95$ write sys$output "Certificate details"
96$ 'x509cmd' -subject -issuer -startdate -enddate -noout -in 'Ucert'
97$
98$ write sys$output ""
99$ write sys$output "The generated CA certificate is ",CAcert
100$ write sys$output "The generated CA private key is ",CAkey
101$
102$ write sys$output "The generated user certificate is ",Ucert
103$ write sys$output "The generated user private key is ",Ukey
104$
105$ if f$search("err.ss;*") .nes. "" then delete err.ss;*
diff --git a/src/lib/libssl/test/testssl.com b/src/lib/libssl/test/testssl.com
new file mode 100644
index 0000000000..93a9aef802
--- /dev/null
+++ b/src/lib/libssl/test/testssl.com
@@ -0,0 +1,111 @@
1$! TESTSSL.COM
2$
3$ __arch := VAX
4$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
5$ exe_dir := sys$disk:[-.'__arch'.exe.test]
6$
7$ copy/concatenate [-.certs]*.pem certs.tmp
8$
9$ write sys$output "test sslv2"
10$ mcr 'exe_dir'ssltest -ssl2
11$ if $severity .ne. 1 then goto exit3
12$
13$ write sys$output "test sslv2 with server authentication"
14$ mcr 'exe_dir'ssltest -ssl2 -server_auth "-CAfile" certs.tmp
15$ if $severity .ne. 1 then goto exit3
16$
17$ write sys$output "test sslv2 with client authentication"
18$ mcr 'exe_dir'ssltest -ssl2 -client_auth "-CAfile" certs.tmp
19$ if $severity .ne. 1 then goto exit3
20$
21$ write sys$output "test sslv2 with both client and server authentication"
22$ mcr 'exe_dir'ssltest -ssl2 -server_auth -client_auth "-CAfile" certs.tmp
23$ if $severity .ne. 1 then goto exit3
24$
25$ write sys$output "test sslv3"
26$ mcr 'exe_dir'ssltest -ssl3
27$ if $severity .ne. 1 then goto exit3
28$
29$ write sys$output "test sslv3 with server authentication"
30$ mcr 'exe_dir'ssltest -ssl3 -server_auth "-CAfile" certs.tmp
31$ if $severity .ne. 1 then goto exit3
32$
33$ write sys$output "test sslv3 with client authentication"
34$ mcr 'exe_dir'ssltest -ssl3 -client_auth "-CAfile" certs.tmp
35$ if $severity .ne. 1 then goto exit3
36$
37$ write sys$output "test sslv3 with both client and server authentication"
38$ mcr 'exe_dir'ssltest -ssl3 -server_auth -client_auth "-CAfile" certs.tmp
39$ if $severity .ne. 1 then goto exit3
40$
41$ write sys$output "test sslv2/sslv3"
42$ mcr 'exe_dir'ssltest
43$ if $severity .ne. 1 then goto exit3
44$
45$ write sys$output "test sslv2/sslv3 with server authentication"
46$ mcr 'exe_dir'ssltest -server_auth "-CAfile" certs.tmp
47$ if $severity .ne. 1 then goto exit3
48$
49$ write sys$output "test sslv2/sslv3 with client authentication"
50$ mcr 'exe_dir'ssltest -client_auth "-CAfile" certs.tmp
51$ if $severity .ne. 1 then goto exit3
52$
53$ write sys$output "test sslv2/sslv3 with both client and server authentication"
54$ mcr 'exe_dir'ssltest -server_auth -client_auth "-CAfile" certs.tmp
55$ if $severity .ne. 1 then goto exit3
56$
57$ write sys$output "test sslv2 via BIO pair"
58$ mcr 'exe_dir'ssltest -bio_pair -ssl2
59$ if $severity .ne. 1 then goto exit3
60$
61$ write sys$output "test sslv2 with server authentication via BIO pair"
62$ mcr 'exe_dir'ssltest -bio_pair -ssl2 -server_auth "-CAfile" certs.tmp
63$ if $severity .ne. 1 then goto exit3
64$
65$ write sys$output "test sslv2 with client authentication via BIO pair"
66$ mcr 'exe_dir'ssltest -bio_pair -ssl2 -client_auth "-CAfile" certs.tmp
67$ if $severity .ne. 1 then goto exit3
68$
69$ write sys$output "test sslv2 with both client and server authentication via BIO pair"
70$ mcr 'exe_dir'ssltest -bio_pair -ssl2 -server_auth -client_auth "-CAfile" certs.tmp
71$ if $severity .ne. 1 then goto exit3
72$
73$ write sys$output "test sslv3 via BIO pair"
74$ mcr 'exe_dir'ssltest -bio_pair -ssl3
75$ if $severity .ne. 1 then goto exit3
76$
77$ write sys$output "test sslv3 with server authentication via BIO pair"
78$ mcr 'exe_dir'ssltest -bio_pair -ssl3 -server_auth "-CAfile" certs.tmp
79$ if $severity .ne. 1 then goto exit3
80$
81$ write sys$output "test sslv3 with client authentication via BIO pair"
82$ mcr 'exe_dir'ssltest -bio_pair -ssl3 -client_auth "-CAfile" certs.tmp
83$ if $severity .ne. 1 then goto exit3
84
85$ write sys$output "test sslv3 with both client and server authentication via BIO pair"
86$ mcr 'exe_dir'ssltest -bio_pair -ssl3 -server_auth -client_auth "-CAfile" certs.tmp
87$ if $severity .ne. 1 then goto exit3
88$
89$ write sys$output "test sslv2/sslv3 via BIO pair"
90$ mcr 'exe_dir'ssltest
91$ if $severity .ne. 1 then goto exit3
92$
93$ write sys$output "test sslv2/sslv3 with server authentication"
94$ mcr 'exe_dir'ssltest -bio_pair -server_auth "-CAfile" certs.tmp
95$ if $severity .ne. 1 then goto exit3
96$
97$ write sys$output "test sslv2/sslv3 with client authentication via BIO pair"
98$ mcr 'exe_dir'ssltest -bio_pair -client_auth "-CAfile" certs.tmp
99$ if $severity .ne. 1 then goto exit3
100$
101$ write sys$output "test sslv2/sslv3 with both client and server authentication via BIO pair"
102$ mcr 'exe_dir'ssltest -bio_pair -server_auth -client_auth "-CAfile" certs.tmp
103$ if $severity .ne. 1 then goto exit3
104$
105$ RET = 1
106$ goto exit
107$ exit3:
108$ RET = 3
109$ exit:
110$ delete certs.tmp;*
111$ exit 'RET'
diff --git a/src/lib/libssl/test/tpkcs7.com b/src/lib/libssl/test/tpkcs7.com
new file mode 100644
index 0000000000..5ed920ac34
--- /dev/null
+++ b/src/lib/libssl/test/tpkcs7.com
@@ -0,0 +1,49 @@
1$! TPKCS7.COM -- Tests pkcs7 keys
2$
3$ __arch := VAX
4$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
5$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
6$
7$ cmd := mcr 'exe_dir'openssl pkcs7
8$
9$ t := testp7.pem
10$ if p1 .nes. "" then t = p1
11$
12$ write sys$output "testing PKCS7 conversions"
13$ copy 't' fff.p
14$
15$ write sys$output "p -> d"
16$ 'cmd' -in fff.p -inform p -outform d -out f.d
17$ if $severity .ne. 1 then exit 3
18$ write sys$output "p -> p"
19$ 'cmd' -in fff.p -inform p -outform p -out f.p
20$ if $severity .ne. 1 then exit 3
21$
22$ write sys$output "d -> d"
23$ 'cmd' -in f.d -inform d -outform d -out ff.d1
24$ if $severity .ne. 1 then exit 3
25$ write sys$output "p -> d"
26$ 'cmd' -in f.p -inform p -outform d -out ff.d3
27$ if $severity .ne. 1 then exit 3
28$
29$
30$ write sys$output "d -> p"
31$ 'cmd' -in f.d -inform d -outform p -out ff.p1
32$ if $severity .ne. 1 then exit 3
33$ write sys$output "p -> p"
34$ 'cmd' -in f.p -inform p -outform p -out ff.p3
35$ if $severity .ne. 1 then exit 3
36$
37$ difference/output=nl: fff.p f.p
38$ if $severity .ne. 1 then exit 3
39$ difference/output=nl: fff.p ff.p1
40$ if $severity .ne. 1 then exit 3
41$ difference/output=nl: fff.p ff.p3
42$ if $severity .ne. 1 then exit 3
43$
44$ difference/output=nl: f.p ff.p1
45$ if $severity .ne. 1 then exit 3
46$ difference/output=nl: f.p ff.p3
47$ if $severity .ne. 1 then exit 3
48$
49$ delete f.*;*,ff.*;*,fff.*;*
diff --git a/src/lib/libssl/test/tpkcs7d.com b/src/lib/libssl/test/tpkcs7d.com
new file mode 100644
index 0000000000..08d33eaa69
--- /dev/null
+++ b/src/lib/libssl/test/tpkcs7d.com
@@ -0,0 +1,42 @@
1$! TPKCS7.COM -- Tests pkcs7 keys
2$
3$ __arch := VAX
4$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
5$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
6$
7$ cmd := mcr 'exe_dir'openssl pkcs7
8$
9$ t := pkcs7-1.pem
10$ if p1 .nes. "" then t = p1
11$
12$ write sys$output "testing PKCS7 conversions (2)"
13$ copy 't' fff.p
14$
15$ write sys$output "p -> d"
16$ 'cmd' -in fff.p -inform p -outform d -out f.d
17$ if $severity .ne. 1 then exit 3
18$ write sys$output "p -> p"
19$ 'cmd' -in fff.p -inform p -outform p -out f.p
20$ if $severity .ne. 1 then exit 3
21$
22$ write sys$output "d -> d"
23$ 'cmd' -in f.d -inform d -outform d -out ff.d1
24$ if $severity .ne. 1 then exit 3
25$ write sys$output "p -> d"
26$ 'cmd' -in f.p -inform p -outform d -out ff.d3
27$ if $severity .ne. 1 then exit 3
28$
29$
30$ write sys$output "d -> p"
31$ 'cmd' -in f.d -inform d -outform p -out ff.p1
32$ if $severity .ne. 1 then exit 3
33$ write sys$output "p -> p"
34$ 'cmd' -in f.p -inform p -outform p -out ff.p3
35$ if $severity .ne. 1 then exit 3
36$
37$ difference/output=nl: f.p ff.p1
38$ if $severity .ne. 1 then exit 3
39$ difference/output=nl: f.p ff.p3
40$ if $severity .ne. 1 then exit 3
41$
42$ delete f.*;*,ff.*;*,fff.*;*
diff --git a/src/lib/libssl/test/treq.com b/src/lib/libssl/test/treq.com
new file mode 100644
index 0000000000..9eb1d26f6e
--- /dev/null
+++ b/src/lib/libssl/test/treq.com
@@ -0,0 +1,78 @@
1$! TREQ.COM -- Tests req keys
2$
3$ __arch := VAX
4$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
5$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
6$
7$ cmd := mcr 'exe_dir'openssl req -config [-.apps]openssl-vms.cnf
8$
9$ t := testreq.pem
10$ if p1 .nes. "" then t = p1
11$
12$ write sys$output "testing req conversions"
13$ copy 't' fff.p
14$
15$ write sys$output "p -> d"
16$ 'cmd' -in fff.p -inform p -outform d -out f.d
17$ if $severity .ne. 1 then exit 3
18$! write sys$output "p -> t"
19$! 'cmd' -in fff.p -inform p -outform t -out f.t
20$! if $severity .ne. 1 then exit 3
21$ write sys$output "p -> p"
22$ 'cmd' -in fff.p -inform p -outform p -out f.p
23$ if $severity .ne. 1 then exit 3
24$
25$ write sys$output "d -> d"
26$ 'cmd' -verify -in f.d -inform d -outform d -out ff.d1
27$ if $severity .ne. 1 then exit 3
28$! write sys$output "t -> d"
29$! 'cmd' -verify -in f.t -inform t -outform d -out ff.d2
30$! if $severity .ne. 1 then exit 3
31$ write sys$output "p -> d"
32$ 'cmd' -verify -in f.p -inform p -outform d -out ff.d3
33$ if $severity .ne. 1 then exit 3
34$
35$! write sys$output "d -> t"
36$! 'cmd' -in f.d -inform d -outform t -out ff.t1
37$! if $severity .ne. 1 then exit 3
38$! write sys$output "t -> t"
39$! 'cmd' -in f.t -inform t -outform t -out ff.t2
40$! if $severity .ne. 1 then exit 3
41$! write sys$output "p -> t"
42$! 'cmd' -in f.p -inform p -outform t -out ff.t3
43$! if $severity .ne. 1 then exit 3
44$
45$ write sys$output "d -> p"
46$ 'cmd' -in f.d -inform d -outform p -out ff.p1
47$ if $severity .ne. 1 then exit 3
48$! write sys$output "t -> p"
49$! 'cmd' -in f.t -inform t -outform p -out ff.p2
50$! if $severity .ne. 1 then exit 3
51$ write sys$output "p -> p"
52$ 'cmd' -in f.p -inform p -outform p -out ff.p3
53$ if $severity .ne. 1 then exit 3
54$
55$ difference/output=nl: fff.p f.p
56$ if $severity .ne. 1 then exit 3
57$ difference/output=nl: fff.p ff.p1
58$ if $severity .ne. 1 then exit 3
59$! difference/output=nl: fff.p ff.p2
60$! if $severity .ne. 1 then exit 3
61$ difference/output=nl: fff.p ff.p3
62$ if $severity .ne. 1 then exit 3
63$
64$! difference/output=nl: f.t ff.t1
65$! if $severity .ne. 1 then exit 3
66$! difference/output=nl: f.t ff.t2
67$! if $severity .ne. 1 then exit 3
68$! difference/output=nl: f.t ff.t3
69$! if $severity .ne. 1 then exit 3
70$
71$ difference/output=nl: f.p ff.p1
72$ if $severity .ne. 1 then exit 3
73$! difference/output=nl: f.p ff.p2
74$! if $severity .ne. 1 then exit 3
75$ difference/output=nl: f.p ff.p3
76$ if $severity .ne. 1 then exit 3
77$
78$ delete f.*;*,ff.*;*,fff.*;*
diff --git a/src/lib/libssl/test/trsa.com b/src/lib/libssl/test/trsa.com
new file mode 100644
index 0000000000..9c9083d02b
--- /dev/null
+++ b/src/lib/libssl/test/trsa.com
@@ -0,0 +1,78 @@
1$! TRSA.COM -- Tests rsa keys
2$
3$ __arch := VAX
4$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
5$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
6$
7$ cmd := mcr 'exe_dir'openssl rsa
8$
9$ t := testrsa.pem
10$ if p1 .nes. "" then t = p1
11$
12$ write sys$output "testing RSA conversions"
13$ copy 't' fff.p
14$
15$ write sys$output "p -> d"
16$ 'cmd' -in fff.p -inform p -outform d -out f.d
17$ if $severity .ne. 1 then exit 3
18$! write sys$output "p -> t"
19$! 'cmd' -in fff.p -inform p -outform t -out f.t
20$! if $severity .ne. 1 then exit 3
21$ write sys$output "p -> p"
22$ 'cmd' -in fff.p -inform p -outform p -out f.p
23$ if $severity .ne. 1 then exit 3
24$
25$ write sys$output "d -> d"
26$ 'cmd' -in f.d -inform d -outform d -out ff.d1
27$ if $severity .ne. 1 then exit 3
28$! write sys$output "t -> d"
29$! 'cmd' -in f.t -inform t -outform d -out ff.d2
30$! if $severity .ne. 1 then exit 3
31$ write sys$output "p -> d"
32$ 'cmd' -in f.p -inform p -outform d -out ff.d3
33$ if $severity .ne. 1 then exit 3
34$
35$! write sys$output "d -> t"
36$! 'cmd' -in f.d -inform d -outform t -out ff.t1
37$! if $severity .ne. 1 then exit 3
38$! write sys$output "t -> t"
39$! 'cmd' -in f.t -inform t -outform t -out ff.t2
40$! if $severity .ne. 1 then exit 3
41$! write sys$output "p -> t"
42$! 'cmd' -in f.p -inform p -outform t -out ff.t3
43$! if $severity .ne. 1 then exit 3
44$
45$ write sys$output "d -> p"
46$ 'cmd' -in f.d -inform d -outform p -out ff.p1
47$ if $severity .ne. 1 then exit 3
48$! write sys$output "t -> p"
49$! 'cmd' -in f.t -inform t -outform p -out ff.p2
50$! if $severity .ne. 1 then exit 3
51$ write sys$output "p -> p"
52$ 'cmd' -in f.p -inform p -outform p -out ff.p3
53$ if $severity .ne. 1 then exit 3
54$
55$ difference/output=nl: fff.p f.p
56$ if $severity .ne. 1 then exit 3
57$ difference/output=nl: fff.p ff.p1
58$ if $severity .ne. 1 then exit 3
59$! difference/output=nl: fff.p ff.p2
60$! if $severity .ne. 1 then exit 3
61$ difference/output=nl: fff.p ff.p3
62$ if $severity .ne. 1 then exit 3
63$
64$! difference/output=nl: f.t ff.t1
65$! if $severity .ne. 1 then exit 3
66$! difference/output=nl: f.t ff.t2
67$! if $severity .ne. 1 then exit 3
68$! difference/output=nl: f.t ff.t3
69$! if $severity .ne. 1 then exit 3
70$
71$ difference/output=nl: f.p ff.p1
72$ if $severity .ne. 1 then exit 3
73$! difference/output=nl: f.p ff.p2
74$! if $severity .ne. 1 then exit 3
75$ difference/output=nl: f.p ff.p3
76$ if $severity .ne. 1 then exit 3
77$
78$ delete f.*;*,ff.*;*,fff.*;*
diff --git a/src/lib/libssl/test/tsid.com b/src/lib/libssl/test/tsid.com
new file mode 100644
index 0000000000..28d83e5c4e
--- /dev/null
+++ b/src/lib/libssl/test/tsid.com
@@ -0,0 +1,78 @@
1$! TSID.COM -- Tests sid keys
2$
3$ __arch := VAX
4$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
5$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
6$
7$ cmd := mcr 'exe_dir'openssl sess_id
8$
9$ t := testsid.pem
10$ if p1 .nes. "" then t = p1
11$
12$ write sys$output "testing session-id conversions"
13$ copy 't' fff.p
14$
15$ write sys$output "p -> d"
16$ 'cmd' -in fff.p -inform p -outform d -out f.d
17$ if $severity .ne. 1 then exit 3
18$! write sys$output "p -> t"
19$! 'cmd' -in fff.p -inform p -outform t -out f.t
20$! if $severity .ne. 1 then exit 3
21$ write sys$output "p -> p"
22$ 'cmd' -in fff.p -inform p -outform p -out f.p
23$ if $severity .ne. 1 then exit 3
24$
25$ write sys$output "d -> d"
26$ 'cmd' -in f.d -inform d -outform d -out ff.d1
27$ if $severity .ne. 1 then exit 3
28$! write sys$output "t -> d"
29$! 'cmd' -in f.t -inform t -outform d -out ff.d2
30$! if $severity .ne. 1 then exit 3
31$ write sys$output "p -> d"
32$ 'cmd' -in f.p -inform p -outform d -out ff.d3
33$ if $severity .ne. 1 then exit 3
34$
35$! write sys$output "d -> t"
36$! 'cmd' -in f.d -inform d -outform t -out ff.t1
37$! if $severity .ne. 1 then exit 3
38$! write sys$output "t -> t"
39$! 'cmd' -in f.t -inform t -outform t -out ff.t2
40$! if $severity .ne. 1 then exit 3
41$! write sys$output "p -> t"
42$! 'cmd' -in f.p -inform p -outform t -out ff.t3
43$! if $severity .ne. 1 then exit 3
44$
45$ write sys$output "d -> p"
46$ 'cmd' -in f.d -inform d -outform p -out ff.p1
47$ if $severity .ne. 1 then exit 3
48$! write sys$output "t -> p"
49$! 'cmd' -in f.t -inform t -outform p -out ff.p2
50$! if $severity .ne. 1 then exit 3
51$ write sys$output "p -> p"
52$ 'cmd' -in f.p -inform p -outform p -out ff.p3
53$ if $severity .ne. 1 then exit 3
54$
55$ difference/output=nl: fff.p f.p
56$ if $severity .ne. 1 then exit 3
57$ difference/output=nl: fff.p ff.p1
58$ if $severity .ne. 1 then exit 3
59$! difference/output=nl: fff.p ff.p2
60$! if $severity .ne. 1 then exit 3
61$ difference/output=nl: fff.p ff.p3
62$ if $severity .ne. 1 then exit 3
63$
64$! difference/output=nl: f.t ff.t1
65$! if $severity .ne. 1 then exit 3
66$! difference/output=nl: f.t ff.t2
67$! if $severity .ne. 1 then exit 3
68$! difference/output=nl: f.t ff.t3
69$! if $severity .ne. 1 then exit 3
70$
71$ difference/output=nl: f.p ff.p1
72$ if $severity .ne. 1 then exit 3
73$! difference/output=nl: f.p ff.p2
74$! if $severity .ne. 1 then exit 3
75$ difference/output=nl: f.p ff.p3
76$ if $severity .ne. 1 then exit 3
77$
78$ delete f.*;*,ff.*;*,fff.*;*
diff --git a/src/lib/libssl/test/tverify.com b/src/lib/libssl/test/tverify.com
new file mode 100644
index 0000000000..f97e71478f
--- /dev/null
+++ b/src/lib/libssl/test/tverify.com
@@ -0,0 +1,26 @@
1$! TVERIFY.COM
2$
3$ __arch := VAX
4$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
5$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
6$
7$ copy/concatenate [-.certs]*.pem certs.tmp
8$
9$ old_f :=
10$ loop_certs:
11$ c := NO
12$ certs :=
13$ loop_certs2:
14$ f = f$search("[-.certs]*.pem")
15$ if f .nes. "" .and. f .nes. old_f
16$ then
17$ certs = certs + " [-.certs]" + f$parse(f,,,"NAME") + ".pem"
18$ if f$length(certs) .lt. 180 then goto loop_certs2
19$ c := YES
20$ endif
21$ certs = certs - " "
22$
23$ mcr 'exe_dir'openssl verify "-CAfile" certs.tmp 'certs'
24$ if c then goto loop_certs
25$
26$ delete certs.tmp;*
diff --git a/src/lib/libssl/test/tx509.com b/src/lib/libssl/test/tx509.com
new file mode 100644
index 0000000000..bbcf0a384b
--- /dev/null
+++ b/src/lib/libssl/test/tx509.com
@@ -0,0 +1,78 @@
1$! TX509.COM -- Tests x509 certificates
2$
3$ __arch := VAX
4$ if f$getsyi("cpu") .ge. 128 then __arch := AXP
5$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
6$
7$ cmd := mcr 'exe_dir'openssl x509
8$
9$ t := testx509.pem
10$ if p1 .nes. "" then t = p1
11$
12$ write sys$output "testing X509 conversions"
13$ copy 't' fff.p
14$
15$ write sys$output "p -> d"
16$ 'cmd' -in fff.p -inform p -outform d -out f.d
17$ if $severity .ne. 1 then exit 3
18$ write sys$output "p -> n"
19$ 'cmd' -in fff.p -inform p -outform n -out f.n
20$ if $severity .ne. 1 then exit 3
21$ write sys$output "p -> p"
22$ 'cmd' -in fff.p -inform p -outform p -out f.p
23$ if $severity .ne. 1 then exit 3
24$
25$ write sys$output "d -> d"
26$ 'cmd' -in f.d -inform d -outform d -out ff.d1
27$ if $severity .ne. 1 then exit 3
28$ write sys$output "n -> d"
29$ 'cmd' -in f.n -inform n -outform d -out ff.d2
30$ if $severity .ne. 1 then exit 3
31$ write sys$output "p -> d"
32$ 'cmd' -in f.p -inform p -outform d -out ff.d3
33$ if $severity .ne. 1 then exit 3
34$
35$ write sys$output "d -> n"
36$ 'cmd' -in f.d -inform d -outform n -out ff.n1
37$ if $severity .ne. 1 then exit 3
38$ write sys$output "n -> n"
39$ 'cmd' -in f.n -inform n -outform n -out ff.n2
40$ if $severity .ne. 1 then exit 3
41$ write sys$output "p -> n"
42$ 'cmd' -in f.p -inform p -outform n -out ff.n3
43$ if $severity .ne. 1 then exit 3
44$
45$ write sys$output "d -> p"
46$ 'cmd' -in f.d -inform d -outform p -out ff.p1
47$ if $severity .ne. 1 then exit 3
48$ write sys$output "n -> p"
49$ 'cmd' -in f.n -inform n -outform p -out ff.p2
50$ if $severity .ne. 1 then exit 3
51$ write sys$output "p -> p"
52$ 'cmd' -in f.p -inform p -outform p -out ff.p3
53$ if $severity .ne. 1 then exit 3
54$
55$ difference/output=nl: fff.p f.p
56$ if $severity .ne. 1 then exit 3
57$ difference/output=nl: fff.p ff.p1
58$ if $severity .ne. 1 then exit 3
59$ difference/output=nl: fff.p ff.p2
60$ if $severity .ne. 1 then exit 3
61$ difference/output=nl: fff.p ff.p3
62$ if $severity .ne. 1 then exit 3
63$
64$ difference/output=nl: f.n ff.n1
65$ if $severity .ne. 1 then exit 3
66$ difference/output=nl: f.n ff.n2
67$ if $severity .ne. 1 then exit 3
68$ difference/output=nl: f.n ff.n3
69$ if $severity .ne. 1 then exit 3
70$
71$ difference/output=nl: f.p ff.p1
72$ if $severity .ne. 1 then exit 3
73$ difference/output=nl: f.p ff.p2
74$ if $severity .ne. 1 then exit 3
75$ difference/output=nl: f.p ff.p3
76$ if $severity .ne. 1 then exit 3
77$
78$ delete f.*;*,ff.*;*,fff.*;*