[Previous] [Next] [Table of Contents] ---------------------------------------------------------------------------- 2.1 What platforms are supported? The following VAX configurations have been tested and verified to work. OpenVMS v6.2 DEC C GNU C Multinet v4.1 Rev b Yes Untested Pathway TCP/IP v3.0 Yes Yes UCX v4.1 ECO 9 Untested Untested OpenVMS v7.1 DEC C GNU C Multinet v4.1 Rev b Yes Untested Pathway TCP/IP v3.0 Yes Yes NetLib 2.2F & SOCKETSHR Yes Untested ---------------------------------------------------------------------------- The following Alpha configurations have been tested and verified to work. OpenVMS v7.1 DEC C GNU C Multinet v4.1 Rev b Yes Untested UCX v4.1 ECO 8 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.3 on an OpenVMS system. 1. A copy of the OpenVMS OpenSSL v0.9.3 distribution file. This can be found at ftp://ftp.openssl.org/source/openssl-0.9.3.tar.gz 2. If you are in the United States, you will need a copy of the RSAREF library in order to use OpenSSL legally. In order to get the RSAREF library you have to read the README file and follow the directions for getting the RSAREF library. You need to get the TAR'd file as the ZIP file dosen't contain the directory structure. 3. 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_3.tar.gz file into a directory of your choice. 2. If you are in the United States, you need to unpack the RSAREF library so it unpacks into the RSAREF directory inside the OpenSSL directory. 3. 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" 4. 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. 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. 5. 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. 6. Go to the [.TEST] directory and execute the TESTS.COM script. This will test out everything you just compiled. 7. 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_3].) 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.SSLEAY] use the following: $ @INSTALL DISK$WORK:[STUFF.SSLEAY] 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] [Image] [Image]