Incorporating RSA Security into WebServer 2.1

RSA Security Inc. is a company that specializes in providing e-security solutions. The RSA developer toolkit called, BSAFE SSL-C is a C language interface to an implementation of the SSL protocol. This toolkit also includes patented encryption algorithms used in SSL and can be purchased directly through RSA Security Inc. GoAhead Software does not support the BSAFE toolkit, however, WebServer 2.1 does provide an interface to this toolkit through a file called webSSL.c.

Once the BSAFE SSL-C toolkit has been installed, the following changes to the platform-specific make file are required:

1. Add the BSAFE SSL-C include path to the C compiler switches.
2. Define the symbol, WEBS_SSL_SUPPORT in your C compiler switches.
3. Add the websSSL.c file to the list of objects to include in the executable.
4. Add the BSAFE SSL-C library in the list of libraries to link.

According to the four requirements listed above, the following changes must be made to the Linux-platform make file:

# Create the include path:
SSLINC = /RSASSL/library/include
# Create the SSL switches
SSLSW	= -DWEBS_SSL_SUPPORT -I$(SSLINC)
# Create the SSL library link
SSLLIB = /RSASSL/library/lib/libsslc.a
# Create the SSL patch file
SSLPATCHFILE = ../websSSL.c
# Create the C Flags
CFLAGS = -DWEBS -DUEMF -DOS="LINUX" -DLINUX $(UMSW) $(DASW) $(SSLSW) 
# Create the Link Flags
LDFLAGS = $(SSLLIB)
# Dependency definition for the libwebs.a module archive
DEPEND_FILES	= ../asp.o ../balloc.o ../base64.o ../cgi.o ../default.o  \
		  ../ejlex.o ../ejparse.o ../form.o \
		  ../h.o ../handler.o ../mime.o ../misc.o ../page.o  \
		  ../ringq.o ../rom.o \
		  ../sock.o ../sockGen.o $(SSLPATCHFILE) \
		  ../security.o ../sym.o ../uemf.o ../url.o ../value.o \
		  ../md5c.o ../um.o ../umui.o ../websda.o ../emfdb.o \
		  ../webrom.o ../webs.o ../websuemf.o main.o
# Dependency definition for websSSL.c
../websSSL.o:  ../websSSL.c ../websSSL.h ../wsIntrn.h ../uemf.h

The websSSL.C patch file requires that a support file, server.pem, be located in the run-directory of the WebServer executable. An example of server.pem is included with the BSAFE toolkit. This file contains certificate information used by SSL.