
1. BUILDING ITISSL

   Most of the ITISSL code is java and ITISSL comes together with the
   compiled java classes. However,  the native code will first have to
   be compiled. To get ITISSL running, you'll have to perform the
   following steps:

   A1. Get a precompiled SSLeay-0.8.1 (or later) or OpenSSL for your
   platform. If you don't find one, build SSLeay yourself. You'll find it at
   (ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/SSLeay-x.x.x.tar.gz) or


   A2. Go into the <itissl> directory, edit the
   'itissl.distrib.config' file. Set the appropriate
    options for your machine, jdk and operating system. You'll also have to
    specify the locations for the libraries and include directories of
    SSLeay/OpenSSL(item A1)

   A4. run 'make'

   A5. Run 'make install' to install ITISSL as an extension in your
       jdk1.2 .

   Alternatively you can try to get a pre-compiled
   itissl-extension-archive (itissl-ext.<sys-platform>.tar.gz), and
   then:

   B1. unpack the itissl-ext.<sys-platform>.tar.gz

   B2. edit 'itissl.build.config' and specify your JDK1.2 root

   B3. run 'make install'

   ----------------------------------------------------------------------
   The makefiles of the ITISSL distribution are *very* primitive. They
   are provided just to enable users to build itissl. The native code
   used in ITISSL has very few (if any) platform dependent features:
   either java native interface calls or SSLeay API calls are used.
   Therefore, we hope to have few problems in this respect.

   BUILDING ON UNIX
   ================

   On Unix platforms, building ITISSL should be straitforward.

   BUILDING ON WinNT
   =================

   On WinNT, building ITISSL is a 'special' case. To build ITISSL,
	       *** YOU NEED THE CYGWIN TOOLS  ***
   If you don't have them, get them at
        ftp://go.cygnus.com/pub/sourceware.cygnus.com/cygwin/

   Getting them enables you to use the unix make, bash and shell,
   which are needed by test programs, rmi tools, for the
   'shotjava' wrapper, etc.

   If you have problems in the build process, read carefully the
   'itissl.build.config' comments and try to tune some of the
    definitions there for your system.

   ------

   Alternativelly, re-write the make-file for the 'nmake & com' duo.
   (have fun)

2. USING ITISSL

   Note that ITISSL includes cryptographic software written by Eric
   Young (eay@cryptsoft.com). Consider the SSLEAY_COPYRIGHT notice for
   using ITISSL, as libitissl.so(itissl.dll) contains the SSLeay libraries. The
   ITISSL package is distributed itself under under the terms of the
   GNU General Public License as published by the Free Software
   Foundation; either version 2 of the License, or (at your option)
   any later version.

   ITISSL contains also some additional utilties, such as a (secure)
   rmiregistry (srmiregistry) and a  wrapper for the hotjava browser
   (shotjava). Both run either in the build tree or installed.

3. FILES

   In the following, <itissl> denotes the build directory of ITISSL

   <itissl>/README           -- this file
   <itissl>/index.html       -- HTML documentation for the whole package
   <itissl>/Makefile         -- Makefile for the ITISSL distribution
   <itissl>/itissl.build.config -- options for building and installing ITISSL
   <itissl>/SSLEAY_COPYRIGHT -- copyright notice for the ssleay. This
			     -- applies to the ssleay objects in the itissl
		             -- dynamic linked library
   <itissl>/LICENSE          -- the GNU General Public License, the LICENSE
		             -- for ITISSL
   <itissl>/TODO	     -- Problems to do. Check this file before
			     -- sending a bug report..

   <itissl>/relsrc/    --  the directory containing the java and native
			   sources for ITISSL
   <itissl>/classes/   --  dirctory for compiled java classes
   <itissl>/bin/       --  tools, such as 'srmiregistry' or 'shotjava'
   <itissl>/certs/     --  some example certificates, used for the   examples
			   in the 'de.tu_darmstadt.sp.example' package
   <itissl>/lib        --  location for the dynamic linked libraries
   <itissl>/lib/itissl --  location for the jar archives
   <itissl>/api        --  api and package specification. Start with
			   <itissl>/index.html reach the api documentation.
   <itissl>/doc        --  tool documentation (shotjava,srmiregistry,etc..)


4. ITISSL, JAVA VERSIONS => ARCHIVES.

 ITISSL needs Java 2 (JDK 1.2) because it needs a X509 implementation.
 If you supply yourself a 'javax.security.cert.X509Certificate', you
 don't need Java 2. This is why ITISSL works together with hotjava but
 without Java 2 (hotjava contains a private
 'javax.security.cert.X509Certificate' in its own classpath).

 To allow you using ITISSL even *without* Java2, we've prepared several
 archives in <itissl>/lib/itissl:


 1. <itissl>/lib/itissl/ssl.jar  -- contains only the ssl classes. It
    can be used *without* Java 2, but *needs* some third-party
    implementation for 'javax.security.cert.X509Certificate'

 2. <itissl>/lib/itissl/x509.jar -- contains the implementation for
    'javax.security.cert.X509Certificate' using the java 2
    implementation. *requires* Java 2.

 3. <itissl>/lib/itissl/rmi.jar -- contains factories, sockets and
    other utilities to use ssl with rmi. It works under Java 2.

 4.  <itissl>/lib/itissl/itissl.jar  -- contains everything
    (ssl,x509,rmi, examples). It can be used *only* with Java 2,
    because it contains the x509 classes (item 2).
