[
Top
]
[
Contents
]
[
Index
]
[
?
]
Table of Contents
1. Preface
1.1 Getting Help
1.2 Commercial Support
1.3 Downloading and Installing
1.4 Bug Reports
1.5 Contributing
2. The Library
2.1 General Idea
2.2 Error Handling
2.3 Memory Handling
2.4 Callback Functions
3. Introduction to
TLS
3.1 TLS Layers
3.2 The Transport Layer
3.3 The TLS Record Protocol
3.3.1 Encryption Algorithms Used in the Record Layer
3.3.2 Compression Algorithms Used in the Record Layer
3.3.3 Weaknesses and Countermeasures
3.4 The TLS Alert Protocol
3.5 The TLS Handshake Protocol
3.5.1 TLS Cipher Suites
3.5.2 Client Authentication
3.5.3 Resuming Sessions
3.5.4 Resuming Internals
3.6 TLS Extensions
3.6.1 Maximum Fragment Length Negotiation
3.6.2 Server Name Indication
3.7 Selecting Cryptographic Key Sizes
3.8 On SSL 2 and Older Protocols
3.9 On Record Padding
4. Authentication Methods
4.1 Certificate Authentication
4.1.1 Authentication Using
X.509
Certificates
4.1.2 Authentication Using
OpenPGP
Keys
4.1.3 Using Certificate Authentication
4.2 Anonymous Authentication
4.3 Authentication using
SRP
4.4 Authentication using
PSK
4.5 Authentication and Credentials
4.6 Parameters Stored in Credentials
5. More on Certificate Authentication
5.1 The
X.509
Trust Model
5.1.1
X.509
Certificates
5.1.2 Verifying
X.509
Certificate Paths
5.1.3
PKCS
#10 Certificate Requests
5.1.4
PKCS
#12 Structures
5.2 The
OpenPGP
Trust Model
5.2.1
OpenPGP
Keys
5.2.2 Verifying an
OpenPGP
Key
5.3 Digital Signatures
5.3.1 Trading Security for Interoperability
6. How To Use
TLS
in Application Protocols
6.1 Separate Ports
6.2 Upward Negotiation
7. How To Use
GnuTLS
in Applications
7.1 Preparation
7.1.1 Headers
7.1.2 Initialization
7.1.3 Version Check
7.1.4 Debugging
7.1.5 Building the Source
7.2 Multi-Threaded Applications
7.3 Client Examples
7.3.1 Simple Client Example with Anonymous Authentication
7.3.2 Simple Client Example with
X.509
Certificate Support
7.3.3 Obtaining Session Information
7.3.4 Verifying Peer's Certificate
7.3.5 Using a Callback to Select the Certificate to Use
7.3.6 Client with Resume Capability Example
7.3.7 Simple Client Example with
SRP
Authentication
7.3.8 Simple Client Example with
TLS/IA
Support
7.3.9 Simple Client Example using the C++ API
7.3.10 Helper Function for TCP Connections
7.4 Server Examples
7.4.1 Echo Server with
X.509
Authentication
7.4.2 Echo Server with
X.509
Authentication II
7.4.3 Echo Server with
OpenPGP
Authentication
7.4.4 Echo Server with
SRP
Authentication
7.4.5 Echo Server with Anonymous Authentication
7.5 Miscellaneous Examples
7.5.1 Checking for an Alert
7.5.2
X.509
Certificate Parsing Example
7.5.3 Certificate Request Generation
7.5.4
PKCS
#12 Structure Generation
7.6 Compatibility with the OpenSSL Library
7.7 Opaque PRF Input TLS Extension
8. Included Programs
8.1 Invoking certtool
8.2 Invoking gnutls-cli
8.2.1 Example client PSK connection
8.3 Invoking gnutls-cli-debug
8.4 Invoking gnutls-serv
8.4.1 Setting Up a Test HTTPS Server
8.4.2 Example server PSK connection
8.5 Invoking psktool
8.6 Invoking srptool
9. Function Reference
9.1 Core Functions
9.2
X.509
Certificate Functions
9.3
GnuTLS-extra
Functions
9.4
OpenPGP
Functions
9.5
TLS
Inner Application (
TLS/IA
) Functions
9.6 Error Codes and Descriptions
10. All the Supported Ciphersuites in
GnuTLS
11. Guile Bindings
11.1 Guile Preparations
11.2 Guile API Conventions
11.2.1 Enumerates and Constants
11.2.2 Procedure Names
11.2.3 Representation of Binary Data
11.2.4 Input and Output
11.2.5 Exception Handling
11.3 Guile Examples
11.3.1 Anonymous Authentication Guile Example
11.3.2 OpenPGP Authentication Guile Example
11.3.3 Importing OpenPGP Keys Guile Example
11.4 Guile Reference
11.4.1 Core Interface
11.4.2 Extra Interface
12. Internal Architecture of GnuTLS
12.1 The TLS Protocol
12.2 TLS Handshake Protocol
12.3 TLS Authentication Methods
12.4 TLS Extension Handling
12.4.1 Adding a New TLS Extension
12.5 Certificate Handling
12.6 Cryptographic Backend
12.6.1 Override specific algorithms
12.6.2 Override parts of the backend
A. Copying Information
A.1 GNU Free Documentation License
A.2 GNU Lesser General Public License
A.3 GNU General Public License
Bibliography
Function and Data Index
Concept Index
[
Top
]
[
Contents
]
[
Index
]
[
?
]
This document was generated on
July, 20 2009
using
texi2html 1.76
.