$! TESTCA.COM $ $ __arch := VAX $ if f$getsyi("cpu") .ge. 128 then __arch := AXP $ exe_dir := sys$disk:[-.'__arch'.exe.apps] $ $ openssl := mcr 'exe_dir'openssl $ $ SSLEAY_CONFIG="-config ""CAss.cnf""" $ $ set noon $ if f$search("demoCA.dir") .nes. "" $ then $ call deltree [.demoCA]*.* $ set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) demoCA.dir;* $ delete demoCA.dir;* $ endif $ set on $ open/read sys$ca_input VMSca-response.1 $ @[-.apps]CA.com -input sys$ca_input -newca $ close sys$ca_input $ if $severity .ne. 1 then exit 3 $ $ $ SSLEAY_CONFIG="-config ""Uss.cnf""" $ @[-.apps]CA.com -newreq $ if $severity .ne. 1 then exit 3 $ $ $ SSLEAY_CONFIG="-config [-.apps]openssl-vms.cnf" $ open/read sys$ca_input VMSca-response.2 $ @[-.apps]CA.com -input sys$ca_input -sign $ close sys$ca_input $ if $severity .ne. 1 then exit 3 $ $ $ @[-.apps]CA.com -verify newcert.pem $ if $severity .ne. 1 then exit 3 $ $ set noon $ call deltree [.demoCA]*.* $ set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) demoCA.dir;* $ delete demoCA.dir;*,newcert.pem;*,newreq.pem;* $ set on $! #usage: CA -newcert|-newreq|-newca|-sign|-verify $ $ exit $ $ deltree: subroutine ! P1 is a name of a directory $ on control_y then goto dt_STOP $ on warning then goto dt_exit $ _dt_def = f$trnlnm("SYS$DISK")+f$directory() $ if f$parse(p1) .eqs. "" then exit $ set default 'f$parse(p1,,,"DEVICE")''f$parse(p1,,,"DIRECTORY")' $ p1 = f$parse(p1,,,"NAME") + f$parse(p1,,,"TYPE") $ _fp = f$parse(".DIR",p1) $ dt_loop: $ _f = f$search(_fp) $ if _f .eqs. "" then goto dt_loopend $ call deltree [.'f$parse(_f,,,"NAME")']*.* $ goto dt_loop $ dt_loopend: $ _fp = f$parse(p1,".;*") $ if f$search(_fp) .eqs. "" then goto dt_exit $ set noon $ set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) '_fp' $ set on $ delete/nolog '_fp' $ dt_exit: $ set default '_dt_def' $ exit $ dt_STOP: $ set default '_dt_def' $ stop/id="" $ exit $ endsubroutine