Merge branch 'upstream' into tizen
[platform/upstream/gnutls.git] / doc / cha-preface.texi
1 @node Preface
2 @chapter Preface
3
4 This document demonstrates and explains the @acronym{GnuTLS}
5 library API.  A brief introduction to the protocols and the technology
6 involved is also included so that an application programmer can
7 better understand the @acronym{GnuTLS} purpose and actual offerings.
8 Even if @acronym{GnuTLS} is a typical library software, it operates
9 over several security and cryptographic protocols which require the
10 programmer to make careful and correct usage of them. Otherwise it
11 is likely to only obtain a false sense of security.
12 The term of security is very broad even if restricted to computer
13 software, and cannot be confined to a single cryptographic
14 library.  For that reason, do not consider any program secure just
15 because it uses @acronym{GnuTLS}; there are several ways to compromise
16 a program or a communication line and @acronym{GnuTLS} only helps with
17 some of them.
18
19 Although this document tries to be self contained, basic network
20 programming and public key infrastructure (PKI) knowledge is assumed 
21 in most of it. A good introduction to networking can be found 
22 in @xcite{STEVENS}, to public key infrastructure in @xcite{GUTPKI}
23 and to security engineering in @xcite{ANDERSON}.
24
25 Updated versions of the @acronym{GnuTLS} software and this document
26 will be available from @url{http://www.gnutls.org/}.