12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- $! TESTCA.COM
- $
- $ __arch := VAX
- $ if f$getsyi("cpu") .ge. 128 then -
- __arch = f$edit( f$getsyi( "ARCH_NAME"), "UPCASE")
- $ if __arch .eqs. "" then __arch := UNK
- $
- $ 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;*
- $ if f$search("newcert.pem") .nes. "" then delete newcert.pem;*
- $ if f$search("newcert.pem") .nes. "" then delete 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
|