UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

112 lines (64 loc) 3.86 kB
## 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)