gcaff
is a graphical tool for signing OpenPGP keys. Its main
use case is for signing many keys at once, after a keysigning party
for example.
Features include:
- display photo IDs and select for signing
- sign with multiple signing keys in one pass
- choose the certification level on a per-key basis
- email each signature separately, only to the associated email address
gcaff
is inspried by caff, a command-line signing assistant.
Apart from caff
being a CLI program and gcaff
having a GUI,
there are some important differences:
gcaff
does not remove uids from keys.caff
sends only the uid that was signed to each email address.gcaff
sends all uids, but only one uid will have the new signature.gcaff
sends signatures for photo uids or uids without an email address to all email addresses on the key. Signatures on regular uids are sent to the corresponding email address only.gcaff
has no pinentry mechanism; users must have a workinggpg-agent
to usegcaff
.gcaff
requires the user to supply a file containing keys to be signed; no keys are fetched from keyservers.
gcaff
signs keys using the SHA256 digest. Future work could
allow users to choose a different digest for signing. Patches are
welcome!
Secret keys are never exported from the GnuPG home directory, however, the corresponding public keys are exported to a temporary GnuPG keyring during the signing process.
No keys in the user's GnuPG home directory are modified during the signing process. Once signing is complete, all the signatures are written to a file whose location is reported. The user may (manually) import keys from this file into her regular keyring. A future version could offer to perform this step for the user. Contributions are welcome.
- GnuPG and gpg-agent
- Python 2.7
- PyGTK >=2, <3
- a local mailer (SMTP), e.g. sendmail
Install Python 2.7 and PyGTK in the normal way for your operating
system. Note that on many systems PyGTK cannot be installed with
pip
.
To install dependencies on a Debian or Ubuntu system (or other systems using APT):
sudo apt-get install gnupg gnupg-agent python-pip postfix python-gtk2
If gnupg-agent
was not previously installed you will probably
need to log out and log in again to ensure that gpg-agent
is
running and the appropriate environment variables are set.
During the postfix configuration dialog ensure you select Internet Site as the "General type of mail configuration". If postfix is not accepting mail you can run the configuration again:
sudo dpkg-reconfigure postfix
Fedora 20 and later releases do not have an MTA installed by default. To install and configure:
sudo yum install -y postfix sudo systemctl start postfix sudo systemctl enable postfix
To install for all users, on a Unix system:
sudo pip install gcaff
To perform an installation to user site-packages:
pip install gcaff --user
Ensure that the user site bin/
directory is on the PATH
if
installing to user site-packages.
gcaff --keyring keys-to-sign.asc
gcaff
is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Bug reports, general feedback, patches and translations are welcome.
A list of desirable enhancements can be found in the file
TODO.rst
.
To submit a patch, please use git send-email
or generate a
pull/merge request. Write a well formed commit message. If your
patch is nontrivial, add a copyright notice (or, if appropriate,
update an existing notice) at the top of each file added or changed.