source: postlfs/security/gnutls.xml@ c9384fd

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 c9384fd was c9384fd, checked in by Pierre Labastie <pierre.labastie@…>, 16 months ago

Remove the --disable-rpath option for gnutls

This option is not needed for recent versions of gnutls, as
the build system does exactly what is expected: link binaries and
libraries with rpath pointing to the build tree at first, then
remove rpath completely when relinking at install time.

  • 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 --with-default-trust-store-pkcs11="pkcs11:" &amp;&amp;
149make</userinput></screen>
150<!-- - -disable-rpath \
151 Old gnutls versions (around 3.5) had a problem with rpath, because
152 libraries in the build tree were linked with rpath pointing to the
153 system libraries, so that tests failed. Present versions don't have
154 this problem, and do exactly what is expected without using the
155 disable-rpath option: rpath pointing to the build tree when libraries
156 are first linked, but rpath removed when libraries are relinked at
157 install time. -->
158
159 <para>
160 To test the results, issue: <command>make check</command>.
161 </para>
162
163 <para>
164 Now, as the <systemitem class="username">root</systemitem>
165 user:
166 </para>
167
168<screen role="root"><userinput>make install</userinput></screen>
169
170 </sect2>
171
172 <sect2 role="commands">
173 <title>Command Explanations</title>
174
175 <para>
176 <parameter>--with-default-trust-store-pkcs11="pkcs11:"</parameter>: This
177 switch tells gnutls to use the PKCS #11 trust store as the default trust.
178 Omit this switch if <xref linkend="p11-kit"/> is not installed.
179 </para>
180 <!-- see above
181 <para>
182 <parameter>- -disable-rpath</parameter>: This switch prevents building
183 GnuTLS utilities and tests with hardcoded runtime library search path.
184 Hardcoded rpath is unneeded for BLFS, and it causes test failures if
185 an old version of GnuTLS is installed.
186 </para>
187 -->
188 <para>
189 <option>--with-default-trust-store-file=/etc/pki/tls/certs/ca-bundle.crt</option>:
190 This switch tells <command>configure</command> where to find the
191 legacy CA certificate bundle and to use it instead of PKCS #11 module
192 by default. Use this if <xref linkend="p11-kit"/> is not installed.
193 </para>
194
195 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
196 href="../../xincludes/gtk-doc-rebuild.xml"/>
197
198 <para>
199 <option>--enable-openssl-compatibility</option>:
200 Use this switch if you wish to build the OpenSSL compatibility library.
201 </para>
202
203 <para>
204 <option>--without-p11-kit</option>: use this switch if you have not
205 installed <application>p11-kit</application>.
206 </para>
207
208 <para>
209 <option>--with-included-unistring</option>: uses the bundled version of
210 libunistring, instead of the system one. Use this switch if you have not
211 installed <xref linkend="libunistring"/>.
212 </para>
213
214 <para>
215 <option>--disable-guile</option>: If guile is installed, bindings for
216 that languages are built. This prevents building them.
217 </para>
218
219 </sect2>
220
221 <sect2 role="content">
222 <title>Contents</title>
223
224 <segmentedlist>
225 <segtitle>Installed Programs</segtitle>
226 <segtitle>Installed Libraries</segtitle>
227 <segtitle>Installed Directories</segtitle>
228
229 <seglistitem>
230 <seg>
231 certtool, danetool, gnutls-cli, gnutls-cli-debug,
232 gnutls-serv, ocsptool, p11tool, psktool, and srptool
233 </seg>
234 <seg>
235 libgnutls.so, libgnutls-dane.so, libgnutlsxx.so,
236 libgnutls-openssl.so (optional), and
237 /usr/lib/guile/3.0/extensions/guile-gnutls-v-2.so
238 </seg>
239 <seg>
240 /usr/include/gnutls,
241 /usr/lib/guile/3.0/site-ccache/gnutls,
242 /usr/share/guile/site/3.0/gnutls, and
243 /usr/share/doc/gnutls-&gnutls-version;
244 </seg>
245 </seglistitem>
246 </segmentedlist>
247
248 <variablelist>
249 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
250 <?dbfo list-presentation="list"?>
251 <?dbhtml list-presentation="table"?>
252
253 <varlistentry id="certtool">
254 <term><command>certtool</command></term>
255 <listitem>
256 <para>
257 is used to generate X.509 certificates, certificate requests,
258 and private keys
259 </para>
260 <indexterm zone="gnutls certtool">
261 <primary sortas="b-certtool">certtool</primary>
262 </indexterm>
263 </listitem>
264 </varlistentry>
265
266 <varlistentry id="danetool">
267 <term><command>danetool</command></term>
268 <listitem>
269 <para>
270 is a tool used to generate and check DNS resource records
271 for the DANE protocol
272 </para>
273 <indexterm zone="gnutls danetool">
274 <primary sortas="b-danetool">danetool</primary>
275 </indexterm>
276 </listitem>
277 </varlistentry>
278
279 <varlistentry id="gnutls-cli">
280 <term><command>gnutls-cli</command></term>
281 <listitem>
282 <para>
283 is a simple client program to set up a TLS connection to some
284 other computer
285 </para>
286 <indexterm zone="gnutls gnutls-cli">
287 <primary sortas="b-gnutls-cli">gnutls-cli</primary>
288 </indexterm>
289 </listitem>
290 </varlistentry>
291
292 <varlistentry id="gnutls-cli-debug">
293 <term><command>gnutls-cli-debug</command></term>
294 <listitem>
295 <para>
296 is a simple client program to set up a TLS connection to some
297 other computer and produces very verbose progress results
298 </para>
299 <indexterm zone="gnutls gnutls-cli-debug">
300 <primary sortas="b-gnutls-cli-debug">gnutls-cli-debug</primary>
301 </indexterm>
302 </listitem>
303 </varlistentry>
304
305 <varlistentry id="gnutls-serv">
306 <term><command>gnutls-serv</command></term>
307 <listitem>
308 <para>
309 is a simple server program that listens to incoming TLS
310 connections
311 </para>
312 <indexterm zone="gnutls gnutls-serv">
313 <primary sortas="b-gnutls-serv">gnutls-serv</primary>
314 </indexterm>
315 </listitem>
316 </varlistentry>
317
318 <varlistentry id="ocsptool">
319 <term><command>ocsptool</command></term>
320 <listitem>
321 <para>
322 is a program that can parse and print information about OCSP
323 requests/responses, generate requests and verify responses
324 </para>
325 <indexterm zone="gnutls ocsptool">
326 <primary sortas="b-ocsptool">ocsptool</primary>
327 </indexterm>
328 </listitem>
329 </varlistentry>
330
331 <varlistentry id="p11tool">
332 <term><command>p11tool</command></term>
333 <listitem>
334 <para>
335 is a program that allows handling data from PKCS #11 smart cards
336 and security modules
337 </para>
338 <indexterm zone="gnutls p11tool">
339 <primary sortas="b-p11tool">p11tool</primary>
340 </indexterm>
341 </listitem>
342 </varlistentry>
343
344 <varlistentry id="psktool">
345 <term><command>psktool</command></term>
346 <listitem>
347 <para>
348 is a simple program that generates random keys for use with TLS-PSK
349 </para>
350 <indexterm zone="gnutls psktool">
351 <primary sortas="b-psktool">psktool</primary>
352 </indexterm>
353 </listitem>
354 </varlistentry>
355
356 <varlistentry id="srptool">
357 <term><command>srptool</command></term>
358 <listitem>
359 <para>
360 is a simple program that emulates the programs in the Stanford
361 SRP (Secure Remote Password) libraries using GnuTLS
362 </para>
363 <indexterm zone="gnutls srptool">
364 <primary sortas="b-srptool">srptool</primary>
365 </indexterm>
366 </listitem>
367 </varlistentry>
368
369 <varlistentry id="libgnutls">
370 <term><filename class="libraryfile">libgnutls.so</filename></term>
371 <listitem>
372 <para>
373 contains the core API functions and X.509 certificate API functions
374 </para>
375 <indexterm zone="gnutls libgnutls">
376 <primary sortas="c-libgnutls">libgnutls.so</primary>
377 </indexterm>
378 </listitem>
379 </varlistentry>
380
381 </variablelist>
382
383 </sect2>
384
385</sect1>
Note: See TracBrowser for help on using the repository browser.