source: postlfs/security/gnutls.xml@ c41cafb

12.0 12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since c41cafb was b9567b04, checked in by Xi Ruoyao <xry111@…>, 11 months ago

postlfs: Remove non-exist User Notes link

Part of User Notes removal by
https://www.linuxfromscratch.org/~xry111/remove-nonexist-usernote.sh

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