source: postlfs/security/gnutls.xml@ 766c8d79

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 766c8d79 was 2c6c92d6, checked in by Pierre Labastie <pierre.labastie@…>, 19 months ago

Update to gnutls-3.7.8

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