Installation
SEAL is running under Linux with a C compiler, e.g., gcc, installed. If you
run Chatter in GUI mode, your Linux system also needs the X Windows System for
the graphical feature. To install SEAL, Gauger and Chatter in your Linux
system, you may take the following procedures:
- Install all the pre-requsite components, including:
We built SEAL based on Spread 3.17.0 and OpenSSL 0.9.6g.
It should be problem-free if you use their newer versions, though we have
not tested the compatibility issue.
- Extract the zipped downloaded files.
- Edit the variables in Makefile. These variables include:
- OPENSSL_INC
- the directory containing the OpenSSL header files,
- e.g.,
OPENSSL_INC=-I/usr/include
- OPENSSL_LIB
- the directory containing the OpenSSL libraries,
- e.g.,
OPENSSL_LIB=-L/usr/lib
- SPREAD_INC
- the directory containing the Spread header files,
including sp.h, sp_events.h and sp_func.h,
- e.g.,
SPREAD_INC=-I./spread_inc
- SPREAD_LIB
- the directory containing the Spread library, either
libspread.a for static linking or libspread.so for dynamic
linking,
- e.g.,
SPREAD_LIB=-L./spread_lib
- ALG_FLAG
- the interval-based distributed rekeying algorithm,
either Rebuild, Batch or Queue-batch,
- e.g.,
ALG_FLAG=-DREBUILD
,
ALG_FLAG=-DBATCH
or
ALG_FLAG=-DQBATCH
- SIG_FLAG
- the SIGNATURE mode, either enabled or disabled,
- e.g.,
SIG_FLAG=-DSIGNATURE
or
SIG_FLAG=
- GUI_FLAG and GUI_LIB (both for Chatter only)
- the GUI mode, either enabled or disabled,
- e.g.,
GUI_FLAG=-DGUI_ENABLED `pkg-config --cflags
gtk+-2.0`
, or GUI_FLAG=
- e.g.,
GUI_LIB=`pkg-config --libs gtk+-2.0`
,
or GUI_LIB=
- DEBUG_FLAG
- determining if debug messages are logged.
- e.g.,
DEBUG_FLAG=-DDEBUG
, or
DEBUG_FLAG=
- Compile the source codes, i.e., run make.
- Prepare the 1024-bit Diffie-Hellman parameters in PEM format with OpenSSL.
For example,
openssl dhparam -outform PEM -out dh1024.pem 1024
Store the parameter file with the name "dh1024.pem"in the same
working directory as your application.
You may download the sample 1024-bit Diffie-Hellman parameters in the
Downloads section.
- Prepare the private keys and the certificates for all possible group
members with OpenSSL. For example,
# Generate the self-signed root certificate in PEM format
openssl req -x509 -newkey rsa -out cacert.pem -outform PEM
-config self_signed_ca.conf
# Generate the long-term private key and the certificate
request
openssl req -newkey rsa:1024 -keyout patrick_key.pem -outform PEM
-out patrick_req.pem \
-outform PEM
# Issue a certificate
openssl ca -in patrick_req.pem -out patrick_cert.pem
-config ca.conf
Store the private keys with the name [uid]_key.pem and the certificates
with the name [uid]_cert.pem, where [uid] corresponds to the unique
identifier of a member. Put the keys in "certs/my_private" and the
certificates in "certs" with respect to the working directory of your
application.
You may download the sample long-term private keys, the sample
certificates as well as the sample certificate configuration files in the
Downloads section.
- Prepare the SEAL configuration file "seal.conf". Store it in the same
working directory as your application. A sample, which also describes the
required format of the configuration file, is given in the
Downloads section.
- Prepare the Spread configuration file "spread.conf" for the Spread daemon.
Store it in the working directory containing the executable of the Spread
daemon.
Details about how to configure the spread.conf should be referred to
http://www.spread.org. You may obtain a
sample configuration file in the Downloads
section.
- Now, you are ready to start Gauger or Chatter. Be sure that the Spread
daemon has started before executing the SEAL-based applications.
Last modified on 7 August 2003.