[Previous] [Next] [Table of Contents]

2.1 What platforms are supported?

The following VAX configurations have been tested and verified to work.

OpenVMS v7.2 DEC C GNU C
Multinet v4.2 Rev A Yes Untested


The following Alpha configurations have been tested and verified to work.

OpenVMS v7.2 DEC C GNU C
Multinet v4.2 Rev A Yes Untested


2.2 What OpenSSL utilites are supported?

Currently (at least on the VAX platforms) all the stock OpenSSL utilities have been tested to the best of my working knowledge. This also holds true for the test utilities.

As far as I know, the same holds true for the Alpha builds of OpenSSL for OpenVMS.


2.3 What do I need to build OpenSSL for OpenVMS?

O.k., here's is what you need to build OpenVMS OpenSSL v0.9.5a on an OpenVMS system.

  1. A copy of the OpenSSL v0.9.5a distribution file. This can be found at ftp://ftp.openssl.org/source/openssl-0.9.5a.tar.gz

  2. A C compiler. Currently DEC C, VAX C and GNU C are supported. The GNU C compiler is available at ftp://ftp.caltech.edu/pub/rankin/gcc-vms-2_7_1.tar-gz


2.4 Compiling OpenSSL for OpenVMS.

O.k. You have everything outlined in the section What do I need to build OpenSSL for OpenVMS? and you want to get the ball rolling.

  1. Unpack the openssl-0.9.5a.tar.gz file into a directory of your choice.

  2. If you are using the DEC C compiler, you must make sure that the SYS$STARTUP:CCXX$STARTUP.COM has been executed at system startup and that the logical DECC$CC_DEFAULT is defined to "/DECC" as my scripts look for this logical to try to autodetect your C compiler. If it's not defined or you don't have that startup script for DEC C (for some reason) just execute the following.

    
    	$ DEFINE DECC$DEFAULT "/DECC"
    
         
  3. Go to the root of the OpenSSL distribution and you will find the main compile script MAKEVMS.COM. The MAKEVMS.COM accepts the following parameters.

    
         P1:  ALL        Just build "everything".
    
    	  DATE       Just build the "[.INCLUDE]DATE.H" file.
    
    	  SOFTLINKS  Just fix the Unix soft links.
    
    	  RSAREF     Just build the "[.xxx.EXE.RSAREF]LIBRSAGLUE.OLB" library.
    
    	  CRYPTO     Just build the "[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB" library.
    
    	  SSL        Just build the "[.xxx.EXE.SSL]LIBSSL.OLB" library.
    
    	  SSL_TASK   Just build the "[.xxx.EXE.SSL]SSL_TASK.EXE" program.
    
    	  TEST       Just build the "[.xxx.EXE.TEST]" test programs for OpenSSL.
    
    	  APPS       Just build the "[.xxx.EXE.APPS]" application programs for OpenSSL."
    
    
    
         P2:  RSAREF     Compile using the RSAREF library.
    
    	  NORSAREF   Compile without using the RSAREF library.
    
    
    
         (Note: RSAREF is no longer necessary so use NORSAREF)
    
    
    
         P3:  DEBUG      Compile with debugging information.
    
    	  NODEBUG    Compile without debugging information.
    
    
    
         P4:  VAXC       Compile using the VAX C compiler.
    
    	  DECC       Compile using the DEC C compiler.
    
    	  GNUC       Compile using the GNU C compiler.
    
    
    
         P5:  UCX        Compile using the UCX TCP/IP library.
    
    	  SOCKETSHR  Compile using the SOCKETSHR TCP/IP library.
    
    
    
         P6, if defined, sets a compiler thread NOT needed on OpenVMS v7.1 (and up)
    
         

    Select your parameters and execute the MAKEVMS script. This will take some time and you might see a few warning messages which won't cause any trouble.

  4. Everything should have built just fine and if all went well, you should have a directory structure similar to the following in the root of the OpenSSL distribution.

    
    	XXX
    
    	 +--+--EXE
    
    	    |   +--+--APPS
    
                |      +--CRYPTO
    
                |      +--RSAREF
    
                |      +--SSL
    
                |      +--TEST
    
                +--OBJ
    
    	        +--+--APPS
    
                       +--CRYPTO
    
                       +--RSAREF
    
                       +--SSL
    
                       +--TEST
    
         

    The "XXX" denotes the machine architecture of either VAX for VAX or AXP for Alpha.

  5. Go to the [.TEST] directory and execute the TESTS.COM script. This will test out everything you just compiled.

  6. If all the tests passed with no problems, then you are done and have a working OpenSSL system.


2.5 Installing OpenSSL for OpenVMS.

You compiled the OpenSSL library and utilities for OpenVMS following the Compiling OpenSSL for OpenVMS. and you want to install it all so you can start using it.

Here are the steps:

  1. Go to the root of your OpenSSL distribution tree. (For the purpose of this exercise we will assume your OpenSSL is located at DISK$WORK:[OPENSSL-0_9_5A].)

  2. Here you will find the INSTALL.COM file. The INSTALL script accepts a directory specification as it's only parameter. So if you want to install OpenSSL in DISK$WORK:[STUFF.OPENSSL] use the following:

    
    	$ @INSTALL DISK$WORK:[STUFF.OPENSSL]
    
         
  3. Once that is done copying files, you will find the OPENSSL_STARTUP.COM file in the [.VMS] directory where you told the INSTALL.COM script to place the files.

    You need to run this script to define the logicals needed by OpenSSL and a good idea would be to place it in your system startup file.

  4. The OPENSSL_STARTUP.COM file accepts a qualifier to "DEFINE". Example, if you want to have all the OpenSSL logicals to be defined as "/SYSTEM" then use the following:

    
    	$ @OPENSSL_STARTUP.COM "/SYSTEM"
    
         

    NOTE: You HAVE TO USE "/SYSTEM" if you want to use the installed OpenSSL kit with the OSU HTTPD server.

The OPENSSL_STARTUP.COM will create the following logicals.


	SSLROOT		Points to the "root" of the OpenSSL directory.

	SSLLIB		Points to the OpenSSL library directory.

	SSLINCLUDE	Points to the "include" files for OpenSSL.

	SSLEXE		Points to the directory where the OpenSSL EXE's are kept.

	SSLCERTS	Points to a directory where you can put your SSL certificates.

	SSLPRIVATE	Points to a "private" directory for "private" files.


[Previous] [Next] [Table of Contents]