Keysigning Tutorial

What is keysigning?

Keysigning refers to digitally signing someone else’s public key using your own. Users of PGP sign one another’s keys to indicate to any third party that the signer trusts the signee. This enables someone who trusts the signer to extend her trust to the signee as well. In this way, a web of trust is built.

To sign the keys of others you will need your own GPG key/identity. If you haven’t already done so, download GPG and create a key.

Note that you should never sign the keys of people you don’t know. Keys can contain any email address, so it would be bad if the key of an imposter account was signed. Be careful with which keys you choose to sign with your own.

Importing my public key

Before you can sign a key, it will need to exist in your keychain. Download my public key: gpg.asc:

$ wget https://jonaharagon.com/assets/files/gpg.asc

Import the public key you’ve just downloaded into your GPG keyring:

$ gpg --import gpg.asc

Alternatively you can find my key via keys.openpgp.org (a public keyring):

$ gpg --keyserver keys.openpgp.org --search-keys 0x6A957C9A9A9429F7
gpg: data source: http://keys.openpgp.org:11371
(1)	Jonah Aragon <[email protected]>
	Jonah Aragon <[email protected]>
	  256 bit EDDSA key 0x6A957C9A9A9429F7, created: 2020-02-20
Keys 1-1 of 1 for "[email protected]".  Enter number(s), N)ext, or Q)uit > 1

Signing the key

Just enter the following command:

$ gpg --sign-key 0x6A957C9A9A9429F7

It will ask you if you want to sign the key with your own, enter Y. It may also ask you if you want to sign all the IDs on the key, which you can enter Y for as well. And that’s it!

Exporting the key

Now you’ve signed my GPG key, but that signature only exists on your machine. You’ll want to send it back to me with your signature attached, saying you’re vouching for my key. You can export my key:

$ gpg --export --armor 0x6A957C9A9A9429F7

Which will show a long string that looks like this, which you’ll want to copy and send me:


-----BEGIN PGP PUBLIC KEY BLOCK-----

mDMEXk8UhBYJKwYBBAHaRw8BAQdAqg/ESM9ko0TKfpGcly71vtXCyWrTbcxrtTkU
IjDXSMO0JEpvbmFoIEFyYWdvbiA8am9uYWhAYXJhZ29uLnZlbnR1cmVzPoiOBBMW
CgA2FiEEYyXDNwtwF3E4q/MIapV8mpqUKfcFAl5PFZsCGwMECwkIBwQVCgkIBRYC
AwEAAh4BAheAAAoJEGqVfJqalCn3TbkA/3uEAv3jqT3UvTolXh3WristINlfQ/+6
Cw2gxPGQOf84AP0c4LGkfIdvbCxWAZp1NMbNbxL0n4F+0FEHzWd9FAQsD4h1BBMW
CgAdFiEEjh4LINPKka0RNkFBU63YzqPQFvYFAl5P/mYACgkQU63YzqPQFvYA8QD/
Srj4P+o3Q++LjlF52WCMNF8hN/Jjektd9F0TE3+y8FEBAODy75Vz7TkYq0cKiOZg
bdkv3z3JFosQTLNuR3m0jDIPiHUEEBYKAB0WIQRYj25Oq+jHtVLQD6ZBkR9yKw+a
4wUCXlFChQAKCRBBkR9yKw+a406aAP9bU6HkMTlrxbkrjFScg76aGcu19AvwzDy+
ST+AANiPRAD/fbICAixV1UPmD6lVLRUpZPTHzsLK3JaP97pVxo63yQiIewQQFggA
IxYhBGn/RVqGn5AxppHg8Zk5L2K64wcjBQJeUPtEBYMDwmcAAAoJEJk5L2K64wcj
fK0BAKfARZcbNLHeQ/bARYfCxdeWq7KetjVDq4U+yy1kgIOGAP9fqhmrcq3Y25GZ
IfjOVSg3gE6S2ljuue5mrX86/zWdDIh1BBAWCAAdFiEEVwTQMtBzoPjR0AHD1ARR
lauGFzsFAl5VsBQACgkQ1ARRlauGFzuf8gD7B5acTpXroVC5yMpAowK5jYZgYIaB
cCmrZuoocgvz+F0A/3fTNBb315YgPutwEMfVwgTxki9tcben0fG9gBzhLaEPiQIz
BBMBCAAdFiEEMM5pfHdnipprCl1cbzF1VX52bL8FAl5gm/UACgkQbzF1VX52bL/q
2w/+JJ9DVlzmve4ul0Ea5iU8SI+dgAweBEClurXKT6DfGsAYNFOWaLCZ8EFai/dF
AbQOAlnrQvRW8v94g1MUqG0jLok+MGthEK6per+dzL92Wn9Ui2qK9M8RUaIuLhN4
H/7weRASOskfuvXEbuecQdu89mkYpUPj3bda6L+SuwiYRAoH0O3S9kqFX5zNB7ZV
gMv3BEFz1JbDq9B1Tx/TCciZH84yiXLvIBy4KADCUMroxsMtF5RcLXH3+3rS5Lxw
jGISGPNlP9NWIPwW0rGTlEjPXYwBc/fZy4fF7hsbyEwhTXa2giCnxsdMIpDhfDnU
9Qbc0ZAUxD65Z5lpojWE+Rk+Dlbet2qnXPCAa/2dHiwmJT6nIphpznPTH4Was7JG
KvL7TFEIrdq86tsUA10TxY5RKFiytTDvLiUGcLBUZIEV8h8ruf1COnicZEHkQQjX
9noVIFwmrsX5BicX1amVG2tjg05Dld6fCyhYnhRUknK3Fzi4Mn5PIYcKq8GBIGto
7mX0kdljCeb/0ufNva9AYt5Wa/QBFFyppnJx3nBsHo0VR0wKeAscTX30j/ryyiZy
WLYx61F7WcKGa9UHZM75bH6z0ZogAa+ayJvOSvQ1vDjAiazmDRBDoG5Mc6CX4EWS
Ora4YFr8xTzTsgjH1pHxDioO2tY+CsGftuHfjZxz5WttzRO0JEpvbmFoIEFyYWdv
biA8am9uYWhAcHJpdmFjeXRvb2xzLmlvPoiOBBMWCgA2FiEEYyXDNwtwF3E4q/MI
apV8mpqUKfcFAl5PFYUCGwMECwkIBwQVCgkIBRYCAwEAAh4BAheAAAoJEGqVfJqa
lCn3RjsA/iwAK7XhunQDVdc/lc/Z8C7sdAToM6TXHfzr7Ddd1PEgAP9TJ+uwtLBC
zgbuTdeCr8QxQLLT2F2VesOIOAzl2ORLC4h1BBMWCgAdFiEEjh4LINPKka0RNkFB
U63YzqPQFvYFAl5P/mcACgkQU63YzqPQFvaipQD+LW8OphabumQgJ13lrI2SKjND
ISmVywwiatbsKVfcsyIA/Ryob4flftRMs3qp7BKh0iFUWUS2Jzs0Isl+K057hPIJ
iHUEEBYKAB0WIQRYj25Oq+jHtVLQD6ZBkR9yKw+a4wUCXlFChQAKCRBBkR9yKw+a
48c7AQD1fHvOTBE1RKmMqPVaM5lRU6BcxxHMhok4pmGWaOa9KwD/cxIEtNd08Xiy
iLHoEoW2XH78Gm2tJXR/yCd/GqnGyg2IewQQFggAIxYhBGn/RVqGn5AxppHg8Zk5
L2K64wcjBQJeUPtEBYMDwmcAAAoJEJk5L2K64wcj+toA/RrBv7b3h+dRO6/p6zoq
/IxwUck4fdU4Ix1vFOBaP3rJAP9PQDfmXqevE5Ftcho3iI7YTatUO5GgcrDe1RXQ
ktEaB4h1BBAWCAAdFiEEVwTQMtBzoPjR0AHD1ARRlauGFzsFAl5VsBQACgkQ1ARR
lauGFzsVjgD+Pd5W8wkkg87LNHFrlNkiy1oz5qKvSOXrMZjjkzKVB5UA/38/mbhB
aaXP5456gHJkMPERlMSLpvQry7xpyF1nnYwCiQIzBBMBCAAdFiEEMM5pfHdnippr
Cl1cbzF1VX52bL8FAl5gm/YACgkQbzF1VX52bL/gQg//bQmXwwYY8cRsx7Mby6u3
TBFXe5unZBQy57QYTt7XgPlBJcDQp3cQrLlyJO1Byifze0FGqVSkkUBfB23U6i6U
w9lBBsAWI5Q0QVP2OvK165BQdt3c5+/0ouzMLPIdBJa8GNJECfUgLCWAu8viCcoS
GnGAaW7E3UcHaOQZIOFeoyjp1xbTAPQSrsZABO+V2g252RJ0i4suCtVsDk2s/DHq
pbqzCW+L47IiOyNzJXEsyPPC6elA0AkM9lSjhtIpG4T4CMEFlYnUoKP/oaf176km
yiPAlt3e3//r+iuEKAas8BmvnQWl2eCDHLI90/lYXyzmB5zBnxp/cvAYpvd6Kkli
8TSX8wvol3clV/kAK7fYDM6Fn/mR/Xcime9e6MuA1PhYcMQZj/T1bcMFYtbeuThy
l8gE6plD4FOe54RGHy/UcQ23YnJgE83mK8v7jxAodplu50GIQdAAnmSSCui7rl3+
NV326yMoEcFwz5v3KwRwkHdBCiBLpJ7gAPCRfDg7zxT0DE0mxoaqLCn4LHobJFqO
wL+t+PmVhtc2+OAsFAuDLRe0fTA0j0UR/RxHCWXqZU+k2pgxuQ2qpn0iWCj08d7n
FQZEGdig5EXfbaPZjP3RK/57cqt3U7IRwXpQVv/SRXDOIAVTQa8x3F3D0/1rhelw
DFxWfDk2xVgTIfjGfhzO/ia0IkpvbmFoIEFyYWdvbiA8am9uYWhAdHJpcGxlYml0
Lm5ldD6IkQQTFgoAOQIbAwQLCQgHBBUKCQgFFgIDAQACHgECF4AWIQRjJcM3C3AX
cTir8whqlXyampQp9wUCXk8VvwIZAQAKCRBqlXyampQp923oAP9hhn3t/waA1/Xn
42TfsPb/GklxdkbL1l3URLmZXC+mSwD+LU8ZTW5PN6lqzxd8Pxz0xUcBBlQRMVyX
lCAg6GmwDAmIdQQTFgoAHRYhBI4eCyDTypGtETZBQVOt2M6j0Bb2BQJeT/5JAAoJ
EFOt2M6j0Bb2JdMBAMnhYmBuwoP2G6PNV42d7zHa+fjI2tSZnsAp5793VzOdAPsH
rV8t1vXSuhnByqujNetPwDmHPGd5+NzpoIu+U2SKCYh1BBAWCgAdFiEEWI9uTqvo
x7VS0A+mQZEfcisPmuMFAl5RQoEACgkQQZEfcisPmuNPgAEAsp+c6xiIZ6VfwWU/
SYPOq0Mifc/lIVamdSxTjDTp8EQA/R35qOqNshyCNZe32B2KkioSvZVacwkFaAHP
+HMBeBYNiHoEEBYIACMWIQRp/0Vahp+QMaaR4PGZOS9iuuMHIwUCXlD7RAWDA8Jn
AAAKCRCZOS9iuuMHI9w5AQDGQH7PqwSvmXOhksimC4SukX/VnWdS1ChauS8KtuI7
gwD3dTUzhIBRReHMgpCHt440kMrY533AwQvXD05fhUO6AIh1BBAWCAAdFiEEVwTQ
MtBzoPjR0AHD1ARRlauGFzsFAl5VsA8ACgkQ1ARRlauGFzt4PAEA3OCuaN1mYVYD
Tjm2qO8OIPPnK5pfTiv+Kio4VXoqnUgA/258JQrqBPuqA1S1J/EZ385U0JrZXV8e
g7XnpzwCbYEBiQIzBBMBCAAdFiEEMM5pfHdnipprCl1cbzF1VX52bL8FAl5gm/UA
CgkQbzF1VX52bL+mgQ//QSxyUeQoqt1PfZhMJ6NVzD/OQEwH3nto7oJ/yZv+Tc1p
cspujULxwB/80qOK2aSqk04Rz8IFeFTNMdxfOa+1ddZcInQqrkz9uvPfKnh5JyZb
wTihkWxkyfoxaFpjlS7q8oJ42W8KOp/cU7cPi8idtm+BSweOU1uSND6LLHhbq5uY
UJdpIQXuog+e7wea+TjerlywoeVSbd+ieVgThmarnK66nWzrQ2YJ0YM0GO7MlvGz
nPPZv5h2AzLsfP+zwfGUgzBl6ejaFWH1oL+4XlIppaB7UbUWYU7iy1dD0KySLyZ5
KGO7i/qEoOMyytdfZBWMqiHbS1e5nQiGwgDaB+FZCtO08aE8RUnO6jhNG9iNtUUV
m+SYkEBq2KInVB29VF9r/Jia3BxtiMdJkQViVW1F0k3UlBS1ha87wjxE+47ojvEV
3ksNlKhcoDe2z55mi/brbktBRKS3zA8sC3f0yNIvEoy1xJsOjsuVCyk+UUHhTZOq
neMRphJpvUKmbOq4MXEwtbevt08DpeWsragxKD/uuRUBmNNXv0vsnFY6QXBfOWw+
v7+hA7JijJtqHJlSQibSOyFIo/94jK6DDqqo7394hUidoM91BnREVsl/vzT9k/xW
v943XgFmfln9ajHRC6VoWgaPsMq1hRJmpC4grCQRYlM4egtvxqSzy3TGUhjcWtm0
JEpvbmFoIEFyYWdvbiA8am9uYWhAam9uYWhhcmFnb24uY29tPoiOBBMWCgA2FiEE
YyXDNwtwF3E4q/MIapV8mpqUKfcFAl5geAwCGwMECwkIBwQVCgkIBRYCAwEAAh4B
AheAAAoJEGqVfJqalCn3fI0A/RG9wkDzEYrMsHFwU0piQAIXU7yZe3BFjiU2QrCs
CHKgAP9fhvNwsS+rYuzAjFd7kLLk5rvOqRCbaoE98n2BeXNzA7QeSm9uYWggQXJh
Z29uIDxqb25haEBhcmFnb24uc2g+iI4EExYKADYWIQRjJcM3C3AXcTir8whqlXya
mpQp9wUCXmB4KwIbAwQLCQgHBBUKCQgFFgIDAQACHgECF4AACgkQapV8mpqUKfe1
3wD7B6wHr0a9FmKDzk7Ws4o5h/hZrQk3+iyr4YQao594znoBAMIeq+0wgH1pjKpI
z5IHYDkcqXY2IEfnVxi1CMei/gQOtCJKb25haCBBcmFnb24gPGpvbmFoQHNpZGV0
cmFjay54eXo+iI4EExYKADYWIQRjJcM3C3AXcTir8whqlXyampQp9wUCXmB4QgIb
AwQLCQgHBBUKCQgFFgIDAQACHgECF4AACgkQapV8mpqUKfctewEAnxH6CLlgC6gl
o0AE/OGHHjIR4ZiiPIjQAacva1gusQ4BAK5NqQPZIqPWty6BUe8XOyQPQV9JJd43
qozsfM2yBmwJuDMEXk8VGxYJKwYBBAHaRw8BAQdA5TNxa4nLhXpNYNxNmJhOFNRg
Bv4ukPRMNadB+xvRpx6IeAQYFgoAIBYhBGMlwzcLcBdxOKvzCGqVfJqalCn3BQJe
TxUbAhsgAAoJEGqVfJqalCn33zkBAMeCH+xcc7vTgiLGnFn32gc57yVp1LDynUkZ
22abZScNAP0eYjXkd+4vbYYNTy6pyPnkEEgFYSIIWDEDMrOLyIdID4h+BBgWCgAm
AhsgFiEEYyXDNwtwF3E4q/MIapV8mpqUKfcFAl5hgvUFCQHzTPoACgkQapV8mpqU
KfdTWQD+NDOdX3hWc5cUHpdtaPrmgaDRwCkklCXS+kT2jYo8ob8A/AvIY8AKMtlF
WRBeHr6RIj+CeqKeYpcS3K0ORCk3k4YEuDgEXk8UhBIKKwYBBAGXVQEFAQEHQJMA
tlV2Scjm5f9+S4XblUDBdwizWt1cLxLU/En0eQ1XAwEIB4h4BBgWCgAgFiEEYyXD
NwtwF3E4q/MIapV8mpqUKfcFAl5PFIQCGwwACgkQapV8mpqUKfc89gD+KkfKSo/n
daxi/1h/SArQtiM4/odczuhVr+nMr5F5XCMA/iF1V+TBOl1rh3/0BdBtRyKGvBlb
k7kAkoZe+LA/zJ0FiH4EGBYKACYCGwwWIQRjJcM3C3AXcTir8whqlXyampQp9wUC
XmGC4QUJAfNNfQAKCRBqlXyampQp90ADAPsF06IC8gvB2FpBJNe39yi/nd2OMmOo
r2HkHrsRum2tFQEA70E6br+AeWjbGRueqyZhTPnNW/WIFn08ioERu/ZFzwq4MwRe
YXnRFgkrBgEEAdpHDwEBB0Dw2js6KOom0Z9B8wCA9ptx2eXSav+PvARJAGi2GhNp
VYj1BBgWCgAmFiEEYyXDNwtwF3E4q/MIapV8mpqUKfcFAl5hedECGwIFCQHhM4AA
gQkQapV8mpqUKfd2IAQZFgoAHRYhBHIu/0gP8/eOPi7i5DWGN3hPGuKUBQJeYXnR
AAoJEDWGN3hPGuKUP7MBANMwQPuqt+dlO68MQRNbaC6vWmmU5ficz9ZDCI3xKOol
AQDdKzCJ2fO0v4YUM6M0MKekdbA/q/lCI/0rVAOGk7J+BLjPAP9zOXGLpgX11Xs5
07CFAzD15vndEbK+kmy6/2oc01kEFwD/ShSbLdC8Jn8xTnnFnRVI2XdxXWq8s7mf
v8ahfxb2vgY=
=NiHi
-----END PGP PUBLIC KEY BLOCK-----

You can also export to a file:

$ gpg --export --armor 0x6A957C9A9A9429F7 > exported_key.asc

(Which will export to a file named exported_key.asc in your current directory)

You can send me the signed key via any contact method. And thank you! Key signatures help build trust in the PGP world.