source: postlfs/security/gnutls.xml@ 0134954

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 0134954 was dd7d9b0, checked in by DJ Lucas <dj@…>, 8 years ago

Add net-tools to depends for gnutls test suite.

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

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