source: postlfs/security/gnutls.xml@ df9df07

10.0 10.1 11.0 7.10 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind ken/refactor-virt lazarus nosym perl-modules qt5new trunk upgradedb xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since df9df07 was df9df07, checked in by Bruce Dubbs <bdubbs@…>, 7 years ago

Update to lsof_4.89.
Update to cracklib-2.9.5.
Update to gnutls-3.4.3.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@16244 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 11.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY gnutls-download-http " ">
8 <!ENTITY gnutls-download-ftp "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/gnutls-&gnutls-version;.tar.xz">
9 <!ENTITY gnutls-md5sum "8a119d7830b81a44faa721a6fde2a295">
10 <!ENTITY gnutls-size "6.2 MB">
11 <!ENTITY gnutls-buildsize "108 MB (add 16 MB for tests)">
12 <!ENTITY gnutls-time "0.7 SBU (add 3.8 SBU for tests)">
13]>
14
15<sect1 id="gnutls" xreflabel="GnuTLS-&gnutls-version;">
16 <?dbhtml filename="gnutls.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>GnuTLS-&gnutls-version;</title>
24
25 <indexterm zone="gnutls">
26 <primary sortas="a-GnuTLS">GnuTLS</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to GnuTLS</title>
31
32 <para>
33 The <application>GnuTLS</application> package contains libraries and
34 userspace tools which provide a secure layer over a reliable transport
35 layer. Currently the <application>GnuTLS</application> library implements
36 the proposed standards by the IETF's TLS working group. Quoting from the
37 TLS protocol specification:
38 </para>
39
40 <para>
41 <quote>The TLS protocol provides communications privacy over the
42 Internet. The protocol allows client/server applications to communicate in
43 a way that is designed to prevent eavesdropping, tampering, or message
44 forgery.</quote>
45 </para>
46
47 <para>
48 <application>GnuTLS</application> provides support for TLS 1.2, TLS 1.1,
49 TLS 1.0, and SSL 3.0 protocols, TLS extensions, including server name and max
50 record size. Additionally, the library supports authentication using the
51 SRP protocol, X.509 certificates and OpenPGP keys, along with support for
52 the TLS Pre-Shared-Keys (PSK) extension, the Inner Application (TLS/IA)
53 extension and X.509 and OpenPGP certificate handling.
54 </para>
55
56 &lfs77_checked; &gcc5_checked;
57
58 <bridgehead renderas="sect3">Package Information</bridgehead>
59 <itemizedlist spacing="compact">
60 <listitem>
61 <para>
62 Download (HTTP): <ulink url="&gnutls-download-http;"/>
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Download (FTP): <ulink url="&gnutls-download-ftp;"/>
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Download MD5 sum: &gnutls-md5sum;
73 </para>
74 </listitem>
75 <listitem>
76 <para>
77 Download size: &gnutls-size;
78 </para>
79 </listitem>
80 <listitem>
81 <para>
82 Estimated disk space required: &gnutls-buildsize;
83 </para>
84 </listitem>
85 <listitem>
86 <para>
87 Estimated build time: &gnutls-time;
88 </para>
89 </listitem>
90 </itemizedlist>
91
92 <bridgehead renderas="sect3">GnuTLS Dependencies</bridgehead>
93
94 <bridgehead renderas="sect4">Required</bridgehead>
95 <para role="required">
96 <xref linkend="nettle"/>
97 </para>
98
99 <bridgehead renderas="sect4">Recommended</bridgehead>
100 <para role="recommended">
101 <xref linkend="cacerts"/>,
102 <xref linkend="libtasn1"/> and
103 <xref linkend="p11-kit"/>
104 </para>
105
106 <bridgehead renderas="sect4">Optional</bridgehead>
107 <para role="optional">
108 <xref linkend="doxygen"/>,
109 <xref linkend="gtk-doc"/>,
110 <xref linkend="guile"/>,
111 <xref linkend="libidn"/>,
112 <xref linkend="texlive"/> or <xref linkend="tl-installer"/>,
113 <xref linkend="unbound"/> (to build the DANE library),
114 <xref linkend="valgrind"/> (used during the test suite),
115 <ulink url="http://ftp.gnu.org/gnu/autogen/">autogen</ulink>, and
116 <ulink url="http://sourceforge.net/projects/trousers/files/trousers/">Trousers</ulink> (Trusted Platform Module support)
117 </para>
118
119 <note><para>
120 Note that if you do not install <xref linkend="libtasn1"/>, an older
121 version shipped in the <application>GnuTLS</application> tarball will be
122 used instead.
123 </para></note>
124
125 <para condition="html" role="usernotes">User Notes:
126 <ulink url="&blfs-wiki;/gnutls"/>
127 </para>
128 </sect2>
129
130 <sect2 role="installation">
131 <title>Installation of GnuTLS</title>
132
133 <para>
134 Install <application>GnuTLS</application> by running the
135 following commands:
136 </para>
137
138<screen><userinput>./configure --prefix=/usr \
139 --with-default-trust-store-file=/etc/ssl/ca-bundle.crt &amp;&amp;
140make</userinput></screen>
141
142 <para>
143 To test the results, issue: <command>make check</command>.
144 </para>
145
146 <para>
147 Now, as the <systemitem class="username">root</systemitem>
148 user:
149 </para>
150
151<screen role="root"><userinput>make install</userinput></screen>
152
153 <para>
154 If you did not pass the <option>--enable-gtk-doc</option> parameter to
155 the <command>configure</command> script, you can install the API
156 documentation to the <filename
157 class="directory">/usr/share/gtk-doc/html/gnutls</filename> directory
158 using the following command as the
159 <systemitem class="username">root</systemitem> user:
160 </para>
161
162<screen role="root"><userinput>make -C doc/reference install-data-local</userinput></screen>
163
164 </sect2>
165
166 <sect2 role="commands">
167 <title>Command Explanations</title>
168
169 <para>
170 <parameter>--with-default-trust-store-file=/etc/ssl/ca-bundle.crt</parameter>:
171 This switch tells <command>configure</command> where to find the
172 CA Certificates.
173 </para>
174
175 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
176 href="../../xincludes/gtk-doc-rebuild.xml"/>
177
178 <para>
179 <option>--enable-openssl-compatibility</option>:
180 Use this switch if you wish to build the OpenSSL compatibility library.
181 </para>
182
183 <para>
184 <option>--without-p11-kit</option>: use this switch if you have not
185 installed <application>p11-kit</application>.
186 </para>
187
188 </sect2>
189
190 <sect2 role="content">
191 <title>Contents</title>
192
193 <segmentedlist>
194 <segtitle>Installed Programs</segtitle>
195 <segtitle>Installed Libraries</segtitle>
196 <segtitle>Installed Directories</segtitle>
197
198 <seglistitem>
199 <seg>
200 certtool, crywrap, danetool, gnutls-cli, gnutls-cli-debug,
201 gnutls-serv, ocsptool, p11tool, psktool, and srptool
202 </seg>
203 <seg>
204 libgnutls.so, libgnutls-dane.so, libgnutlsxx.so, and
205 /usr/lib/guile/2.0/guile-gnutls-v-2.so
206 </seg>
207 <seg>
208 /usr/{include,share/{gtk-doc/html,guile/site}}/gnutls
209 </seg>
210 </seglistitem>
211 </segmentedlist>
212
213 <variablelist>
214 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
215 <?dbfo list-presentation="list"?>
216 <?dbhtml list-presentation="table"?>
217
218 <varlistentry id="certtool">
219 <term><command>certtool</command></term>
220 <listitem>
221 <para>
222 is used to generate X.509 certificates, certificate requests,
223 and private keys.
224 </para>
225 <indexterm zone="gnutls certtool">
226 <primary sortas="b-certtool">certtool</primary>
227 </indexterm>
228 </listitem>
229 </varlistentry>
230
231 <varlistentry id="crywrap">
232 <term><command>crywrap</command></term>
233 <listitem>
234 <para>
235 is a simple wrapper that waits for TLS/SSL connections,
236 and proxies them to an unencrypted location. Only installed if
237 <xref linkend="libidn"/> is present.
238 </para>
239 <indexterm zone="gnutls crywrap">
240 <primary sortas="b-crywrap">crywrap</primary>
241 </indexterm>
242 </listitem>
243 </varlistentry>
244
245 <varlistentry id="danetool">
246 <term><command>danetool</command></term>
247 <listitem>
248 <para>
249 is a tool used to generate and check DNS resource records
250 for the DANE protocol.
251 </para>
252 <indexterm zone="gnutls danetool">
253 <primary sortas="b-danetool">danetool</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 <varlistentry id="gnutls-cli">
259 <term><command>gnutls-cli</command></term>
260 <listitem>
261 <para>
262 is a simple client program to set up a TLS connection to some
263 other computer.
264 </para>
265 <indexterm zone="gnutls gnutls-cli">
266 <primary sortas="b-gnutls-cli">gnutls-cli</primary>
267 </indexterm>
268 </listitem>
269 </varlistentry>
270
271 <varlistentry id="gnutls-cli-debug">
272 <term><command>gnutls-cli-debug</command></term>
273 <listitem>
274 <para>
275 is a simple client program to set up a TLS connection to some
276 other computer and produces very verbose progress results.
277 </para>
278 <indexterm zone="gnutls gnutls-cli-debug">
279 <primary sortas="b-gnutls-cli-debug">gnutls-cli-debug</primary>
280 </indexterm>
281 </listitem>
282 </varlistentry>
283
284 <varlistentry id="gnutls-serv">
285 <term><command>gnutls-serv</command></term>
286 <listitem>
287 <para>
288 is a simple server program that listens to incoming TLS
289 connections.
290 </para>
291 <indexterm zone="gnutls gnutls-serv">
292 <primary sortas="b-gnutls-serv">gnutls-serv</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 <varlistentry id="ocsptool">
298 <term><command>ocsptool</command></term>
299 <listitem>
300 <para>
301 is a program that can parse and print information about OCSP
302 requests/responses, generate requests and verify responses.
303 </para>
304 <indexterm zone="gnutls ocsptool">
305 <primary sortas="b-ocsptool">ocsptool</primary>
306 </indexterm>
307 </listitem>
308 </varlistentry>
309
310 <varlistentry id="p11tool">
311 <term><command>p11tool</command></term>
312 <listitem>
313 <para>
314 is a program that allows handling data from PKCS #11 smart cards
315 and security modules.
316 </para>
317 <indexterm zone="gnutls p11tool">
318 <primary sortas="b-p11tool">p11tool</primary>
319 </indexterm>
320 </listitem>
321 </varlistentry>
322
323 <varlistentry id="psktool">
324 <term><command>psktool</command></term>
325 <listitem>
326 <para>
327 is a simple program that generates random keys for use with TLS-PSK.
328 </para>
329 <indexterm zone="gnutls psktool">
330 <primary sortas="b-psktool">psktool</primary>
331 </indexterm>
332 </listitem>
333 </varlistentry>
334
335 <varlistentry id="srptool">
336 <term><command>srptool</command></term>
337 <listitem>
338 <para>
339 is a simple program that emulates the programs in the Stanford
340 SRP (Secure Remote Password) libraries using GnuTLS.
341 </para>
342 <indexterm zone="gnutls srptool">
343 <primary sortas="b-srptool">srptool</primary>
344 </indexterm>
345 </listitem>
346 </varlistentry>
347
348 <varlistentry id="libgnutls">
349 <term><filename class="libraryfile">libgnutls.so</filename></term>
350 <listitem>
351 <para>
352 contains the core API functions and X.509 certificate API functions.
353 </para>
354 <indexterm zone="gnutls libgnutls">
355 <primary sortas="c-libgnutls">libgnutls.so</primary>
356 </indexterm>
357 </listitem>
358 </varlistentry>
359
360 </variablelist>
361
362 </sect2>
363
364</sect1>
Note: See TracBrowser for help on using the repository browser.