$! 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;*
$	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
