source: postlfs/security/gnutls.xml@ eaa9cb43

12.2 gimp3 lazarus trunk xry111/for-12.3 xry111/spidermonkey128
Last change on this file since eaa9cb43 was eaa9cb43, checked in by Douglas R. Reno <renodr@…>, 2 months ago

GnuTLS: Remove old references to Guile support that was removed.

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