source: postlfs/security/gnutls.xml@ 5a2f6747

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 5a2f6747 was 5a2f6747, checked in by Ken Moffat <ken@…>, 10 years ago

Change the gnutls measurements.

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