source: postlfs/security/gnutls.xml@ 145c21bc

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 145c21bc was 145c21bc, checked in by Bruce Dubbs <bdubbs@…>, 8 years ago

Update to libinput-1.2.3.
Update to sysstat-11.3.3.
Update to libtasn1-4.8.
Update to gnutls-3.4.11.

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

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