Compare commits

...

24 Commits

Author SHA1 Message Date
62646e219b Add revocation for dvzrv
Add revocation certificate for C7E7849466FE2358343588377258734B41C31549.
2023-05-29 13:33:19 +02:00
68dbb8014a Switch advertized key for dvzrv
Switch advertized key from C7E7849466FE2358343588377258734B41C31549 to
991F6E3F0765CF6295888586139B09DA5BF0D338, as the latter superseded the
former.
2023-05-29 13:33:14 +02:00
a6c89532b1 Add authentication subkey for dvzrv
Add authentication subkey 57B71EE573F78CBEA83284B0D0B9A7F0EFEC1108 for
C7E7849466FE2358343588377258734B41C31549.
2023-05-29 13:33:10 +02:00
75b363ac6c Add certification from dvzrv for dvzrv
Add signature by 991F6E3F0765CF6295888586139B09DA5BF0D338
on C7E7849466FE2358343588377258734B41C31549 for
"David Runge <dvzrv@archlinux.org>".
2023-05-29 13:33:05 +02:00
f4ad2ed61a Add signature from Foxboron for dvzrv 2023-05-29 13:32:56 +02:00
ddc037fa33 Simplify trust_color() using match statement 2023-05-29 13:32:50 +02:00
f6d2b35318 Fix issue with Trust Enum values
As `auto()` was not used for `Trust.unknown` it led to wrong data being
returned from `trust_color()`.
2023-05-29 13:18:51 +02:00
cd9536f76a Revoke signature by demize for allan
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2023-05-11 10:29:36 +02:00
f7749fd39c Add signature from anthraxx for gromit
Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2023-05-02 21:14:05 +02:00
fcbb3d5586 Add signature from Bluewind for gromit
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2023-05-02 12:13:45 +02:00
35ad10dd01 Add signature from dvzrv for gromit 2023-05-01 13:44:42 +02:00
771c202291 Add signature from demize for gromit
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2023-05-01 13:34:10 +02:00
4bab3c715d add packager key for gromit
Signed-off-by: Christian Heusel <christian@heusel.eu>
2023-04-30 17:36:41 +02:00
29d9caa9dc Collect failed keys and print them at the end
Since !180, all keys are tried. This can indeed be useful but buries
the offending key in a long output log.

This stores a message containing the key and UID during processing and
prints them all at the end.
2023-03-20 16:24:49 +01:00
a7877fc189 Revoke signature by dvzrv for allan
Revoke signature for allan@archlinux.org by
2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E on
6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD.
2023-03-20 16:22:18 +01:00
ac5f7eaeff Remove extra forward slash from archlinux-keyring-wkd-sync.service
Signed-off-by: Leonidas Spyropoulos <artafinde@archlinux.org>
2023-03-20 14:28:13 +01:00
d70b7059d0 Add signature from demize for raster
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2023-03-20 09:16:30 +01:00
299928461d Add signature from demize for orhun
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2023-03-20 09:16:27 +01:00
f3544fcdf5 Add signature from demize for bastelfreak
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2023-03-20 09:16:23 +01:00
388ec9850a Add signature from demize for alerque
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2023-03-20 09:16:16 +01:00
79d3fa3bcc Add signature from demize for lfleischer
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2023-03-20 09:12:24 +01:00
33fe23aecf Replace keyserver upload requirement with keys.openpgp.org
The MIT keyserver is frequently unavailable for uploads so it no longer
make sense to block new keys based on its availability.

Once we have main-key signing tooling built into `keyringctl` this
requirement will no longer be necessary since the tooling will be able
to be run from branches already containing the necessary keys.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2023-03-14 17:45:03 +01:00
8cb0c6d8a0 wkd_sync: Ignore keys with SHA-1 self-signature
wkd_sync/archlinux-keyring-wkd-sync:
Ignore keys with SHA-1 self-signature (by hardcoding them in a readonly
array) so that they will not be synced from WKD.
The Arch Linux WKD setup does not contain keys with SHA-1
self-signatures anymore.
2023-02-25 16:18:37 +01:00
cb1054f841 Fix formatting in tests
Apply black to tests.
2023-02-25 16:18:34 +01:00
32 changed files with 240 additions and 39 deletions

View File

@ -51,7 +51,11 @@ merge request to add the new main key can be merged.
a clearsigned document
- [ ] The revocation certificate has been sent in an encrypted message to the
revocation certificate holder
- [ ] The public key has been uploaded to the pgp.mit.edu and keyserver.ubuntu.com
- [ ] The public key has been uploaded to the `keyserver.ubuntu.com` and
`keys.openpgp.org` keyservers, and the `archlinux.org` UID has been verified
on the `keys.openpgp.org` keyserver. Optionally the key can also be uploaded
to the `pgp.mit.edu` keyserver, but this is no longer mandatory as it's
frequently flaky.
- [ ] A merge request to add the new public key has been created
### Revocation Certificate Holder

View File

@ -58,7 +58,11 @@ the details section.
practices](https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/wikis/best-practices#validating-a-key-pair)
- [ ] The data in the [Details](#details) section is attached to this issue as
a clearsigned document
- [ ] The public key has been uploaded to the pgp.mit.edu and keyserver.ubuntu.com
- [ ] The public key has been uploaded to the `keyserver.ubuntu.com` and
`keys.openpgp.org` keyservers, and the `archlinux.org` UID has been verified
on the `keys.openpgp.org` keyserver. Optionally the key can also be uploaded
to the `pgp.mit.edu` keyserver, but this is no longer mandatory as it's
frequently flaky.
- [ ] A merge request to add the new public key has been created
### Main key holders

View File

@ -2,7 +2,7 @@ SHELL = /bin/bash
PREFIX ?= /usr/local
BUILD_DIR ?= build
KEYRING_TARGET_DIR ?= $(PREFIX)/share/pacman/keyrings/
SCRIPT_TARGET_DIR ?= $(PREFIX)/bin/
SCRIPT_TARGET_DIR ?= $(PREFIX)/bin
SYSTEMD_SYSTEM_UNIT_DIR ?= $(shell pkgconf --variable systemd_system_unit_dir systemd)
WKD_FQDN ?= archlinux.org
WKD_BUILD_DIR ?= $(BUILD_DIR)/wkd

View File

@ -132,7 +132,7 @@ Christian Hesse <eworm@archlinux.org>
02FD 1C7A 934E 6145 4584 9F19 A623 4074 498E 9CEE
David Runge <dvzrv@archlinux.org>
C7E7 8494 66FE 2358 3435 8837 7258 734B 41C3 1549
991F 6E3F 0765 CF62 9588 8586 139B 09DA 5BF0 D338
Pierre Schmitz <pierre@archlinux.org>
4AA4 767B BC9C 4B1D 18AE 28B7 7F2D 434B 9741 E8AC

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wnUEEBYKAB0WIQRp5kceOuBlKXUpgy5roPWiA39PQQUCY/fyvQAKCRBroPWiA39P
QX0tAQDa4R4GzA3QaZw3dgP8TAuWi89MOu18FDdmtzxci5jbqgEApps3teMlaYKK
e5RfA2/zN2pZp1+edXodsab6AWlTXgI=
=xaHz
-----END PGP SIGNATURE-----

View File

@ -1,7 +0,0 @@
-----BEGIN PGP SIGNATURE-----
wnUEEBYKAB0WIQQqwKQu+wtcvHoEAu1NyVtte+mJLgUCYXgZgQAKCRBNyVtte+mJ
Lj+aAQCC8ihDJ76TY7r2GB5f5ZMjD/j4yb3vajuaaY068AcAAAD+JqjdjC095QLV
8zp1TjS221OA7qBPT/YuPyTKfZmXEwM=
=Ybdb
-----END PGP SIGNATURE-----

View File

@ -1,7 +0,0 @@
-----BEGIN PGP SIGNATURE-----
wnUEEBYKAB0WIQRp5kceOuBlKXUpgy5roPWiA39PQQUCY43bIgAKCRBroPWiA39P
QbXDAP9u0kdh28tdAGn5CWOJNvOJBUz7Z86B/JUWfOKmDEuIGgD8C3jWlt+Jpenb
K1nNOLl/qu9V/XfYj7nruWm2zH0ltg0=
=MVjl
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wngEMBYKACAWIQQqwKQu+wtcvHoEAu1NyVtte+mJLgUCZBc2agIdAAAKCRBNyVtt
e+mJLhxWAQDV/ug3UXo+UrW9RZPPjOcfm85AfqxjvwBdha7SME8jSQEA7RcUezv2
fFRxXMnEBHYacpECKPrsBi6DSPOpxv7jxQY=
=CIU3
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wngEMBYKACAWIQRp5kceOuBlKXUpgy5roPWiA39PQQUCZDpx2gIdAAAKCRBroPWi
A39PQf7eAP0RLlX7qSVgFT/BJHUQ1TLgSGwnuJ46ZtbdY4xcOm26bgEA3re2oB9G
ifQ7ftsmDeqLRMRQ8at6dvtdpxsVOYVzxw0=
=0F2P
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wnUEEBYKAB0WIQRp5kceOuBlKXUpgy5roPWiA39PQQUCY/fy0QAKCRBroPWiA39P
Qb+5AQCdu6we9YibVUWbPlzus8+aGpXyeJm7zBBBygqvCkHFCwEA6z6Gaf3cI81B
DPPOyzXP0O8WatQHP86l6VpeNJL0TAo=
=dPU/
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wngEIBYIACAWIQTH54SUZv4jWDQ1iDdyWHNLQcMVSQUCYnltNQIdAwAKCRByWHNL
QcMVSRBZAQCHwoMtoSpUEwy+MkP1waEE3k2WlwDXQoo/9FwzTFxz5wD9EXQtSlz5
0nAUHeAVGH7aUuxlSsfC58+kJ0ZqwkEv3AA=
=pI72
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zjMEXzjyGhYJKwYBBAHaRw8BAQdAlC/1ysofcEnEhTtUnu/0z1UuAfbzL3r4K+tH
+ZZpuiQ=
=FnQP
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wn4EGBYIACYWIQTH54SUZv4jWDQ1iDdyWHNLQcMVSQUCXzjyGgIbIAUJBd7uAAAK
CRByWHNLQcMVSeUGAP0WfArOzkxd4gHR4inXNCxZjvNSOlvMetR5knp8unMElQEA
8zwv/pcyva/OKoQ+fzUUokFAPbV7OcXmqLiInCvWTAw=
=O198
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wnUEExYKAB0WIQSZH24/B2XPYpWIhYYTmwnaW/DTOAUCYno0+wAKCRATmwnaW/DT
OE5uAP9+xvb8/oqmh2UxW32sRmRz42GuGf3KatBH1D1WlYXz3QD/coRmCwXFvBCP
lEhU5DFPDrsI/U+pNz0F1uWdCsM94Qc=
=Z+gq
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFzBBABCgAdFiEEwQA0ZnZjToDJQPuenAL/QZ/svhYFAl3QLJMACgkQnAL/QZ/s
vhZfmg//S04yCxS1km9rbTdRv+k9bHHuuuE7jAcGXdjg2DUUexeJBabtRPSUALQ7
qveI1mPyCc5JpnSz5yy70g0mwftMS4y9JAMr74CSi8xraJHR0pxJ7g6/V8LovXhm
6v4rIGDSpu6Zuqa56S9gGsjBMOfpAlEijtr4Ci/d4AltD0lxMzop3vPFXv7HiGiU
/PeERZhqp1akFg+guz7bSu+F6GdGZkCty0tlkA82zRQ8Ummq/8qSKM5HUDQGL/+4
g+MAroocB4CQaBN/4F+WTS90dtBnFYBVzWvdlnfIpzI++ELVTxKpieWk9aOuxjQQ
c4tzdF6ZJIzym/nWfTCzfRz0z0vz1cISNxYfSlFmSjmxWtMmaFwInxlBnBjkUYTc
lOiMeitQrDXZAz8tRd6xiGm/8tWNiX97RQq1IdCRJRyzuYY2hHsGcW2j8QR5FkIQ
dHUTMIqu+Tx6ueAc3FYHv0ykWh1gSR048cv55vEIf8pN6CGstzsjbRyuWkz2gH/L
eb4IifrKsDniZdyLpDBApUxKD1PUfgxOZjs+Flfuyq92zjcP90IfLQZxk2aIYxul
dQAhaQE4a5LR/lVpFAgGNKrIGMfU8e0B7cohHXmp5LWoWUFIvdKu46qak0jnL4/v
bzt4wgoukgixomY029arCwUk/cFk7DCy4TbQd1yH2gmnR2nqRPs=
=mOF3
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsFNBGROfz8BEADfeqTTXrLQeITRjsQxXUUWYNc9c+AGlOkP7LmcxT2lTiFeqguU
FH0JvUjOI32WHzqlhSq6MMnZ/D2CPjlViOWEfo1ao3U7k0KGvU4fTUFpM9KaFfbg
OHJA0xu8h7a+V4mRvOX2oNuap3zhvwHbPyJTP0P2vfyD2YHdsgzyrP3ytDVZwXSf
QsXUUmUNmCc/M829dBJJdW3qOwVetfnbVXuxSPbIWNSGytVHd/uGpw0vBKZodhXW
i4RK4MJHBOK1LlnGH1KwGxjCBdosZV9/qTHRV/gY8P49uuiK1DpE/kzXrtgKwDb5
F+TT7qHNnhft8NvJfneHSSC8TaD+rIdTogC8MZAyFjGJlt7kax8CPlRMxHBT9hCh
9z8BnuLL0e19Zj05rDDmZCc5j2iQdLB3OKgwGy0plnIhydOhSbLzeAkouROwBcho
2CXmtj6Rl1b6jzhUz6Ac2cjRh+Q8z/Vk8XgFAMixCGgIfI94Vpz0vveJtXm5zQnr
28hPVIRHEw5YOPm+tUsBybMVCsTxbiu+A841FPY4e+Oi7cQqV97kKbiGJrR17qFP
2FVTsEMzcLTKmZT4DmZlmTe5zsJWQ1da4QyWq7jtfibBL1zMC+q5bPmW4gPXgMYA
12EyJlso34nxBP3+BUj2SrRed3Lp2q3IbChLNmdWR+gzmaecVU9r0vFifwARAQAB
=r57o
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP ARMORED FILE-----
zsFNBGROfz8BEACvItviAcw6SSm2S9AFKF74GGxXiLNgr0qjOY0Eard+yC65PSBr
P51AaBf83lr3IORZbDDY+7LX/EHypO9qEgI1Rq1/RMh8veK0l2cp9uD2ZgZz+rA1
CTaUgBFmWASX2+Yt6MPfLaziSbmmeNW0Q+2bcIy6GzfTMLGcu5ep+daStRs9+kRO
fQTerMpZUt+9EKvyEEDHU+wwHEHzEobVE3dDdZiPyciDQW2Fp+12/jxM9VaFZPaO
9KXdD8dpeWzJ23JhOTLXA5H47QZS7sJCHZ/tSe0Lbe6boeiDJeI/285+5d+g7+pZ
7XvBhzOXgtVDI4XicRikaUEFbr+x/9EQFV7EDZI03E0Iyf8vJvglJ4+omGN6/Wv/
j18nwin0IoRZNwIF/2CzGzQf9wCfUsHS9bwbY6wx3xeVlvlY6Md3k29AJwwJ7Ame
0IemzS6eAYVUp5z+9Scr/69UaebvHJYaUWnnt+AC8dCrcdak9KJEJS1iQGysMkoY
7a5XuN+3u93GUxEtwMtZoiN0J3KRSktoN0Occc/A23xQhVM7QGSYkgqQV1DMWalE
piJET7sel6TwVYdKvd0Fo3YFJu0Sp4wHKCqNWFH7kcoiXoovJps07iLZqAo3G8SM
OKig4Df6aetaWDCF2/2Wre2DoA73+Ss/XlRObEs8DT9QMawnsxIbCGPk3QARAQAB
=vxwe
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsF8BBgBCAAmFiEE8AuW0VIoAT/8nJ0Dk7EdqkwZfj0FAmROfz8CGwwFCQlmAYAA
CgkQk7EdqkwZfj3YJRAA3plt6kk3cm+yBSKL97mw7rWBduyuWUCFo2MBUgueaRMV
WaBI9QbKV+kUQu+drzpsfeg41UWS0euN7XdAG0BTZrPlzm7OkmKWuBaqeO6J6P4i
ARdnPW+Yl0NUOwzWOqVFUfZ5Rr6VYW5KWQG0b7eBw3TbFGZsaVyCk/abQDVQSji9
XeO0cPsHrYCl+RyujaoRYdS9k1mc+Th+1bTeorr68EA/8zvI/JCFMJZqw5cs57FU
AQ64XqR6VfLYhvNTFL/9ZcUNV9R2I46MpobZmfmal0ZhgSaBsP94LSi78FZffHvz
MXsp3kIXotE6b0f0+F2l8tTFuDs4/fwSFz9S/he+cfq5QyMYQGnVzX+aA6FBtURv
pMBxnCwqOzCpNwa92WRX86LV6yCSp/eBGsNuIYyobnNdxp8O+XAfzG2nm5a5utFr
TJQkBIM1GK4/m7e//Ckz8qZEa2XefPjotIjJ7tsWPlzkL3exlwbJhLxS7VqnUmHn
bvVm7c37D6PFxWdh5YJYmC0HTiB11ugjzHsuqSPmtAeFJPEV73S4qGdmf1GPVB8+
cVnSu+ttpxtI1vXgz+kH5atTRC70qbEqbl7etKhpW/F0CbOvowdJpigcDwYCz3YP
ZI9vq95n+7DzydbCD4VuJerA9k8eK7gfbXwnVN4Rkl+9TNKTXkOLcTGojKLQyME=
=Xx5W
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zT1DaHJpc3RpYW4gSGV1c2VsIChncm9taXQgcGFja2FnZXIga2V5KSA8Z3JvbWl0
QGFyY2hsaW51eC5vcmc+
=vRLx
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wnUEEBYKAB0WIQQqwKQu+wtcvHoEAu1NyVtte+mJLgUCZE+lcQAKCRBNyVtte+mJ
Ll4vAQCVdv29Vw8zoAHX9wAbZ380p5NzPS9AUsyjr1ngyvTvzAEApNtLX3uuknHL
U3i9pqKzk2TAdteuMrEaeTi55hr02wI=
=mk6L
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wnUEEBYKAB0WIQRp5kceOuBlKXUpgy5roPWiA39PQQUCZE+irQAKCRBroPWiA39P
QYmkAQC/p1X6eeBMrKXcGWB/Ght+ybVDzVD7s1yzMW/62OkE4gD8CaDb0BlB8s0+
d7raMm4Pku+SmC9hYilG2T7c08m2egQ=
=AOdS
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFzBBABCgAdFiEEkf/gcA6AYZzrcyNcqI4j43dRTgAFAmRPlPgACgkQqI4j43dR
TgAUQw//ezVA6RNNvr22vln3uCkFfRFS/s+GSA6xEpIKA2OoLEmPIWn5mG7c+hHW
wuQ5epE9Hylnwznvthqi7MxNAwippVk9q7XBOD7YEqVJSE1PpKyOH9PWV+CVslIE
oumaWHzT6FZjgVwIMySr3Nk8+XZHnL149fjGapeGse+UiHxq/ogeZ+qjxcLtEKnM
cMUqcxrxTWNAkoM7KNg5WJKJBEW6ivcl7M8rA4syU7olg+qHTjBcJjzAjC5uW6sD
PI9bU5QvmdjPMkmGom6JSczatk4Z3lvDtKqZZcnTefmMiYFOSSsscPMS0XvVrneW
syim3YPqu0uKsDp7UowdhI2mi+DYEPAQ9ya/0fUxp40bFInV6QMraOx+YBWsoNNh
woL7sgGgj00Mdti5eyKGAvnVQ3VReHBen5cuM5KOj3/yRpUePHYzFCZF8T5igrRC
XYsHHuNRwfnG3qEv5Lns0ZZkbMMTdb8W6J/ssp8kM5jblFtSyy7LnaJOdXz0GJGt
iu0RhoC/mREhZlXuyADvGJfGANZADA8/6HjQKzWDQmDmYKzLajxxR0KzdO5UPrQK
ydikqPBuKPQlSt7fcDGEiW8PIyRfkYsCRb+182kF9Irr3+0dZSGgE2KjscVRuXt7
/S332k05ApWQ+dFhGUtp7E8k0J7y5ZMUU1fUHmYcF2WVEoxqhVs=
=nufN
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFzBBABCgAdFiEE2K/doHpbbt+n2Mza1tBV+SeEPxwFAmRRXo4ACgkQ1tBV+SeE
PxyIEw/+N7MvZnkkZ8Ot8mzwaYY1SJGqDYMkNxsVLVKAwt0a1lRlabqvVB0g0y7B
KDxlmBR8wstCOI6VSZqff7JMJsLTeV5aSLzoSmLjClCHuwimqmD0sXcCN7QFv5eW
5J7jxvpW1miiSmRzuxw9akTySdq7nE0+xTkH89iv1F2yOeeNE+yg8vg7Ssn6PkQ+
24p82eGtum/Hn7naFiYcPZ4xnG2Ld2iQenjhEO6oVXvNYJo8+7uIbgGRJDebxiek
UTIW+wGvmKCA7N8EY1rjzCNV0Os7PZOrI9HwRY4SHceLd938KG/Kq5hEZds3SNpP
l0mUGIEnndLAhIJmsOMg5YZjiZdT6MmBZIOP19laLH0kICo1VBFZYog0xVaj0PIt
Di1AYMNj2kVep400Z5DJ8Ln1EoLLbcckNBcyV8syFXUFhF12mgBEBGQMDeVc828p
XdcBfi3XUpwmooJpygRxWDM5sLxhOeTNY4J3qN/t+gaCHCAV04z0iwAiIgDQSInu
7w0+af/cqYFrKbLrg9Z/chGLu92wev2l+6dFuO8k7R2byEvAmNsLpdgnTsnzkdTZ
kTuZmK7havV4S534qP1ydmOhpZVHU7OObDbdXpoMAn3pxQlpc3FsvecJDF6StxpL
5v57tpLuRbzLLgfl29Wnz6YPT/ftwH2Sd/btCc9GeKdXBtuYC5g=
=2p4V
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
wsGUBBMBCAA+FiEE8AuW0VIoAT/8nJ0Dk7EdqkwZfj0FAmROfz8CGwMFCQlmAYAF
CwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQk7EdqkwZfj34FQ/+Nx/1GdMnk3bI
ipg7SCfIcKbji5iofXiy9KeSq612sjMdQvM2An6LVhAsT1sryRERa8RScI+meSr+
U2NSE7BlO8s4f17A7lffTHTAlCBa6uc/7G/JnuqXHN3CXLfcNYUKSFz2x2gBIoiA
jaFhA78teweb/UJC8T4vYmvrh14AnWU6dX98pGqKgMS6nMIoRJfHJAzwZmBrCqZu
oYbPtNSMdDMdzRjliQPe8VMF3pXx6o3jVkpuS05mUC1WVGrHQnqrRg4GsvwfQrkz
8ErGWhWluKy05FtccWc0ohnVn0xw1Cek3Qn0RCKU6+ybHgSdn1NuwawNuQCKjpts
BjeHoq9fnzkHlNE1xObNJ+vmjSme1tnM/QDKspWy2rQJvP1dK7lS4TGaNOJaFg2Y
fghJ1CEjGDIPA1XmR1B6U6nOy1m487tlA6qiN0WqpWr+URvtUn9Z+UDTbWnfbM1j
/zG2WCCtJrph5NG3x4U+jf5PgPq8yc1VRr+3XTwzS4e/5e5kB3htoDLiTAs8y6Of
WHGgt9yjZMt7ZiGxkEl4yu5f+VPMMbuyf+yihb+4y/AcvuyM2acqZ3OYUUm8Tzs2
MTdmR65GNoAvmlCf1rWTe3Cvw/APSSYp2sPjvb63cm2UGzp70haU2qQTuQNf74DC
uWNARtgEewNaUV7pzGm4TU9XLFYY0zI=
=suVO
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wnUEEBYKAB0WIQRp5kceOuBlKXUpgy5roPWiA39PQQUCY9obOAAKCRBroPWiA39P
QaSDAQC63ayaktS5IK9zZjQ+fxTiafn6RadXp/PFWdNhOmrr6AEAvtdvbULkKIpd
fNh+M+YbOd0E2ivcF8fX11xsxh88CQQ=
=umeT
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wnUEEBYKAB0WIQRp5kceOuBlKXUpgy5roPWiA39PQQUCY/fyogAKCRBroPWiA39P
Qda+AQDkH7oAne0pmxeI9J0ZdqTh9zqGCRR4sUd+CWgFaXx6kwEAprpTJhwktkjR
1hz12D/iRqtbnQrgC4xVSpbTl1Ttwg4=
=upvI
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wnUEEBYKAB0WIQRp5kceOuBlKXUpgy5roPWiA39PQQUCZBCkdwAKCRBroPWiA39P
QaynAQCeQXEg5xVVRORSRhdAPM/9paX110WhkBN6Rw/C96NDhAD7BsU6rvEem80E
PKzLXUQqRUqQg1KB2oR28z+zzx2q7gw=
=Hxrk
-----END PGP SIGNATURE-----

View File

@ -224,16 +224,13 @@ def trust_color(trust: Trust) -> Color:
-------
The color representing the passed trust status
"""
color: Color = Color.RED
if trust == Trust.revoked:
color = Color.RED
if trust == Trust.unknown:
color = Color.YELLOW
if trust == Trust.marginal:
color = Color.YELLOW
if trust == Trust.full:
color = Color.GREEN
return color
match trust:
case Trust.full:
return Color.GREEN
case Trust.unknown | Trust.marginal:
return Color.YELLOW
case _:
return Color.RED
def format_trust_label(trust: Trust) -> str:

View File

@ -11,7 +11,7 @@ PacketKind = NewType("PacketKind", str)
class Trust(Enum):
unknown = auto
unknown = auto()
revoked = auto()
marginal = auto()
full = auto()

View File

@ -167,7 +167,6 @@ def create_key_revocation(
def decorator(decorated_func: Callable[..., None]) -> Callable[..., Any]:
@wraps(decorated_func)
def wrapper(working_dir: Path, *args: Any, **kwargs: Any) -> None:
revocation = test_key_revocation[username][0]
keyring_root: Path = working_dir / "keyring"
@ -199,7 +198,6 @@ def create_signature_revocation(
def decorator(decorated_func: Callable[..., None]) -> Callable[..., Any]:
@wraps(decorated_func)
def wrapper(working_dir: Path, *args: Any, **kwargs: Any) -> None:
issuer_key: Path = test_keys[issuer][0]
keyring_root: Path = working_dir / "keyring"

View File

@ -640,7 +640,6 @@ def test_get_packets_from_path(working_dir: Path, keyring_dir: Path, path_exists
@mark.parametrize("path_exists", [(True), (False)])
@patch("libkeyringctl.keyring.get_packets_from_path")
def test_get_packets_from_listing(get_packets_from_path_mock: Mock, working_dir: Path, path_exists: bool) -> None:
path = working_dir / "path"
if not path_exists:
assert keyring.get_packets_from_listing(path=path) == []
@ -704,7 +703,6 @@ def test_derive_username_from_fingerprint(
keyring_dir: Path,
valid_fingerprint: str,
) -> None:
username = "username"
other_username = "other_user"
@ -791,7 +789,6 @@ def test_inspect_keyring(working_dir: Path, keyring_dir: Path) -> None:
def test_get_fingerprints_from_paths(keyring_dir: Path, valid_fingerprint: str, valid_subkey_fingerprint: str) -> None:
fingerprint_dir = keyring_dir / "type" / "username" / valid_fingerprint
fingerprint_dir.mkdir(parents=True)
(fingerprint_dir / (fingerprint_dir.name + ".asc")).touch()

View File

@ -16,9 +16,14 @@ set -eu
readonly main_key_domain_match="@master-key.archlinux.org$"
readonly packager_domain_match="@archlinux.org$"
readonly homedir="$(pacman-conf GPGDir)"
# fingerprints of keys with SHA-1 self-signatures (no longer used)
readonly invalid_fingerprints=(
0F334D8698881578F65D2AE55ED514A45BD5C938 # djgera@archlinux.org
F4DDD6DDCEC320B665F502AAE8F18BA1615137BC # ibiru@archlinux.org
EA84EA00866F51FB10CD19AE426991CD8406FFF3 # ronald@archlinux.org
)
domain_match=""
uid=""
gpg_locate_external=(
# force update a key using WKD
gpg
@ -37,7 +42,6 @@ gpg_locate_external=(
fingerprint_mboxes="$(
gpg --homedir "$homedir" --no-permission-warning --list-keys --list-options show-only-fpr-mbox
)"
error=0
# a list of <fingerprints> of all revoked keys and keys that have no valid main
# key signatures
@ -51,16 +55,20 @@ if (( EUID != 0 )); then
exit 1
fi
errors=()
# first update the main signing keys, then the packager keys
for domain_match in "$main_key_domain_match" "$packager_domain_match"; do
while read -ra fpr_email; do
if [[ ${fpr_email[1]} =~ $domain_match && ! "$old_fingerprints" =~ ${fpr_email[0]} ]]; then
if [[ ${fpr_email[1]} =~ $domain_match && ! "$old_fingerprints" =~ ${fpr_email[0]} && ! "${invalid_fingerprints[*]}" =~ ${fpr_email[0]} ]]; then
printf "Refreshing key %s with UID %s...\n" "${fpr_email[0]}" "${fpr_email[1]}"
"${gpg_locate_external[@]}" "${fpr_email[1]}" || let ++error
if ! "${gpg_locate_external[@]}" "${fpr_email[1]}"; then
errors+=("Error refreshing key ${fpr_email[0]} with UID ${fpr_email[1]}.")
fi
else
printf "Skipping key %s with UID %s...\n" "${fpr_email[0]}" "${fpr_email[1]}"
fi
done <<< "$fingerprint_mboxes"
done
exit ${error}
>&2 printf "%s\n" "${errors[@]}"
exit ${#errors[@]}