arch-wiki-md-repo
Version:
All arch-wiki articles in markdown format, updated every two days.
112 lines (64 loc) • 3.86 kB
Markdown
## Contents
* [1 Prepare your Smartcard](#Prepare_your_Smartcard)
* [2 Creating the master key](#Creating_the_master_key)
* [3 Signing the master key](#Signing_the_master_key)
* [4 Signing your own packager key](#Signing_your_own_packager_key)
* [5 Revoking a master key](#Revoking_a_master_key)
* [6 Signing developer keys](#Signing_developer_keys)
* [7 Revoking developer keys](#Revoking_developer_keys)
* [8 Open questions](#Open_questions)
* [9 External documentation](#External_documentation)
## Prepare your Smartcard
Install the `ccid` package and start the `pcscd` daemon. Insert your smartcard reader and check the output of `gpg --card-status`
## Creating the master key
Run `gpg --card-edit`. Type in `admin` to enabled administration functions. All available commands can now be listed by issuing the `help` command. Use the `name` and `sex` commands to set some unimportant meta data.
To create a new key pair just type in `generate`. Create a `3072 Bits` key that does not expire and enter your data according to this example:
```
Real name: Pierre Schmitz
Email address: pierre@master-key.archlinux.org
Comment: Arch Linux Master Key
```
Confirm that your USER-ID looks like `"Pierre Schmitz (Arch Linux Master Key) <pierre@master-key.archlinux.org>"`. Generating the key will take some time. Note that the encryption key will be reduced to 1024 Bits.
If you created a backup of your key during creation you should secure it on an offline device and remove the key from your hard drive. E.g. use shred:
`shred -u /home/pierre/.gnupg/sk_8DFDBF1F86872C2F.gpg`
Now create a revoke key:
`gpg -o master-key-revoke.asc --gen-revoke 6AC6A4C2`
Choose no reason (0) if you are asked for one. Make sure to save this key on a secure and offline device (e.g. print it or use a thumb drive).
## Signing the master key
Sign the master key using your packager key. For example using the master key id:
`gpg --sign-key 6AC6A4C2`
Double check you are using the right keys here!
Upload your master key now using:
`gpg --send-keys 6AC6A4C2`
You may also want to create a copy of your public key to publish elsewhere:
`gpg --export --armor 6AC6A4C2 > pierre@master-key.archlinux.org.asc`
## Signing your own packager key
As you should trust yourself the most, just go ahead and sign your own packager key:
`gpg --sign-key -u 6AC6A4C2 9741E8AC`
Note that in this example your master key id is first and your packager key id last.
Upload your public key using:
`gpg --send-keys 9741E8AC`
## Revoking a master key
## Signing developer keys
## Revoking developer keys
## Open questions
* Using the smartcard generates following errors without any apparent effect:
```
libusb couldn't open USB device /dev/bus/usb/001/006: Permission denied.
libusb requires write access to USB device nodes.
```
Cause: gnupg has an internal *ccid* driver. This driver accesses the USB device node directly, without going through pcscd. However, gnupg's internal driver does not support the Gemalto USB reader anyway, so this message can be ignored.
* udev/packaging issue:
`udevd[273]: specified group 'pcscd' unknown`
This is unproblematic: the pcscd daemon runs as root.
* Should we advice to create a backup during key creation or rather not?
* Is the passphrase only used for the backup key?
Yes.
* Is the public key also stored on the card?
It probably is, but there is no apparent way to obtain it. Export it to some keyserver quickly.
* How should the `url` configuration be set?
A string pointing to a URL that stores your pubkey.
* What is the impact of setting `forcesig`?
If you enable *forcesig*, you must enter the PIN for each single signature. This is recommended.
## External documentation
[http://wiki.debian.org/Smartcards/OpenPGP](http://wiki.debian.org/Smartcards/OpenPGP)