source: postlfs/security/gnutls.xml@ 40f85060

systemd-13485
Last change on this file since 40f85060 was 40f85060, checked in by DJ Lucas <dj@…>, 9 years ago

Update from trunk r16902 and r16905.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@16906 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 11.9 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 "1b3b6d55d0e2b6d01a54f53129f1da9b">
10 <!ENTITY gnutls-size "6.4 MB">
11 <!ENTITY gnutls-buildsize "129 MB (144 MB, with tests)">
12 <!ENTITY gnutls-time "0.8 SBU (3.8 SBU, with 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 &lfs78_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>,
116 <ulink url="http://ftp.debian.org/debian/pool/main/d/datefudge/">datefudge</ulink> (used during the test suite), and
117 <ulink url="http://sourceforge.net/projects/trousers/files/trousers/">Trousers</ulink> (Trusted Platform Module support)
118 </para>
119
120 <note><para>
121 Note that if you do not install <xref linkend="libtasn1"/>, an older
122 version shipped in the <application>GnuTLS</application> tarball will be
123 used instead.
124 </para></note>
125
126 <para condition="html" role="usernotes">User Notes:
127 <ulink url="&blfs-wiki;/gnutls"/>
128 </para>
129 </sect2>
130
131 <sect2 role="installation">
132 <title>Installation of GnuTLS</title>
133
134 <para>
135 Install <application>GnuTLS</application> by running the
136 following commands:
137 </para>
138
139<screen><userinput>./configure --prefix=/usr \
140 --with-default-trust-store-file=/etc/ssl/ca-bundle.crt &amp;&amp;
141make</userinput></screen>
142
143 <para>
144 To test the results, issue: <command>make check</command>. If a prior
145 version of <application>GnuTLS</application> has been installed, some
146 tests may fail. If <filename>/usr/lib/libgnutls.so</filename> is removed,
147 all tests should pass and the install procedure restores
148 <filename>libgnutls.so</filename>.
149 </para>
150
151 <para>
152 Now, as the <systemitem class="username">root</systemitem>
153 user:
154 </para>
155
156<screen role="root"><userinput>make install</userinput></screen>
157
158 <para>
159 If you did not pass the <option>--enable-gtk-doc</option> parameter to
160 the <command>configure</command> script, you can install the API
161 documentation to the <filename
162 class="directory">/usr/share/gtk-doc/html/gnutls</filename> directory
163 using the following command as the
164 <systemitem class="username">root</systemitem> user:
165 </para>
166
167<screen role="root"><userinput>make -C doc/reference install-data-local</userinput></screen>
168
169 </sect2>
170
171 <sect2 role="commands">
172 <title>Command Explanations</title>
173
174 <para>
175 <parameter>--with-default-trust-store-file=/etc/ssl/ca-bundle.crt</parameter>:
176 This switch tells <command>configure</command> where to find the
177 CA Certificates.
178 </para>
179
180 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
181 href="../../xincludes/gtk-doc-rebuild.xml"/>
182
183 <para>
184 <option>--enable-openssl-compatibility</option>:
185 Use this switch if you wish to build the OpenSSL compatibility library.
186 </para>
187
188 <para>
189 <option>--without-p11-kit</option>: use this switch if you have not
190 installed <application>p11-kit</application>.
191 </para>
192
193 </sect2>
194
195 <sect2 role="content">
196 <title>Contents</title>
197
198 <segmentedlist>
199 <segtitle>Installed Programs</segtitle>
200 <segtitle>Installed Libraries</segtitle>
201 <segtitle>Installed Directories</segtitle>
202
203 <seglistitem>
204 <seg>
205 certtool, crywrap, danetool, gnutls-cli, gnutls-cli-debug,
206 gnutls-serv, ocsptool, p11tool, psktool, and srptool
207 </seg>
208 <seg>
209 libgnutls.so, libgnutls-dane.so, libgnutlsxx.so, and
210 /usr/lib/guile/2.0/guile-gnutls-v-2.so
211 </seg>
212 <seg>
213 /usr/{include,share/gtk-doc/html,share/guile/site}/gnutls
214 </seg>
215 </seglistitem>
216 </segmentedlist>
217
218 <variablelist>
219 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
220 <?dbfo list-presentation="list"?>
221 <?dbhtml list-presentation="table"?>
222
223 <varlistentry id="certtool">
224 <term><command>certtool</command></term>
225 <listitem>
226 <para>
227 is used to generate X.509 certificates, certificate requests,
228 and private keys.
229 </para>
230 <indexterm zone="gnutls certtool">
231 <primary sortas="b-certtool">certtool</primary>
232 </indexterm>
233 </listitem>
234 </varlistentry>
235
236 <varlistentry id="crywrap">
237 <term><command>crywrap</command></term>
238 <listitem>
239 <para>
240 is a simple wrapper that waits for TLS/SSL connections,
241 and proxies them to an unencrypted location. Only installed if
242 <xref linkend="libidn"/> is present.
243 </para>
244 <indexterm zone="gnutls crywrap">
245 <primary sortas="b-crywrap">crywrap</primary>
246 </indexterm>
247 </listitem>
248 </varlistentry>
249
250 <varlistentry id="danetool">
251 <term><command>danetool</command></term>
252 <listitem>
253 <para>
254 is a tool used to generate and check DNS resource records
255 for the DANE protocol.
256 </para>
257 <indexterm zone="gnutls danetool">
258 <primary sortas="b-danetool">danetool</primary>
259 </indexterm>
260 </listitem>
261 </varlistentry>
262
263 <varlistentry id="gnutls-cli">
264 <term><command>gnutls-cli</command></term>
265 <listitem>
266 <para>
267 is a simple client program to set up a TLS connection to some
268 other computer.
269 </para>
270 <indexterm zone="gnutls gnutls-cli">
271 <primary sortas="b-gnutls-cli">gnutls-cli</primary>
272 </indexterm>
273 </listitem>
274 </varlistentry>
275
276 <varlistentry id="gnutls-cli-debug">
277 <term><command>gnutls-cli-debug</command></term>
278 <listitem>
279 <para>
280 is a simple client program to set up a TLS connection to some
281 other computer and produces very verbose progress results.
282 </para>
283 <indexterm zone="gnutls gnutls-cli-debug">
284 <primary sortas="b-gnutls-cli-debug">gnutls-cli-debug</primary>
285 </indexterm>
286 </listitem>
287 </varlistentry>
288
289 <varlistentry id="gnutls-serv">
290 <term><command>gnutls-serv</command></term>
291 <listitem>
292 <para>
293 is a simple server program that listens to incoming TLS
294 connections.
295 </para>
296 <indexterm zone="gnutls gnutls-serv">
297 <primary sortas="b-gnutls-serv">gnutls-serv</primary>
298 </indexterm>
299 </listitem>
300 </varlistentry>
301
302 <varlistentry id="ocsptool">
303 <term><command>ocsptool</command></term>
304 <listitem>
305 <para>
306 is a program that can parse and print information about OCSP
307 requests/responses, generate requests and verify responses.
308 </para>
309 <indexterm zone="gnutls ocsptool">
310 <primary sortas="b-ocsptool">ocsptool</primary>
311 </indexterm>
312 </listitem>
313 </varlistentry>
314
315 <varlistentry id="p11tool">
316 <term><command>p11tool</command></term>
317 <listitem>
318 <para>
319 is a program that allows handling data from PKCS #11 smart cards
320 and security modules.
321 </para>
322 <indexterm zone="gnutls p11tool">
323 <primary sortas="b-p11tool">p11tool</primary>
324 </indexterm>
325 </listitem>
326 </varlistentry>
327
328 <varlistentry id="psktool">
329 <term><command>psktool</command></term>
330 <listitem>
331 <para>
332 is a simple program that generates random keys for use with TLS-PSK.
333 </para>
334 <indexterm zone="gnutls psktool">
335 <primary sortas="b-psktool">psktool</primary>
336 </indexterm>
337 </listitem>
338 </varlistentry>
339
340 <varlistentry id="srptool">
341 <term><command>srptool</command></term>
342 <listitem>
343 <para>
344 is a simple program that emulates the programs in the Stanford
345 SRP (Secure Remote Password) libraries using GnuTLS.
346 </para>
347 <indexterm zone="gnutls srptool">
348 <primary sortas="b-srptool">srptool</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
353 <varlistentry id="libgnutls">
354 <term><filename class="libraryfile">libgnutls.so</filename></term>
355 <listitem>
356 <para>
357 contains the core API functions and X.509 certificate API functions.
358 </para>
359 <indexterm zone="gnutls libgnutls">
360 <primary sortas="c-libgnutls">libgnutls.so</primary>
361 </indexterm>
362 </listitem>
363 </varlistentry>
364
365 </variablelist>
366
367 </sect2>
368
369</sect1>
Note: See TracBrowser for help on using the repository browser.