source: postlfs/security/gnutls.xml@ 6075712

trunk
Last change on this file since 6075712 was ebf46bd4, checked in by Xi Ruoyao <xry111@…>, 4 weeks ago

Fix typos

Signed-off-by: Andrew Kreimer <algonell@…>

  • Property mode set to 100644
File size: 12.9 KB
RevLine 
[ab4fdfc]1<?xml version="1.0" encoding="UTF-8"?>
[d5404360]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
[b1c55f00]7 <!ENTITY gnutls-download-http "&gnupg-http;/gnutls/v3.8/gnutls-&gnutls-version;.tar.xz">
[14d673a2]8 <!ENTITY gnutls-download-ftp " ">
[b0ff7d03]9 <!ENTITY gnutls-md5sum "46777802233eb7203d47a8b8880c8c90">
10 <!ENTITY gnutls-size "6.4 MB">
11 <!ENTITY gnutls-buildsize "154 MB (add 115 MB for tests)">
12 <!ENTITY gnutls-time "0.5 SBU (add 1.5 SBU for tests; both using parallelism=8)">
[d5404360]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
[3ee626e]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
[2c6c92d6]33 <ulink url="https://datatracker.ietf.org/doc/rfc8446/">
34 TLS 1.3 protocol specification
35 </ulink>:
[3ee626e]36 </para>
37
38 <para>
[2c6c92d6]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>
[3ee626e]44 </para>
45
46 <para>
[2c6c92d6]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.
[3ee626e]54 </para>
[d5404360]55
[f4734425]56 &lfs122_checked;
[214718a]57
[d5404360]58 <bridgehead renderas="sect3">Package Information</bridgehead>
59 <itemizedlist spacing="compact">
[546b042]60 <listitem>
[3ee626e]61 <para>
62 Download (HTTP): <ulink url="&gnutls-download-http;"/>
63 </para>
[546b042]64 </listitem>
[d5404360]65 <listitem>
[3ee626e]66 <para>
67 Download (FTP): <ulink url="&gnutls-download-ftp;"/>
68 </para>
[d5404360]69 </listitem>
70 <listitem>
[3ee626e]71 <para>
72 Download MD5 sum: &gnutls-md5sum;
73 </para>
[d5404360]74 </listitem>
75 <listitem>
[3ee626e]76 <para>
77 Download size: &gnutls-size;
78 </para>
[d5404360]79 </listitem>
80 <listitem>
[3ee626e]81 <para>
82 Estimated disk space required: &gnutls-buildsize;
83 </para>
[d5404360]84 </listitem>
85 <listitem>
[3ee626e]86 <para>
87 Estimated build time: &gnutls-time;
88 </para>
[d5404360]89 </listitem>
90 </itemizedlist>
91
[b0ff7d03]92 <note>
93 <para>
[400aed5e]94 When extracting this package tarball, it expands to the gnutls-3.8.7
95 directory, instead of the expected gnutls-3.8.7.1 directory.
[b0ff7d03]96 </para>
97 </note>
98
[d5404360]99 <bridgehead renderas="sect3">GnuTLS Dependencies</bridgehead>
100
101 <bridgehead renderas="sect4">Required</bridgehead>
[3ee626e]102 <para role="required">
103 <xref linkend="nettle"/>
104 </para>
[d5404360]105
[5eaf9af8]106 <bridgehead renderas="sect4">Recommended</bridgehead>
107 <para role="recommended">
[2198a32]108 <xref linkend="make-ca"/>,
[c805117a]109 <xref linkend="libunistring"/>,
110 <xref linkend="libtasn1"/>, and
[74239ce]111 <xref linkend="p11-kit"/>
[5eaf9af8]112 </para>
113
[d5404360]114 <bridgehead renderas="sect4">Optional</bridgehead>
[0c6c35d]115 <para role="optional">
[3bf95196]116 <xref linkend="brotli"/>,
[b9abcb5]117 <xref linkend="doxygen"/>,
[0c6c35d]118 <xref linkend="gtk-doc"/>,
[8558044]119 <xref linkend="libidn"/> or
[ac6b671]120 <xref linkend="libidn2"/>,
121 <xref linkend="libseccomp"/>,
[dd7d9b0]122 <xref linkend="net-tools"/> (used during the test suite),
[b9abcb5]123 <xref linkend="texlive"/> or <xref linkend="tl-installer"/>,
[6c6990c]124 <xref linkend="unbound"/> (to build the DANE library),
[ffa3d4e]125 <xref linkend="valgrind"/> (used during the test suite),
[8dfc5c3]126 <ulink url="&gnu-http;/autogen/">autogen</ulink>,
[4412abb2]127 <ulink url="https://cmocka.org/">cmocka</ulink> and
[c6b192c]128 <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
[8dfc5c3]129 <ulink url="&sourceforge-dl;/trousers/">Trousers</ulink> (Trusted Platform Module support)
[3ee626e]130 </para>
[d5404360]131
[d224244f]132 <note><para>
[b1c55f00]133 <!-- Note that if you do not install <xref linkend="libtasn1"/>, an older
[ebf46bd4]134 3.8.0 includes minitasn1 4.19 which is current at the moment. ken -->
[b1c55f00]135 Note that if you do not install <xref linkend="libtasn1"/>, a
[3ee626e]136 version shipped in the <application>GnuTLS</application> tarball will be
137 used instead.
[d224244f]138 </para></note>
[38b68055]139
[d5404360]140 </sect2>
141
142 <sect2 role="installation">
143 <title>Installation of GnuTLS</title>
144
[3ee626e]145 <para>
146 Install <application>GnuTLS</application> by running the
147 following commands:
148 </para>
[d5404360]149
[1c8a066f]150<screen><userinput>./configure --prefix=/usr \
[8cb62480]151 --docdir=/usr/share/doc/gnutls-&gnutls-version; \
[1ac799b]152 --with-default-trust-store-pkcs11="pkcs11:" &amp;&amp;
[d5404360]153make</userinput></screen>
[c9384fd]154<!-- - -disable-rpath \
155 Old gnutls versions (around 3.5) had a problem with rpath, because
156 libraries in the build tree were linked with rpath pointing to the
157 system libraries, so that tests failed. Present versions don't have
158 this problem, and do exactly what is expected without using the
159 disable-rpath option: rpath pointing to the build tree when libraries
160 are first linked, but rpath removed when libraries are relinked at
161 install time. -->
[d5404360]162
[3ee626e]163 <para>
[b0ff7d03]164 One test hangs the test procedure. Disable it:
165 <command>sed '/ocsp-must-staple-connection/d' -i tests/Makefile</command>.
166 To test the results, now issue: <command>make check</command>.
[3ee626e]167 </para>
[d5404360]168
[3ee626e]169 <para>
[b0ff7d03]170 Now, install the package as the &root; user:
[3ee626e]171 </para>
[d5404360]172
[73d97caf]173<screen role="root"><userinput>make install</userinput></screen>
[2e81579]174
[d5404360]175 </sect2>
176
[d309b21]177 <sect2 role="commands">
178 <title>Command Explanations</title>
179
[4c39aff]180 <para>
[1ac799b]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>
[c9384fd]185 <!-- see above
[9b43114]186 <para>
[c9384fd]187 <parameter>- -disable-rpath</parameter>: This switch prevents building
[9b43114]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>
[c9384fd]192 -->
[1ac799b]193 <para>
[5c3f3856]194 <option>--with-default-trust-store-file=/etc/pki/tls/certs/ca-bundle.crt</option>:
[4c39aff]195 This switch tells <command>configure</command> where to find the
[1ac799b]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.
[4c39aff]198 </para>
199
[e05cd03f]200 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[5eaf9af8]201 href="../../xincludes/gtk-doc-rebuild.xml"/>
[d309b21]202
[b9abcb5]203 <para>
204 <option>--enable-openssl-compatibility</option>:
[74239ce]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>.
[b9abcb5]211 </para>
212
[c805117a]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
[b0ff7d03]219 <para>
220 <option>--disable-dsa</option>: completely disables DSA algorithm support.
221 </para>
222
[d309b21]223 </sect2>
224
[d5404360]225 <sect2 role="content">
226 <title>Contents</title>
227
228 <segmentedlist>
229 <segtitle>Installed Programs</segtitle>
230 <segtitle>Installed Libraries</segtitle>
[32dfb13c]231 <segtitle>Installed Directories</segtitle>
[d5404360]232
233 <seglistitem>
[3ee626e]234 <seg>
[eaa9cb43]235 certtool,
236 danetool,
237 gnutls-cli,
238 gnutls-cli-debug,
239 gnutls-serv,
240 ocsptool,
241 p11tool,
242 psktool, and
243 srptool
[3ee626e]244 </seg>
245 <seg>
[eaa9cb43]246 libgnutls.so,
247 libgnutls-dane.so,
248 libgnutlsxx.so, and
249 libgnutls-openssl.so (optional)
[3ee626e]250 </seg>
251 <seg>
[eaa9cb43]252 /usr/include/gnutls and
[cfc1f98]253 /usr/share/doc/gnutls-&gnutls-version;
[3ee626e]254 </seg>
[d5404360]255 </seglistitem>
256 </segmentedlist>
257
258 <variablelist>
259 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
260 <?dbfo list-presentation="list"?>
261 <?dbhtml list-presentation="table"?>
262
263 <varlistentry id="certtool">
264 <term><command>certtool</command></term>
265 <listitem>
[3ee626e]266 <para>
267 is used to generate X.509 certificates, certificate requests,
[4c24eb0a]268 and private keys
[3ee626e]269 </para>
[d5404360]270 <indexterm zone="gnutls certtool">
271 <primary sortas="b-certtool">certtool</primary>
272 </indexterm>
273 </listitem>
274 </varlistentry>
[a5c54e0]275
[4c39aff]276 <varlistentry id="danetool">
277 <term><command>danetool</command></term>
278 <listitem>
279 <para>
280 is a tool used to generate and check DNS resource records
[4c24eb0a]281 for the DANE protocol
[4c39aff]282 </para>
283 <indexterm zone="gnutls danetool">
284 <primary sortas="b-danetool">danetool</primary>
285 </indexterm>
286 </listitem>
287 </varlistentry>
288
[d5404360]289 <varlistentry id="gnutls-cli">
290 <term><command>gnutls-cli</command></term>
291 <listitem>
[3ee626e]292 <para>
293 is a simple client program to set up a TLS connection to some
[4c24eb0a]294 other computer
[3ee626e]295 </para>
[d5404360]296 <indexterm zone="gnutls gnutls-cli">
297 <primary sortas="b-gnutls-cli">gnutls-cli</primary>
298 </indexterm>
299 </listitem>
300 </varlistentry>
301
302 <varlistentry id="gnutls-cli-debug">
303 <term><command>gnutls-cli-debug</command></term>
304 <listitem>
[3ee626e]305 <para>
306 is a simple client program to set up a TLS connection to some
[4c24eb0a]307 other computer and produces very verbose progress results
[3ee626e]308 </para>
[d5404360]309 <indexterm zone="gnutls gnutls-cli-debug">
310 <primary sortas="b-gnutls-cli-debug">gnutls-cli-debug</primary>
311 </indexterm>
312 </listitem>
313 </varlistentry>
314
315 <varlistentry id="gnutls-serv">
316 <term><command>gnutls-serv</command></term>
317 <listitem>
[3ee626e]318 <para>
319 is a simple server program that listens to incoming TLS
[4c24eb0a]320 connections
[3ee626e]321 </para>
[d5404360]322 <indexterm zone="gnutls gnutls-serv">
323 <primary sortas="b-gnutls-serv">gnutls-serv</primary>
324 </indexterm>
325 </listitem>
326 </varlistentry>
327
[546b042]328 <varlistentry id="ocsptool">
329 <term><command>ocsptool</command></term>
330 <listitem>
[3ee626e]331 <para>
[0d7900a]332 is a program that can parse and print information about OCSP
[4c24eb0a]333 requests/responses, generate requests and verify responses
[3ee626e]334 </para>
[546b042]335 <indexterm zone="gnutls ocsptool">
336 <primary sortas="b-ocsptool">ocsptool</primary>
337 </indexterm>
338 </listitem>
339 </varlistentry>
340
341 <varlistentry id="p11tool">
342 <term><command>p11tool</command></term>
343 <listitem>
[3ee626e]344 <para>
345 is a program that allows handling data from PKCS #11 smart cards
[4c24eb0a]346 and security modules
[3ee626e]347 </para>
[546b042]348 <indexterm zone="gnutls p11tool">
349 <primary sortas="b-p11tool">p11tool</primary>
350 </indexterm>
351 </listitem>
352 </varlistentry>
353
[d5404360]354 <varlistentry id="psktool">
355 <term><command>psktool</command></term>
356 <listitem>
[3ee626e]357 <para>
[4c24eb0a]358 is a simple program that generates random keys for use with TLS-PSK
[3ee626e]359 </para>
[d5404360]360 <indexterm zone="gnutls psktool">
361 <primary sortas="b-psktool">psktool</primary>
362 </indexterm>
363 </listitem>
364 </varlistentry>
365
366 <varlistentry id="srptool">
367 <term><command>srptool</command></term>
368 <listitem>
[3ee626e]369 <para>
370 is a simple program that emulates the programs in the Stanford
[4c24eb0a]371 SRP (Secure Remote Password) libraries using GnuTLS
[3ee626e]372 </para>
[d5404360]373 <indexterm zone="gnutls srptool">
374 <primary sortas="b-srptool">srptool</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378
379 <varlistentry id="libgnutls">
[73d97caf]380 <term><filename class="libraryfile">libgnutls.so</filename></term>
[d5404360]381 <listitem>
[3ee626e]382 <para>
[4c24eb0a]383 contains the core API functions and X.509 certificate API functions
[3ee626e]384 </para>
[d5404360]385 <indexterm zone="gnutls libgnutls">
[5eaf9af8]386 <primary sortas="c-libgnutls">libgnutls.so</primary>
[d5404360]387 </indexterm>
388 </listitem>
389 </varlistentry>
390
391 </variablelist>
392
393 </sect2>
394
395</sect1>
Note: See TracBrowser for help on using the repository browser.