OpenSSL, Utilities, Library implementing the Secure Socket Layer SSL Installation Just execute @makevms to build the library. This procedure accepts the following parameters: 1. Build options ALL Just build "everything". CONFIG Just build the "[.CRYPTO]OPENSSLCONF.H" file. BUILDINF Just build the "[.CRYPTO]BUILDINF.H" file. SOFTLINKS Just fix the Unix soft links. BUILDALL Same as ALL, except CONFIG, BUILDINF and SOFTILNKS aren't done RSAREF Just build the "[.xxx.EXE.RSAREF]LIBRSAGLUE.OLB" library. CRYPTO/x Just build the x part of the "[.xxx.EXE.CRYPTO]LIBCRYPTO.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. 2. RSAREF option Specify RSAREF as P2 to compile using the RSAREF Library. If you specify NORSAREF, it will compile without using RSAREF. (If in the United States, You Must Compile Using RSAREF). Note: The RSAREF libraries are NOT INCLUDED and you have to download it from ftp.rsa.com. You have to get the ".tar-Z" file as the ".zip" file dosen't have the directory structure stored. You have to extract the file into the [.RSAREF] directory as that is where the scripts will look for the files. 3. Debug option Speficy DEBUG or NODEBUG as P3 to compile with or without debugging information. 4. Compiler option Specify which compiler at P4 to try to compile under. VAXC For VAX C DECC For DEC C GNUC For GNU C LINK To only link the programs from existing object files. (not yet implemented) If you don't speficy a compiler, it will try to determine which "C" compiler to use. 5. TCP/IP option P5, if defined, sets a TCP/IP library to use, through one of the following keywords: UCX for UCX or UCX emulation SOCKETSHR for SOCKETSHR+NETLIB 6. Thread option P6, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up) Apart from the commandline options the following logical names can be used to customize the build process: OPENSSL_NO_ASM If this logical is defined with any value the assembler parts of OpenSSL will be replaced by plain C implementations OPENSSL_NO_'alg' If this logical is defined with any value the corresponding crypto algorithm will not be implemented. Algorithms you can exclude this way are: RSA, DSA, DH, MD2, MD5, RIPEMD, SHA, SHA0, SHA1, DES, MDC2, RC2, RC4, RC5, IDEA, BF, CAST, HMAC, and SSL2. Example: Defining OPENSSL_NO_DES will create a LIBCRYPTO.OLB without an DES implementation. Building shareable images (Alpha only) After the build of the object libraries has finished, you can additionally create shareable images by invoking [.vms]mkshared.com in the root directory of the source distribution. This will create [.AXP.EXE.CRYPTO]LIBCRYPTO.EXE and [.AXP.EXE.SSL]LIBSSL.EXE Tests To check if the newly created programs work fine execute @[.test]tests, which will execute loads of tests actually (expect them to take some time). Package contents The main result of the compilation are the object libraries/shareable images libcrypto.[olb||exe] and libssl.[olb||exe], which other applications need to link against. Additionally a command-line driven interface to the cryptography and certificate functions is build, which can be invoked as openssl. Setup To setup the necessary logicals for the operation of OpenSSL and to define some handy symbols one can use [.vms]openssl_startup.com and [.vms]openssl_utils.com. The latest version of the OpenVMS port of the OpenSSL library should always be accessible via http://zinser.no-ip.info/vms/sw/openssl.htmlx