tverify.com 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. $! TVERIFY.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. $ if (p1 .eqs. "64") then __arch = __arch+ "_64"
  9. $!
  10. $ line_max = 255 ! Could be longer on modern non-VAX.
  11. $ temp_file_name = "certs_"+ f$getjpi( "", "PID")+ ".tmp"
  12. $ exe_dir = "sys$disk:[-.''__arch'.exe.apps]"
  13. $ cmd = "mcr ''exe_dir'openssl verify ""-CAfile"" ''temp_file_name'"
  14. $ cmd_len = f$length( cmd)
  15. $ pems = "[-.certs...]*.pem"
  16. $!
  17. $! Concatenate all the certificate files.
  18. $!
  19. $ copy /concatenate 'pems' 'temp_file_name'
  20. $!
  21. $! Loop through all the certificate files.
  22. $!
  23. $ args = ""
  24. $ old_f = ""
  25. $ loop_file:
  26. $ f = f$search( pems)
  27. $ if ((f .nes. "") .and. (f .nes. old_f))
  28. $ then
  29. $ old_f = f
  30. $!
  31. $! If this file name would over-extend the command line, then
  32. $! run the command now.
  33. $!
  34. $ if (cmd_len+ f$length( args)+ 1+ f$length( f) .gt. line_max)
  35. $ then
  36. $ if (args .eqs. "") then goto disaster
  37. $ 'cmd''args'
  38. $ args = ""
  39. $ endif
  40. $! Add the next file to the argument list.
  41. $ args = args+ " "+ f
  42. $ else
  43. $! No more files in the list
  44. $ goto loop_file_end
  45. $ endif
  46. $ goto loop_file
  47. $ loop_file_end:
  48. $!
  49. $! Run the command for any left-over arguments.
  50. $!
  51. $ if (args .nes. "")
  52. $ then
  53. $ 'cmd''args'
  54. $ endif
  55. $!
  56. $! Delete the temporary file.
  57. $!
  58. $ if (f$search( "''temp_file_name';*") .nes. "") then -
  59. delete 'temp_file_name';*
  60. $!
  61. $ exit
  62. $!
  63. $ disaster:
  64. $ write sys$output " Command line too long. Doomed."
  65. $!