README
SYNOPSIS

 This Apache module provides strong cryptography for the Apache 2.0 webserver
 via the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS
 v1) protocols by the help of the SSL/TLS implementation library NSS

 This module is based heavily on the mod_ssl package. In fact, it's more
 a conversion than anything else.

BUILDING

 To build this you'll need NSPR 4.4.1 and NSS 3.9.3. It may work with earlier
 versions but these are recommended (or tested). These can be retrieved from
 http://www.mozilla.org/. The --with-nspr and --with-nss tags require that
 the package be installed in the same parent directory (e.g. /opt/nspr,
 /usr/local/nspr, etc). It will look in this parent for include/, lib/, etc.

 If --with-nss or --with-nspr are not passed configure will look for the
 mozilla-[nss|nspr]-devel packages and use the libraries with that if found.
 It is strongly recommended that the mozilla.org version be used instead.

 Build and install those packages somewhere then configure the module with
 something like:

 % ./configure --with-apxs[=/path/to/apxs/] --with-nspr=/path/to/nspr/ --with-nss=/path/to/nss/
 % gmake all install

 You only need to use =/path/to/apxs if apxs isn't in your path or if you
 want to install into a specific Apache installation.

 This will install a sample configuration file nss.conf. You'll need to do
 some hand-editing as well to tell Apache to read this file.

 To httpd.conf add (anywhere is fine):

 Include conf/nss.conf

 You'll need to change the default ports in nss.conf from 443 to
 something else if you aren't starting this as root.

CONFIGURING NSS

 You'll need to create an NSS database and get a server certificate installed.
 A script, gencerts, is included to help get things going with a self-signed
 certificate. This is a *BAD* idea and you shouldn't use this. It is for
 demonstration purposes only. As a matter of policy, users should not get
 used to accepting a SSL certifiate signed by an unknown or untrusted
 issuer.

 The result of the gencert script is an NSS database that contains a
 self-signed CA, a server certificate (nickname Server-Cert) and a
 client certificate (alpha). The client certificate is generated to make
 testing client authentication simpler.

 You can store the token passwords in a file so you aren't prompted during
 startup (so you can do unattended starts, for example). To do this, set
 the file that will store the token passwords in the NSSPassPhraseDialog 
 attribute in nss.conf ala:

 NSSPassPhraseDialog  file:/path/to/password.conf

 The format of the file for a non-hardware token is tokenname:password.
 A sample for the internal software token is like:

 internal:netscape

DOCUMENTATION

 See docs/mod_nss.html for additional information.