source: postlfs/security/gnupg2.xml

trunk
Last change on this file was a10119c, checked in by Rahul Chandra <rahul@…>, 6 weeks ago

Update to gnupg-2.4.5

  • Property mode set to 100644
File size: 17.6 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 gnupg2-download-http "&gnupg-http;/gnupg/gnupg-&gnupg2-version;.tar.bz2">
8 <!ENTITY gnupg2-download-ftp " ">
9 <!ENTITY gnupg2-md5sum "49c3534e87744e994250d37c1b43f928">
10 <!ENTITY gnupg2-size "7.6 MB">
11 <!ENTITY gnupg2-buildsize "164 MB (with tests)">
12 <!ENTITY gnupg2-time "1.2 SBU (with tests; using parallelism=4)">
13]>
14
15<sect1 id="gnupg2" xreflabel="GnuPG-&gnupg2-version;">
16 <?dbhtml filename="gnupg.html"?>
17
18
19 <title>GnuPG-&gnupg2-version;</title>
20
21 <indexterm zone="gnupg2">
22 <primary sortas="a-GnuPG">GnuPG</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to GnuPG</title>
27
28 <para>
29 The <application>GnuPG</application> package is GNU's tool for
30 secure communication and data storage. It can be used to encrypt data and
31 to create digital signatures. It includes an advanced key management
32 facility and is compliant with the proposed OpenPGP Internet standard as
33 described in RFC2440 and the S/MIME standard as described by several RFCs.
34 GnuPG 2 is the stable version of GnuPG integrating support for OpenPGP and
35 S/MIME.
36 </para>
37
38 &lfs121_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&gnupg2-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&gnupg2-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &gnupg2-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &gnupg2-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &gnupg2-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &gnupg2-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74<!--
75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
76 <itemizedlist spacing="compact">
77 <listitem>
78 <para>
79 Required patch:
80 <ulink url="&patch-root;/gnupg-&gnupg2-version;-emacs-1.patch"/>
81 </para>
82 </listitem>
83 </itemizedlist>
84-->
85
86 <bridgehead renderas="sect3">GnuPG 2 Dependencies</bridgehead>
87
88 <bridgehead renderas="sect4">Required</bridgehead>
89 <para role="required">
90 <xref linkend="libassuan"/>,
91 <xref linkend="libgcrypt"/>,
92 <xref linkend="libksba"/>,
93 <xref linkend="npth"/>, and
94 <xref linkend="openldap"/>
95 </para>
96
97 <bridgehead renderas="sect4">Recommended</bridgehead>
98 <para role="recommended">
99 <xref linkend="gnutls"/> (required to communicate with keyservers
100 using https or hkps protocol) and
101 <xref linkend="pinentry"/> (Run-time requirement for most of
102 the package's functionality)
103 </para>
104
105 <bridgehead renderas="sect4">Optional</bridgehead>
106 <para role="optional">
107 <xref linkend="curl"/>,
108 <xref linkend="fuse3"/>,
109 <xref linkend="imagemagick"/> (for the <command>convert</command> utility,
110 used for generating the documentation),
111 <xref linkend="libusb"/>,
112 an <xref linkend="server-mail"/>,
113 <xref linkend="sqlite"/>,
114 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>),
115 <ulink url="https://mcj.sourceforge.net/">fig2dev</ulink> (for
116 generating documentation),
117 and <ulink url="https://www.chiark.greenend.org.uk/~ian/adns/">GNU
118 adns</ulink>
119 </para>
120
121
122 </sect2>
123
124 <sect2 role="installation">
125 <title>Installation of GnuPG</title>
126
127<!--
128 <para>
129 First, fix a compatibility issue with emacs:
130 </para>
131
132<screen><userinput>patch -Np1 -i ../gnupg-2.4.3-emacs-1.patch</userinput></screen>
133-->
134
135 <para>
136 Install <application>GnuPG</application> by running the following
137 commands:
138 </para>
139
140<screen><userinput>mkdir build &amp;&amp;
141cd build &amp;&amp;
142
143../configure --prefix=/usr \
144 --localstatedir=/var \
145 --sysconfdir=/etc \
146 --docdir=/usr/share/doc/gnupg-&gnupg2-version; &amp;&amp;
147make &amp;&amp;
148
149makeinfo --html --no-split -I doc -o doc/gnupg_nochunks.html ../doc/gnupg.texi &amp;&amp;
150makeinfo --plaintext -I doc -o doc/gnupg.txt ../doc/gnupg.texi &amp;&amp;
151make -C doc html</userinput></screen>
152
153 <para>
154 If you have <xref linkend="texlive"/>
155 installed and you wish to create documentation in alternate formats,
156 issue the following command
157 (<ulink url="https://mcj.sourceforge.net/">fig2dev</ulink> is needed for
158 the ps format), but note that this process fails due to missing files:
159 <!-- https://wiki.linuxfromscratch.org/blfs/ticket/19188#comment:1 -->
160 </para>
161
162<screen remap="doc"><userinput>make -C doc pdf ps</userinput></screen>
163
164 <para>
165 To test the results, issue: <command>make check</command>.
166 </para>
167
168 <para>
169 <!--
170 Note that if you have already installed
171 <application>GnuPG</application>, the instructions below will overwrite
172 <filename>/usr/share/man/man1/gpg-zip.1</filename>.
173 -->
174 Now, as the <systemitem class="username">root</systemitem> user:
175 </para>
176
177<screen role="root"><userinput>make install &amp;&amp;
178
179install -v -m755 -d /usr/share/doc/gnupg-&gnupg2-version;/html &amp;&amp;
180install -v -m644 doc/gnupg_nochunks.html \
181 /usr/share/doc/gnupg-&gnupg2-version;/html/gnupg.html &amp;&amp;
182install -v -m644 ../doc/*.texi doc/gnupg.txt \
183 /usr/share/doc/gnupg-&gnupg2-version; &amp;&amp;
184install -v -m644 doc/gnupg.html/* \
185 /usr/share/doc/gnupg-&gnupg2-version;/html</userinput></screen>
186 <para>
187 If you created alternate formats of the documentation, install them
188 using the following command as the
189 <systemitem class="username">root</systemitem> user:
190 </para>
191
192<screen role="root"
193 remap="doc"><userinput>install -v -m644 doc/gnupg.{pdf,dvi,ps} \
194 /usr/share/doc/gnupg-&gnupg2-version;</userinput></screen>
195
196 </sect2>
197
198 <sect2 role="commands">
199 <title>Command Explanations</title>
200<!--
201 <para>
202 <command>sed ... tools/Makefile.in</command>:
203 This command is needed to build the gpg-zip program.
204 </para>
205-->
206 <para>
207 <command>mkdir build &amp;&amp; cd build</command>: the Gnupg2
208 developers recommend to build the package in a dedicated directory.
209 </para>
210
211 <para>
212 <parameter>--docdir=/usr/share/doc/gnupg-&gnupg2-version;</parameter>:
213 This switch changes the default docdir to <filename
214 class="directory">/usr/share/doc/gnupg-&gnupg2-version;</filename>.
215 </para>
216
217<!-- Unrecognized in 2.2.26, seems to get built automatically now.
218 <para>
219 <parameter>- -enable-symcryptrun</parameter>: This switch enables
220 building the symcryptrun program.
221 </para>
222-->
223 <para>
224 <option>--enable-all-tests</option>: This switch allows more tests to be
225 run with <command>make check</command>.
226 </para>
227
228 <para>
229 <option>--enable-g13</option>: This switch enables building the
230 g13 program.
231 </para>
232
233 </sect2>
234
235 <sect2 role="content">
236 <title>Contents</title>
237
238 <segmentedlist>
239 <segtitle>Installed Programs</segtitle>
240 <segtitle>Installed Libraries</segtitle>
241 <segtitle>Installed Directories</segtitle>
242
243 <seglistitem>
244 <seg>addgnupghome, applygnupgdefaults, dirmngr, dirmngr-client, g13
245 (optional), gpg-agent, gpg-card, gpg-connect-agent, gpg, gpgconf,
246 gpgparsemail, gpgscm, gpgsm, gpgsplit, gpgtar, gpgv, gpg-wks-client,
247 gpg-wks-server, kbxutil,
248 <!--symcryptrun,--> and watchgnupg</seg>
249 <seg>None</seg>
250 <seg>/usr/share/doc/gnupg-&gnupg2-version; and
251 /usr/share/gnupg</seg>
252 </seglistitem>
253 </segmentedlist>
254
255 <variablelist>
256 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
257 <?dbfo list-presentation="list"?>
258 <?dbhtml list-presentation="table"?>
259
260 <varlistentry id="addgnupghome">
261 <term><command>addgnupghome</command></term>
262 <listitem>
263 <para>
264 is used to create and populate a user's
265 <filename class="directory">~/.gnupg</filename> directories
266 </para>
267 <indexterm zone="gnupg2 addgnupghome">
268 <primary sortas="b-addgnupghome">addgnupghome</primary>
269 </indexterm>
270 </listitem>
271 </varlistentry>
272
273 <varlistentry id="applygnupgdefaults">
274 <term><command>applygnupgdefaults</command></term>
275 <listitem>
276 <para>
277 is a wrapper script used to run <command>gpgconf</command>
278 with the <parameter>--apply-defaults</parameter> parameter on all
279 user's GnuPG home directories
280 </para>
281 <indexterm zone="gnupg2 applygnupgdefaults">
282 <primary sortas="b-applygnupgdefaults">applygnupgdefaults</primary>
283 </indexterm>
284 </listitem>
285 </varlistentry>
286
287 <varlistentry id="dirmngr">
288 <term><command>dirmngr</command></term>
289 <listitem>
290 <para>
291 is a tool that takes care of accessing the OpenPGP keyservers
292 </para>
293 <indexterm zone="gnupg2 dirmngr">
294 <primary sortas="b-dirmngr">dirmngr</primary>
295 </indexterm>
296 </listitem>
297 </varlistentry>
298
299 <varlistentry id="dirmngr-client">
300 <term><command>dirmngr-client</command></term>
301 <listitem>
302 <para>
303 is a tool to contact a running dirmngr and test whether a
304 certificate has been revoked
305 </para>
306 <indexterm zone="gnupg2 dirmngr-client">
307 <primary sortas="b-dirmngr-client">dirmngr-client</primary>
308 </indexterm>
309 </listitem>
310 </varlistentry>
311
312 <varlistentry id="g13">
313 <term><command>g13</command></term>
314 <listitem>
315 <para>
316 is a tool to create, mount or unmount an encrypted file system
317 container (optional)
318 </para>
319 <indexterm zone="gnupg2 g13">
320 <primary sortas="b-g13">g13</primary>
321 </indexterm>
322 </listitem>
323 </varlistentry>
324
325 <varlistentry id="gpg-agent">
326 <term><command>gpg-agent</command></term>
327 <listitem>
328 <para>
329 is a daemon used to manage secret (private) keys independently
330 from any protocol. It is used as a backend for
331 <command>gpg</command> and <command>gpgsm</command> as well as
332 for a couple of other utilities
333 </para>
334 <indexterm zone="gnupg2 gpg-agent">
335 <primary sortas="b-gpg-agent">gpg-agent</primary>
336 </indexterm>
337 </listitem>
338 </varlistentry>
339
340 <varlistentry id="gpg-card">
341 <term><command>gpg-card</command></term>
342 <listitem>
343 <para>
344 is a tool to manage smart cards and tokens
345 </para>
346 <indexterm zone="gnupg2 gpg-card">
347 <primary sortas="b-gpg-card">gpg-card</primary>
348 </indexterm>
349 </listitem>
350 </varlistentry>
351
352 <varlistentry id="gpg-connect-agent">
353 <term><command>gpg-connect-agent</command></term>
354 <listitem>
355 <para>
356 is a utility used to communicate with a running
357 <command>gpg-agent</command>
358 </para>
359 <indexterm zone="gnupg2 gpg-connect-agent">
360 <primary sortas="b-gpg-connect-agent">gpg-connect-agent</primary>
361 </indexterm>
362 </listitem>
363 </varlistentry>
364
365 <varlistentry id="gpg">
366 <term><command>gpg</command></term>
367 <listitem>
368 <para>
369 is the OpenPGP part of the GNU Privacy Guard (GnuPG). It is a
370 tool used to provide digital encryption and signing services using
371 the OpenPGP standard
372 </para>
373 <indexterm zone="gnupg2 gpg">
374 <primary sortas="b-gpg">gpg</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378
379 <varlistentry id="gpgconf">
380 <term><command>gpgconf</command></term>
381 <listitem>
382 <para>
383 is a utility used to automatically and reasonably safely
384 query and modify configuration files in the
385 <filename class="directory">~/.gnupg</filename> home directory. It
386 is designed not to be invoked manually by the user, but
387 automatically by graphical user interfaces
388 </para>
389 <indexterm zone="gnupg2 gpgconf">
390 <primary sortas="b-gpgconf">gpgconf</primary>
391 </indexterm>
392 </listitem>
393 </varlistentry>
394
395 <varlistentry id="gpgparsemail">
396 <term><command>gpgparsemail</command></term>
397 <listitem>
398 <para>
399 is a utility currently only useful for debugging. Run it with
400 <parameter>--help</parameter> for usage information
401 </para>
402 <indexterm zone="gnupg2 gpgparsemail">
403 <primary sortas="b-gpgparsemail">gpgparsemail</primary>
404 </indexterm>
405 </listitem>
406 </varlistentry>
407
408 <varlistentry id="gpgscm">
409 <term><command>gpgscm</command></term>
410 <listitem>
411 <para>
412 executes the given scheme program or spawns an interactive shell
413 </para>
414 <indexterm zone="gnupg2 gpgscm">
415 <primary sortas="b-gpgscm">gpgscm</primary>
416 </indexterm>
417 </listitem>
418 </varlistentry>
419
420 <varlistentry id="gpgsm">
421 <term><command>gpgsm</command></term>
422 <listitem>
423 <para>
424 is a tool similar to <command>gpg</command> used to provide
425 digital encryption and signing services on X.509 certificates and
426 the CMS protocol. It is mainly used as a backend for S/MIME mail
427 processing
428 </para>
429 <indexterm zone="gnupg2 gpgsm">
430 <primary sortas="b-gpgsm">gpgsm</primary>
431 </indexterm>
432 </listitem>
433 </varlistentry>
434
435 <varlistentry id="gpgsplit">
436 <term><command>gpgsplit</command></term>
437 <listitem>
438 <para>
439 splits an OpenPGP message into packets
440 </para>
441 <indexterm zone="gnupg2 gpgsplit">
442 <primary sortas="b-gpgsplit">gpgsplit</primary>
443 </indexterm>
444 </listitem>
445 </varlistentry>
446
447 <varlistentry id="gpgtar">
448 <term><command>gpgtar</command></term>
449 <listitem>
450 <para>
451 is a tool to encrypt or sign files into an archive
452 </para>
453 <indexterm zone="gnupg2 gpgtar">
454 <primary sortas="b-gpgtar">gpgtar</primary>
455 </indexterm>
456 </listitem>
457 </varlistentry>
458
459 <varlistentry id="gpgv">
460 <term><command>gpgv</command></term>
461 <listitem>
462 <para>
463 is a verify only version of <command>gpg</command>
464 </para>
465 <indexterm zone="gnupg2 gpgv">
466 <primary sortas="b-gpgv">gpgv</primary>
467 </indexterm>
468 </listitem>
469 </varlistentry>
470
471 <varlistentry id="gpg-wks-client">
472 <term><command>gpg-wks-client</command></term>
473 <listitem>
474 <para>
475 is a client for the
476 <application>Web Key Service</application> protocol
477 </para>
478 <indexterm zone="gnupg2 gpg-wks-client">
479 <primary sortas="b-gpg-wks-client">gpg-wks-client</primary>
480 </indexterm>
481 </listitem>
482 </varlistentry>
483
484 <varlistentry id="gpg-wks-server">
485 <term><command>gpg-wks-server</command></term>
486 <listitem>
487 <para>
488 provides a server for the
489 <application>Web Key Service</application> protocol
490 </para>
491 <indexterm zone="gnupg2 gpg-wks-server">
492 <primary sortas="b-gpg-wks-server">gpg-wks-server</primary>
493 </indexterm>
494 </listitem>
495 </varlistentry>
496<!--
497 <varlistentry id="gpg-zip">
498 <term><command>gpg-zip</command></term>
499 <listitem>
500 <para>
501 encrypts or signs files into an archive
502 </para>
503 <indexterm zone="gnupg2 gpg-zip">
504 <primary sortas="b-gpg-zip">gpg-zip</primary>
505 </indexterm>
506 </listitem>
507 </varlistentry>
508-->
509 <varlistentry id="kbxutil">
510 <term><command>kbxutil</command></term>
511 <listitem>
512 <para>
513 is used to list, export and import Keybox data
514 </para>
515 <indexterm zone="gnupg2 kbxutil">
516 <primary sortas="b-kbxutil">kbxutil</primary>
517 </indexterm>
518 </listitem>
519 </varlistentry>
520
521 <!--
522 <varlistentry id="symcryptrun">
523 <term><command>symcryptrun</command></term>
524 <listitem>
525 <para>
526 is a simple symmetric encryption tool.
527 </para>
528 <indexterm zone="gnupg2 symcryptrun">
529 <primary sortas="b-symcryptrun">symcryptrun</primary>
530 </indexterm>
531 </listitem>
532 </varlistentry>
533-->
534 <varlistentry id="watchgnupg">
535 <term><command>watchgnupg</command></term>
536 <listitem>
537 <para>
538 is used to listen to a Unix Domain socket created by any of
539 the GnuPG tools
540 </para>
541 <indexterm zone="gnupg2 watchgnupg">
542 <primary sortas="b-watchgnupg">watchgnupg</primary>
543 </indexterm>
544 </listitem>
545 </varlistentry>
546
547 </variablelist>
548
549 </sect2>
550
551</sect1>
Note: See TracBrowser for help on using the repository browser.