Introduction to GnuPG
The GnuPG package is GNU's tool
for secure communication and data storage. It can be used to
encrypt data and to create digital signatures. It includes an
advanced key management facility and is compliant with the proposed
OpenPGP Internet standard as described in RFC2440 and the S/MIME
standard as described by several RFCs. GnuPG 2 is the stable
version of GnuPG integrating support for OpenPGP and S/MIME.
Note
Development versions of BLFS may not build or run some packages
properly if LFS or dependencies have been updated since the most
recent stable versions of the books.
Package Information
GnuPG 2 Dependencies
Required
libassuan-3.0.1, libgcrypt-1.11.0, libksba-1.6.7,
npth-1.8, and OpenLDAP-2.6.9
Recommended
GnuTLS-3.8.8 (required to communicate with
keyservers using https or hkps protocol) and pinentry-1.3.1 (Run-time requirement for most
of the package's functionality)
Optional
cURL-8.11.0, Fuse-3.16.2, ImageMagick-7.1.1-36 (for the
convert utility, used
for generating the documentation), libusb-1.0.27,
an MTA, SQLite-3.47.2, texlive-20240312 (or install-tl-unx), fig2dev (for generating
documentation), and GNU adns
Installation of GnuPG
Install GnuPG by running the
following commands:
mkdir build &&
cd build &&
../configure --prefix=/usr \
--localstatedir=/var \
--sysconfdir=/etc \
--docdir=/usr/share/doc/gnupg-2.4.7 &&
make &&
makeinfo --html --no-split -I doc -o doc/gnupg_nochunks.html ../doc/gnupg.texi &&
makeinfo --plaintext -I doc -o doc/gnupg.txt ../doc/gnupg.texi &&
make -C doc html
If you have texlive-20240312 installed and you
wish to create documentation in the pdf format, issue the following
command:
make -C doc pdf
To test the results, issue: make
check.
Now, as the root
user:
make install &&
install -v -m755 -d /usr/share/doc/gnupg-2.4.7/html &&
install -v -m644 doc/gnupg_nochunks.html \
/usr/share/doc/gnupg-2.4.7/html/gnupg.html &&
install -v -m644 ../doc/*.texi doc/gnupg.txt \
/usr/share/doc/gnupg-2.4.7 &&
install -v -m644 doc/gnupg.html/* \
/usr/share/doc/gnupg-2.4.7/html
If you created the pdf format of the documentation, install them
using the following command as the root
user:
install -v -m644 doc/gnupg.pdf \
/usr/share/doc/gnupg-2.4.7
Command Explanations
mkdir build && cd
build: the Gnupg2 developers recommend to build the
package in a dedicated directory.
--docdir=/usr/share/doc/gnupg-2.4.7
:
This switch changes the default docdir to /usr/share/doc/gnupg-2.4.7
.
--enable-all-tests
: This switch allows
more tests to be run with make
check.
--enable-g13
: This switch enables
building the g13 program.
Contents
Installed Programs:
addgnupghome, applygnupgdefaults,
dirmngr, dirmngr-client, g13 (optional), gpg-agent, gpg-card,
gpg-connect-agent, gpg, gpgconf, gpgparsemail, gpgscm, gpgsm,
gpgsplit, gpgtar, gpgv, gpg-wks-client, gpg-wks-server,
kbxutil, and watchgnupg
Installed Libraries:
None
Installed Directories:
/usr/share/doc/gnupg-2.4.7 and
/usr/share/gnupg
Short Descriptions
addgnupghome
|
is used to create and populate a user's ~/.gnupg directories
|
applygnupgdefaults
|
is a wrapper script used to run gpgconf with the
--apply-defaults
parameter on all user's GnuPG home directories
|
dirmngr
|
is a tool that takes care of accessing the OpenPGP
keyservers
|
dirmngr-client
|
is a tool to contact a running dirmngr and test whether a
certificate has been revoked
|
g13
|
is a tool to create, mount or unmount an encrypted file
system container (optional)
|
gpg-agent
|
is a daemon used to manage secret (private) keys
independently from any protocol. It is used as a backend
for gpg and
gpgsm as
well as for a couple of other utilities
|
gpg-card
|
is a tool to manage smart cards and tokens
|
gpg-connect-agent
|
is a utility used to communicate with a running
gpg-agent
|
gpg
|
is the OpenPGP part of the GNU Privacy Guard (GnuPG). It
is a tool used to provide digital encryption and signing
services using the OpenPGP standard
|
gpgconf
|
is a utility used to automatically and reasonably safely
query and modify configuration files in the ~/.gnupg home directory. It is designed
not to be invoked manually by the user, but automatically
by graphical user interfaces
|
gpgparsemail
|
is a utility currently only useful for debugging. Run it
with --help for
usage information
|
gpgscm
|
executes the given scheme program or spawns an
interactive shell
|
gpgsm
|
is a tool similar to gpg used to provide
digital encryption and signing services on X.509
certificates and the CMS protocol. It is mainly used as a
backend for S/MIME mail processing
|
gpgsplit
|
splits an OpenPGP message into packets
|
gpgtar
|
is a tool to encrypt or sign files into an archive
|
gpgv
|
is a verify only version of gpg
|
gpg-wks-client
|
is a client for the Web Key
Service protocol
|
gpg-wks-server
|
provides a server for the Web
Key Service protocol
|
kbxutil
|
is used to list, export and import Keybox data
|
watchgnupg
|
is used to listen to a Unix Domain socket created by any
of the GnuPG tools
|