source: postlfs/security/gnupg2.xml@ baf7cd5

lazarus trunk
Last change on this file since baf7cd5 was a10119c, checked in by Rahul Chandra <rahul@…>, 4 months ago

Update to gnupg-2.4.5

  • Property mode set to 100644
File size: 17.6 KB
RevLine 
[ab4fdfc]1<?xml version="1.0" encoding="UTF-8"?>
[618aef19]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
[8dfc5c3]7 <!ENTITY gnupg2-download-http "&gnupg-http;/gnupg/gnupg-&gnupg2-version;.tar.bz2">
[e1e58be]8 <!ENTITY gnupg2-download-ftp " ">
[a10119c]9 <!ENTITY gnupg2-md5sum "49c3534e87744e994250d37c1b43f928">
10 <!ENTITY gnupg2-size "7.6 MB">
11 <!ENTITY gnupg2-buildsize "164 MB (with tests)">
[d037c38]12 <!ENTITY gnupg2-time "1.2 SBU (with tests; using parallelism=4)">
[618aef19]13]>
14
15<sect1 id="gnupg2" xreflabel="GnuPG-&gnupg2-version;">
[f82ac3f]16 <?dbhtml filename="gnupg.html"?>
[618aef19]17
18
19 <title>GnuPG-&gnupg2-version;</title>
20
21 <indexterm zone="gnupg2">
[f82ac3f]22 <primary sortas="a-GnuPG">GnuPG</primary>
[618aef19]23 </indexterm>
24
25 <sect2 role="package">
[f82ac3f]26 <title>Introduction to GnuPG</title>
[618aef19]27
[47274444]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>
[618aef19]37
[1241ea19]38 &lfs121_checked;
[477e290c]39
[618aef19]40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
[47274444]43 <para>
44 Download (HTTP): <ulink url="&gnupg2-download-http;"/>
45 </para>
[618aef19]46 </listitem>
47 <listitem>
[47274444]48 <para>
49 Download (FTP): <ulink url="&gnupg2-download-ftp;"/>
50 </para>
[618aef19]51 </listitem>
52 <listitem>
[47274444]53 <para>
54 Download MD5 sum: &gnupg2-md5sum;
55 </para>
[618aef19]56 </listitem>
57 <listitem>
[47274444]58 <para>
59 Download size: &gnupg2-size;
60 </para>
[618aef19]61 </listitem>
62 <listitem>
[47274444]63 <para>
64 Estimated disk space required: &gnupg2-buildsize;
65 </para>
[618aef19]66 </listitem>
67 <listitem>
[47274444]68 <para>
69 Estimated build time: &gnupg2-time;
70 </para>
[618aef19]71 </listitem>
72 </itemizedlist>
73
[d037c38]74<!--
[f1ba5f96]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>
[d037c38]84-->
[f1ba5f96]85
[3e68554d]86 <bridgehead renderas="sect3">GnuPG 2 Dependencies</bridgehead>
[618aef19]87
88 <bridgehead renderas="sect4">Required</bridgehead>
[439d67f]89 <para role="required">
90 <xref linkend="libassuan"/>,
91 <xref linkend="libgcrypt"/>,
[dd0a69f]92 <xref linkend="libksba"/>,
93 <xref linkend="npth"/>, and
94 <xref linkend="openldap"/>
[439d67f]95 </para>
[618aef19]96
[2af0daa7]97 <bridgehead renderas="sect4">Recommended</bridgehead>
[439d67f]98 <para role="recommended">
[45fc41c7]99 <xref linkend="gnutls"/> (required to communicate with keyservers
100 using https or hkps protocol) and
[439d67f]101 <xref linkend="pinentry"/> (Run-time requirement for most of
102 the package's functionality)
103 </para>
[618aef19]104
[2af0daa7]105 <bridgehead renderas="sect4">Optional</bridgehead>
[439d67f]106 <para role="optional">
107 <xref linkend="curl"/>,
[5718cff]108 <xref linkend="fuse3"/>,
[1872da27]109 <xref linkend="imagemagick"/> (for the <command>convert</command> utility,
110 used for generating the documentation),
[227b44ff]111 <xref linkend="libusb"/>,
[d0b1879]112 an <xref linkend="server-mail"/>,
[3af9e1e9]113 <xref linkend="sqlite"/>,
[1872da27]114 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>),
[17aa21c]115 <ulink url="https://mcj.sourceforge.net/">fig2dev</ulink> (for
[1872da27]116 generating documentation),
[cd29bc9]117 and <ulink url="https://www.chiark.greenend.org.uk/~ian/adns/">GNU
[d0b1879]118 adns</ulink>
119 </para>
[a41f643]120
[618aef19]121
122 </sect2>
123
124 <sect2 role="installation">
[f82ac3f]125 <title>Installation of GnuPG</title>
[ac3058f]126
[d037c38]127<!--
[eede1a3]128 <para>
[f1ba5f96]129 First, fix a compatibility issue with emacs:
[eede1a3]130 </para>
131
[f1ba5f96]132<screen><userinput>patch -Np1 -i ../gnupg-2.4.3-emacs-1.patch</userinput></screen>
[d037c38]133-->
[f1ba5f96]134
[47274444]135 <para>
136 Install <application>GnuPG</application> by running the following
137 commands:
138 </para>
[618aef19]139
[6240159]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;
[faf325d]147make &amp;&amp;
[618aef19]148
[6240159]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;
[aa1a6bb]151make -C doc html</userinput></screen>
[618aef19]152
[47274444]153 <para>
154 If you have <xref linkend="texlive"/>
155 installed and you wish to create documentation in alternate formats,
[d037c38]156 issue the following command
[17aa21c]157 (<ulink url="https://mcj.sourceforge.net/">fig2dev</ulink> is needed for
[d037c38]158 the ps format), but note that this process fails due to missing files:
159 <!-- https://wiki.linuxfromscratch.org/blfs/ticket/19188#comment:1 -->
[47274444]160 </para>
[f1e103a]161
[a42c273]162<screen remap="doc"><userinput>make -C doc pdf ps</userinput></screen>
[618aef19]163
[47274444]164 <para>
165 To test the results, issue: <command>make check</command>.
166 </para>
[618aef19]167
[47274444]168 <para>
[33f65424]169 <!--
[47274444]170 Note that if you have already installed
171 <application>GnuPG</application>, the instructions below will overwrite
[33f65424]172 <filename>/usr/share/man/man1/gpg-zip.1</filename>.
173 -->
174 Now, as the <systemitem class="username">root</systemitem> user:
[47274444]175 </para>
[618aef19]176
[68d0ff78]177<screen role="root"><userinput>make install &amp;&amp;
[f1e103a]178
[aed3e6ec]179install -v -m755 -d /usr/share/doc/gnupg-&gnupg2-version;/html &amp;&amp;
[f1e103a]180install -v -m644 doc/gnupg_nochunks.html \
[aed3e6ec]181 /usr/share/doc/gnupg-&gnupg2-version;/html/gnupg.html &amp;&amp;
[6240159]182install -v -m644 ../doc/*.texi doc/gnupg.txt \
[a42c273]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>
[47274444]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>
[618aef19]191
[a42c273]192<screen role="root"
193 remap="doc"><userinput>install -v -m644 doc/gnupg.{pdf,dvi,ps} \
[faf325d]194 /usr/share/doc/gnupg-&gnupg2-version;</userinput></screen>
[618aef19]195
196 </sect2>
197
198 <sect2 role="commands">
199 <title>Command Explanations</title>
[33f65424]200<!--
[47274444]201 <para>
202 <command>sed ... tools/Makefile.in</command>:
203 This command is needed to build the gpg-zip program.
204 </para>
[33f65424]205-->
[6240159]206 <para>
207 <command>mkdir build &amp;&amp; cd build</command>: the Gnupg2
[8bcda70c]208 developers recommend to build the package in a dedicated directory.
[6240159]209 </para>
210
[47274444]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>
[2af0daa7]216
[6cbbb2d6]217<!-- Unrecognized in 2.2.26, seems to get built automatically now.
[47274444]218 <para>
[6cbbb2d6]219 <parameter>- -enable-symcryptrun</parameter>: This switch enables
[47274444]220 building the symcryptrun program.
221 </para>
[6cbbb2d6]222-->
[fa30d84]223 <para>
[7b7ef4cc]224 <option>--enable-all-tests</option>: This switch allows more tests to be
225 run with <command>make check</command>.
[fa30d84]226 </para>
[ed07746]227
228 <para>
229 <option>--enable-g13</option>: This switch enables building the
230 g13 program.
231 </para>
[3af9e1e9]232
[618aef19]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>
[10023bb]244 <seg>addgnupghome, applygnupgdefaults, dirmngr, dirmngr-client, g13
[c2051dbd]245 (optional), gpg-agent, gpg-card, gpg-connect-agent, gpg, gpgconf,
[6240159]246 gpgparsemail, gpgscm, gpgsm, gpgsplit, gpgtar, gpgv, gpg-wks-client,
247 gpg-wks-server, kbxutil,
[c513d6e6]248 <!--symcryptrun,--> and watchgnupg</seg>
[618aef19]249 <seg>None</seg>
[39c6300]250 <seg>/usr/share/doc/gnupg-&gnupg2-version; and
251 /usr/share/gnupg</seg>
[618aef19]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>
[47274444]263 <para>
264 is used to create and populate a user's
[4c24eb0a]265 <filename class="directory">~/.gnupg</filename> directories
[47274444]266 </para>
[618aef19]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>
[47274444]276 <para>
277 is a wrapper script used to run <command>gpgconf</command>
278 with the <parameter>--apply-defaults</parameter> parameter on all
[4c24eb0a]279 user's GnuPG home directories
[47274444]280 </para>
[618aef19]281 <indexterm zone="gnupg2 applygnupgdefaults">
282 <primary sortas="b-applygnupgdefaults">applygnupgdefaults</primary>
283 </indexterm>
284 </listitem>
285 </varlistentry>
286
[439d67f]287 <varlistentry id="dirmngr">
288 <term><command>dirmngr</command></term>
289 <listitem>
[47274444]290 <para>
[4c24eb0a]291 is a tool that takes care of accessing the OpenPGP keyservers
[439d67f]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>
[47274444]302 <para>
303 is a tool to contact a running dirmngr and test whether a
[4c24eb0a]304 certificate has been revoked
[47274444]305 </para>
[439d67f]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>
[47274444]315 <para>
316 is a tool to create, mount or unmount an encrypted file system
[4c24eb0a]317 container (optional)
[47274444]318 </para>
[439d67f]319 <indexterm zone="gnupg2 g13">
320 <primary sortas="b-g13">g13</primary>
321 </indexterm>
322 </listitem>
323 </varlistentry>
324
[618aef19]325 <varlistentry id="gpg-agent">
326 <term><command>gpg-agent</command></term>
327 <listitem>
[47274444]328 <para>
329 is a daemon used to manage secret (private) keys independently
330 from any protocol. It is used as a backend for
[45fc41c7]331 <command>gpg</command> and <command>gpgsm</command> as well as
[4c24eb0a]332 for a couple of other utilities
[47274444]333 </para>
[618aef19]334 <indexterm zone="gnupg2 gpg-agent">
335 <primary sortas="b-gpg-agent">gpg-agent</primary>
336 </indexterm>
337 </listitem>
338 </varlistentry>
339
[c2051dbd]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
[618aef19]352 <varlistentry id="gpg-connect-agent">
353 <term><command>gpg-connect-agent</command></term>
354 <listitem>
[47274444]355 <para>
356 is a utility used to communicate with a running
[4c24eb0a]357 <command>gpg-agent</command>
[47274444]358 </para>
[618aef19]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
[68d0ff78]365 <varlistentry id="gpg">
366 <term><command>gpg</command></term>
[618aef19]367 <listitem>
[47274444]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
[4c24eb0a]371 the OpenPGP standard
[47274444]372 </para>
[92d2b83]373 <indexterm zone="gnupg2 gpg">
374 <primary sortas="b-gpg">gpg</primary>
[618aef19]375 </indexterm>
376 </listitem>
377 </varlistentry>
378
379 <varlistentry id="gpgconf">
380 <term><command>gpgconf</command></term>
381 <listitem>
[47274444]382 <para>
383 is a utility used to automatically and reasonably safely
384 query and modify configuration files in the
[4c24eb0a]385 <filename class="directory">~/.gnupg</filename> home directory. It
[47274444]386 is designed not to be invoked manually by the user, but
[4c24eb0a]387 automatically by graphical user interfaces
[47274444]388 </para>
[618aef19]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>
[47274444]398 <para>
399 is a utility currently only useful for debugging. Run it with
[4c24eb0a]400 <parameter>--help</parameter> for usage information
[47274444]401 </para>
[618aef19]402 <indexterm zone="gnupg2 gpgparsemail">
403 <primary sortas="b-gpgparsemail">gpgparsemail</primary>
404 </indexterm>
405 </listitem>
406 </varlistentry>
407
[6f13fc0b]408 <varlistentry id="gpgscm">
409 <term><command>gpgscm</command></term>
410 <listitem>
[47274444]411 <para>
[4c24eb0a]412 executes the given scheme program or spawns an interactive shell
[47274444]413 </para>
[6f13fc0b]414 <indexterm zone="gnupg2 gpgscm">
415 <primary sortas="b-gpgscm">gpgscm</primary>
416 </indexterm>
417 </listitem>
418 </varlistentry>
419
[618aef19]420 <varlistentry id="gpgsm">
421 <term><command>gpgsm</command></term>
422 <listitem>
[47274444]423 <para>
[45fc41c7]424 is a tool similar to <command>gpg</command> used to provide
[47274444]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
[4c24eb0a]427 processing
[47274444]428 </para>
[618aef19]429 <indexterm zone="gnupg2 gpgsm">
430 <primary sortas="b-gpgsm">gpgsm</primary>
431 </indexterm>
432 </listitem>
433 </varlistentry>
434
[f455d4a]435 <varlistentry id="gpgsplit">
436 <term><command>gpgsplit</command></term>
437 <listitem>
438 <para>
[4c24eb0a]439 splits an OpenPGP message into packets
[f455d4a]440 </para>
441 <indexterm zone="gnupg2 gpgsplit">
442 <primary sortas="b-gpgsplit">gpgsplit</primary>
443 </indexterm>
444 </listitem>
445 </varlistentry>
446
[439d67f]447 <varlistentry id="gpgtar">
448 <term><command>gpgtar</command></term>
449 <listitem>
[47274444]450 <para>
[4c24eb0a]451 is a tool to encrypt or sign files into an archive
[47274444]452 </para>
[439d67f]453 <indexterm zone="gnupg2 gpgtar">
454 <primary sortas="b-gpgtar">gpgtar</primary>
455 </indexterm>
456 </listitem>
457 </varlistentry>
458
[68d0ff78]459 <varlistentry id="gpgv">
460 <term><command>gpgv</command></term>
461 <listitem>
[47274444]462 <para>
[45fc41c7]463 is a verify only version of <command>gpg</command>
[47274444]464 </para>
[68d0ff78]465 <indexterm zone="gnupg2 gpgv">
466 <primary sortas="b-gpgv">gpgv</primary>
467 </indexterm>
468 </listitem>
[6240159]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>
[68d0ff78]482 </varlistentry>
483
[5718cff]484 <varlistentry id="gpg-wks-server">
485 <term><command>gpg-wks-server</command></term>
486 <listitem>
[47274444]487 <para>
488 provides a server for the
[4c24eb0a]489 <application>Web Key Service</application> protocol
[47274444]490 </para>
[5718cff]491 <indexterm zone="gnupg2 gpg-wks-server">
492 <primary sortas="b-gpg-wks-server">gpg-wks-server</primary>
493 </indexterm>
494 </listitem>
495 </varlistentry>
[33f65424]496<!--
[fdaae04]497 <varlistentry id="gpg-zip">
498 <term><command>gpg-zip</command></term>
499 <listitem>
[47274444]500 <para>
[4c24eb0a]501 encrypts or signs files into an archive
[47274444]502 </para>
[fdaae04]503 <indexterm zone="gnupg2 gpg-zip">
504 <primary sortas="b-gpg-zip">gpg-zip</primary>
505 </indexterm>
506 </listitem>
507 </varlistentry>
[33f65424]508-->
[618aef19]509 <varlistentry id="kbxutil">
510 <term><command>kbxutil</command></term>
511 <listitem>
[47274444]512 <para>
[4c24eb0a]513 is used to list, export and import Keybox data
[47274444]514 </para>
[618aef19]515 <indexterm zone="gnupg2 kbxutil">
516 <primary sortas="b-kbxutil">kbxutil</primary>
517 </indexterm>
518 </listitem>
519 </varlistentry>
520
[c513d6e6]521 <!--
[584ded4]522 <varlistentry id="symcryptrun">
523 <term><command>symcryptrun</command></term>
524 <listitem>
[47274444]525 <para>
526 is a simple symmetric encryption tool.
527 </para>
[584ded4]528 <indexterm zone="gnupg2 symcryptrun">
529 <primary sortas="b-symcryptrun">symcryptrun</primary>
530 </indexterm>
531 </listitem>
532 </varlistentry>
[c513d6e6]533-->
[618aef19]534 <varlistentry id="watchgnupg">
535 <term><command>watchgnupg</command></term>
536 <listitem>
[47274444]537 <para>
538 is used to listen to a Unix Domain socket created by any of
[4c24eb0a]539 the GnuPG tools
[47274444]540 </para>
[618aef19]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.