diff options
author | Ludovic Courtès <ludo@chbouib.org> | 2007-05-31 00:08:59 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@chbouib.org> | 2007-05-31 00:08:59 +0200 |
commit | 6b55b3d61e743045b88375ab86bc389d3ee2292f (patch) | |
tree | 1b6dd16a90e0bb579c5c0c89c7716af5579ccab4 /doc/gnutls.texi | |
parent | e6b134bbb87a1281ef65c881506542e1f2ea3e2a (diff) | |
download | gnutls-6b55b3d61e743045b88375ab86bc389d3ee2292f.tar.gz |
Integrated documentation of Guile bindings.
Diffstat (limited to 'doc/gnutls.texi')
-rw-r--r-- | doc/gnutls.texi | 215 |
1 files changed, 112 insertions, 103 deletions
diff --git a/doc/gnutls.texi b/doc/gnutls.texi index dc3d45ba12..57a1089dcc 100644 --- a/doc/gnutls.texi +++ b/doc/gnutls.texi @@ -65,34 +65,35 @@ Documentation License''. @contents @ifnottex -@node Top +@node Top, Preface, (dir), (dir) @top GNU TLS @insertcopying @end ifnottex @menu -* Preface:: -* The Library:: -* Introduction to TLS:: -* Authentication methods:: -* More on certificate authentication:: -* How to use TLS in application protocols:: -* How to use GnuTLS in applications:: -* Included programs:: -* Function reference:: -* Certificate to XML convertion functions:: -* All the supported ciphersuites in GnuTLS:: -* Internal architecture of GnuTLS:: -* Copying Information:: -* Concept Index:: +* Preface:: +* The Library:: +* Introduction to TLS:: +* Authentication methods:: +* More on certificate authentication:: +* How to use TLS in application protocols:: +* How to use GnuTLS in applications:: +* Included programs:: +* Function reference:: +* Certificate to XML convertion functions:: +* All the supported ciphersuites in GnuTLS:: +* Guile Bindings:: +* Internal architecture of GnuTLS:: +* Copying Information:: +* Concept Index:: * Function and Data Index:: @c * @mybibnode{}:: -* Bibliography:: +* Bibliography:: @end menu -@node Preface +@node Preface, The Library, Top, Top @chapter Preface This document tries to demonstrate and explain the @acronym{GnuTLS} @@ -121,7 +122,7 @@ Updated versions of the @acronym{GnuTLS} software and this document will be available from @url{http://www.gnutls.org/} and @url{http://www.gnu.org/software/gnutls/}. -@node The Library +@node The Library, Introduction to TLS, Preface, Top @chapter The Library In brief @acronym{GnuTLS} can be described as a library which offers an API @@ -187,7 +188,7 @@ small library, with the required features, can be generated. * Callback functions:: @end menu -@node General Idea +@node General Idea, Error handling, The Library, The Library @section General Idea A brief description of how @acronym{GnuTLS} works internally is shown @@ -234,7 +235,7 @@ and if the session ID sent by the client, matches a stored session, the stored session will be retrieved, and the new session will be a resumed one, and will share the same session ID with the previous one. -@node Error handling +@node Error handling, Memory handling, General Idea, The Library @section Error handling In @acronym{GnuTLS} most functions return an integer type as a result. In @@ -257,7 +258,7 @@ If any non fatal errors, that require an action, are to be returned by a function, these error codes will be documented in the function's reference. @xref{Error Codes}, for all the error codes. -@node Memory handling +@node Memory handling, Callback functions, Error handling, The Library @section Memory handling @acronym{GnuTLS} internally handles heap allocated objects @@ -275,7 +276,7 @@ cases where even the system's swap memory is not considered secure. See the documentation of @acronym{Libgcrypt} for more information. -@node Callback functions +@node Callback functions, , Memory handling, The Library @section Callback functions @cindex Callback functions @@ -308,7 +309,7 @@ should allocate and free memory using the functions shown below. @end itemize -@node Introduction to TLS +@node Introduction to TLS, Authentication methods, The Library, Top @chapter Introduction to @acronym{TLS} @acronym{TLS} stands for ``Transport Layer Security'' and is the @@ -336,7 +337,7 @@ differences of these protocols are minor. Older protocols such as * On SSL 2 and older protocols:: @end menu -@node TLS layers +@node TLS layers, The transport layer, Introduction to TLS, Introduction to TLS @section TLS layers @cindex TLS Layers @@ -358,7 +359,7 @@ protocol. The protocol layering in TLS is shown in the figure below. @image{layers,12cm,8cm} -@node The transport layer +@node The transport layer, The TLS record protocol, TLS layers, Introduction to TLS @section The transport layer @cindex Transport protocol @@ -404,7 +405,7 @@ will use the Berkeley Sockets functions. In this case work, thus making it easy to add @acronym{TLS} support to existing TCP/IP servers. -@node The TLS record protocol +@node The TLS record protocol, The TLS Alert Protocol, The transport layer, Introduction to TLS @section The TLS record protocol @cindex Record protocol @@ -439,7 +440,7 @@ just after the handshake protocol has finished. * Weaknesses and countermeasures:: @end menu -@node Encryption algorithms used in the record layer +@node Encryption algorithms used in the record layer, Compression algorithms used in the record layer, The TLS record protocol, The TLS record protocol @subsection Encryption algorithms used in the record layer @cindex Symmetric encryption algorithms @@ -489,7 +490,7 @@ bits of data. @end table -@node Compression algorithms used in the record layer +@node Compression algorithms used in the record layer, Weaknesses and countermeasures, Encryption algorithms used in the record layer, The TLS record protocol @subsection Compression algorithms used in the record layer @cindex Compression algorithms @@ -524,7 +525,7 @@ and the private extensions are enabled. @end table -@node Weaknesses and countermeasures +@node Weaknesses and countermeasures, , Compression algorithms used in the record layer, The TLS record protocol @subsection Weaknesses and countermeasures Some weaknesses that may affect the security of the Record layer have @@ -551,7 +552,7 @@ Those weaknesses were solved in @acronym{TLS} 1.1 @xcite{RFC4346} which is imple in @acronym{GnuTLS}. For a detailed discussion see the archives of the TLS Working Group mailing list and the paper @xcite{CBCATT}. -@node The TLS Alert Protocol +@node The TLS Alert Protocol, The TLS Handshake Protocol, The TLS record protocol, Introduction to TLS @section The TLS Alert Protocol @anchor{The Alert Protocol} @cindex Alert protocol @@ -586,7 +587,7 @@ Returns the name, in a character array, of the given alert. @end table -@node The TLS Handshake Protocol +@node The TLS Handshake Protocol, TLS Extensions, The TLS Alert Protocol, Introduction to TLS @section The TLS Handshake Protocol @anchor{The Handshake Protocol} @cindex Handshake protocol @@ -744,7 +745,7 @@ It might also be useful to be able to check for expired sessions in order to remove them, and save space. The function @ref{gnutls_db_check_entry} is provided for that reason. -@node TLS Extensions +@node TLS Extensions, On SSL 2 and older protocols, The TLS Handshake Protocol, Introduction to TLS @section TLS Extensions @cindex TLS Extensions @@ -786,7 +787,7 @@ begins within the first handshake packet. The functions used to enable this extension, or to retrieve the name sent by a client. -@node On SSL 2 and older protocols +@node On SSL 2 and older protocols, , TLS Extensions, Introduction to TLS @section On SSL 2 and older protocols @cindex SSL 2 @@ -833,7 +834,7 @@ Other protocols such as Microsoft's @acronym{PCT} 1 and @acronym{PCT} 2 were not implemented because they were also abandoned and deprecated by @acronym{SSL} 3.0 and later @acronym{TLS} 1.0. -@node Authentication methods +@node Authentication methods, More on certificate authentication, Introduction to TLS, Top @chapter Authentication methods The @acronym{TLS} protocol provides confidentiality and encryption, @@ -862,7 +863,7 @@ are: * Parameters stored in credentials:: @end menu -@node Certificate authentication +@node Certificate authentication, Anonymous authentication, Authentication methods, Authentication methods @section Certificate authentication @subsection Authentication using @acronym{X.509} certificates @@ -1011,7 +1012,7 @@ Signature Standard. @end table -@node Anonymous authentication +@node Anonymous authentication, Authentication using SRP, Certificate authentication, Authentication methods @section Anonymous authentication @cindex Anonymous authentication @@ -1036,7 +1037,7 @@ This algorithm exchanges Diffie Hellman parameters. @end table -@node Authentication using SRP +@node Authentication using SRP, Authentication using PSK, Anonymous authentication, Authentication methods @section Authentication using @acronym{SRP} @cindex @acronym{SRP} authentication @@ -1123,7 +1124,7 @@ manipulate the required parameters for @acronym{SRP} authentication is also included. @xref{srptool}, for more information. -@node Authentication using PSK +@node Authentication using PSK, Authentication and credentials, Authentication using SRP, Authentication methods @section Authentication using @acronym{PSK} @cindex @acronym{PSK} authentication @@ -1175,7 +1176,7 @@ are included in @acronym{GnuTLS}, and may be used to generate and maintain @acronym{PSK} keys. -@node Authentication and credentials +@node Authentication and credentials, Parameters stored in credentials, Authentication using PSK, Authentication methods @section Authentication and credentials In @acronym{GnuTLS} every key exchange method is associated with a @@ -1217,7 +1218,7 @@ Key exchange algorithms and the corresponding credential types: @end multitable -@node Parameters stored in credentials +@node Parameters stored in credentials, , Authentication and credentials, Authentication methods @section Parameters stored in credentials Several parameters such as the ones used for Diffie-Hellman @@ -1276,7 +1277,7 @@ int main() @} @end example -@node More on certificate authentication +@node More on certificate authentication, How to use TLS in application protocols, Authentication methods, Top @chapter More on certificate authentication @anchor{Certificate Authentication} @cindex Certificate authentication @@ -1287,7 +1288,7 @@ int main() * Digital signatures:: @end menu -@node The X.509 trust model +@node The X.509 trust model, The OpenPGP trust model, More on certificate authentication, More on certificate authentication @section The @acronym{X.509} trust model @cindex @acronym{X.509} certificates @@ -1312,7 +1313,7 @@ handling @acronym{X.509} certificates is described at section * PKCS #12 structures:: @end menu -@node X.509 certificates +@node X.509 certificates, Verifying X.509 certificate paths, The X.509 trust model, The X.509 trust model @subsection @acronym{X.509} certificates An @acronym{X.509} certificate usually contains information about the @@ -1402,7 +1403,7 @@ functions for @acronym{X.509} certificate handling have their prototypes in @file{gnutls/x509.h}. An example program to demonstrate the @acronym{X.509} parsing capabilities can be found at section @ref{ex:x509-info}. -@node Verifying X.509 certificate paths +@node Verifying X.509 certificate paths, PKCS #10 certificate requests, X.509 certificates, The X.509 trust model @subsection Verifying @acronym{X.509} certificate paths @cindex Verifying certificate paths @@ -1485,7 +1486,7 @@ about the peer's identity. It is required to verify if the certificate's owner is the one you expect. For more information consult @xcite{RFC2818} and section @ref{ex:verify} for an example. -@node PKCS #10 certificate requests +@node PKCS #10 certificate requests, PKCS #12 structures, Verifying X.509 certificate paths, The X.509 trust model @subsection @acronym{PKCS} #10 certificate requests @cindex Certificate requests @cindex @acronym{PKCS} #10 @@ -1501,7 +1502,7 @@ In @acronym{GnuTLS} the @acronym{PKCS} #10 structures are handled using the @code{gnutls_x509_crq_t} type. An example of a certificate request generation can be found at section @ref{ex:crq}. -@node PKCS #12 structures +@node PKCS #12 structures, , PKCS #10 certificate requests, The X.509 trust model @subsection @acronym{PKCS} #12 structures @cindex @acronym{PKCS} #12 @@ -1519,7 +1520,7 @@ in order for its data to be accessed. An example of a @acronym{PKCS} #12 structure generation can be found at section @ref{ex:pkcs12}. -@node The OpenPGP trust model +@node The OpenPGP trust model, Digital signatures, The X.509 trust model, More on certificate authentication @section The @acronym{OpenPGP} trust model @cindex @acronym{OpenPGP} Keys @@ -1597,13 +1598,13 @@ These algorithms have been broken and should not be trusted. @end table -@node Digital signatures +@node Digital signatures, , The OpenPGP trust model, More on certificate authentication @section Digital signatures @cindex Digital signatures @include signatures.texi -@node How to use TLS in application protocols +@node How to use TLS in application protocols, How to use GnuTLS in applications, More on certificate authentication, Top @chapter How to use @acronym{TLS} in application protocols This chapter is intended to provide some hints on how to use the @@ -1616,7 +1617,7 @@ but may be extended to other ones too. * Upward negotiation:: @end menu -@node Separate ports +@node Separate ports, Upward negotiation, How to use TLS in application protocols, How to use TLS in application protocols @section Separate ports Traditionally @acronym{SSL} was used in application protocols by @@ -1643,7 +1644,7 @@ service, which is unnecessary complication. Due to the fact that there is a limitation on the available privileged ports, this approach was soon obsoleted. -@node Upward negotiation +@node Upward negotiation, , Separate ports, How to use TLS in application protocols @section Upward negotiation Other application protocols@footnote{See LDAP, IMAP etc.} use a @@ -1734,7 +1735,7 @@ starts, in order to send the correct certificate, use the correct password file@footnote{in @acronym{SRP} authentication}, or anything else! -@node How to use GnuTLS in applications +@node How to use GnuTLS in applications, Included programs, How to use TLS in application protocols, Top @chapter How to use @acronym{GnuTLS} in applications @anchor{examples} @cindex Example programs @@ -1748,7 +1749,7 @@ else! * Compatibility with the OpenSSL library:: @end menu -@node Preparation +@node Preparation, Multi-threaded applications, How to use GnuTLS in applications, How to use GnuTLS in applications @section Preparation To use @acronym{GnuTLS}, you have to perform some changes to your @@ -1761,7 +1762,7 @@ the following subsections. * Building the source:: @end menu -@node Headers +@node Headers, Version check, Preparation, Preparation @subsection Headers All the data types and functions of the @acronym{GnuTLS} library are @@ -1773,7 +1774,7 @@ The extra functionality of the @acronym{GnuTLS-extra} library is available by including the header file @file{gnutls/extra.h} in your programs. -@node Version check +@node Version check, Building the source, Headers, Preparation @subsection Version check It is often desirable to check that the version of `gnutls' used is @@ -1783,7 +1784,7 @@ with the dynamic linker an old version is actually used. So you may want to check that the version is okay right after program startup. See the function @ref{gnutls_check_version}. -@node Building the source +@node Building the source, , Version check, Preparation @subsection Building the source If you want to compile a source file including the `gnutls/gnutls.h' @@ -1829,7 +1830,7 @@ specifying both options to `libgnutls-config': gcc -o foo foo.c `libgnutls-config --cflags --libs` @end example -@node Multi-threaded applications +@node Multi-threaded applications, Client examples, Preparation, How to use GnuTLS in applications @section Multi-threaded applications Although the @acronym{GnuTLS} library is thread safe by design, some @@ -1893,7 +1894,7 @@ int main() @end example @end itemize -@node Client examples +@node Client examples, Server examples, Multi-threaded applications, How to use GnuTLS in applications @section Client examples This section contains examples of @acronym{TLS} and @acronym{SSL} @@ -1914,7 +1915,7 @@ implemented by another example. * Helper function for TCP connections:: @end menu -@node Simple client example with anonymous authentication +@node Simple client example with anonymous authentication, Simple client example with X.509 certificate support, Client examples, Client examples @subsection Simple client example with anonymous authentication The simplest client using TLS is the one that doesn't do any @@ -1925,7 +1926,7 @@ However, the data is integrity and privacy protected. @verbatiminclude examples/ex-client1.c -@node Simple client example with X.509 certificate support +@node Simple client example with X.509 certificate support, Obtaining session information, Simple client example with anonymous authentication, Client examples @subsection Simple client example with @acronym{X.509} certificate support Let's assume now that we want to create a TCP client which @@ -1938,7 +1939,7 @@ redefining them. @verbatiminclude examples/ex-client2.c -@node Obtaining session information +@node Obtaining session information, Verifying peer's certificate, Simple client example with X.509 certificate support, Client examples @subsection Obtaining session information Most of the times it is desirable to know the security properties of @@ -1949,7 +1950,7 @@ if called after a successful @ref{gnutls_handshake}. @verbatiminclude examples/ex-session-info.c -@node Verifying peer's certificate +@node Verifying peer's certificate, Using a callback to select the certificate to use, Obtaining session information, Client examples @subsection Verifying peer's certificate @anchor{ex:verify} @@ -1967,7 +1968,7 @@ verification output. @verbatiminclude examples/ex-verify.c -@node Using a callback to select the certificate to use +@node Using a callback to select the certificate to use, Client with Resume capability example, Verifying peer's certificate, Client examples @subsection Using a callback to select the certificate to use There are cases where a client holds several certificate and key @@ -1977,7 +1978,7 @@ certificate selection callback. @verbatiminclude examples/ex-cert-select.c -@node Client with Resume capability example +@node Client with Resume capability example, Simple client example with SRP authentication, Using a callback to select the certificate to use, Client examples @subsection Client with Resume capability example @anchor{ex:resume-client} @@ -1988,7 +1989,7 @@ establish a new connection using the previously negotiated data. @verbatiminclude examples/ex-client-resume.c -@node Simple client example with SRP authentication +@node Simple client example with SRP authentication, Simple client example with TLS/IA support, Client with Resume capability example, Client examples @subsection Simple client example with @acronym{SRP} authentication The following client is a very simple @acronym{SRP} @acronym{TLS} @@ -1998,7 +1999,7 @@ itself using a certificate, and in that case it has to be verified. @verbatiminclude examples/ex-client-srp.c -@node Simple client example with TLS/IA support +@node Simple client example with TLS/IA support, Simple client example with authorization support, Simple client example with SRP authentication, Client examples @subsection Simple client example with @acronym{TLS/IA} support The following client is a simple client which uses the @@ -2006,7 +2007,7 @@ The following client is a simple client which uses the @verbatiminclude examples/ex-client-tlsia.c -@node Simple client example with authorization support +@node Simple client example with authorization support, Helper function for TCP connections, Simple client example with TLS/IA support, Client examples @subsection Simple client example with authorization support The following client require that the server sends authorization data, @@ -2015,7 +2016,7 @@ For authentication, X.509 is used. @verbatiminclude examples/ex-client-authz.c -@node Helper function for TCP connections +@node Helper function for TCP connections, , Simple client example with authorization support, Client examples @subsection Helper function for TCP connections This helper function abstracts away TCP connection handling from the @@ -2023,7 +2024,7 @@ other examples. It is required to build some examples. @verbatiminclude examples/tcp.c -@node Server examples +@node Server examples, Miscellaneous examples, Client examples, How to use GnuTLS in applications @section Server examples This section contains examples of @acronym{TLS} and @acronym{SSL} @@ -2038,7 +2039,7 @@ servers, using @acronym{GnuTLS}. * Echo Server with authorization support:: @end menu -@node Echo Server with X.509 authentication +@node Echo Server with X.509 authentication, Echo Server with X.509 authentication II, Server examples, Server examples @subsection Echo Server with @acronym{X.509} authentication This example is a very simple echo server which supports @@ -2046,7 +2047,7 @@ This example is a very simple echo server which supports @verbatiminclude examples/ex-serv1.c -@node Echo Server with X.509 authentication II +@node Echo Server with X.509 authentication II, Echo Server with OpenPGP authentication, Echo Server with X.509 authentication, Server examples @subsection Echo Server with @acronym{X.509} authentication II The following example is a server which supports @acronym{X.509} @@ -2055,7 +2056,7 @@ the DHE ciphersuites and session resuming. @verbatiminclude examples/ex-serv-export.c -@node Echo Server with OpenPGP authentication +@node Echo Server with OpenPGP authentication, Echo Server with SRP authentication, Echo Server with X.509 authentication II, Server examples @subsection Echo Server with @acronym{OpenPGP} authentication @cindex @acronym{OpenPGP} Server @@ -2067,7 +2068,7 @@ them to keep these examples as simple as possible. @verbatiminclude examples/ex-serv-pgp.c -@node Echo Server with SRP authentication +@node Echo Server with SRP authentication, Echo Server with anonymous authentication, Echo Server with OpenPGP authentication, Server examples @subsection Echo Server with @acronym{SRP} authentication This is a server which supports @acronym{SRP} authentication. It is @@ -2076,7 +2077,7 @@ server. Here it is separate for simplicity. @verbatiminclude examples/ex-serv-srp.c -@node Echo Server with anonymous authentication +@node Echo Server with anonymous authentication, Echo Server with authorization support, Echo Server with SRP authentication, Server examples @subsection Echo Server with anonymous authentication This example server support anonymous authentication, and could be @@ -2084,7 +2085,7 @@ used to serve the example client for anonymous authentication. @verbatiminclude examples/ex-serv-anon.c -@node Echo Server with authorization support +@node Echo Server with authorization support, , Echo Server with anonymous authentication, Server examples @subsection Echo Server with authorization support This example server support authorization data, and can be used to @@ -2092,7 +2093,7 @@ serve the example client with authorization support. @verbatiminclude examples/ex-serv-authz.c -@node Miscellaneous examples +@node Miscellaneous examples, Compatibility with the OpenSSL library, Server examples, How to use GnuTLS in applications @section Miscellaneous examples @menu @@ -2102,7 +2103,7 @@ serve the example client with authorization support. * PKCS #12 structure generation:: @end menu -@node Checking for an alert +@node Checking for an alert, X.509 certificate parsing example, Miscellaneous examples, Miscellaneous examples @subsection Checking for an alert This is a function that checks if an alert has been received in the @@ -2110,7 +2111,7 @@ current session. @verbatiminclude examples/ex-alert.c -@node X.509 certificate parsing example +@node X.509 certificate parsing example, Certificate request generation, Checking for an alert, Miscellaneous examples @subsection @acronym{X.509} certificate parsing example @anchor{ex:x509-info} @@ -2120,7 +2121,7 @@ information about it. @verbatiminclude examples/ex-x509-info.c -@node Certificate request generation +@node Certificate request generation, PKCS #12 structure generation, X.509 certificate parsing example, Miscellaneous examples @subsection Certificate request generation @anchor{ex:crq} @@ -2130,7 +2131,7 @@ which should return a signed certificate. @verbatiminclude examples/ex-crq.c -@node PKCS #12 structure generation +@node PKCS #12 structure generation, , Certificate request generation, Miscellaneous examples @subsection @acronym{PKCS} #12 structure generation @anchor{ex:pkcs12} @@ -2139,7 +2140,7 @@ structure. @verbatiminclude examples/ex-pkcs12.c -@node Compatibility with the OpenSSL library +@node Compatibility with the OpenSSL library, , Miscellaneous examples, How to use GnuTLS in applications @section Compatibility with the OpenSSL library @cindex OpenSSL @@ -2162,7 +2163,7 @@ Current limitations imposed by the compatibility layer include: @end itemize -@node Included programs +@node Included programs, Function reference, How to use GnuTLS in applications, Top @chapter Included programs Included with @acronym{GnuTLS} are also a few command line tools that @@ -2177,7 +2178,7 @@ application. The applications are discussed in this chapter. * Invoking certtool:: @end menu -@node Invoking srptool +@node Invoking srptool, Invoking gnutls-cli, Included programs, Included programs @section Invoking srptool @anchor{srptool} @cindex srptool @@ -2222,7 +2223,7 @@ $ srptool --passwd /etc/tpasswd \ @end itemize -@node Invoking gnutls-cli +@node Invoking gnutls-cli, Invoking gnutls-cli-debug, Invoking srptool, Included programs @section Invoking gnutls-cli @cindex gnutls-cli @@ -2281,7 +2282,7 @@ Usage: gnutls-cli [options] hostname --copyright prints the program's license @end verbatim -@node Invoking gnutls-cli-debug +@node Invoking gnutls-cli-debug, Invoking gnutls-serv, Invoking gnutls-cli, Included programs @section Invoking gnutls-cli-debug @cindex gnutls-cli-debug @@ -2329,7 +2330,7 @@ Checking for SRP authentication support (TLS extension)... yes Checking for OpenPGP authentication support (TLS extension)... no @end smallexample -@node Invoking gnutls-serv +@node Invoking gnutls-serv, Invoking certtool, Invoking gnutls-cli-debug, Included programs @section Invoking gnutls-serv @cindex gnutls-serv @@ -2556,7 +2557,7 @@ gnutls-serv --http \ --pskpasswd psk-passwd.txt @end example -@node Invoking certtool +@node Invoking certtool, , Invoking gnutls-serv, Included programs @section Invoking certtool @cindex certtool @@ -2829,7 +2830,7 @@ signing_key #time_stamping_key @end example -@node Function reference +@node Function reference, Certificate to XML convertion functions, Included programs, Top @chapter Function reference @cindex Function reference @@ -2842,7 +2843,7 @@ signing_key * Error codes and descriptions:: @end menu -@node Core functions +@node Core functions, X.509 certificate functions, Function reference, Function reference @section Core functions The prototypes for the following functions lie in @@ -2850,7 +2851,7 @@ The prototypes for the following functions lie in @include gnutls-api.texi -@node X.509 certificate functions +@node X.509 certificate functions, GnuTLS-extra functions, Core functions, Function reference @section @acronym{X.509} certificate functions @anchor{sec:x509api} @cindex @acronym{X.509} Functions @@ -2860,7 +2861,7 @@ Their prototypes lie in @file{gnutls/x509.h}. @include x509-api.texi -@node GnuTLS-extra functions +@node GnuTLS-extra functions, OpenPGP functions, X.509 certificate functions, Function reference @section @acronym{GnuTLS-extra} functions @cindex @acronym{GnuTLS-extra} functions @@ -2870,7 +2871,7 @@ called @code{gnutls-extra}. The prototypes for this library lie in @include gnutls-extra-api.texi -@node OpenPGP functions +@node OpenPGP functions, TLS Inner Application (TLS/IA) functions, GnuTLS-extra functions, Function reference @section @acronym{OpenPGP} functions @cindex @acronym{OpenPGP} functions @anchor{sec:openpgpapi} @@ -2882,7 +2883,7 @@ to be able to use these functions (@pxref{GnuTLS-extra functions}). @include pgp-api.texi -@node TLS Inner Application (TLS/IA) functions +@node TLS Inner Application (TLS/IA) functions, Error codes and descriptions, OpenPGP functions, Function reference @section @acronym{TLS} Inner Application (@acronym{TLS/IA}) functions @cindex @acronym{TLS} Inner Application (@acronym{TLS/IA}) functions @cindex Inner Application (@acronym{TLS/IA}) functions @@ -2939,7 +2940,7 @@ client functions with the corresponding server functions. @include ia-api.texi -@node Error codes and descriptions +@node Error codes and descriptions, , TLS Inner Application (TLS/IA) functions, Function reference @section Error codes and descriptions @anchor{Error Codes} @cindex Error codes @@ -2951,7 +2952,7 @@ expressions. @include error_codes.texi -@node Certificate to XML convertion functions +@node Certificate to XML convertion functions, All the supported ciphersuites in GnuTLS, Function reference, Top @chapter Certificate to @acronym{XML} convertion functions @cindex Certificate to XML convertion @@ -2971,7 +2972,7 @@ functions: * An OpenPGP key:: @end menu -@node An X.509 certificate +@node An X.509 certificate, An OpenPGP key, Certificate to XML convertion functions, Certificate to XML convertion functions @section An @acronym{X.509} certificate @smallexample @@ -3174,7 +3175,7 @@ functions: </gnutls:x509:certificate> @end smallexample -@node An OpenPGP key +@node An OpenPGP key, , An X.509 certificate, Certificate to XML convertion functions @section An @acronym{OpenPGP} key @smallexample @@ -3255,7 +3256,7 @@ functions: </gnutls:openpgp:key> @end smallexample -@node All the supported ciphersuites in GnuTLS +@node All the supported ciphersuites in GnuTLS, Guile Bindings, Certificate to XML convertion functions, Top @chapter All the supported ciphersuites in @acronym{GnuTLS} @anchor{ciphersuites} @cindex Ciphersuites @@ -3388,13 +3389,21 @@ functions: @end multitable -@node Internal architecture of GnuTLS + +@c +@c Guile Bindings +@c + +@include guile.texi + + +@node Internal architecture of GnuTLS, Copying Information, Guile Bindings, Top @chapter Internal architecture of GnuTLS @cindex Internal architecture @include internals.texi -@node Copying Information +@node Copying Information, Concept Index, Internal architecture of GnuTLS, Top @appendix Copying Information @menu @@ -3407,17 +3416,17 @@ functions: @include lgpl.texi @include gpl.texi -@node Concept Index +@node Concept Index, Function and Data Index, Copying Information, Top @unnumbered Concept Index @printindex cp -@node Function and Data Index +@node Function and Data Index, Bibliography, Concept Index, Top @unnumbered Function and Data Index @printindex fn -@node Bibliography +@node Bibliography, , Function and Data Index, Top @unnumbered Bibliography @table @asis |