source: postlfs/security/gnutls.xml@ 3f2db3a6

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 3f2db3a6 was 3f2db3a6, checked in by Pierre Labastie <pierre.labastie@…>, 17 months ago

Remove sect1info tags

They only contain a date tag that is nowhere used.

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