summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2002-03-04 17:04:33 +0000
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2002-03-04 17:04:33 +0000
commit326d43db96aaed6d49ecc0624b636ec8355189cf (patch)
tree368961660c99f54cdbf04a22c3630b08dfe2ab8b
parent00d02571078ac9652c152249b25747a8cf4276de (diff)
downloadgnutls-326d43db96aaed6d49ecc0624b636ec8355189cf.tar.gz
updated documentation
-rw-r--r--doc/tex/Makefile.am2
-rw-r--r--doc/tex/auth.tex4
-rw-r--r--doc/tex/ciphersuites.tex2
-rw-r--r--doc/tex/gnutls.tex6
-rw-r--r--doc/tex/handshake.tex (renamed from doc/tex/resumedb.tex)33
-rw-r--r--doc/tex/layers.tex1
-rw-r--r--doc/tex/macros.tex6
-rw-r--r--doc/tex/translayer.tex4
8 files changed, 46 insertions, 12 deletions
diff --git a/doc/tex/Makefile.am b/doc/tex/Makefile.am
index d45795afca..a6b388677c 100644
--- a/doc/tex/Makefile.am
+++ b/doc/tex/Makefile.am
@@ -5,7 +5,7 @@ EXTRA_DIST = gnutls.tex gnutls.ps gnutls.html \
img6.png img7.png gnutls-logo.ps layers.ps
TEX_OBJECTS = gnutls.tex ../../lib/gnutls-api.tex serv1.tex ex1.tex ex2.tex ex3.tex fdl.tex \
- macros.tex cover.tex ciphersuites.tex resumedb.tex translayer.tex asn1.tex ../../lib/asn1-api.tex \
+ macros.tex cover.tex ciphersuites.tex handshake.tex translayer.tex asn1.tex ../../lib/asn1-api.tex \
auth.tex ciphers.tex errors.tex layers.tex
gnutls.ps: $(TEX_OBJECTS)
diff --git a/doc/tex/auth.tex b/doc/tex/auth.tex
index aba88b14c6..b70ae9384c 100644
--- a/doc/tex/auth.tex
+++ b/doc/tex/auth.tex
@@ -2,7 +2,7 @@
\par
The following authentication schemas are supported in \gnutls:
\begin{enumerate}
- \item Certificate Authentication
+ \item Certificate authentication
\item Anonymous authentication
\item SRP authentication
\end{enumerate}
@@ -46,7 +46,7 @@ Ephemeral Diffie Hellman parameters, offer perfect forward secrecy.
\\
\hline
DHE\_DSS & The DSS\footnote{DSS stands for Digital Signature Standard} algorithm is used to sign Ephemeral Diffie Hellman
-parameters which are send to the peer. Currently \gnutls{} does not support this ciphersuite.
+parameters which are send to the peer.
\\
\hline
\end{tabular}
diff --git a/doc/tex/ciphersuites.tex b/doc/tex/ciphersuites.tex
index bb25fdf931..10035798d3 100644
--- a/doc/tex/ciphersuites.tex
+++ b/doc/tex/ciphersuites.tex
@@ -4,7 +4,7 @@
The Handshake Protocol of \tlsI{} negotiates cipher suites
of the form \\
{\bf TLS\_DHE\_RSA\_WITH\_3DES\_CBC\_SHA}.
-The cipher suites contain three parameters:
+The usual cipher suites contain these parameters:
\begin{itemize}
\item The key exchange algorithm (DHE\_RSA in the example)
\item The Symmetric encryption algorithm and mode (3DES\_CBC in this
diff --git a/doc/tex/gnutls.tex b/doc/tex/gnutls.tex
index 4e4f18d50f..359c600f29 100644
--- a/doc/tex/gnutls.tex
+++ b/doc/tex/gnutls.tex
@@ -35,7 +35,7 @@ transport layer.
\par
\gnutls{} implements the above
protocols in a reentrant way. This allows multiple threads of
-execution, without the need for Critical Sections and locks. See
+execution, without the need for critical sections and locks. See
\htmladdnormallink{http://www.gnutls.org/}{http://www.gnutls.org/}
and \htmladdnormallink{http://www.gnu.org/software/gnutls/}{http://www.gnu.org/software/gnutls/}
for updated versions of the \gnutls{} software and this document.
@@ -61,10 +61,10 @@ software from some countries.}
\input{ciphers}
-\input{resumedb}
-
\input{translayer}
+\input{handshake}
+
\input{errors}
\section{Client examples}
diff --git a/doc/tex/resumedb.tex b/doc/tex/handshake.tex
index 3d58ec384b..0192772cfb 100644
--- a/doc/tex/resumedb.tex
+++ b/doc/tex/handshake.tex
@@ -1,7 +1,36 @@
-\section{Resuming Sessions}
+\section{The handshake protocol}
+
+The Handshake protocol is fully controlled by application layer (your
+program). Within this protocol the parameters for cipher suites, supported
+authentication methods etc. are negotiated. Thus the application layer
+has to set up the required parameters for the connection.
+See the following functions:
+\begin{itemize}
+\item \printfunc{gnutls_cipher_set_priority}{gnutls\_cipher\_set\_priority()}:
+to set the priority of bulk cipher algorithms.
+\item \printfunc{gnutls_mac_set_priority}{gnutls\_mac\_set\_priority()}:
+to set the priority of MAC algorithms.
+\item \printfunc{gnutls_kx_set_priority}{gnutls\_kx\_set\_priority()}:
+to set the priority of key exchange algorithms.
+\item \printfunc{gnutls_compression_set_priority}{gnutls\_compression\_set\_priority()}:
+to set the priority of compression methods.
+\item \printfunc{gnutls_cert_type_set_priority}{gnutls\_cert\_type\_set\_priority()}:
+to set the priority of certificate types (ie. OpenPGP, X.509).
+\item \printfunc{gnutls_protocol_set_priority}{gnutls\_protocol\_set\_priority()}:
+to set the priority of protocol versions (ie. \sslIII{}, \tlsI).
+\item \printfunc{gnutls_cred_set}{gnutls\_cred\_set()}: to set the
+appropriate credentials structures.
+\item \printfunc{gnutls_certificate_server_set_request}
+{gnutls\_certificate\_server\_set\_request()}: to set
+whether client certificate is required or not.
+\item \printfunc{gnutls_handshake}{gnutls\_handshake()}: to initiate the
+handshake.
+\end{itemize}
+
+\subsection{Resuming Sessions}
\par
The
-\hyperref{gnutls\_handshake()}{gnutls\_handshake() (see Section }{)}{gnutls_handshake}
+\printfunc{gnutls_handshake}{gnutls\_handshake()}
function, is expensive since a lot of calculations are performed. In order to support many fast connections to
the same server a client may use session resuming. {\bf Session resuming} is a
feature of the {\bf TLS} protocol which allows a client to connect to a server,
diff --git a/doc/tex/layers.tex b/doc/tex/layers.tex
index dc1baa3471..6154edc53f 100644
--- a/doc/tex/layers.tex
+++ b/doc/tex/layers.tex
@@ -19,6 +19,7 @@ conditions. See
\hyperref{gnutls\_alert\_send\_appropriate()}{gnutls\_alert\_send\_appropriate() (see Section }{)}{gnutls_alert_send_appropriate}
and
\hyperref{gnutls\_alert\_get()}{gnutls\_alert\_get() (see Section }{)}{gnutls_alert_get}.
+The alert protocol is above the record protocol.
\par
The Handshake protocol is responsible for the security parameters'
diff --git a/doc/tex/macros.tex b/doc/tex/macros.tex
index 29e1a28d5e..5fdd1b4fdc 100644
--- a/doc/tex/macros.tex
+++ b/doc/tex/macros.tex
@@ -5,3 +5,9 @@
\newcommand{\sslII}{{\emph{SSL 2.0}}}
\newcommand{\ssl}{{\emph{SSL}}}
\newcommand{\HRule}{\rule{\linewidth}{0.4mm}}
+
+% accepts section name, function name
+\newcommand{\printfunc}[2]{%
+ \hyperref{#2}{#2 (see Section }{)}{#1}
+}
+
diff --git a/doc/tex/translayer.tex b/doc/tex/translayer.tex
index e7657f63b2..985e4597d2 100644
--- a/doc/tex/translayer.tex
+++ b/doc/tex/translayer.tex
@@ -15,6 +15,4 @@ can be resumed (called again), if any of these values is returned.
By default, if none of the above functions are called, gnutls will use
the berkeley sockets functions \emph{recv()} and \emph{send()}. In this case
gnutls will use some hacks in order for \emph{select()} to work, thus
-making easy to add \tls support to existing servers.
-
-
+making easy to add \tls{} support to existing servers.