testca.com 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. $! TESTCA.COM
  2. $
  3. $ __arch := VAX
  4. $ if f$getsyi("cpu") .ge. 128 then -
  5. __arch = f$edit( f$getsyi( "ARCH_NAME"), "UPCASE")
  6. $ if __arch .eqs. "" then __arch := UNK
  7. $
  8. $ openssl := mcr 'exe_dir'openssl
  9. $
  10. $ SSLEAY_CONFIG="-config ""CAss.cnf"""
  11. $
  12. $ set noon
  13. $ if f$search("demoCA.dir") .nes. ""
  14. $ then
  15. $ call deltree [.demoCA]*.*
  16. $ set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) demoCA.dir;*
  17. $ delete demoCA.dir;*
  18. $ endif
  19. $ set on
  20. $ open/read sys$ca_input VMSca-response.1
  21. $ @[-.apps]CA.com -input sys$ca_input -newca
  22. $ close sys$ca_input
  23. $ if $severity .ne. 1 then exit 3
  24. $
  25. $
  26. $ SSLEAY_CONFIG="-config ""Uss.cnf"""
  27. $ @[-.apps]CA.com -newreq
  28. $ if $severity .ne. 1 then exit 3
  29. $
  30. $
  31. $ SSLEAY_CONFIG="-config [-.apps]openssl-vms.cnf"
  32. $ open/read sys$ca_input VMSca-response.2
  33. $ @[-.apps]CA.com -input sys$ca_input -sign
  34. $ close sys$ca_input
  35. $ if $severity .ne. 1 then exit 3
  36. $
  37. $
  38. $ @[-.apps]CA.com -verify newcert.pem
  39. $ if $severity .ne. 1 then exit 3
  40. $
  41. $ set noon
  42. $ call deltree [.demoCA]*.*
  43. $ set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) demoCA.dir;*
  44. $ delete demoCA.dir;*
  45. $ if f$search("newcert.pem") .nes. "" then delete newcert.pem;*
  46. $ if f$search("newcert.pem") .nes. "" then delete newreq.pem;*
  47. $ set on
  48. $! #usage: CA -newcert|-newreq|-newca|-sign|-verify
  49. $
  50. $ exit
  51. $
  52. $ deltree: subroutine ! P1 is a name of a directory
  53. $ on control_y then goto dt_STOP
  54. $ on warning then goto dt_exit
  55. $ _dt_def = f$trnlnm("SYS$DISK")+f$directory()
  56. $ if f$parse(p1) .eqs. "" then exit
  57. $ set default 'f$parse(p1,,,"DEVICE")''f$parse(p1,,,"DIRECTORY")'
  58. $ p1 = f$parse(p1,,,"NAME") + f$parse(p1,,,"TYPE")
  59. $ _fp = f$parse(".DIR",p1)
  60. $ dt_loop:
  61. $ _f = f$search(_fp)
  62. $ if _f .eqs. "" then goto dt_loopend
  63. $ call deltree [.'f$parse(_f,,,"NAME")']*.*
  64. $ goto dt_loop
  65. $ dt_loopend:
  66. $ _fp = f$parse(p1,".;*")
  67. $ if f$search(_fp) .eqs. "" then goto dt_exit
  68. $ set noon
  69. $ set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) '_fp'
  70. $ set on
  71. $ delete/nolog '_fp'
  72. $ dt_exit:
  73. $ set default '_dt_def'
  74. $ exit
  75. $ dt_STOP:
  76. $ set default '_dt_def'
  77. $ stop/id=""
  78. $ exit
  79. $ endsubroutine