Compare commits

...

668 Commits

Author SHA1 Message Date
f965c623f2 collect signatures for tpowa from keyserver 2022-12-13 21:45:33 +01:00
38a95f9247 collect signatures for seblu from keyserver 2022-12-13 21:45:33 +01:00
34f09c7965 collect signatures for ronald from keyserver 2022-12-13 21:45:33 +01:00
15a4a36833 collect signatures for remy from keyserver 2022-12-13 21:45:33 +01:00
86099b42ae collect signatures for pierre from keyserver 2022-12-13 21:45:33 +01:00
5d1e57a738 collect signatures for nicohood from keyserver 2022-12-13 21:45:33 +01:00
bb8a0fd4c3 collect signatures for muflone from keyserver 2022-12-13 21:45:33 +01:00
77797b5a1f collect signatures for mtorromeo from keyserver 2022-12-13 21:45:33 +01:00
c9177b7325 collect signatures for morganamilo from keyserver 2022-12-13 21:45:33 +01:00
3aedbbb48a collect signatures for lfleischer from keyserver 2022-12-13 21:45:33 +01:00
b1ff0bb7e4 collect signatures for lcarlier from keyserver 2022-12-13 21:45:33 +01:00
4ef5d80c19 collect signatures for kyrias from keyserver 2022-12-13 21:45:33 +01:00
405816cf87 collect signatures for juergen from keyserver 2022-12-13 21:45:33 +01:00
7e7dedb4ba collect signatures for jsteel from keyserver 2022-12-13 21:45:32 +01:00
3c1a03faf7 collect signatures for jlichtblau from keyserver 2022-12-13 21:45:32 +01:00
6183585e4a collect signatures for jleclanche from keyserver 2022-12-13 21:45:32 +01:00
d42f7e7080 collect signatures for jelle from keyserver 2022-12-13 21:45:32 +01:00
c8530b53b5 collect signatures for idevolder from keyserver 2022-12-13 21:45:32 +01:00
a4a577ac59 collect signatures for heftig from keyserver 2022-12-13 21:45:32 +01:00
79cc177457 collect signatures for grazzolini from keyserver 2022-12-13 21:45:32 +01:00
20d0aef1d0 collect signatures for foxxx0 from keyserver 2022-12-13 21:45:32 +01:00
5c32d89647 collect signatures for foutrelis from keyserver 2022-12-13 21:45:32 +01:00
2e12103e26 collect signatures for escondida from keyserver 2022-12-13 21:45:32 +01:00
97fec6871e collect signatures for cbehan from keyserver 2022-12-13 21:45:32 +01:00
7724532fe8 collect signatures for bgyorgy from keyserver 2022-12-13 21:45:32 +01:00
4bde024967 collect signatures for arojas from keyserver 2022-12-13 21:45:32 +01:00
c13c390f86 collect signatures for anthraxx from keyserver 2022-12-13 21:45:32 +01:00
2034901a27 collect signatures for andyrtr from keyserver 2022-12-13 21:45:32 +01:00
0ce1c366d4 collect signatures for andrewSC from keyserver 2022-12-13 21:45:32 +01:00
b83eb0a5ae collect signatures for anatolik from keyserver 2022-12-13 21:45:31 +01:00
cbd440e79d collect signatures for alucryd from keyserver 2022-12-13 21:45:31 +01:00
008e0826db collect signatures for allan from keyserver 2022-12-13 21:45:28 +01:00
3846dd67f9 Update Seblu packager key 2022-12-13 21:33:27 +01:00
3e8a0ea621 Revoke @yan12125's old key 2022-12-13 20:31:50 +01:00
7a9915b245 Add new key for bgyorgy 2022-12-13 20:14:09 +01:00
af47f5a20f Add signature from demize for yan12125
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-13 20:09:13 +01:00
e74b1c885e Add signature from demize for polyzen
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-13 20:09:11 +01:00
b53064c155 Add signature from demize for pierre
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-13 20:09:10 +01:00
3fecae7fde Add signature from demize for muflone
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-13 20:09:08 +01:00
69b441ae64 Add signature from demize for maximbaz
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-13 20:09:07 +01:00
3b9a2aeb77 Add signature from demize for foxboron
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-13 20:09:06 +01:00
538343ac44 Add signature from demize for escondida
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-13 20:09:05 +01:00
e33375ca5d Add signature from demize for bluewind
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-13 20:09:04 +01:00
6932924764 Add signature from demize for arojas
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-13 20:09:03 +01:00
0b8c61ba70 Add signature from demize for allan
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-13 20:09:01 +01:00
16f7acac87 Add signature from Bluewind for pierre
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-12-11 10:16:26 +01:00
fc13666e73 Add dvzrv revcert for alucryd's key
keyring/packager/alucryd/9437DD3815A7A9169E3D3946AFF5D95098BC6FF5/uid/Maxime_Gauduin__alucryd@archlinux.org_2606bf1f/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc
Add revocation for certificate by dvzrv
(2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E) on alucryd's key
(9437DD3815A7A9169E3D3946AFF5D95098BC6FF5).
2022-12-05 13:20:31 +01:00
f6aa92e078 Merge branch 'merge-requests/193' 2022-12-04 22:49:27 +01:00
07b18c0810 Add signature from Bluewind for thomas
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-12-04 10:21:36 +01:00
0306d410f0 Revoke signature from Bluewind for thomas
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-12-04 10:21:30 +01:00
16fd8188b5 Add signature from demize for shibumi
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-03 16:43:49 +01:00
eac6fa752f Add signature from demize for serebit
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-03 16:43:49 +01:00
837d7d0c12 Add signature from demize for rgacogne
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-03 16:43:49 +01:00
753938be0b Add signature from demize for dbermond
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-03 16:43:49 +01:00
9a137e8e41 Add signature from demize for sangy
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-03 16:43:49 +01:00
8dfa4f413e Add signature from demize for jsteel
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-03 16:43:49 +01:00
055c0a10a7 Add signature from demize for cbehan
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-03 16:43:49 +01:00
17d53dd81a Add signature from demize for andrewSC
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-12-03 16:43:49 +01:00
abe47ec3bb make my @archlinux.org uid primary 2022-12-02 09:31:59 +01:00
85530a6d3c extend key lifetime for alex19ep
Found on Ubuntu key server... 😝

Closes #208
2022-12-02 09:30:29 +01:00
2bfeaf4593 Add signature from demize for wild
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-30 22:09:35 +01:00
b2d25b033f Add signature from demize for mtorromeo
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-30 22:09:15 +01:00
8f22dc50e9 Add signature from demize for segaja
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-30 19:21:18 +01:00
00f1dfa1a7 Add signature from demize for FFY00
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-30 19:20:48 +01:00
cb9ae854b6 Add signature from demize for tpowa
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-30 18:04:34 +01:00
715f425527 Add signature from demize for spupykin
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-30 17:59:59 +01:00
4c88727871 Add signature from demize for lcarlier
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-30 17:59:43 +01:00
6a734cc46f Add signature from demize for idevolder
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-30 17:59:21 +01:00
9996e16c43 Add signature from demize for heftig
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-30 17:59:09 +01:00
440ac923d5 Add signature from demize for foutrelis
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-30 17:58:55 +01:00
8a23d4a59c Add signature from demize for felixonmars
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-30 17:58:41 +01:00
b82f81f7ca Add signature from demize for artafinde
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-30 17:58:30 +01:00
c0b84bfd4d Update key for Jerome Leclanche 2022-11-30 07:10:14 +01:00
988ec73a84 Add signature from demize for jlichtblau
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-29 23:16:07 +01:00
183d87bfa8 Add signature from demize for foxxx0
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-29 23:01:35 +01:00
4a556ee1c4 Add signature from demize for eworm
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-29 23:01:35 +01:00
bcac30eb7a Add signature from demize for svenstaro
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-29 23:01:32 +01:00
1ad1342ac4 Add signature from demize for freswa
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-29 22:38:52 +01:00
e3e19b325e Add signature from demize for dvzrv
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-29 22:38:41 +01:00
b9c72f776d Add signature from demize for kyrias
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-29 22:14:28 +01:00
6c0bc537a9 Add signature from demize for alex19ep
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-29 21:52:38 +01:00
769eeda592 Add signature from demize for archange
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-29 21:27:42 +01:00
ea5436fef7 Add signature from demize for andyrtr
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-29 21:24:12 +01:00
dab0c5867b Add signature from demize for anatolik
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-29 21:08:10 +01:00
0dbc3c3e85 Add signature from demize for blakkheim
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-29 21:08:07 +01:00
4b5fa39622 Add signature from demize for anthraxx
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-29 20:58:32 +01:00
1c296bf292 restart wkd sync on failure...
... but with a reasonable delay of five minutes, and limited to three
invocations per hour. After that the service goes into failed state.

This should mitigate service failure caused by intermittent network
issues or server reboot on our side.
2022-11-28 11:42:57 +01:00
594009f981 Add main key signature of dvzrv for pierre
keyring/packager/pierre/3E80CA1A8B89F69CBA57D98A76A5EF9054449A5C/uid/Pierre_Schmitz__pierre@archlinux.org_e7e0700e/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature of dvzrv
(2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E) for pierre
(3E80CA1A8B89F69CBA57D98A76A5EF9054449A5C).
2022-11-23 20:01:06 +01:00
a2e0301536 add @demize in issue templates
Added in !178
2022-11-23 09:08:23 +01:00
9beb0b5f9b remove @grazzolini from issue templates
Revoked in !183
2022-11-23 09:08:00 +01:00
271b03dc92 use @archlinux/teams/main-key-holders for assignment in issue templates 2022-11-22 23:27:55 +01:00
42afef9fdb Revoke grazzolini's master key 2022-11-22 20:37:46 +01:00
2281a7a869 Update expiry of polyzen's key 2022-11-10 14:11:29 -05:00
03649fa4fc Update expiry of rgacogne's key 2022-11-10 15:05:43 +00:00
30b8fa1653 try all keys, fail at the end for wkd sync
This makes sure all keys are tried at least, instead of failing with the
first error.

Fixes #202
2022-11-10 15:56:09 +01:00
14e5f42c38 Add new main key of demize
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-11-10 14:49:53 +00:00
4d019d5bc1 Merge remote-tracking branch 'merge-requests/177' 2022-11-04 12:08:21 +01:00
3496a50d0a update expiry of freswa's key 2022-11-03 22:28:13 +01:00
69a00fd116 Add new key for pierre 2022-10-31 11:33:47 +01:00
c4ea00b0d3 Add signature from anthraxx for blakkheim 2022-09-26 23:59:01 +02:00
e347a820c6 increase random delay for wkd sync
Most systems run this in the same 12 hours... Stop DDOS'ing ourselves
and spread over the whole week.

Fixes #198
2022-09-21 14:50:49 +02:00
a8784b9ac4 Add signature from Bluewind for blakkheim
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-09-18 11:24:06 +02:00
7fa672586a Merge branch 'merge-requests/173' 2022-09-12 09:58:20 +02:00
335a31dcf6 Hardcode using bash as make's shell
On Debian/Ubuntu the default shell is dash, and builds are done with
SHELL overridden to dash. Since archlinux-keyring now has Bash-isms in
the install and uninstall targets (for {} expansion), and rewriting it
to drop this is inconvenient (because we'll have to repeat the path
prefixes), hardcode the use of Bash instead.

Use /bin/bash to be compatible with distros that have not finished the
/bin -> /usr/bin migration yet.

Signed-off-by: Michel Alexandre Salim <michel@michel-slm.name>
2022-09-12 09:34:26 +02:00
eb12f06550 Add signature of dvzrv for blakkheim
keyring/packager/blakkheim/54C1FD273361EA514A237793F296BDE50368C6CE/uid/T.J._Townsend__blakkheim@archlinux.org_476bd08f/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature of dvzrv
(2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E) for blakkheim
(54C1FD273361EA514A237793F296BDE50368C6CE).
2022-09-11 21:18:47 +02:00
3eb5037a48 Merge remote-tracking branch 'blakkheim/master'
* blakkheim/master:
  Add packager key for new Trusted User blakkheim
2022-09-11 13:48:39 +02:00
375d4bff87 Add packager key for new Trusted User blakkheim
Application: https://lists.archlinux.org/pipermail/aur-general/2022-August/036930.html
Voting result: https://lists.archlinux.org/pipermail/aur-general/2022-September/036964.html
2022-09-10 10:35:21 -04:00
33e8374d12 Add signature from Bluewind for serebit
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-09-04 10:01:52 +02:00
7b331e8a7d Rename wkd_build to pages
.gitlab-ci.yml:
Rename wkd_build to pages, as that is apparently what gitlab needs.
2022-09-02 19:04:02 +02:00
05f17ee267 Copy WKD dir to public directly
.gitlab-ci.yml:
Copy the WKD dir to a public dir (used by gitlab pages) directly instead
of creating the public dir and copying into it, as that is brittle.
2022-09-02 18:31:38 +02:00
75b7394377 Force symlinking of systemd unit for activation
Makefile:
Force symlinking of systemd unit for activation. If the service is
already installed and activated (symlinked) on the target system, a
non-forced symlink would fail otherwise.
2022-09-02 13:26:29 +02:00
a6f2a84baa Add gitlab-ci integration to build WKD dir on tag
.gitlab-ci.yml:
Add gitlab-ci integration to build WKD dir on tag using the `make wkd`
target per FQDN used by Arch Linux. Builds only happen on a secure
runner, the job is running in its own stage after the tests and only
runs in pipelines for tags.
2022-08-31 11:41:45 +02:00
85dc87d167 Adapt Makefile to build wkd dir and inspect it
Makefile:
Change the Makefile to build WKD dirs based on a given WKD_FQDN and add
them to WKD_BUILD_DIR.
2022-08-31 11:19:57 +02:00
0a6ff56c80 Merge branch 'merge-requests/165' 2022-08-31 09:35:24 +02:00
d0bea7ad8a Add signature from anthraxx for yan12125 2022-08-31 01:34:29 +02:00
0f217bd222 Add signature from Bluewind for yan12125
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-08-31 01:06:53 +02:00
fae9b09614 Merge branch 'merge-requests/162' 2022-08-29 22:51:43 +02:00
1e57a3038e Add signature from anthraxx for serebit 2022-08-28 22:50:59 +02:00
8f787824c1 Add main key signature by dvzrv for serebit
keyring/packager/serebit/CAAE0C97533C35D3A0C6C34066E60E5F785A6824/uid/Campbell_Jones__for_package_signing_only___serebit@archlinux.org_55f6fd2b/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature by dvzrv
(2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E) for serebit
(CAAE0C97533C35D3A0C6C34066E60E5F785A6824).
2022-08-28 20:01:07 +02:00
25d07327d6 Add main key signature by dvzrv for yan12125
keyring/packager/yan12125/E62545315B012B69C8C94A1D56EC201BFC794362/uid/Chih-Hsuan_Yen__yan12125@archlinux.org_fea86268/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature by dvzrv
(2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E) for yan12125
(E62545315B012B69C8C94A1D56EC201BFC794362).
2022-08-28 19:59:45 +02:00
f0200aba0d Update expiry of kpcyrd key 2022-08-19 15:01:36 +02:00
f235233372 Add signature from diabonas for yan12125 2022-08-19 10:53:25 +02:00
7854fefc9f Merge branch 'merge-requests/156' 2022-08-19 10:00:18 +02:00
48a4282873 Merge branch 'merge-requests/158' 2022-08-19 09:55:56 +02:00
da16cd7c6b Merge branch 'merge-requests/145' 2022-08-19 09:50:46 +02:00
79c81cbe6a Merge branch 'merge-requests/157' 2022-08-19 09:45:52 +02:00
b01b1f77dc Revoke signature from diabonas for tensor5
Trusted User resignation:
https://lists.archlinux.org/archives/list/arch-dev-public@lists.archlinux.org/thread/TZWGYQY3AGNVVTIV4QB5CIJP4PI5JM4T/
2022-08-18 16:15:50 +02:00
4c6fbc3779 Add signature from diabonas for serebit 2022-08-18 14:20:06 +02:00
378e0ed4f3 Add packager key for new Trusted User serebit
Application: https://lists.archlinux.org/pipermail/aur-general/2022-January/036781.html
Voting results: https://lists.archlinux.org/pipermail/aur-general/2022-March/036842.html
2022-08-17 21:02:39 +02:00
1352aa782b Revoke @tensor5’s key 2022-08-14 22:11:08 +09:00
498a19d0c6 Add yan12125's new key
There are some other changes with my current key:

* Actually revoke an unused uid

As per RFC 4880 [1], a revocation signature (sigclass 0x30) "should
have a later creation date than that certificate." However, somehow in
my keyring I have certificates newer than the previous revocation
signature. As a result, that uid is not marked as revoked by gpg. I
created a new revocation signature to fix that.

* Make @archlinux.org the primary UID

[1] https://datatracker.ietf.org/doc/html/rfc4880
2022-08-13 23:49:22 +08:00
8b336741d1 Add signature from diabonas for sangy 2022-08-09 08:48:38 +02:00
7217c34c04 Add signature from diabonas for foxxx0 2022-08-09 08:48:32 +02:00
8036719a2e Allow overriding the script location in WKD sync service
wkd_sync/archlinux-keyring-wkd-sync.service.in:
Replace use of explicit script location (i.e. /usr/bin) with
SCRIPT_TARGET_DIR placeholder.

Makefile:
Create WKD sync service file from input file, replacing the
SCRIPT_TARGET_DIR placeholder with $SCRIPT_TARGET_DIR.
2022-08-04 12:59:24 +02:00
b3279eafcf Rename WKD sync service file to an input file
wkd_sync/archlinux-keyring-wkd-sync.service -> wkd_sync/archlinux-keyring-wkd-sync.service.in:
This allows using the file as input file, where overriding keywords can
be done using sed.
2022-08-04 12:57:46 +02:00
1dfc921a87 Make install locations more configurable and clean up
Makefile:
Change Makefile to allow installation of keyring data, systemd units and
scripts more configurable.
This allows user provided overrides via KEYRING_TARGET_DIR,
SCRIPT_TARGET_DIR, SYSTEMD_SYSTEM_UNIT_DIR.
Instead of relying on wildcards, rely on specifically named files, as
this can be reused also in the uninstall target without issue and
provides a clearer overview of what will be installed/uninstalled.
Specifically only make use of DESTDIR in the install and uninstall
targets, which allows easier overrides.
Extend uninstall target to also remove WKD sync related script and
systemd units.
2022-08-04 12:41:23 +02:00
3e24dfe0a0 Add signature from diabonas for maximbaz 2022-08-04 09:03:54 +02:00
e82a4e99db Add signature from diabonas for anthraxx 2022-08-03 09:01:26 +02:00
6c2b081c1e Add main signature of anthraxx for dvzrv
keyring/packager/dvzrv/991F6E3F0765CF6295888586139B09DA5BF0D338/uid/David_Runge__dvzrv@archlinux.org_d2ad250f/certification/D8AFDDA07A5B6EDFA7D8CCDAD6D055F927843F1C.asc:
Add main key signature by anthraxx for dvzrv on key 991F6E3F0765CF6295888586139B09DA5BF0D338.
2022-08-02 19:44:47 +02:00
427fe46040 Add signature from diabonas for alerque 2022-08-01 16:24:09 +02:00
3d342e48ab Merge branch 'sha1die_jelle' 2022-08-01 16:10:45 +02:00
baeb0c0a44 Remove reference to AUTHORS file
This file no longer exists in the repository, drop the mention.

Signed-off-by: Michel Alexandre Salim <michel@michel-slm.name>
2022-07-31 22:55:33 +02:00
3a43867e1c Fix the permission of keyring files
These are non-executables, they should be installed 644 rather than 755.

Signed-off-by: Michel Alexandre Salim <michel@michel-slm.name>
2022-07-31 22:55:28 +02:00
c14acdfef7 Replace SHA-1 usage for jelle
Signed-off-by: Jelle van der Waa <jelle@archlinux.org>
2022-07-31 17:36:37 +02:00
76c59984a0 Revoke signature on muflone's key
keyring/packager/muflone/CAA1D2323A05219AA2F01AA4E642299183ED727E/*:
Revoke signature on muflone@archlinux.org for
CAA1D2323A05219AA2F01AA4E642299183ED727E.
2022-07-31 08:32:16 +02:00
4ef129ebd8 Extend contributing guidelines for WKD
CONTRIBUTING.md:
Extend contributing guidelines by a section about which data is released
to the Web Key Directory.
2022-07-29 14:37:24 +02:00
470f854942 Add additional build dependencies pkgconf and systemd
README.md:
As we are dynamically deriving the target systemd system unit dir, we
require pkgconf and systemd during build time.
2022-07-29 14:37:20 +02:00
87b1a4ab72 Install WKD update script/service/timer with Makefile
Makefile:
Extend install target to also install the WKD update script and the
systemd service and timer.
Vendor enable the systemd timer.
2022-07-29 14:37:12 +02:00
9f8c58f340 Add pkgconf and systemd before building/ installing
.gitlab-ci.yml:
Add pkgconf and systemd to the list of packages, that are installed
before executing the build and install targets. They are required to
retrieve the correct path for systemd's system units.
2022-07-29 14:37:08 +02:00
ad8698e96c Add timer to regularly refresh PGP keys
wkd_sync/archlinux-keyring-wkd-sync.timer:
Add timer which triggers archlinux-keyring-wkd-sync.service to
persistently refresh existing PGP keys of archlinux-keyring weekly with
up to 12h of randomized delay.
2022-07-29 14:37:04 +02:00
8436229ea6 Add hardened systemd service to run WKD sync
wkd_sync/archlinux-keyring-wkd-sync.service:
Add hardened systemd service to run WKD sync using
`archlinux-keyring-wkd-sync`.
2022-07-29 14:36:59 +02:00
e5a2665a4c Script to refresh existing keys of archlinux-keyring
wkd_sync/archlinux-keyring-wkd-sync:
Add script to refresh existing keys of archlinux-keyring on user
systems based on the state of the distribution's Web Key Directory
(WKD).
Invalid or revoked keys are ignored.
2022-07-29 14:36:51 +02:00
11c500a186 Use spaces instead of tabs in files
.editorconfig:
Use spaces instead of tabs in files.
Add section for Makefile using tabs.
2022-07-29 14:36:46 +02:00
fa02de4c0c Add signature from diabonas for lfleischer 2022-07-29 14:20:08 +02:00
22046c3c2d Add signature from diabonas for kpcyrd 2022-07-29 14:20:04 +02:00
fa5c5845d1 Upgrade signatures for lfleischer to SHA-2
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2022-07-29 14:17:17 +02:00
d1276ba49a This is the signature for svenstaro from grazzolini master key. 2022-07-28 12:04:50 -03:00
22ac6fb976 Add signature from diabonas for bluewind 2022-07-26 11:39:32 +02:00
db472fd30e Update self-signatures of bluewind's packager key from SHA-1 to SHA-2 2022-07-26 11:39:30 +02:00
21a59b2369 Add signature from diabonas for alucryd 2022-07-26 11:39:25 +02:00
5fefe1c75a Add signature from diabonas for remy 2022-07-26 11:37:35 +02:00
a77f7d713b Add signature from diabonas for shibumi 2022-07-26 11:37:33 +02:00
7b94aa7604 Add signature from diabonas for morganamilo 2022-07-26 11:37:30 +02:00
923ef2c429 Add signature from diabonas for escondida 2022-07-26 11:37:25 +02:00
9a83b10110 Add signature from Bluewind for muflone
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-07-24 13:44:01 +02:00
bcad513404 Update self-signatures of remy's packager key from SHA-1 to SHA-2 2022-07-23 19:56:41 +02:00
0cee060429 update shibumi's key 2022-07-23 03:55:03 +02:00
c34e8cca5c Add signature from diabonas for arojas 2022-07-20 23:09:01 +02:00
58def93247 Update arojas key 2022-07-20 23:08:55 +02:00
099df52a04 feature(keyringctl): support query expressions for packet field selection
Instead of simply string matching a line, we now traverse the packet as
a tree and match the path based on a depth first search.

While traversing, we support logical OR and current depth * wildcard
processed as a component based query expression.

Callee's are adjusted to specifically select the appropriate Issuer at
the correct depth.

Fixes #185
2022-07-20 21:34:37 +02:00
9d4c7057f4 add signature from anthraxx for svenstaro 2022-07-19 21:17:40 +02:00
81d336c253 Add signature from diabonas for raster 2022-07-19 17:25:54 +02:00
d67abf5710 add signature from anthraxx for jsteel 2022-07-19 01:02:56 +02:00
9808e897c4 Add signature from diabonas for spupykin 2022-07-18 08:51:34 +02:00
c5e7b0e90e Add signature from diabonas for juergen 2022-07-18 08:51:29 +02:00
06f326172a Add signature from Bluewind for svenstaro
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-07-17 10:56:57 +02:00
f40f4ef9cc Add signature from diabonas for FFY00 2022-07-17 07:37:14 +02:00
14d72780a4 Add signature from diabonas for felixonmars 2022-07-17 07:37:07 +02:00
174e30e368 Add signature from diabonas for jsteel 2022-07-16 10:55:03 +02:00
c084dc6d0d Add signature from diabonas for heftig 2022-07-16 10:54:58 +02:00
0982b66a80 Add signature from diabonas for kgizdov 2022-07-15 08:34:51 +02:00
d3a4a8a8c3 Add signature from diabonas for arodseth 2022-07-15 08:34:45 +02:00
faafeb906e Add signature from diabonas for orhun 2022-07-14 10:26:02 +02:00
ec25f7e422 Add signature from diabonas for cbehan 2022-07-14 10:25:56 +02:00
9350fe91ba Add signature from diabonas for xyne 2022-07-13 10:20:16 +02:00
71bd8f673e Add signature from diabonas for lcarlier 2022-07-13 10:20:14 +02:00
79e83916f9 Add signature from diabonas for andrewSC 2022-07-13 10:20:07 +02:00
046d79bb31 add signature from anthraxx for coderobe 2022-07-13 00:40:53 +02:00
5b97930c9d Add signature from diabonas for svenstaro 2022-07-12 10:38:56 +02:00
0fe42a1992 Add signature from diabonas for idevolder 2022-07-12 10:38:54 +02:00
65993cbd55 Add signature from diabonas for hashworks 2022-07-12 10:38:52 +02:00
d705b30119 Add signature from diabonas for bastelfreak 2022-07-12 10:38:50 +02:00
3f16ab5637 Add signature from diabonas for andyrtr 2022-07-12 10:38:44 +02:00
af810015e1 Merge remote-tracking branch 'hashworks/hashworks-subkey-update-2022-07-11'
* hashworks/hashworks-subkey-update-2022-07-11:
  Update hashworks subkeys
2022-07-11 19:51:31 +02:00
bfb00f008d Update hashworks subkeys
Expiration date was extended to 2023-07-11.
2022-07-11 19:14:51 +02:00
06a27fdef2 Update AndyRTR's key to fix SHA-1 signing issue 2022-07-11 16:21:15 +02:00
be7e836d73 Add signature from diabonas for nicohood 2022-07-11 10:59:04 +02:00
a6256a6941 Add signature from diabonas for rgacogne 2022-07-11 10:59:02 +02:00
2fdc5fae43 Add signature from diabonas for grawlinson 2022-07-11 10:59:00 +02:00
fcc0fab5d6 Add signature from diabonas for foxboron 2022-07-11 10:58:58 +02:00
71bb0aec52 Add signature from diabonas for anatolik 2022-07-11 10:58:55 +02:00
3dbf7d369e Add signature from diabonas for ainola 2022-07-11 10:58:51 +02:00
cbf4afaa5c fix: use of SHA1 in sangy's key 2022-07-10 18:08:55 -04:00
4018084f6c Add signature from dvzrv for muflone
keyring/packager/muflone/42DFAFB7C03B2E4E7BBDBA69930B82BFC2BDA011/uid/Fabio_Castelli__Muflone___Arch_Linux___muflone@archlinux.org_3db85507/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature by `2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E` for
`muflone@archlinux.org` on `42DFAFB7C03B2E4E7BBDBA69930B82BFC2BDA011`.
2022-07-10 12:44:53 +02:00
4c0fef3878 Add signature from diabonas for yan12125 2022-07-10 12:35:34 +02:00
671af82a33 Add signature from diabonas for wild 2022-07-10 12:35:32 +02:00
c0bec2db19 Add signature from diabonas for tpowa 2022-07-10 12:35:30 +02:00
1ab7e99da2 Add signature from diabonas for tensor5 2022-07-10 12:35:25 +02:00
9f4483e798 Add signature from diabonas for polyzen 2022-07-10 12:35:23 +02:00
45ae60f62a Add signature from diabonas for muflone 2022-07-10 12:35:19 +02:00
7b60515668 Add signature from diabonas for mtorromeo 2022-07-10 12:35:16 +02:00
2c832f7327 Add signature from diabonas for kyrias 2022-07-10 12:35:14 +02:00
aa0d36cd12 Add signature from diabonas for jlichtblau 2022-07-10 12:35:12 +02:00
9d355d890a Add signature from diabonas for freswa 2022-07-10 12:35:11 +02:00
6a9fb0b2c4 Add signature from diabonas for foutrelis 2022-07-10 12:35:09 +02:00
48fc785dd9 Add signature from diabonas for eworm 2022-07-10 12:35:07 +02:00
07856a9c9f Add signature from diabonas for allan 2022-07-10 12:35:00 +02:00
edbb9c494f Merge remote-tracking branch 'ainola/master'
* ainola/master:
  Update Brett Cornwall GPG key
2022-07-10 12:00:17 +02:00
2b1e9adcc1 Update Brett Cornwall GPG key 2022-07-10 00:59:42 -07:00
582367f5c0 Merge branch 'merge-requests/115' 2022-07-09 19:43:52 +02:00
7b64ed9058 Merge branch 'merge-requests/114' 2022-07-09 19:42:54 +02:00
2b01a2de7a update tpowa key 2022-07-09 19:41:00 +02:00
a734c2a3cf Merge branch 'merge-requests/112' 2022-07-09 19:39:55 +02:00
5487627d6f Merge branch 'merge-requests/111' 2022-07-09 19:38:57 +02:00
462078551c Merge branch 'merge-requests/110' 2022-07-09 19:37:28 +02:00
b0c734dc15 Update Allan's key to fix SHA-1 signing issue
Signed-off-by: Allan McRae <allan@archlinux.org>
2022-07-09 19:30:53 +02:00
47eb4a11af Merge branch 'eworm' 2022-07-09 19:29:43 +02:00
10bbb50af5 Add new packager key for sudoforge: 0x00E16349
Closes: #174
2022-07-09 19:23:57 +02:00
42beb5f1c7 Update self-signatures of jsteel's packager key from SHA-1 to SHA-2 2022-07-09 19:15:16 +02:00
4200504b86 Fix old SHA1 sigs 2022-07-09 18:59:05 +02:00
49aced6785 Update self-signatures of felixonmars' packager key from SHA-1 to SHA-2 2022-07-09 16:18:40 +03:00
37f46c3905 Update lordheavy's key to fix SHA-1 signing issue 2022-07-09 14:01:40 +02:00
c5d77fdc73 Fixed self-sigs
Signed-off-by: Morten Linderud <morten@linderud.pw>
2022-07-09 13:51:19 +02:00
2eb6d95834 Update self-signatures of foutrelis' packager key
Going from SHA-1 to SHA-2.
2022-07-09 14:42:03 +03:00
9d482bb11f Update self-signatures of eworm's packager key from SHA-1 to SHA-2 2022-07-09 13:03:11 +02:00
8377c47b18 Add signature from diabonas for segaja 2022-07-09 11:09:04 +02:00
96be3a7c7f Add signature from diabonas for jleclanche 2022-07-09 11:09:02 +02:00
e3e642f460 Add signature from diabonas for farseerfc 2022-07-09 11:09:00 +02:00
bf05031682 Add signature from diabonas for dvzrv 2022-07-09 11:08:58 +02:00
6e6b123573 Add signature from diabonas for dbermond 2022-07-09 11:08:55 +02:00
ad48acc9dd Add signature from diabonas for artafinde 2022-07-09 11:08:53 +02:00
31423733b7 Add signature from diabonas for archange 2022-07-09 11:08:50 +02:00
167d06e3e2 Add signature from diabonas for alex19ep 2022-07-09 11:08:45 +02:00
0093c4c522 Add signature from diabonas for coderobe 2022-07-08 14:15:23 +02:00
f7525f8de8 Add diabonas to issue and merge request templates 2022-07-07 23:09:18 +02:00
fd9a589b20 Add main signature of diabonas for diabonas's packager key 2022-07-07 16:29:21 +02:00
dcdc48d872 Extend expiration date of diabonas's packager key
The key currently expires on 2023-01-28, extend it by two years until
2024-06-29.
2022-07-07 16:29:09 +02:00
881806606d Add new packager key for muflone 2022-07-07 16:11:58 +02:00
94b1ce3da2 Merge remote-tracking branch 'yan12125/yan12125-update-key'
* yan12125/yan12125-update-key:
  Extend expiry for yan12125's key & add a new authentication subkey
2022-07-07 15:49:47 +02:00
56de6a8451 Extend expiry for yan12125's key & add a new authentication subkey 2022-07-07 18:20:23 +08:00
42ca7f2c5e Add new main key of diabonas 2022-07-07 00:55:39 +02:00
f698f6673f Add main signature of dvzrv for xyproto
keyring/packager/arodseth/8A9BC5819C54FEB3DC2A9B48C32217F6F13FF192/uid/Alexander_F._Rodseth__xyproto@archlinux.org_0d098e0d/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature of dvzrv for xyproto's key with the ID 8A9BC5819C54FEB3DC2A9B48C32217F6F13FF192.
2022-06-26 13:14:41 +02:00
7f315fd937 Add signature from Bluewind for arodseth
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-06-26 10:46:47 +02:00
a511e5a91a Add signature from Bluewind for dvzrv
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-06-09 00:17:23 +02:00
51f6fa81ac Merge remote-tracking branch 'arodseth/add_8A9BC5819C54FEB3DC2A9B48C32217F6F13FF192'
* arodseth/add_8A9BC5819C54FEB3DC2A9B48C32217F6F13FF192:
  Add new packager key for arodseth
2022-06-08 23:17:43 +02:00
a3e6e88f5b Add new packager key for arodseth 2022-06-08 13:58:30 +00:00
02e137e933 keyringctl: use python3 in shebang
Signed-off-by: Morten Linderud <morten@linderud.pw>
2022-06-08 15:42:08 +02:00
c173a8b009 Fix coverage reporting with gitlab CI
.gitlab-ci.yml:
Remove legacy keyword 'cobertura' and use the gitlab >= 15 based
`coverage_report` which is used to specify format and path to coverage
XML.
2022-06-08 14:42:07 +02:00
eab15c07ef Add signature of dvzrv for farseerfc
keyring/packager/farseerfc/CE536327AED18EABC3B99A17F4AA4E0ED2568E87/uid/Jiachen_YANG__Arch_Linux_Packager_Signing_Key___farseerfc@archlinux.org_30efed36/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for `CE536327AED18EABC3B99A17F4AA4E0ED2568E87`.
2022-05-20 22:03:53 +02:00
a691b00605 Add signature for dvzrv
keyring/packager/dvzrv/991F6E3F0765CF6295888586139B09DA5BF0D338/uid/David_Runge__dvzrv@archlinux.org_d2ad250f/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for PGP key with ID
`991F6E3F0765CF6295888586139B09DA5BF0D338`.
2022-05-20 01:14:12 +02:00
9ac4e77af5 Add new packager key for dvzrv
keyring/packager/dvzrv/991F6E3F0765CF6295888586139B09DA5BF0D338/:
Add new packager key `991F6E3F0765CF6295888586139B09DA5BF0D338` for
dvzrv.
2022-05-20 01:06:21 +02:00
f3b1e9e5f6 Revoke main key for Allan
Signed-off-by: Allan McRae <allan@archlinux.org>
2022-05-12 18:26:51 +02:00
57efde6f46 keyring: add signature from anthraxx for muflone 2022-05-11 20:45:08 +02:00
dabd5d1f19 keyring: add signature from anthraxx for maximbaz 2022-05-11 20:45:06 +02:00
11099ca589 keyring: add signature from anthraxx for juergen 2022-05-11 20:45:03 +02:00
b9b5064850 keyring: add signature from anthraxx for escondida 2022-05-11 20:45:01 +02:00
75667b9a57 keyring: add signature from anthraxx for cbehan 2022-05-11 20:44:59 +02:00
4c249460cd keyring: add signature from anthraxx for alucryd 2022-05-11 20:44:56 +02:00
db84e8208d fix(util): support shells passing subshell fd as /dev/fd
This adds support orthogonal to shells that pass subshell fd as
/proc/self/fd.
2022-05-11 20:28:23 +02:00
9f0db89a0a Add revocations for expired key
keyring/packager/dvzrv/91BD8815FE0040FA7FF5D68754C28F4FF5A1A949/*:
Add revocations for expired key.
2022-05-11 20:08:11 +02:00
acc37609f9 Add signature from Bluewind for farseerfc
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-05-11 19:58:30 +02:00
576c4eced7 Add new key CE536327AED18EABC3B99A17F4AA4E0ED2568E87 for farseerfc 2022-05-08 01:52:32 +09:00
c1e08e6a61 readme: add list of all keyring maintainers that could issue releases
This declares a list of all legitimate keys.
2022-04-24 22:21:35 +02:00
5f7147a8c6 Add pierre's master key signature for archange #160 2022-04-24 12:06:34 +00:00
af20138f4c Add pierre's master key signature for alucryd #147 2022-04-24 13:49:25 +02:00
6af9d54a1f Add main key signature from dvzrv for archange
keyring/packager/archange/69DA34D78FE0EFD596AC6D049D893EC4DAAF9129/uid/Bruno_Pagani__archange@archlinux.org_4d5b885f/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature from dvzrv for archange.
2022-04-23 00:53:00 +02:00
7b31683733 Update FFY00's keys
Signed-off-by: Filipe Laíns <lains@riseup.net>
2022-04-22 22:22:17 +01:00
2e3dfd80ec Merge remote-tracking branch 'archange/mr-for-160'
* archange/mr-for-160:
  Add new uid for archange@archlinux.org
2022-04-21 14:27:38 +02:00
80c31e8e8b Add new uid for archange@archlinux.org 2022-04-17 14:17:45 +00:00
29dc5d228d Import Iterable and Iterator depending on Python version
libkeyringctl/{keyring,sequoia,util}.py:
As Iterable and Iterator are only used for type hints, switch to using
typing.{Iterable,Iterator} instead of
collections.abc.{Iterable,Iterator} for Python < 3.9.0, as older Python
interpreters will otherwise raise TypeError.
2022-04-14 16:59:22 +02:00
67d898d12f Add signature from Bluewind for alucryd
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-03-27 11:12:29 +02:00
6e23b78671 Update issue templates
.gitlab/issue_templates/*:
Replace allan with grazzolini when assigning tickets or when addressing
main key holders.
Streamline the checkbox system, by relying on less interaction from the
main key holders side if possible (e.g. checks on new keys are done
automatically in a merge request, so have contributors open the merge
request).
Add more documentation on what needs to be edited and how to provide
data exactly (e.g. keyid format, clearsigned document).
2022-03-17 18:46:31 +01:00
845dba12d5 dvzrv main key signature for alucryd
keyring/packager/alucryd/95220BE99CE6FF778AE0DC670F65C7D881506130/uid/Maxime_Gauduin__alucryd@archlinux.org_2606bf1f/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Main key signature by dvzrv for alucryd (95220BE99CE6FF778AE0DC670F65C7D88150613).
2022-03-07 16:32:47 +01:00
9d07b1a210 Merge remote-tracking branch 'alucryd/new-pk-alucryd'
* alucryd/new-pk-alucryd:
  Add a new packager key for alucryd
2022-03-07 16:18:56 +01:00
ceecf32819 Add a new packager key for alucryd 2022-03-06 13:53:41 +00:00
f908838822 fix(trust): do not count revoked main keys for packager trust
If a main key is revoked we do not want to use those keys to count
the required trust threshold.
2022-02-25 21:36:35 +01:00
bae4859fd8 Merge new main key by Giancarlo Razzolini
keyring/main/grazzolini/*:
Add new main key with ID `159F3A43AEB246C5746C033814BC4F30B3B92EBA` by
Giancarlo Razzolini.

* new-mk-grazzolini:
  New Master Key of Giancarlo Razzolini
2022-02-24 18:14:56 +01:00
135960eec4 New Master Key of Giancarlo Razzolini 2022-02-13 10:26:38 -03:00
137db492d8 Add signature from Bluewind for pierre
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-02-06 14:05:47 +01:00
f6060a04f6 Add signature from Bluewind for eworm
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-02-06 14:05:47 +01:00
75f8cc54e3 Add pierre's master key signature for tensor5 #129 2022-01-27 18:26:21 +01:00
4df58a4d70 Revoke signature from Bluewind for zorun
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-01-23 11:16:28 +01:00
4a29d276c3 Add signature from Bluewind for xyne
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-01-23 11:16:28 +01:00
9fbe5c8504 Revoke signature from Bluewind for thestinger
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-01-23 11:16:28 +01:00
a343cbce6a Add signature from Bluewind for tensor5
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-01-23 11:16:27 +01:00
c9955429fc Revoke signature from Bluewind for schuay
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-01-23 11:16:27 +01:00
8c8f75e3e8 Add signature from Bluewind for jleclanche
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-01-23 11:16:27 +01:00
5b7326e615 Add signature from Bluewind for cbehan
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-01-23 11:16:27 +01:00
c37c4f20c9 Add signature from Bluewind for anatolik
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-01-23 11:16:27 +01:00
98ee77f1b6 Add pierre's master key signature for eworm #144 2022-01-22 16:02:24 +01:00
ba09c31dd6 Merge remote-tracking branch 'ainola/add-florian-certification-to-ainola'
* ainola/add-florian-certification-to-ainola:
  ainola: Add bluewind certification
2022-01-17 21:38:16 +01:00
8808c16c4e ainola: Add bluewind certification 2022-01-17 08:43:32 -08:00
b800c36d82 Add dvzrv main key signature for pierre
keyring/packager/pierre/4AA4767BBC9C4B1D18AE28B77F2D434B9741E8AC/uid/Pierre_Schmitz__pierre@archlinux.org_e7e0700e/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add dvzrv main key signature for pierre.

Relates to #143
2022-01-16 16:49:26 +01:00
8b704ce222 Merge remote-tracking branch 'origin/issues/140/pierre'
* origin/issues/140/pierre:
  Revoke pierre's master key signature for dvzrv 2nd key #140
2022-01-16 08:59:41 +01:00
d1f8751881 Revoke pierre's master key signature for dvzrv 2nd key #140 2022-01-16 07:49:28 +00:00
ecc0d7fb50 Merge remote-tracking branch 'origin/issues/139/pierre'
* origin/issues/139/pierre:
  Revoke pierre's master key signature for schuay #139
2022-01-16 08:49:00 +01:00
0b5ebb554f Revoke pierre's master key signature for schuay #139 2022-01-15 22:08:06 +00:00
08dbec2534 Merge remote-tracking branch 'origin/dvzrv_daurnimator_signature'
* origin/dvzrv_daurnimator_signature:
  Add dvzrv main key signature for daurnimator
2022-01-15 23:07:21 +01:00
2d5e55f0d9 Add dvzrv main key signature for daurnimator
keyring/packager/daurnimator/954A3772D62EF90E4B31FBC6C91A9911192C187A/uid/Daurnimator__daurnimator@archlinux.org_2baa8b1a/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add dvzrv main key signature for daurnimator
2022-01-15 22:06:18 +00:00
d179ff8de0 Merge remote-tracking branch 'origin/issues/130/pierre'
* origin/issues/130/pierre:
  Revoke pierre's master key signature for eschwartz #130
2022-01-15 23:05:43 +01:00
ce4d481d17 Revoke pierre's master key signature for eschwartz #130 2022-01-15 22:03:52 +00:00
b7f245738a Merge remote-tracking branch 'origin/issues/138/pierre'
* origin/issues/138/pierre:
  Add pierre's master key signature for segaja #138
2022-01-15 23:02:50 +01:00
cd6b2e83bb Add pierre's master key signature for segaja #138 2022-01-15 22:01:52 +00:00
0d8f66374f Merge remote-tracking branch 'origin/issues/137/pierre'
* origin/issues/137/pierre:
  Add pierre's master key signature for anatolik #137
2022-01-15 23:01:13 +01:00
ebe7f3e118 Add pierre's master key signature for anatolik #137 2022-01-15 22:00:04 +00:00
11656e6c2f Merge remote-tracking branch 'origin/issues/135/pierre'
* origin/issues/135/pierre:
  Add pierre's master key signature for artafinde #135
2022-01-15 22:59:05 +01:00
673158f80d Add pierre's master key signature for artafinde #135 2022-01-15 21:50:09 +00:00
f5345fa9f4 Merge remote-tracking branch 'origin/issues/134/pierre'
* origin/issues/134/pierre:
  Add pierre's master key signature for cbehan #134
2022-01-15 22:49:20 +01:00
62a0dc127a Add pierre's master key signature for cbehan #134 2022-01-15 21:44:26 +00:00
e2ef3746fb Merge remote-tracking branch 'origin/issues/133/pierre'
* origin/issues/133/pierre:
  Add pierre's master key signature for ainola #133
2022-01-15 22:43:33 +01:00
d9784c6f38 Add pierre's master key signature for ainola #133 2022-01-15 21:38:18 +00:00
dd92d81214 Merge remote-tracking branch 'origin/issues/132'
* origin/issues/132:
  Add pierre's master key signature for xyne #132
2022-01-15 22:36:31 +01:00
4eeadc92bf Add pierre's master key signature for xyne #132 2022-01-15 20:58:36 +00:00
0cffe098f4 Add pierre's master key signature for escondida
References #131
2022-01-15 14:08:47 +01:00
4ed3645f1e Add dvzrv main key signature for muflone
keyring/packager/muflone/CAA1D2323A05219AA2F01AA4E642299183ED727E/uid/Fabio_Castelli__Muflone___Arch_Linux___muflone@archlinux.org_3db85507/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add dvzrv main key signature for muflone.

Relates to #114
2022-01-14 21:19:25 +01:00
d77a60a0b6 keyring: Update foxboron@archlinux.org
Added master signature from Anthraxx

Signed-off-by: Morten Linderud <morten@linderud.pw>
2022-01-14 10:24:40 +01:00
e5556e5492 Add signatures for artafinde 2022-01-13 21:41:16 +00:00
a477336707 #138 / add packager key for segaja 2022-01-13 20:17:58 +00:00
2d0ccd069c gitlab: invoke ci target for advanced checks on new keys
This invokes the dedicated ci keyringctl command that is responsible
to check with sq-keyring-linter and hokey when completely unknown
new keys are added to the keyring.
2022-01-13 21:10:51 +01:00
6495c0db92 add signatures for eworm 2022-01-13 16:44:28 +01:00
ab44436c3a Cleanup old superseded workflow, script and key material 2022-01-12 20:51:30 +01:00
7a18f4393c Add revocation certificate for bpiotrowski's main key
keyring/main/bpiotrowski/DDB867B92AA789C165EEFA799B729B06A680C281/revocation/DDB867B92AA789C165EEFA799B729B06A680C281.asc:
Add revocation certificate for DDB867B92AA789C165EEFA799B729B06A680C281.
2022-01-11 23:39:04 +01:00
8f08f113b9 README: fix formatting
Gitlab gets this right, but let's fix it for other markdown
implementations.
2022-01-11 13:19:24 +01:00
8e9d0d0cf0 Merge remote-tracking branch 'demize/kyrias-expiry-2022'
* demize/kyrias-expiry-2022:
  Extend expiry of packager key for demize (kyrias)
2022-01-11 11:39:15 +01:00
484f57f57c Extend expiry of packager key for demize (kyrias)
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2022-01-11 10:37:51 +00:00
a2f4f1a56f Merge remote-tracking branch 'felixonmars/felixonmars-rename'
* felixonmars/felixonmars-rename:
  Rename username for felixonmars
2022-01-11 11:36:24 +01:00
a3f2b52744 Rename username for felixonmars 2022-01-11 10:34:44 +00:00
7e8fccac05 Merge remote-tracking branch 'alex19ep/renew/alex19EP'
* alex19ep/renew/alex19EP:
  extend alex19EP's key
2022-01-11 11:31:45 +01:00
79e700ff4e extend alex19EP's key 2022-01-11 10:20:29 +00:00
5f32eb3c90 Include files for coverage instead of omitting others
pyproject.toml:
Use specific include for files to use in the coverage report instead of
relying on a list of omitted files (which may grow over time and not
cover all use-cases).
2022-01-11 11:04:43 +01:00
6db2d0d201 dvzrv signature for anatolik
keyring/packager/anatolik/8E1992167465DB5FB045557CB02854ED753E0F1F/uid/Anatol_Pomozov__Arch_Linux_developer_account___anatolik@archlinux.org_00db9eb5/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for anatolik.

https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/issues/137
2021-12-21 02:25:14 +01:00
783f1e6368 dvzrv signature for jleclanche
keyring/packager/jleclanche/169704C6FB490C6892C7F23C37E0AF1FDA48F373/uid/Jerome_Leclanche__jleclanche@archlinux.org_11de0d03/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for jleclanche.

https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/issues/123
2021-12-18 22:13:52 +01:00
64b1d6d249 dvzrv signature for dvzrv
keyring/packager/dvzrv/C7E7849466FE2358343588377258734B41C31549/uid/David_Runge__dvzrv@archlinux.org_d2ad250f/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc
Add main key signature for dvzrv.
2021-12-09 23:15:02 +01:00
db1e19d71d dvzrv signature for artafinde
keyring/packager/artafinde/B4B759625D4633430B74877059E43E106B247368/uid/Leonidas_Spyropoulos__artafinde@archlinux.org_60c8c94e/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for artafinde.
2021-12-09 23:10:15 +01:00
5c805411c7 Add packager key B4B759625D4633430B74877059E43E106B247368 for artafinde
keyring/packager/artafinde/B4B759625D4633430B74877059E43E106B247368/*:
Add packager key B4B759625D4633430B74877059E43E106B247368 for artafinde.

https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/issues/135
2021-12-09 23:09:11 +01:00
661d82d40e dvzrv signature for nicohood
keyring/packager/nicohood/97312D5EB9D7AE7D0BD4307351DAE9B7C1AE9161/uid/NicoHood__nicohood@archlinux.org_bad775c3/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for nicohood.
2021-12-09 23:05:45 +01:00
15fb876f83 dvzrv signature for cbehan
keyring/packager/cbehan/25ACE777F62C5E5ACBF2C0474E532176DBAD6F47/uid/Connor_Behan__cbehan@archlinux.org_f24a7748/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for cbehan.
2021-12-09 23:03:50 +01:00
e6752fc57b Add new packager key 25ACE777F62C5E5ACBF2C0474E532176DBAD6F47 for cbehan
keyring/packager/cbehan/25ACE777F62C5E5ACBF2C0474E532176DBAD6F47/*:
Add a new packager key for cbehan.

https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/issues/134
2021-12-09 23:02:45 +01:00
802f6630cf dvzrv signature for ainola
keyring/packager/ainola/BE2DBCF2B1E3E588AC325AEAA06B49470F8E620A/uid/Brett_Cornwall__ainola@archlinux.org_90fec327/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for ainola.
2021-12-09 23:00:01 +01:00
eb81996675 dvzrv signature for coderobe
keyring/packager/coderobe/54EB4D6DB209862C8945CACCED84945B35B2555C/uid/Robin_Broda__Arch_Linux___coderobe@archlinux.org_6ce6c858/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signatuer for coderobe.
2021-12-09 22:58:19 +01:00
eee0eddab5 dvzrv signature for xyne
keyring/packager/xyne/D89FAAEB4CECAFD199A2F5E612C6F735F7A9A519/uid/Xyne.__Replaces_EC3CBE7F607D11E663149E811D1F0DC78F173680.___xyne@archlinux.org_7b075f4f/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signatuer for xyne.
2021-12-09 22:57:03 +01:00
eb6eb7d24e dvzrv signature for seblu
keyring/packager/seblu/B81B051F2D7FC867AAFF35A58DBD63B82072D77A/uid/Sebastien_Luttringer__seblu@archlinux.org_2339bc81/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for seblu.
2021-12-09 22:56:02 +01:00
0be7cb1eea dvzrv signature for tensor5
keyring/packager/tensor5/A667E8A1B61D07A50FC430DF69DF1F2EB44B05BE/uid/Nicola_Squartini__tensor5@archlinux.org_42ff807f/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for tensor5.
2021-12-09 22:54:45 +01:00
7ba600523e Add new packager key A667E8A1B61D07A50FC430DF69DF1F2EB44B05BE for tensor5
keyring/packager/tensor5/A667E8A1B61D07A50FC430DF69DF1F2EB44B05BE/*
Add new packager key for tensor5.

https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/issues/129
2021-12-09 22:53:04 +01:00
ea969c5f2b dvzrv signature for dbermond
keyring/packager/dbermond/80247D99EABD3A4D1E3A1836E85B8683EB48BC95/uid/Daniel_Bermond__dbermond@archlinux.org_b01455c5/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for dbermond.
2021-12-09 22:47:36 +01:00
8d60c13086 dvzrv signature for jlichtblau
keyring/packager/jlichtblau/38EDD1886756924E1224E49524E4CDB0013C2580/uid/Jaroslav_Lichtblau__svetlemodry@archlinux.org_12feb151/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for jlichtblau.
2021-12-09 22:47:30 +01:00
f756815d54 dvzrv signature for lfleischer
keyring/packager/lfleischer/2E36D8620221482FC45CB7F2A91764759326B440/uid/Lukas_Fleischer__Arch_Linux___lfleischer@archlinux.org_876710fa/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for lfleischer.
2021-12-09 22:47:26 +01:00
3f9798a4fb dvzrv signature for juergen
keyring/packager/juergen/209A36D43CE2E87DA861FC58539DFD48135182EF/uid/Jurgen_Hotzel__Arch_Linux_Developer_Key___juergen@archlinux.org_ab80fc95/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for juergen.
2021-12-09 22:47:23 +01:00
b57cb8b095 dvzrv signature for lcarlier
keyring/packager/lcarlier/535F8C0339450F054A4D282706096A6AD1CEDDAC/uid/Laurent_Carlier__lordheavym@archlinux.org_a72d7b01/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for lcarlier.
2021-12-09 22:47:20 +01:00
e335d8b7b1 dvzrv signature for kpcyrd
keyring/packager/kpcyrd/64B13F7117D6E07D661BBCE0FE763A64F5E54FD6/uid/kpcyrd__kpcyrd@archlinux.org_05f09dd3/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for kpcyrd.
2021-12-09 22:47:18 +01:00
5a36293cfe dvzrv signature for andrewSC
keyring/packager/andrewSC/601F20F1D1BBBF4A78CF5B6DF6B1610B3ECDBC9F/uid/Andrew_Crerar__crerar@archlinux.org_1627868e/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for andrewSC.
2021-12-09 22:47:15 +01:00
50f969e6fe dvzrv signature for sangy
keyring/packager/sangy/903BAB73640EB6D65533EFF3468F122CE8162295/uid/Santiago_Torres-Arias__santiago@archlinux.org_6c66fb1a/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for sangy.
2021-12-09 22:47:12 +01:00
ac276fd9e7 dvzrv signature for polyzen
keyring/packager/polyzen/04DC3FB1445FECA813C27EFAEA4F7B321A906AD9/uid/Daniel_M._Capella__polyzen@archlinux.org_baf25f25/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for polyzen.
2021-12-09 22:47:10 +01:00
35e9a0dccc dvzrv signature for rgacogne
keyring/packager/rgacogne/A4CBEA7974898599195E4FEC46EC46F39F3E2EF1/uid/Remi_Gacogne__rgacogne@archlinux.org_56f61a3b/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for rgacogne.
2021-12-09 22:47:08 +01:00
d024f98fe4 dvzrv signature for kgizdov
keyring/packager/kgizdov/0A9DDABB64B993D82AD45E4F32EAB0A976938292/uid/Konstantin_Gizdov__Arch_Linux___kgizdov@archlinux.org_0b9ef17d/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for kgizdov.
2021-12-09 22:47:05 +01:00
59464eecb2 dvzrv signature for tpowa
keyring/packager/tpowa/5B7E3FB71B7F10329A1C03AB771DF6627EDF681F/uid/Tobias_Powalowski__tpowa@archlinux.org_9a5dc15f/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for tpowa.
2021-12-09 22:47:03 +01:00
9d992908c7 dvzrv signature for grazzolini
keyring/packager/grazzolini/ECCAC84C1BA08A6CC8E63FBBF22FB1D78A77AEAB/uid/Giancarlo_Razzolini__grazzolini___grazzolini@archlinux.org_c1113025/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for grazzolini.
2021-12-09 22:47:00 +01:00
db8bca5d09 dvzrv signature for shibumi
keyring/packager/shibumi/6DAF7B808F9DF25139620000D21461E3DFE2060D/uid/Christian_Rebischke__Arch_Linux_Security_Team-Member___Chris.Rebischke@archlinux.org_7d9474e2/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for shibumi.
2021-12-09 22:46:58 +01:00
337de5fa0f dvzrv signature for remy
keyring/packager/remy/44EA62ACDBC81B6A0D1FD267206CBC892D1493D2/uid/Remy_Oudompheng__remy@archlinux.org_05dc492d/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for remy.
2021-12-09 22:46:55 +01:00
fd81af2744 dvzrv signature for raster
keyring/packager/raster/04F7A0E31E08D3E08D39AFEBD147F94364295E8C/uid/Carsten_Haitzler__raster@archlinux.org_02b5c9a5/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for raster.
2021-12-09 22:46:52 +01:00
9ede953bb4 dvzrv signature for foxboron
keyring/packager/foxboron/C100346676634E80C940FB9E9C02FF419FECBE16/uid/Morten_Linderud__foxboron@archlinux.org_52506fee/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for foxboron.
2021-12-09 22:46:49 +01:00
76dbce7fc1 dvzrv signature for bluewind
keyring/packager/bluewind/CFA6AF15E5C74149FC1D8C086D1655C14CE1C13E/uid/Florian_Pritz__bluewind@archlinux.org_02e4c8b2/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for bluewind.
2021-12-09 22:46:46 +01:00
2bd1b98e0a dvzrv signature for arojas
keyring/packager/arojas/9D74DF6F91B7BDABD5815CA84AC5588F941C2A25/uid/Antonio_Rojas__arojas@archlinux.org_0857f6fd/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for arojas.
2021-12-09 22:46:43 +01:00
3b4c7e46dd dvzrv signature for alucryd
keyring/packager/alucryd/9437DD3815A7A9169E3D3946AFF5D95098BC6FF5/uid/Maxime_Gauduin__alucryd@archlinux.org_2606bf1f/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for alucryd.
2021-12-09 22:46:40 +01:00
3faa412869 dvzrv signature for jsteel
keyring/packager/jsteel/8742F7535E7B394A1B048163332C9C40F40D2072/uid/Jonathan_Steel__jsteel@archlinux.org_f62ee297/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for jsteel.
2021-12-09 22:46:33 +01:00
a45b7afe34 dvzrv signature for jelle
keyring/packager/jelle/E499C79F53C96A54E572FEE1C06086337C50773E/uid/Jelle_van_der_Waa__jelle@archlinux.org_b484b992/certification/C7E7849466FE2358343588377258734B41C31549.asc:
Add packager signature for jelle.
2021-12-09 22:45:42 +01:00
c44bfa2b78 dvzrv signature for jelle
keyring/packager/jelle/E499C79F53C96A54E572FEE1C06086337C50773E/uid/Jelle_van_der_Waa__jelle@archlinux.org_b484b992/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for jelle.
2021-12-09 22:45:16 +01:00
80ec6d02e3 dvzrv signature for andyrtr
keyring/packager/andyrtr/ADC8A1FCC15E01D45310419E94657AB20F2A092B/uid/Andreas_Radke__andyrtr@archlinux.org_c12ef6dc/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for andyrtr.
2021-12-09 22:45:14 +01:00
b8d005ab7c dvzrv signature for FFYOO
keyring/packager/FFY00/3DCE51D60930EBA47858BA4146F633CBB0EB4BF2/uid/Filipe_Lains__FFY00___lains@archlinux.org_dbd13ab3/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for FFY00.
2021-12-09 22:45:11 +01:00
585293130c dvzrv signature for heftig
keyring/packager/heftig/A2FF3A36AAA56654109064AB19802F8B0D70FC30/uid/Jan_Alexander_Steffens__heftig___heftig@archlinux.org_85a5903b/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main signture for heftig.
2021-12-09 22:45:08 +01:00
7429088c3c dvzrv signature for fyan
keyring/packager/fyan/B5971F2C5C10A9A08C60030F786C63F330D7CB92/uid/Felix_Yan__felixonmars@archlinux.org_659e86de/certification/2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E.asc:
Add main key signature for fyan.
2021-12-09 22:45:05 +01:00
02c996deb9 keyring: add packager key: zorun (initial import) 2021-12-09 22:42:27 +01:00
3b723e8196 keyring: add packager key: yan12125 (initial import) 2021-12-09 22:42:27 +01:00
fa994f5679 keyring: add packager key: xyne (initial import) 2021-12-09 22:42:27 +01:00
867f9b8bc5 keyring: add packager key: wild (initial import) 2021-12-09 22:42:27 +01:00
16d6ae063b keyring: add packager key: vesa (initial import) 2021-12-09 22:42:27 +01:00
83c55ec3bf keyring: add packager key: ttopper (initial import) 2021-12-09 22:42:26 +01:00
f1cf246390 keyring: add packager key: tredaelli (initial import) 2021-12-09 22:42:26 +01:00
f58e0ce6a3 keyring: add packager key: tpowa (initial import) 2021-12-09 22:42:26 +01:00
375027abd8 keyring: add packager key: tomegun (initial import) 2021-12-09 22:42:26 +01:00
aa840376b7 keyring: add packager key: thomas (initial import) 2021-12-09 22:42:26 +01:00
999171b278 keyring: add packager key: thestinger (initial import) 2021-12-09 22:42:26 +01:00
2cc51317d6 keyring: add packager key: tensor5 (initial import) 2021-12-09 22:42:26 +01:00
0ec63f2fac keyring: add packager key: td123 (initial import) 2021-12-09 22:42:26 +01:00
2f68ced72c keyring: add packager key: svenstaro (initial import) 2021-12-09 22:42:25 +01:00
7574ac78f0 keyring: add packager key: stephane (initial import) 2021-12-09 22:42:25 +01:00
6f64479c79 keyring: add packager key: stativ (initial import) 2021-12-09 22:42:25 +01:00
63944c056d keyring: add packager key: spupykin (initial import) 2021-12-09 22:42:25 +01:00
dc02c65522 keyring: add packager key: speps (initial import) 2021-12-09 22:42:25 +01:00
1c9db5ba2f keyring: add packager key: shibumi (initial import) 2021-12-09 22:42:25 +01:00
edbe4446b7 keyring: add packager key: seblu (initial import) 2021-12-09 22:42:25 +01:00
a8a33c7f51 keyring: add packager key: schuay (initial import) 2021-12-09 22:42:25 +01:00
5b06e383fd keyring: add packager key: schiv (initial import) 2021-12-09 22:42:24 +01:00
ba396094d7 keyring: add packager key: sangy (initial import) 2021-12-09 22:42:24 +01:00
7c5ac278be keyring: add packager key: ronald (initial import) 2021-12-09 22:42:24 +01:00
687463a3a6 keyring: add packager key: romashka (initial import) 2021-12-09 22:42:24 +01:00
a1e173374d keyring: add packager key: rgacogne (initial import) 2021-12-09 22:42:24 +01:00
3c1125b5b5 keyring: add packager key: remy (initial import) 2021-12-09 22:42:24 +01:00
33d8c57c31 keyring: add packager key: raster (initial import) 2021-12-09 22:42:24 +01:00
142f905938 keyring: add packager key: polyzen (initial import) 2021-12-09 22:42:23 +01:00
8c0d26fc57 keyring: add packager key: plewis (initial import) 2021-12-09 22:42:23 +01:00
a25fdbfb01 keyring: add packager key: pierre (initial import) 2021-12-09 22:42:23 +01:00
93e6a62c79 keyring: add packager key: orhun (initial import) 2021-12-09 22:42:23 +01:00
1ab7fc8057 keyring: add packager key: nicohood (initial import) 2021-12-09 22:42:23 +01:00
1e7b7ee999 keyring: add packager key: muflone (initial import) 2021-12-09 22:42:23 +01:00
065a7b2fc5 keyring: add packager key: mtorromeo (initial import) 2021-12-09 22:42:23 +01:00
07661a308d keyring: add packager key: morganamilo (initial import) 2021-12-09 22:42:23 +01:00
11f6c94d80 keyring: add packager key: maximbaz (initial import) 2021-12-09 22:42:22 +01:00
2ed4e1c5a6 keyring: add packager key: lfleischer (initial import) 2021-12-09 22:42:22 +01:00
531457fa12 keyring: add packager key: lcarlier (initial import) 2021-12-09 22:42:22 +01:00
238e162428 keyring: add packager key: kyrias (initial import) 2021-12-09 22:42:22 +01:00
a58cd59350 keyring: add packager key: kpcyrd (initial import) 2021-12-09 22:42:22 +01:00
5905169574 keyring: add packager key: kkeen (initial import) 2021-12-09 22:42:22 +01:00
4c52fd457a keyring: add packager key: kgizdov (initial import) 2021-12-09 22:42:22 +01:00
5f29065ffb keyring: add packager key: kchen (initial import) 2021-12-09 22:42:22 +01:00
a4152bf1e6 keyring: add packager key: juster (initial import) 2021-12-09 22:42:21 +01:00
aa29b4a6a9 keyring: add packager key: juergen (initial import) 2021-12-09 22:42:21 +01:00
c3c214f072 keyring: add packager key: jsteel (initial import) 2021-12-09 22:42:21 +01:00
c81d490759 keyring: add packager key: jlichtblau (initial import) 2021-12-09 22:42:21 +01:00
9454ea65b1 keyring: add packager key: jleclanche (initial import) 2021-12-09 22:42:21 +01:00
4eba456c63 keyring: add packager key: jgc (initial import) 2021-12-09 22:42:21 +01:00
131bf8d1be keyring: add packager key: jelle (initial import) 2021-12-09 22:42:21 +01:00
28b7b55939 keyring: add packager key: jconder (initial import) 2021-12-09 22:42:21 +01:00
aa70ebdba4 keyring: add packager key: idevolder (initial import) 2021-12-09 22:42:21 +01:00
519bd36f7e keyring: add packager key: ibiru (initial import) 2021-12-09 22:42:20 +01:00
21290dba24 keyring: add packager key: heftig (initial import) 2021-12-09 22:42:20 +01:00
b1f8358196 keyring: add packager key: hashworks (initial import) 2021-12-09 22:42:20 +01:00
3d62530828 keyring: add packager key: guillaume (initial import) 2021-12-09 22:42:20 +01:00
3d6b6a4365 keyring: add packager key: grazzolini (initial import) 2021-12-09 22:42:20 +01:00
5768a46625 keyring: add packager key: grawlinson (initial import) 2021-12-09 22:42:20 +01:00
3126869a25 keyring: add packager key: giovanni (initial import) 2021-12-09 22:42:20 +01:00
39112165c9 keyring: add packager key: fyan (initial import) 2021-12-09 22:42:20 +01:00
e37cf85d08 keyring: add packager key: freswa (initial import) 2021-12-09 22:42:19 +01:00
3f6ce5224b keyring: add packager key: foxxx0 (initial import) 2021-12-09 22:42:19 +01:00
9c5c34ba00 keyring: add packager key: foxboron (initial import) 2021-12-09 22:42:19 +01:00
6f7ed8dbfe keyring: add packager key: foutrelis (initial import) 2021-12-09 22:42:19 +01:00
27461c9354 keyring: add packager key: flexiondotorg (initial import) 2021-12-09 22:42:19 +01:00
879b59e818 keyring: add packager key: FFY00 (initial import) 2021-12-09 22:42:19 +01:00
cbbeef2e54 keyring: add packager key: farseerfc (initial import) 2021-12-09 22:42:19 +01:00
cbef9a1238 keyring: add packager key: faidoc (initial import) 2021-12-09 22:42:19 +01:00
a2b3f39d9e keyring: add packager key: eworm (initial import) 2021-12-09 22:42:19 +01:00
fc42035a81 keyring: add packager key: escondida (initial import) 2021-12-09 22:42:18 +01:00
9986e3423e keyring: add packager key: eschwartz (initial import) 2021-12-09 22:42:18 +01:00
7cead56332 keyring: add packager key: eric (initial import) 2021-12-09 22:42:18 +01:00
5e08f478ca keyring: add packager key: dwallace (initial import) 2021-12-09 22:42:18 +01:00
9c8cfd8ef5 keyring: add packager key: dvzrv (initial import) 2021-12-09 22:42:18 +01:00
55317ee81a keyring: add packager key: dreisner (initial import) 2021-12-09 22:42:18 +01:00
4e8655642b keyring: add packager key: djgera (initial import) 2021-12-09 22:42:18 +01:00
695fd90f1b keyring: add packager key: dieter (initial import) 2021-12-09 22:42:18 +01:00
a845c58f83 keyring: add packager key: dicebot (initial import) 2021-12-09 22:42:17 +01:00
e7c018b892 keyring: add packager key: diabonas (initial import) 2021-12-09 22:42:17 +01:00
35084cba68 keyring: add packager key: dbermond (initial import) 2021-12-09 22:42:17 +01:00
9cac133ecc keyring: add packager key: daurnimator (initial import) 2021-12-09 22:42:17 +01:00
5812a227a7 keyring: add packager key: daniel (initial import) 2021-12-09 22:42:17 +01:00
36ddcd936e keyring: add packager key: dan (initial import) 2021-12-09 22:42:17 +01:00
75a1e9e748 keyring: add packager key: daenyth (initial import) 2021-12-09 22:42:17 +01:00
0ccacc08ed keyring: add packager key: coderobe (initial import) 2021-12-09 22:42:17 +01:00
3a0e759f65 keyring: add packager key: cinelli (initial import) 2021-12-09 22:42:17 +01:00
ab48f2c3d2 keyring: add packager key: cesura (initial import) 2021-12-09 22:42:17 +01:00
6033085177 keyring: add packager key: cbrannon (initial import) 2021-12-09 22:42:16 +01:00
b47dfa41cd keyring: add packager key: cbehan (initial import) 2021-12-09 22:42:16 +01:00
e70bffd458 keyring: add packager key: bpiotrowski (initial import) 2021-12-09 22:42:16 +01:00
1e78031a81 keyring: add packager key: bluewind (initial import) 2021-12-09 22:42:16 +01:00
cc3821e353 keyring: add packager key: bisson (initial import) 2021-12-09 22:42:16 +01:00
f57d79f5ed keyring: add packager key: bgyorgy (initial import) 2021-12-09 22:42:16 +01:00
8dd825d6ff keyring: add packager key: bastelfreak (initial import) 2021-12-09 22:42:16 +01:00
8d7eee3605 keyring: add packager key: arojas (initial import) 2021-12-09 22:42:16 +01:00
eb1e18c440 keyring: add packager key: arodseth (initial import) 2021-12-09 22:42:16 +01:00
c2e3eef85f keyring: add packager key: archange (initial import) 2021-12-09 22:42:15 +01:00
4648ed2ca2 keyring: add packager key: arcanis (initial import) 2021-12-09 22:42:15 +01:00
1feef5c54a keyring: add packager key: anthraxx (initial import) 2021-12-09 22:42:15 +01:00
67b90b96a3 keyring: add packager key: angvp (initial import) 2021-12-09 22:42:15 +01:00
ca7124c9b4 keyring: add packager key: andyrtr (initial import) 2021-12-09 22:42:15 +01:00
5bdd6448d1 keyring: add packager key: andrewSC (initial import) 2021-12-09 22:42:15 +01:00
a6cbb72a18 keyring: add packager key: andrea (initial import) 2021-12-09 22:42:15 +01:00
1a8d660678 keyring: add packager key: anatolik (initial import) 2021-12-09 22:42:15 +01:00
d5b5e69fa5 keyring: add packager key: ambrevar (initial import) 2021-12-09 22:42:15 +01:00
263613c91a keyring: add packager key: alucryd (initial import) 2021-12-09 22:42:15 +01:00
7f7522811d keyring: add packager key: allan (initial import) 2021-12-09 22:42:14 +01:00
4e1eed483a keyring: add packager key: alex19ep (initial import) 2021-12-09 22:42:14 +01:00
39bd07f34e keyring: add packager key: alerque (initial import) 2021-12-09 22:42:14 +01:00
abb89f65e7 keyring: add packager key: alad (initial import) 2021-12-09 22:42:14 +01:00
dca954a9b1 keyring: add packager key: ainola (initial import) 2021-12-09 22:42:14 +01:00
d7f47192b7 keyring: add packager key: aginiewicz (initial import) 2021-12-09 22:42:14 +01:00
28fcfc50f4 keyring: add main key: thomas (initial import) 2021-12-09 22:42:14 +01:00
64aabc08c1 keyring: add main key: pierre (initial import) 2021-12-09 22:42:14 +01:00
7b74d90df9 keyring: add main key: ibiru (initial import) 2021-12-09 22:42:14 +01:00
5f5e744b75 keyring: add main key: florian (initial import) 2021-12-09 22:42:13 +01:00
9ee625acd8 keyring: add main key: dvzrv (initial import) 2021-12-09 22:42:13 +01:00
f93ce2137e keyring: add main key: dan (initial import) 2021-12-09 22:42:13 +01:00
508cd13ad3 keyring: add main key: bpiotrowski (initial import) 2021-12-09 22:42:13 +01:00
b060ecaa53 keyring: add main key: anthraxx (initial import) 2021-12-09 22:42:13 +01:00
9cc0e0cf00 keyring: add main key: allan (initial import) 2021-12-09 22:42:07 +01:00
37ad62d6e5 feature(keyringctl): add clean functionality to match import-clean
De-duplicate not needed certifications by cleaning the keyring after
import to remove old files when processing revocations. This basically
adds the functionality compared to import-clean.
2021-12-08 20:50:45 +01:00
d0ea790c6a fix(make): use proper dependency tracking for the build output
Declare the whole keyring data as well as the code as input dependency
for the build target. This way we can properly depend on the build
target for installation without forcing rebuilding on every invocation.

A rebuild will be triggered if either the keyring or the source code
creating the build output changes.

The directories are added to the source dependencies on purpose to
guarantee that changes like deleted files will result in a rebuild.

The mtime of the build directory is force updated on every run to allow
make to track the output artifacts mtime compared against the
dependencies.
2021-11-30 22:54:17 +01:00
0ceb6c743e fix(keyringctl): avoid simplified uid collisions using a hash
Add a postfix hash of the raw uid data to the filenames to avoid
collisions with the simplified uid.
2021-11-30 22:54:17 +01:00
4821087b2b feature(keyringctl): mark main keys bold during inspect highlight 2021-11-30 22:54:17 +01:00
b32c37bec1 feature(keyringctl): raise exception on duplicate uid data 2021-11-30 22:54:17 +01:00
b653edfcdc feature(keyringctl): add trust and colors to inspect output 2021-11-30 22:54:17 +01:00
c651bdc61e feature(keyringctl): add option to filter listing by trust 2021-11-30 22:54:17 +01:00
e9dc04df32 feature(keyringctl): split direct key packets into own directory 2021-11-30 22:54:16 +01:00
31a49c89a3 Fail test target under 100% test coverage
Makefile:
Fail coverage report below 100% test coverage.
2021-11-30 22:54:16 +01:00
e43a28f4a7 Simplify libkeyringctl.keyring.convert_certificate
libkeyringctl/keyring.py:
Simplify `convert_certificate()` by splitting out the conversion of
signature packets to `convert_signature_packet()` and the persistence of
packet material to `persist_key_material()`.
Add `convert_pubkey_signature_packet()`,
`convert_uid_signature_packet()` and
`convert_subkey_signature_packet()` to deal with the conversion of
public key signatures, UID signatures and subkey signatures
(respectively).

tests/test_keyring.py:
Add tests for `convert_certificate()`, `convert_signature_packet()`,
`convert_{pubkey,uid,subkey}_signature_packet()` and
`persist_subkey_revocations()`.
2021-11-30 22:54:16 +01:00
bb30e3d2fd Add tests for list and inspect functions
tests/test_keyring.py:
Add tests for `list_keyring()` and `inspect_keyring()`.
2021-11-30 22:54:16 +01:00
743d2bb3bb Add tests for introspection and export
libkeyringctl/keyring.py:
Change `get_packets_from_path()` to use full conditional statements
which is easier to cover in tests.

tests/test_keyring.py:
Add simple tests for `get_packets_from_path()`,
`get_packets_from_listing()`, `export()` and `build()`.
2021-11-30 22:54:16 +01:00
8689995b69 feature(keyringctl): yell and abort if processing private key data 2021-11-30 22:54:16 +01:00
5a83a7b6c1 feature(keyringctl): skip user attribute packets as none relevant 2021-11-30 22:54:16 +01:00
3d8e88dfaf Add tests for convert and export functionality
tests/test_keyring.py:
Add basic tests for `convert()`, `export_ownertrust()` and
`export_revoked()`.
2021-11-30 22:54:16 +01:00
e8fb9d17b3 chore(keyringctl): add test for simplify_ascii 2021-11-30 22:54:16 +01:00
83a345a1b8 feature(keyringctl): rework ci module to execute full lint for new certs 2021-11-30 22:54:16 +01:00
bce5bc550e feature(keyringctl): rework str simplification for printable uids 2021-11-30 22:54:16 +01:00
2030de06a0 fix(keyringctl): set HOME, PATH, LANG required for hokey
This effectively requires en_US.UTF-8 to be an available lang, which is
a relative fair requirement and mandatory to set for hokey.
2021-11-30 22:54:15 +01:00
f74a1be1ac chore(keyringctl): add integrity checks for binding/revocation sigs 2021-11-30 22:54:15 +01:00
9741ada9ef fix(keyringctl): put subkey revocations into the correct subkey dirs 2021-11-30 22:54:15 +01:00
17d27e2274 Add unit test for libkeyringctl.sequoia.packet_kinds
tests/test_sequoia.py:
Add unit test for libkeyringctl.sequoia.packet_kinds.
2021-11-30 22:54:15 +01:00
5f36beff90 feature(ci): run keyring integrity check if keyring or code changes 2021-11-30 22:54:15 +01:00
0456e9a5f8 fix(tests): use working dir via fixture instead of cluttering cwd 2021-11-30 22:54:15 +01:00
ddf19a4362 Add first unit tests for libkeyringctl.keyring
tests/test_keyring.py:
Add tests for `is_pgp_fingerprint()`,
`transform_{fingerprint,username}_to_keyring_path()`,
`derive_username_from_fingerprint()` and get_fingerprints_from_paths()`.
2021-11-30 22:54:15 +01:00
16bed8ac4a Add fixtures for valid and invalid fingerprints
tests/conftest.py:
Add `valid_fingerprint()` and `valid_subkey_fingerprint()` fixtures to
produce a generic "valid" PGP fingerprint string.
Add the `invalid_fingerprint()` fixture to generate a set of "invalid"
fingerprint strings.
2021-11-30 22:54:15 +01:00
e42a895889 fix(keyringctl): add missing python-toml for coverage run 2021-11-30 22:54:15 +01:00
e55042e45b feature(keyringctl): verify file structure integrity and packets
This moves all verify code to an own module and adds support to check
all packet files in the structure for integrity. This is done by parsing
assumptions like packet kind, type, issuer and location etc.
2021-11-30 22:54:15 +01:00
d9e9453d84 feature(keyringctl): write all packet files with full issuer fingerprint
This avoids collision between same issuer using key-id and full
fingerprint in different versions of a packet, like signature.
2021-11-30 22:54:15 +01:00
279765b22a fix(keyringctl): fix system stderr case due to wrongly written test
CalledProcessError returns bytes for our invocations, the fix that
decoded bytes of stdout was purely to make the mocked test happy while
breaking the actual usage. Restore the behavior and fix the wrong mocked
data.
2021-11-30 22:54:14 +01:00
cd585f4be2 chore(keyringctl): increase test coverage and fix trust expectations 2021-11-30 22:54:14 +01:00
7513e71b3f chore(keyringctl): add key revocation trust tests 2021-11-30 22:54:14 +01:00
a25c267f26 Add more specific coverage configuration
pyproject.toml:
Set specific source for `toolscoverage.paths` (as we only provide one
module).
Set `tools.coverage.run.relative_files` to true (although it is still
bug riddled and does not seem to work as advertized in regards to xml
output: https://github.com/nedbat/coveragepy/issues/963,
https://github.com/nedbat/coveragepy/issues/1147).
Set `tool.coverage.xml.output`, so we don't have to provide it on the
commandline.

Makefile:
Do not provide an output file to the coverage xml call, as we do that in
configuration now.
2021-11-30 22:54:14 +01:00
86eb172ac3 chore(keyringctl): add missing type annotations for tests 2021-11-30 22:54:14 +01:00
c807a81a57 feature(ci): add testing and coverage data to gitlab ci artifacts 2021-11-30 22:54:14 +01:00
b9bbe3f1d4 Also trigger tests and linting on changes to CI
.gitlab-ci.yml:
Also trigger tests and linting on changes to .gitlab-ci.yml.
2021-11-30 22:54:14 +01:00
c75c3ee7ee .gitignore: Add coverage and pycache
.gitignore:
Add .coverage and __pycache__ dirs to ignore.
2021-11-30 22:54:14 +01:00
358e840f8f Add unit tests for util functions
tests/test_util.py:
Add tests for `cwd()`, `natural_sort_path()`, `system()`,
`absolute_path()`, `transform_fd_to_tmpfile()`, `get_cert_paths()`,
`get_parent_cert_paths()` and `contains_fingerprint()`.
2021-11-30 22:54:14 +01:00
c1f59488e5 Add unit tests for code calling sequoia
tests/test_sequoia.py:
Add unit tests for `keyring_split()`, `keyring_merge()`,
`packet_split()`, `packet_join()`, `inspect()`, `packet_dump()`,
`packet_dump_field()`, `packet_signature_creation_time()`, and
`latest_certification()`.
2021-11-30 22:54:14 +01:00
52e0936524 Add unit test for git integration
tests/test_git.py:
Add unit test for `git_changed_files()`.
2021-11-30 22:54:14 +01:00
d969587bf7 Add python-coverage as dependency for contributing
CONTRIBUTING.md:
Add python-coverage to the list of dependencies for testing.
2021-11-30 22:54:13 +01:00
f27a7b90c2 Makefile: Use coverage instead of pytest
Makefile:
Run pytest via coverage in `make test` to also generate a coverage
report.
2021-11-30 22:54:13 +01:00
c968e7815a Add python-coverage to test target
.gitlab-ci.yml:
Add python-coverage to test target.
2021-11-30 22:54:13 +01:00
a21e6f21fb Write bytes to stderr when raising during system call
libkeyringctl/util.py:
Change `system()` to write bytes to stderr.buffer, as before
CalledProcessError.stdout had been used, which returns a string.
2021-11-30 22:54:13 +01:00
4597fba6ba Rename test directory to tests
tests/*:
The existing coverage configuration is setup to use/ omit a tests
directory.
2021-11-30 22:54:13 +01:00
0ca74e243b feature(keyringctl): adding basic infrastructure for running tests 2021-11-30 22:54:13 +01:00
8ba7dc1dc9 feature(keyringctl): acquire trust status from key assumptions
Rework the whole trust handling by acquiring the trust status from
actual assumptions related to the amount of ownertrust signatures and
revocations.
2021-11-30 22:54:13 +01:00
26c7027660 feature(keyringctl): support importing from a piped fd
This feature allows to import from a piped fd like:
> ./keyringctl import --name foobar <(gpg --export foo@bar)

We achieve this even with hidepid by taking the naive approach of
copying the processes fd source to a tempfile and pass around latter.
2021-11-30 22:54:13 +01:00
2384d0337b fix(keyringctl): resolve cert dir per fingerprint and not parent user 2021-11-30 22:54:13 +01:00
03d5899f87 fix(keyring): use a single applied revocation to declare a key revoked
Otherwise the PGP trust and revocation status file will not match our
expectations. A single applied revocation to this directory structure
should be checked either way.

We can later create TODO's to have at least two revocations for the keys
that would otherwise be still trusted and then change this value.
2021-11-30 22:54:13 +01:00
878752dc13 fix(keyringctl): avoid leaking unclosed file descriptors 2021-11-30 22:54:13 +01:00
10d54ac35d feature(make): adding fmt target to format the project accordingly 2021-11-30 22:54:12 +01:00
a9e63edfa8 feature(keyringctl): adding ci command to verify newly added certs
Currently only newly added certificates will be checked against the
expectations as existing keys are not all fully compatible with those
assumptions.  New certificates are determined by using
$CI_MERGE_REQUEST_DIFF_BASE_SHA as the base,
2021-11-30 22:54:12 +01:00
9733fbafd8 feature(keyringctl): add verify command to check certificate expectation
This command checks certain expectations using sq and hokey, prints the
results to stdout and potentially exists non successfully.
2021-11-30 22:54:12 +01:00
94c3b4c8e9 fix(keyrinctl): yield file not found errors instead of blocking on stdin
Handle missing or wrong certificate paths in a way that does not lead to
a blocking command by reading from stdin. Instead throw either file not
found errors or expect optional outputs.
2021-11-30 22:54:12 +01:00
58307c629d chore(keyringctl): modularize the code for overview and testing 2021-11-30 22:54:12 +01:00
f90e860d16 fix(keyringctl): prioritize latest certification per issuer
When importing a non reduced keyring the certifications were not
deterministic for keys that have multiple certifications per issuer.
This was for example the case for self certifications to extend the
expiry time. Before this commit a random certification could remain the
final one which would lead to a non up to date keyring and a potentially
expired key.
2021-11-30 22:54:12 +01:00
32469720f8 fix(keyringctl): deterministic assembling order with single packet files
Fix the assembling of a certificate by joining the packets in the
correct order and splitting combined files into individual single
packets per file.
2021-11-30 22:54:12 +01:00
4b136dd6f6 feature(keyringctl): enrich inspect to show explicit label for main keys
This helps to identify if a certification issuer comes from a main key
or not.
2021-11-30 22:54:12 +01:00
b6c25fa531 chore(keyringctl): de-duplicate username/fprint transform code
We duplicated resolving usernames and fingerprints to actual keyring
paths in multiple places. De-duplicate the code by using dedicated
functions to do this job.
2021-11-30 22:54:12 +01:00
cced93480c fix(keyringctl): avoid walking non existing paths to resolve certs 2021-11-30 22:54:12 +01:00
02605edee5 feature(keyringctl): sort list command for alphabetical listing
Only do so when listing all keys, when a filter is provided, like
usernames or fingerprints, keep the order to allow a 1:1 mapping.
2021-11-30 22:54:12 +01:00
f3f3a63385 feature(keyringctl): avoid storing pubkey and uids in certifications
We do not need to duplicates packages in certifications and revocations.
Store the packets separated from their parent as those are already
persisted.
2021-11-30 22:54:12 +01:00
5249453726 feature(keyringctl): support passing fingerprint as source
This helps make the CLI more useful by listing, exporting or inspecting
a specific fingerprint.
2021-11-30 22:54:11 +01:00
6d336828e1 chore(keyringctl): remove docstring types as the signatures cover them
All modern tooling already reads type hinting from the signatures
instead of the docstring and supports annotating the parameter
accordingly. Remove the duplicated data to avoid out of sync
documentation.
2021-11-30 22:54:11 +01:00
619f2a3b68 chore(keyringctl): simplify convert usage by moving fingerprint filter 2021-11-30 22:54:11 +01:00
fc9ad848ab chore(keyringctl): simplify trust functions and return trusted/revoked
The API makes more sense to return (trusted,revoked) as the caller can
simply derive all certificates by joining the two sets.

To simplify the functions, some code has been replaced to use helper
methods to flatten the nested loops.
2021-11-30 22:54:11 +01:00
e0abfd195c feature(keyringctl): collect usernames to fingerprints to enrich output
By collecting the matching usernames to all fingerprints we are able to
enrich the output of `inspect` to show the usernames next to the
certifications.
2021-11-30 22:54:11 +01:00
2d1eb93a39 chore(keyringctl): move cert depth first search to own function
This way we can reuse the functionality which will allow to simplify a
lot of places that have multiple layers of inflexible nested loops.
2021-11-30 22:54:11 +01:00
3776ca942c fix(keyringctl): preserve keyring split filenames in separated dirs
This aids initial imports of keyrings that contain multiple certificates
by allowing keyring_split to enforce preserving the filenames. This is
achieved by moving each split keyring into unique sub directories where
the original input filename remains unique.
2021-11-30 22:54:11 +01:00
090d63ae20 fix(keyringctl): force overwrite packets when persisting
When we import new packet data, always allow overwrites of the final
packet files. This may happen when importing from multiple files that
provide the same packets, which is fine as they should still yield to
the same results.
2021-11-30 22:54:11 +01:00
82254e0a36 feature(keyringctl): add inspect command to pretty print certificates
This command prints a new and pretty representation of the certificate
data to visualize the keyring and its signatures.
2021-11-30 22:54:11 +01:00
0168ce1db0 feature(keyringctl): add simple command to list all certificates 2021-11-30 22:54:11 +01:00
1a8ea8397d chore(keyringctl): throw exception instead of exit on failed system calls 2021-11-30 22:54:11 +01:00
f6e3a4e94b feature(keyringctl): use build command to create final artifacts
This allows an easy to use cli which invokes the export function to get
the keyring and uses the ownertrust and revoke functions to write all
artifacts into a target directory.
2021-11-30 22:54:10 +01:00
77e5b36872 feature(keyringctl): add force parameter to keyring_merge 2021-11-30 22:54:10 +01:00
86747ecab7 feature(keyringctl): use the export command purely to export keyrings
This gives more control over the export command that may be useful to
export a single packager to import it into gpg. This will also give more
flexibility to chain this function to the future verify stage.

By default the command exports the whole keyring directory.
2021-11-30 22:54:10 +01:00
aa2f2ea497 feature(keyringctl): add dedicated keyring_merge function 2021-11-30 22:54:10 +01:00
cb95b92778 chore(editorconfig): sync line length with flake8 config to 120 chars 2021-11-30 22:54:10 +01:00
52178f38d5 feature(keyringctl): improve packet_join to optionally return the result 2021-11-30 22:54:10 +01:00
deaa312b7d feature(keyringctl): print a stack trace in case a system cmd fails 2021-11-30 22:54:10 +01:00
bc8c51749c chore(doc): improve import usage section exmaples 2021-11-30 22:54:10 +01:00
94b910a55e fix(ci): use unified multi import command 2021-11-30 22:54:10 +01:00
edbbc77086 chore(keyringctl): use python 3.9 iterable/iterator type imports 2021-11-30 22:54:10 +01:00
74f317344f feature(keyringctl): support importing multiple paths
Lets pass in a list of path's and reduce them to one set of path
iterables. This allows us to specify multiple source files/directories
2021-11-30 22:54:10 +01:00
1b1aa7f738 fix(doc): improve splitting topics across README.md and CONTRIBUTING.md 2021-11-30 22:54:09 +01:00
c214022300 fix(keyringctl): restore --target option for convert command 2021-11-30 22:54:09 +01:00
40592b3534 feature(keyringctl): print help if invoked without any subcommand 2021-11-30 22:54:09 +01:00
8bc0ae1da0 feature(keyringctl): unify import subcommand for condensed api
Both commands are basically doing the same with the same params except
the target directory differs. Lets condense this behavior by using a
single subcommand with a boolean options.
2021-11-30 22:54:09 +01:00
2f9ef0ef1d feature(keyringctl): keep filename if keyring split yields one keyring
Instead of always returning an artificial name try to preserve the
keyring filename if the split only yields a single certificate.
2021-11-30 22:54:09 +01:00
b91e8b983c feature(keyringctl): move main/packager folders to isolated keyring dir
This helps to structure the layout of the repository better by having
one root folder that contains the actual decomposed keyring structure.
2021-11-30 22:54:09 +01:00
48e9bb67cb chore(keyringctl): use singular for packager directory as well
So far we have used singular for all directories, lets keep that for the
packager directory as well.
2021-11-30 22:54:09 +01:00
37d0a5f633 chore(keyringctl): apply black formatter 2021-11-30 22:54:09 +01:00
930b5896a0 feature(keyringctl): introduce Username type instead of plain str 2021-11-30 22:54:09 +01:00
e422149c8a feature(keyringctl): add type hinting direct sigs/revocations 2021-11-30 22:54:09 +01:00
147287959f feature(keyringctl): derive username from short key id fingerprints
Allow short key id fingerprints to be used with the username derive
function by adding a glob in front of the fingerprint component.
2021-11-30 22:54:09 +01:00
60ee3d6d94 feature(keyringctl): avoid splitting a certificate multiple times
Move the name cascade to derive the username into the
`convert_certificate` function which allows to use the
certificate_fingerprint directly instead of trying to find it by
splitting the certificate one more time before converting.
2021-11-30 22:54:09 +01:00
cf6bac5fd9 chore(keyringctl): fix typo in docstring for convert_certificate 2021-11-30 22:54:08 +01:00
2206fe07b6 feature(keyringctl): simplification by removing static data from types
The certificate fingerprint in the convert function remains always the
same as we only process a single certificate and loop outside over
multiple keyrings. Therefor remove that layer from the data structures
and implicitly simplify all the assignments and usages.
2021-11-30 22:54:08 +01:00
a43d3dfac6 chore(keyringctl): add docstring for export_keyring() pacman_integration 2021-11-30 22:54:08 +01:00
f92a5884c5 chore(keyringctl): remove used input_path from get_fingerprints 2021-11-30 22:54:08 +01:00
e001de10d6 chore(keyringctl): blake compatible formatting of binary or chain 2021-11-30 22:54:08 +01:00
0bd10b9b4f chore(keyringctl): avoid shadowing convert function 2021-11-30 22:54:08 +01:00
77b1eab89e feature(keyringctl): add type hinting for fingerprint and uid
This drastically improves readability and type safety when joggling with
different keys in the data structures.
2021-11-30 22:54:08 +01:00
cd0a2005a7 isort: Configure to use single lines
pyproject.toml:
Configure isort to use single lines (one line for each import) to ease
merge conflicts.

keyringctl:
Reformat using new isort settings.
2021-11-30 22:54:08 +01:00
49ff2df1fc keyringctl: Implement filtering of certifications
keyringctl:
Add `get_fingerprints_from_import_source()` to derive all fingerprints
of PGP public keys found in the import source.
Add `get_fingerprints_from_decomposed_dir()` to derive all fingerprints
of PGP public keys found in a directory structure holding decomposed PGP
packet data.
Add `get_fingerprints()` to derive a set of fingerprints of PGP public
keys provided through `get_fingerprints_from_import_source()` and
`get_fingerprints_from_decomposed_dir()`.
Change `convert()` and `convert_certificate()` to accept an optional set
of strings (`fingerprint_filter`) that may be used as a filter for
valid fingerprints when considering certifications.
Change `__main__` to call `convert()` when importing keys to packager or
main dir, providing `fingerprint_filter` which will attempt to look up
fingerprints in the source as well as the target.
2021-11-30 22:54:08 +01:00
4b70feb2fb keyringctl: Derive username from target when importing existing key
keyringctl:
Add `derive_user_from_target()` to derive the username from an existing
public key in the target directory when importing (updates to) an
already known key.
Change `convert()` to either use a custom name override (if provided), a
username derived from target dir (if existing) or the file name of the
to be imported file as username.
2021-11-30 22:54:08 +01:00
5e6a8a2e98 gitlab-ci: Run lint, build and install
.gitlab-ci.yml:
Add rule to run `make lint` if `keyringctl` changes in a merge request.
Add integration stage to always attempt to build and install the keyring
in a containerized environment.
2021-11-30 22:54:08 +01:00
153ae31437 Makefile: Change to use new targets
Makefile:
Remove soon unneeded targets for dist and upload.
Add lint and build targets.
Simplify the installation and uninstallation target.
2021-11-30 22:54:07 +01:00
fa0f35a66c editorconfig: Extend for yaml files
editorconfig:
Add a sane default for YAML files.
2021-11-30 22:54:07 +01:00
1cbd360d17 keyringctl: Format file
keyringctl:
Use black to format the file, isort to auto-sort all imports.
Remove commented code and (for now) ignore the high complexity in
`convert()` so that flake8 can be used.
2021-11-30 22:54:07 +01:00
0e54261242 keyringctl: Do not persist unbound certifications
keyringctl:
Change `persist_certifications()` to not attempt to read UID binding
signatures for a given UID, if it does not exist and instead output an
error message.
2021-11-30 22:54:07 +01:00
8ec1654e0c keyringctl: Simplify subcommands
keyringctl:
Change `convert()` to create the target directory including parents.
Change `export_keyring()` to create the output directory and its
parents before outputting data into it.
Remove `keyring_import()` as its functionality is covered by using
`convert()` directly with different subcommands.
Change `__main__` to define `import-main` and `import-packager`
subcommands instead of `import` and to add an `export-keyring`
subcommand. Remove the explicit creation of target dirs (it is now
implemented in `convert()` and `export_keyring()`.
2021-11-30 22:54:07 +01:00
819e1adc37 README: Add new default sections and cleanup
README.md:
Add a short purpose introduction.
Add requirements, installation, contribution, releases and license
sections.
2021-11-30 22:54:07 +01:00
cc26ca503c chore(keyringctl): uniformly use path builder via operator
Instead of partially dealing with strings that contain slashes lets just
use the path builder interface by using the operator for every sub path
layer in a uniform way.
2021-11-30 22:54:07 +01:00
c86832f3a1 chore(keyringctl): use singular folder names for all sub-folders 2021-11-30 22:54:07 +01:00
6299f6416e chore(keyringctl): deduplicate iteration and split code in convert() 2021-11-30 22:54:07 +01:00
ac798eeeab feature(keyringctl): wire the import command for convenience
Use it to auto write a decompose/convert command into the local keyring
automatically.
2021-11-30 22:54:07 +01:00
b989203ff0 chore(doc): extend source parameter description 2021-11-30 22:54:07 +01:00
aa934d5ff5 chore(keyringctl): declare missing type hinting for cwd 2021-11-30 22:54:07 +01:00
04008da268 fix(keyringctl): do not line break before operators
This is a lot easier to read and also fixes a style warning python
issues.
2021-11-30 22:54:06 +01:00
4e98585232 feature(keyringctl): use prefixed temp dirs for easier recognition
It makes sense to prefix the temp directories so they can be identified
more easily to which application they belong to or what they may
contain.
2021-11-30 22:54:06 +01:00
a0199b0b04 fix(keyringctl): restore cwd before deleting the temporary working dir
This avoids potential issues with wrapped runtime like ipython or pdb
that try to invoke functions at exit and access the current working
directory, which will ultimately lead to an error in case we deleted it
before changing the current working directory.
2021-11-30 22:54:06 +01:00
92f07f0d4b feature(keyringctl): use sq to split a keyring into individual certificates
Lets use sequoia as well to split an input into individual certificates
instead of creating a custom made function for this job.

Pass down the name of the original input file to `convert_certificate`
in case no override has been defined.
2021-11-30 22:54:06 +01:00
4e24fe5da4 Add pyproject.toml with tooling configuration
pyproject.toml:
Add configuration for black, coverage, isort and mypy.
2021-11-30 22:54:06 +01:00
53ffb80740 Add flake8 configuration
.flake8:
Add integration for flake8.
Set maximum line length to 120 and maximum complexity to 10.
2021-11-30 22:54:06 +01:00
b3e1640553 Add contribution guidelines
CONTRIBUTING.md:
Add guidelines describing how code is added and which commands to use to
add or update key material.
2021-11-30 22:54:06 +01:00
5170319717 keyringctl: Add documentation to all functions
keyringctl:
Add documentation to all functions.
Change the inlined functions `convert()` and `alphanum_key()` in
`natural_sort_path()` to rely on type Union[int, str] instead of type
Any.
Change `convert_certificate()` to derive the username using the stem of
the provided certificate.
2021-11-30 22:54:06 +01:00
5320f2491e keyringctl: Implement export of ownertrust/ revoker status
keyringctl:
Add `temp_join_keys()` to generically join PGP packets in a directory
below a temporary directory.
Add `get_all_and_revoked_certs()` to retrieve a tuple containing a list
of all public key fingerprints and a list of all self-revoked public key
fingerprints in a list of paths.
Add `export_ownertrust()` to export a list of fingerprints of
non-revoked public keys to a file that can be imported using `gpg
--import-ownertrust`.
Add `export_revoked()` to export the fingerprints of all self-revoked
public keys and the fingerprints of public keys that have been revoked
by third party signing keys (the latter is still fairly naive).
Change `export_keyring()` to make use of `temp_join_keys()` for
preparing main signing keys and general keys for the export to file. Add
integration for exporting ownertrust and revoker status (using
`export_ownertrust()` and `export_revoked()`, respectively).
Change `__main__` by extending the export_parser by a `-m`/ `--main`
argument to provide one or multiple files or directories, that serve as
the signing authority for key material located below `-s`/ `--source`.
Add a `-p`/ `--pacman-integration` to provide the means to export
ownertrust and revoker status on demand.
2021-11-30 22:54:06 +01:00
3c31230eb2 keyringctl: Write User IDs to separate files
keyringctl:
Add `persist_uids()` to write User ID related packets: User-ID and
PositiveCertifications (UID binding signatures).
Rename `persist_basic_key()` to `persist_public_key()` and change it to
only persist the PublicKey packet.
Change `persist_{certifications,revocations}()` to persist the
certificates to a key-specific 'uids' subdirectory per PublicKey.
Change `convert_certificate()` to rename `uid_binding_sig` to
`uid_bind_sigs`. Simplify the logic for signature related data
assignments.
2021-11-30 22:54:06 +01:00
7e04c50a16 keyringctl: Split out subkeys to separate structure
keyringctl:
Add `persist_subkeys()` and `persist_subkey_revocations()` to persist
the Public-Subkeys and the SubkeyRevocations of a root key out into a
dedicated directory structure below the respective Public-Key.
Change `persist_basic_key()` to not persist the Public-Subkeys and
SubkeyRevocations of a root key anymore and to output debug information
before writing to file.
Change `convert_certificate()` to refer to Public-Subkeys and
PublicSubkeyBinding as `subkeys` and `subkey_binding_sigs`
(respectively) and to explicitly refer to the main certificate
fingerprint when aggregating the data about them. Add
`subkey_revocations` to track any SubkeyRevocations of a given
Public-Subkey, so that it can be persisted to file.
2021-11-30 22:54:06 +01:00
c4fbd95041 keyringctl: Add writing to keyring output file
keyringctl:
Change `packet_join()` to add documentation and a `force` parameter with
which sq's force parameter may be toggled (defaults to False).
Add `export_keyring()` to allow writing all provided PGP packet files to
a single output file using `sq keyring merge`.
Change `__main__` to add an `export` subcommand to allow for providing
multiple input sources and one output file. Add an optional `-f/--force`
parameter that can be used to force subcommands that support it. Remove
the unused `start_dir` variable. Move the creation of `target_dir` below
the context that creates the working directory and only create it when
using the `convert` or `import` subcommands (as it is not used
otherwise).
Call `export_keyring()` when using the `export` subcommand.
2021-11-30 22:54:05 +01:00
7f7c2f13f0 keyringctl: Deal with multi-certificate per user files
keyringctl:
Add `sanitize_certificate_file()` to potentially split per-user input
files that contain more than one certificate.
Change `packet_split()` to add documentation and rename the key
parameter to certificate, as it is more generic.
Change `convert_certificate()` to use named parameters when calling
`packet_split()`.
Change `convert()` to call `convert_certificate()` on a list of
sanitized certificates (generated using `sanitized_certificate_file()`)
to be able to deal with multi-certificate files per user.
2021-11-30 22:54:05 +01:00
cb8e827112 keyringctl: Copy files instead of moving them
keyringctl:
Change `__main__` to create the `target_dir` before calling any further
function that relies on it.
Change `convert()` to require the `target_dir` to be not None and to
create all username based target directories before using
`shutil.copytree()` to copy all sources to their respective target
directories when iterating over the paths to persist. This has the
upside, that updates to a target directory structure can be done on the
fly (overwriting existing data), which is not possible with
`shutil.move()`.
2021-11-30 22:54:05 +01:00
a5be572136 keyringctl: Derive output dir from file and allow override
keyringctl:
Change `convert_certificates()` to use a more descriptive
`name_override` parameter in its signature to allow the overriding of
the username directory name into which key material is persisted.
Distinguish between the per-username directory and the eventual key
material directory. Instead of the key directory return the username
directory.
Change the `persist*` functions to use the `key_dir` instead of the
`root_dir` terminology as well.

Change `convert()` to optionally allow a `name_override` as well and use
that in the calls to `convert_certificate()`. Make the moving of files
more robust, by at least allowing to move the per-key directories for a
username, if the username target directory exists already. NOTE: This
needs expansion for the use-case where existing files should be
updated/extended by new files.

Add an additional argument to the 'convert' argparse parser to allow
users to override the target username directory name.
2021-11-30 22:54:05 +01:00
40761f44a7 keyringctl: Add handling of KeyRevocations
keyringctl:
Change `persist_direct_sigs()` to track a sig_type parameter in its
signature so that the output directory of the direct signatures can be
altered.
Change `convert_certificate()` to set a `direct_revocations` variable,
that is used to track KeyRevocations for root keys. Extend the logic to
make use of `add_packet_to_direct_sigs()` to set a list of
KeyRevocations for a given root key. Eventually call
`persist_direct_sigs()` with `direct_revocations` and a custom
`sig_type` to persist the revocation certificates.
2021-11-30 22:54:05 +01:00
a77b334859 keyringctl: Persist direct signatures generically
keyringctl:
Rename `persist_direct_keys()` to `persist_direct_sigs()` as it is now
not only handling the persistence of DirectKeys but also *Certifications
directly on a root key (those without an explicit User ID).
Add inline function `add_packet_to_direct_sigs()` to
`convert_certificate()` to generically add direct signatures on a root
key, grouped by issuer.
Change `convert_certificate()` to add Certifications on a root key
(without a specified User ID) to the list of direct_sigs, so that they
are persisted alongside any existing DirectKeys.
Remove breakpoints from `persist_certifications()` as they are no longer
reached. The function is now solely used for Certifications on User IDs.
2021-11-30 22:54:05 +01:00
0d32d2f00a keyringctl: Dedicated functions for writing to file
keyringctl:
Add `persist_basic_key()`, `persist_direct_keys()`,
`persist_certifications()` and `persist_revocations()` to allow for
dedicated writing of basic key material, direct key signatures,
per UID certificates and per UID revocations (respectively).
Change `convert_certificate()` to call the new dedicated write functions
instead of implementing the functionality.
Change `convert_certificate()` to raise on missing current_packet_key
when trying to work on signature files (this is unlikely to occur,
unless the input data is somehow broken, but it keeps the linter happy).
Change `convert_certificate()` to handle direct_keys by issuer on a
given root key (DirectKey signatures by the same issuer are combined).
Change the argparse subparser for the 'convert' command to include a
help text.
2021-11-30 22:54:05 +01:00
f626e40b84 feature(keyringctl): add tool to work with key data 2021-11-30 22:54:05 +01:00
4116f94fbb feature(editorconfig): add standard python settings 2021-11-30 22:53:57 +01:00
4967abcb0c Merge remote-tracking branch 'origin/key_update'
* origin/key_update:
  Update keyring
2021-11-30 00:21:13 +01:00
0271f6121f Update keyring
Update the archlinux keyring and the packager keys.
2021-11-30 00:18:53 +01:00
77a72765b1 Merge remote-tracking branch 'origin/packager_key_mtorromeo'
* origin/packager_key_mtorromeo:
  Add new packager key of Massimiliano Torromeo (mtorromeo)
2021-11-30 00:10:38 +01:00
b8726b2498 Add new packager key of Massimiliano Torromeo (mtorromeo) 2021-11-30 00:07:40 +01:00
75b2957f4a Merge remote-tracking branch 'dbermond/dbermond-new-key'
* dbermond/dbermond-new-key:
  Add new packager key for Daniel Bermond
2021-11-29 17:25:45 +01:00
b9d4aaf8d9 Add new packager key for Daniel Bermond 2021-11-29 16:24:50 +00:00
f50472b9e3 Merge remote-tracking branch 'wild/wild-newkey'
* wild/wild-newkey:
  Add packager key for wild
2021-11-29 17:24:26 +01:00
d20e6a9f83 Add packager key for wild
Signed-off-by: Dan Printzell <wild@archlinux.org>
2021-11-29 16:23:44 +00:00
e21943f9b6 Merge remote-tracking branch 'idevolder/hotfix/new-ike.devolder.archlinux.org-key'
* idevolder/hotfix/new-ike.devolder.archlinux.org-key:
  add new archlinux.org gpg key for Ike
2021-11-29 17:23:05 +01:00
cb5fb8705b add new archlinux.org gpg key for Ike 2021-11-29 16:22:10 +00:00
5121c2d628 Merge remote-tracking branch 'juergen/new-gpg-key'
* juergen/new-gpg-key:
  add new archlinux.org gpg key for juergen
2021-11-29 17:21:49 +01:00
161c70dfc3 add new archlinux.org gpg key for juergen 2021-11-29 16:21:03 +00:00
5187908235 Merge remote-tracking branch 'xyne/xyne-add_gpg_key'
* xyne/xyne-add_gpg_key:
  Add new PGP key ID for Xyne.
2021-11-29 17:19:32 +01:00
99f56df063 Add new PGP key ID for Xyne. 2021-11-29 16:16:28 +00:00
703ce130f1 Merge remote-tracking branch 'escondida/escondida-new-key'
* escondida/escondida-new-key:
  add new key for escondida
2021-11-29 17:16:03 +01:00
a5c3b6b02f add new key for escondida 2021-11-29 15:59:29 +00:00
61e39d7dfe Merge remote-tracking branch 'maximbaz/maximbaz-master-patch-40138'
* maximbaz/maximbaz-master-patch-40138:
  Add packager key for maximbaz
2021-11-29 16:58:28 +01:00
d6518575d5 Add packager key for maximbaz 2021-11-29 15:54:01 +00:00
94cc605d0b Merge remote-tracking branch 'spupykin/master'
* spupykin/master:
  add new packager key id for spupykin
2021-11-29 16:48:50 +01:00
596ffb428b add new packager key id for spupykin 2021-11-29 15:47:36 +00:00
bae7359ee6 Merge remote-tracking branch 'muflone/master'
Add a new key for muflone.

* muflone/master:
  Added new key for muflone
2021-11-29 16:45:14 +01:00
ef9bf94435 Added new key for muflone 2021-11-28 11:49:12 +01:00
eef34e85a2 Prepare release 2021-10-28 11:59:05 +02:00
e7b1576300 Update keyring
... and collect latest changes.
2021-10-28 11:57:12 +02:00
f2f428ff1e Update keyring
... and collect latest changes.
2021-10-25 13:33:30 +02:00
3545 changed files with 47617 additions and 44831 deletions

View File

@ -1,6 +1,30 @@
root = true
[*]
end_of_line = lf
charset = utf-8
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
[Makefile]
end_of_line = lf
charset = utf-8
indent_style = tab
indent_size = 8
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
[{*.py,keyringctl}]
indent_style = space
indent_size = 4
max_line_length = 120
[*.{yml,yaml}]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8
indent_style = space
indent_size = 2

4
.flake8 Normal file
View File

@ -0,0 +1,4 @@
[flake8]
max-line-length = 120
output-file = flake8.txt
max-complexity = 10

12
.gitattributes vendored
View File

@ -1,12 +0,0 @@
update-keys export-ignore
.gitattributes export-ignore
.gitignore export-ignore
master-keyids export-ignore
packager-keyids export-ignore
master export-ignore
packager export-ignore
.editorconfig export-ignore
master-revoked-keyids export-ignore
master-revoked export-ignore
packager-revoked-keyids export-ignore
packager-revoked export-ignore

3
.gitignore vendored
View File

@ -1,4 +1,7 @@
/build
*~
archlinux-keyring-*.tar.gz
archlinux-keyring-*.tar.gz.sig
/.idea
.coverage
__pycache__/

View File

@ -1,26 +1,93 @@
---
image: archlinux:latest
stages:
- lint
- test
- wkd
variables:
PACMAN_CACHE: "${CI_PROJECT_DIR}/.pacman/pkg"
cache:
paths:
- .pacman/pkg
key: ${CI_JOB_NAME}
check-new-key:
stage: lint
lint:
stage: test
needs: []
before_script:
- pacman -Syu --needed --noconfirm make flake8 mypy python-black python-isort
script:
- install -d "${PACMAN_CACHE}"
- pacman -Syu --needed --noconfirm --cachedir "${PACMAN_CACHE}" git grep hopenpgp-tools sequoia-keyring-linter
- ./.gitlab/check-keyids-change
- make lint
only:
refs:
- merge_requests
changes:
- master-keyids
- packager-keyids
- keyringctl
- libkeyringctl/*
- tests/*
- .gitlab-ci.yml
- Makefile
test:
stage: test
needs: []
before_script:
- pacman -Syu --needed --noconfirm make python sequoia-sq python-coverage python-pytest python-tomli
script:
- make test
only:
changes:
- keyringctl
- libkeyringctl/*
- tests/*
- .gitlab-ci.yml
- Makefile
coverage: '/TOTAL.*\s([.\d]+)%/'
artifacts:
when: always
reports:
coverage_report:
coverage_format: cobertura
path: build/coverage.xml
junit: build/junit-report.xml
build_install:
stage: test
needs: []
before_script:
- pacman -Syu --needed --noconfirm make pkgconf python sequoia-sq systemd
script:
- make
- make install PREFIX=/usr
- pacman-key --init
- pacman-key --populate archlinux
- pacman-key --updatedb
- pacman -Syu
keyring_check:
stage: test
needs: []
before_script:
- pacman -Syu --needed --noconfirm make python sequoia-sq git
script:
- ./keyringctl check
- ./keyringctl ci
only:
changes:
- keyring/**/*
- keyringctl
- libkeyringctl/*
- tests/*
- .gitlab-ci.yml
- Makefile
pages:
stage: wkd
needs: []
tags:
- secure
before_script:
- pacman -Syu --needed --noconfirm make python sequoia-sq
script:
- make wkd
- make wkd WKD_FQDN=master-key.archlinux.org
- make wkd_inspect
- make wkd_inspect WKD_FQDN=master-key.archlinux.org
- cp -r build/wkd/ public
artifacts:
paths:
- public
rules:
- if: $CI_PROJECT_PATH == "archlinux/archlinux-keyring" && $CI_COMMIT_TAG

View File

@ -1,38 +0,0 @@
#!/bin/bash
set -eo pipefail
if [[ -z "${CI_MERGE_REQUEST_DIFF_BASE_SHA}" ]]; then
echo "CI_MERGE_REQUEST_DIFF_BASE_SHA is not set"
exit 1
fi
GNUPGHOME="$(mktemp -d --tmpdir archlinux-keyring-XXXXXXXXX)"
export GNUPGHOME
trap 'rm -rf $GNUPGHOME' EXIT INT TERM QUIT
for NEW_KEY in $(git diff --color=never "${CI_MERGE_REQUEST_DIFF_BASE_SHA}" -- master-keyids packager-keyids | grep -oP '^\+(\K[A-Z0-9]{40})'); do
echo "Receive gpg key ${NEW_KEY} ..."
gpg --recv "${NEW_KEY}"
echo "Export gpg key ${NEW_KEY} ..."
gpg --export "${NEW_KEY}" > "${GNUPGHOME}/${NEW_KEY}"
echo "Lint gpg key ${NEW_KEY} via hokey..."
hokey lint < "${GNUPGHOME}/${NEW_KEY}"
echo "Lint gpg key ${NEW_KEY} via sq-keyring-linter..."
sq-keyring-linter "${GNUPGHOME}/${NEW_KEY}"
done
for REMOVED_KEY in $(git diff --color=never "${CI_MERGE_REQUEST_DIFF_BASE_SHA}" -- packager-keyids | grep -oP '^\-(\K[A-Z0-9]{40})'); do
echo "Check if removed packager key ${REMOVED_KEY} is added to revoked keys..."
git diff --color=never "${CI_MERGE_REQUEST_DIFF_BASE_SHA}" -- packager-revoked-keyids | grep -E "^\+${REMOVED_KEY}\s"
echo "Receive gpg key ${REMOVED_KEY} ..."
gpg --recv "${REMOVED_KEY}"
SHORT_KEYID="${REMOVED_KEY:24:16}"
echo "Check if key ${SHORT_KEYID} is still used by a package..."
if pacman -Sii | grep -m1 "${SHORT_KEYID}"; then
exit 1
fi
done

View File

@ -2,8 +2,12 @@
This template is used when a new main PGP public key needs to be added to the
distribution's keyring.
It is used by users with a valid packager key.
NOTE: All comment sections with a MODIFY note need to be edited. All checkboxes
in the "Checks" section labeled as "Owner of new key" need to be checked by the
owner of the new key.
-->
/assign @allan @anthraxx @bluewind @dvzrv @pierre
/assign @archlinux/teams/main-key-holders
/label ~"new main key"
/title New main key of <!-- MODIFY: Add new main key holder's username -->
<!--
@ -16,18 +20,27 @@ issue and assign relevant users.
## Details
- Username: <!-- MODIFY: Add the @-prefixed username -->
- PGP key ID: <!-- MODIFY: Add the "long format" key ID of the new PGP public key here -->
- PGP key ID: <!-- MODIFY: Add the output of `gpg --keyid-format long --list-key <MY UID> | sed -n '2p' | tr -d ' '` here -->
- Revocation Certificate Holder: <!-- MODIFY: Add the @-prefixed username of the revocation certificate holder -->
<!--
NOTE: Attach the above information as a clearsigned document to this ticket
using a valid packager key of the user.
https://www.gnupg.org/gph/en/manual/x135.html
MODIFY: Attach the above information of the details section as a clearsigned
document (see https://www.gnupg.org/gph/en/manual/x135.html) to this ticket
using a valid packager key of the user:
* Select the above text, copy/paste it into a file (e.g. `details.txt`).
* Make sure to sign with the root certificate of the packager key (not any of
the subkeys!):
`gpg --armor --default-key <fingerprint_of_root>! --clearsign details.txt`
* Upload `details.txt` as attachment to this ticket.
-->
## Checks
### New key owner
**NOTE**: The below check boxes **must be** checked before the accompanying
merge request to add the new main key can be merged.
### Owner of new key
- [ ] The [workflow for adding a new main
key](https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/wikis/workflows/add-a-new-main-key)
@ -38,18 +51,17 @@ https://www.gnupg.org/gph/en/manual/x135.html
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 SKS infrastructure
### Keyring maintainer
- [ ] The key pair has been validated according to the [best
practices](https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/wikis/best-practices#validating-a-key-pair)
- [ ] The data in the [Details](#details) section is correct and signed with a
valid and trusted packager key, which is part of `pacman-key`
- [ ] The public key has been uploaded to the pgp.mit.edu and keyserver.ubuntu.com
- [ ] A merge request to add the new public key has been created
### Revocation Certificate Holder
- [ ] The revocation certificate has been [verified
as working](https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/wikis/workflows/verify-a-revocation-certificate)
and confirmed in a comment to this issue
- [ ] The revocation certificate has been backed up in a dedicated encrypted backup storage
- [ ] The revocation certificate has been backed up on a dedicated encrypted backup storage medium
### Main key holders
- [ ] The data in the [Details](#details) section is correct and signed with a
valid and trusted packager key, which is already part of `archlinux-keyring`

View File

@ -3,8 +3,12 @@ This template is used when a new packager PGP public key needs to be added to
the distribution's keyring.
It is either used by the sponsor of a new packager or by an existing packager
when adding a new key for themself.
NOTE: All comment sections with a MODIFY note need to be edited. All checkboxes
in the "Checks" section labeled as "Owner of new key" need to be checked by the
owner of the new key or by a sponsor of a new packager.
-->
/assign @allan @anthraxx @bluewind @dvzrv @pierre
/assign @archlinux/teams/main-key-holders
/label ~"new packager key"
/title New packager key of <!-- MODIFY: Add new packager key holder's username -->
<!--
@ -17,24 +21,33 @@ issue and assign relevant users.
## Details
- Username: <!-- MODIFY: Add the @-prefixed username -->
- PGP key ID: <!-- MODIFY: Add the "long format" key ID of the new PGP public key here -->
- PGP key ID: <!-- MODIFY: Add the output of `gpg --keyid-format long --list-key <MY UID> | sed -n '2p' | tr -d ' '` here -->
- Sponsors: <!-- MODIFY: Add the @-prefixed usernames of the sponsors -->
- Application: <!-- MODIFY: Add link to application, if this is the key of a new packager, else remove -->
- Results: <!-- MODIFY: Add link to results of application, if this is the key of a new packager, else remove -->
- Previous Key: <!--
MODIFY: Add the output of `gpg --keyid-format long --list-key <MY PREVIOUS ID> | sed -n '2p' | tr -d ' '` here
if another packager key exists already, else remove
-->
<!--
NOTE: Attach the above information as a clearsigned document to this ticket.
https://www.gnupg.org/gph/en/manual/x135.html
MODIFY: Attach the above information of the details section as a clearsigned
document (see https://www.gnupg.org/gph/en/manual/x135.html) to this ticket.
If a previous (valid and trusted) packager key of the user exists, it needs to
be used for clearsigning the document.
If the key of a new packager is added, one of their sponsors needs to clearsign
the details section.
If this is the key of a new packager, one of their sponsors needs to do the
signature.
If this is a new key of an already existing packager, the packager themself
needs to do the signature.
* Select the above text, copy/paste it into a file (e.g. `details.txt`).
* Make sure to sign with the root certificate of the packager key (not any of
the subkeys!):
`gpg --armor --default-key <fingerprint_of_root>! --clearsign details.txt`
* Upload `details.txt` as attachment to this ticket.
-->
## Checks
### New key owner
### Owner of new key
- [ ] The [workflow for adding a new packager
key](https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/wikis/workflows/add-a-new-packager-key)
@ -45,24 +58,19 @@ needs to do the signature.
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 SKS infrastructure
- [ ] The public key has been uploaded to the pgp.mit.edu and keyserver.ubuntu.com
- [ ] A merge request to add the new public key has been created
### Main key holders
- [ ] The public key has been validated according to the [best
practices](https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/wikis/best-practices#validating-a-key-pair)
- [ ] The public key has been signed by all main key holders
- [ ] @allan
- [ ] @anthraxx
- [ ] @bluewind
- [ ] @demize
- [ ] @diabonas
- [ ] @dvzrv
- [ ] @pierre
### Keyring maintainer
- [ ] The public key contains one user ID with a valid
`<username>@archlinux.org` email address used for signing
- [ ] The public key has been validated according to the [best
practices](https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/wikis/best-practices#validating-a-key-pair)
### Developers of the archlinux-keyring project
- [ ] The data in the [Details](#details) section is correct and signed with a
valid and trusted packager key, which is part of `pacman-key`
valid and trusted packager key, which is already part of `archlinux-keyring`

View File

@ -1,9 +1,14 @@
<!--
This template is used when an existing main PGP public key needs to be removed
from the distribution's keyring.
It is used by users with a valid main key.
It is used by users with a valid main key or the holder of the revocation
certificate of the main key that is about to be removed.
NOTE: All comment sections with a MODIFY note need to be edited. All checkboxes
in the "Check" section labeled as "Main key holders" need to be checked for the
accompanying merge request to be merged.
-->
/assign @allan @anthraxx @bluewind @dvzrv @pierre
/assign @archlinux/teams/main-key-holders
/label ~"remove main key"
/title Remove main key of <!-- MODIFY: Add main key holder's username -->
<!--
@ -16,7 +21,7 @@ issue and assign relevant users.
## Details
- Username: <!-- MODIFY: Add the @-prefixed username -->
- PGP key ID: <!-- MODIFY: Add the "long format" key ID of the PGP public key here -->
- PGP key ID: <!-- MODIFY: Add the output of `gpg --keyid-format long --list-key <MAIN KEY UID> | sed -n '2p' | tr -d ' '` here -->
- Resignation: <!-- MODIFY: Link to resignation of key holder -->
## Checks
@ -27,8 +32,6 @@ issue and assign relevant users.
removal of this key.
- [ ] All packagers have at least three valid main key signatures for their
packager key after removal of this key.
### Keyring maintainer
- [ ] The key has been revoked by either the revocation certificate holder or
the main key holder.
- [ ] A merge request to [remove the main public
key](https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/wikis/workflows/remove-a-main-key)
has been created

View File

@ -2,8 +2,10 @@
This template is used when an existing packager PGP public key needs to be
removed from the distribution's keyring.
It is used by users with a valid main key or a valid packager key.
NOTE: All comment sections with a MODIFY note need to be edited.
-->
/assign @allan @anthraxx @bluewind @dvzrv @pierre
/assign @archlinux/teams/main-key-holders
/label ~"remove packager key"
/title Remove packager key of <!-- MODIFY: Add packager key holder's username -->
<!--
@ -16,20 +18,27 @@ issue and assign relevant users.
## Details
- Username: <!-- MODIFY: Add the @-prefixed username -->
- PGP key ID: <!-- MODIFY: Add the "long format" key ID of the PGP public key here -->
- PGP key ID: <!-- MODIFY: Add the output of `gpg --keyid-format long --list-key <PACKAGER KEY UID> | sed -n '2p' | tr -d ' '` here -->
- Resignation: <!-- MODIFY: Link to resignation of key holder -->
## Checks
- [ ] There are no packages left in any of the official repositories, that are
signed by the key, that is about to be removed.
**NOTE**: The below check box **must be** checked before the main key holders
can start to revoke the key.
- [ ] There are [no packages left in any of the official
repositories](https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/wikis/workflows/Find-packages-signed-by-a-key),
that are signed by the key or any of its subkeys, which is about to be
removed.
### Main key holders
- [ ] All main key holders have revoked their signature for the key and
published the result on the SKS infrastructure
- [ ] @allan
- [ ] @anthraxx
- [ ] @bluewind
- [ ] @dvzrv
- [ ] @pierre
All main key holders should revoke their signature(s) for the given key in a
merge request to this repository using `keyringctl`.
- [ ] @anthraxx
- [ ] @bluewind
- [ ] @demize
- [ ] @diabonas
- [ ] @dvzrv
- [ ] @pierre

View File

@ -5,7 +5,7 @@ It is used by users with a valid packager key after all steps in an
accompanying issue (opened with the template "New Main Key") have been
fulfilled.
-->
/assign_reviewer @allan @anthraxx @bluewind @dvzrv @pierre
/assign_reviewer @allan @anthraxx @bluewind @diabonas @dvzrv @pierre
/label ~"new main key"
/title Add main key of <!-- MODIFY: Add the main key holder's username -->
<!--

View File

@ -5,7 +5,7 @@ It is either used by the sponsor of a new packager or by an existing packager
when adding a new key for themself after all steps in an accompanying issue
(opened with the template "New Packager Key") have been fulfilled..
-->
/assign_reviewer @allan @anthraxx @bluewind @dvzrv @pierre
/assign_reviewer @allan @anthraxx @bluewind @diabonas @dvzrv @pierre
/label ~"new packager key"
/title Add packager key of <!-- MODIFY: Add the packager key holder's username -->
<!--

View File

@ -4,7 +4,7 @@ from the distribution's keyring.
It is used by users with a valid main key after all steps in an accompanying
issue (opened with the template "Remove Main Key") have been fulfilled.
-->
/assign_reviewer @allan @anthraxx @bluewind @dvzrv @pierre
/assign_reviewer @allan @anthraxx @bluewind @diabonas @dvzrv @pierre
/label ~"remove main key"
/title Remove main key of <!-- MODIFY: Add the main key holder's username -->
<!--

View File

@ -5,7 +5,7 @@ It is used by users with a valid main key or a valid packager key after all
steps in an accompanying issue (opened with the template "Remove Packager Key")
have been fulfilled.
-->
/assign_reviewer @allan @anthraxx @bluewind @dvzrv @pierre
/assign_reviewer @allan @anthraxx @bluewind @diabonas @dvzrv @pierre
/label ~"remove packager key"
/title Remove packager key of <!-- MODIFY: Add the packager's username -->
<!--

66
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,66 @@
# Contributing
These are the contribution guidelines for archlinux-keyring.
All code contributions fall under the terms of the GPL-3.0-or-later (see
[LICENSE](LICENSE)).
Please read our distribution-wide [Code of
Conduct](https://terms.archlinux.org/docs/code-of-conduct/) before
contributing, to understand what actions will and will not be tolerated.
Development of archlinux-keyring takes place on Arch Linux' Gitlab:
https://gitlab.archlinux.org/archlinux/archlinux-keyring.
Any merge request to the repository requires two approvals of authorized
approvers (the current main key holders).
## Discussion
Discussion around archlinux-keyring may take place on the [arch-projects
mailing list](https://lists.archlinux.org/listinfo/arch-projects) and in
[#archlinux-projects](ircs://irc.libera.chat/archlinux-projects) on [Libera
Chat](https://libera.chat/).
## Requirements
The following additional packages need to be installed to be able to lint
and develop this project:
* python-black
* python-coverage
* python-isort
* python-pytest
* python-tomli
* flake8
* mypy
## Keyringctl
The `keyringctl` script is written in typed python, which makes use of
[sequoia](https://sequoia-pgp.org/)'s `sq` command.
The script is type checked, linted and formatted using standard tooling.
When providing a merge request make sure to run `make lint`.
## Testing
Test cases are developed per module in the [test](test) directory and should
consist of atomic single expectation tests. A Huge test case asserting various
different expectations are discouraged and should be split into finer grained
test cases.
To execute all tests using pytest
```bash
make test
```
To run keyring integrity and consistency checks
```bash
make check
```
## Web Key Directory
Only tagged releases are built and exposed via WKD. This helps to ensure, that
inconsistent state of the keyring is not exposed to the enduser, which may make
use of it instantaneously.

View File

@ -1,22 +1,72 @@
V=20210902
SHELL = /bin/bash
PREFIX ?= /usr/local
BUILD_DIR ?= build
KEYRING_TARGET_DIR ?= $(PREFIX)/share/pacman/keyrings/
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
KEYRING_FILE=archlinux.gpg
KEYRING_REVOKED_FILE=archlinux-revoked
KEYRING_TRUSTED_FILE=archlinux-trusted
WKD_SYNC_SCRIPT=archlinux-keyring-wkd-sync
WKD_SYNC_SERVICE_IN=archlinux-keyring-wkd-sync.service.in
WKD_SYNC_SERVICE=archlinux-keyring-wkd-sync.service
WKD_SYNC_TIMER=archlinux-keyring-wkd-sync.timer
SYSTEMD_TIMER_DIR=$(SYSTEMD_SYSTEM_UNIT_DIR)/timers.target.wants/
SOURCES := $(shell find keyring) $(shell find libkeyringctl -name '*.py' -or -type d) keyringctl
PREFIX = /usr/local
all: build
install:
install -dm755 $(DESTDIR)$(PREFIX)/share/pacman/keyrings/
install -m0644 archlinux.gpg $(DESTDIR)$(PREFIX)/share/pacman/keyrings/
install -m0644 archlinux-trusted $(DESTDIR)$(PREFIX)/share/pacman/keyrings/
install -m0644 archlinux-revoked $(DESTDIR)$(PREFIX)/share/pacman/keyrings/
lint:
black --check --diff keyringctl libkeyringctl tests
isort --diff .
flake8 keyringctl libkeyringctl tests
mypy --install-types --non-interactive keyringctl libkeyringctl tests
fmt:
black .
isort .
check:
./keyringctl -v check
test:
coverage run
coverage xml
coverage report --fail-under=100.0
build: $(SOURCES)
./keyringctl -v $(BUILD_DIR)
wkd: build
sq -f wkd generate -s $(WKD_BUILD_DIR)/ $(WKD_FQDN) $(BUILD_DIR)/$(KEYRING_FILE)
wkd_inspect: wkd
for file in $(WKD_BUILD_DIR)/.well-known/openpgpkey/$(WKD_FQDN)/hu/*; do sq inspect $$file; done
wkd_sync_service: wkd_sync/$(WKD_SYNC_SERVICE_IN)
sed -e 's|SCRIPT_TARGET_DIR|$(SCRIPT_TARGET_DIR)|' wkd_sync/$(WKD_SYNC_SERVICE_IN) > $(BUILD_DIR)/$(WKD_SYNC_SERVICE)
clean:
rm -rf $(BUILD_DIR) $(WKD_BUILD_DIR)
install: build wkd_sync_service
install -vDm 644 build/{$(KEYRING_FILE),$(KEYRING_REVOKED_FILE),$(KEYRING_TRUSTED_FILE)} -t $(DESTDIR)$(KEYRING_TARGET_DIR)
install -vDm 755 wkd_sync/$(WKD_SYNC_SCRIPT) -t $(DESTDIR)$(SCRIPT_TARGET_DIR)
install -vDm 644 build/$(WKD_SYNC_SERVICE) -t $(DESTDIR)$(SYSTEMD_SYSTEM_UNIT_DIR)
install -vDm 644 wkd_sync/$(WKD_SYNC_TIMER) -t $(DESTDIR)$(SYSTEMD_SYSTEM_UNIT_DIR)
install -vdm 755 $(DESTDIR)$(SYSTEMD_TIMER_DIR)
ln -fsv ../$(WKD_SYNC_TIMER) $(DESTDIR)$(SYSTEMD_TIMER_DIR)/$(WKD_SYNC_TIMER)
uninstall:
rm -f $(DESTDIR)$(PREFIX)/share/pacman/keyrings/archlinux{.gpg,-trusted,-revoked}
rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/pacman/keyrings/
rm -fv $(DESTDIR)$(KEYRING_TARGET_DIR)/{$(KEYRING_FILE),$(KEYRING_REVOKED_FILE),$(KEYRING_TRUSTED_FILE)}
rmdir -pv --ignore-fail-on-non-empty $(DESTDIR)$(KEYRING_TARGET_DIR)
rm -v $(DESTDIR)$(SCRIPT_TARGET_DIR)/$(WKD_SYNC_SCRIPT)
rmdir -pv --ignore-fail-on-non-empty $(DESTDIR)$(SCRIPT_TARGET_DIR)
rm -v $(DESTDIR)$(SYSTEMD_SYSTEM_UNIT_DIR)/{$(WKD_SYNC_SERVICE),$(WKD_SYNC_TIMER)}
rmdir -pv --ignore-fail-on-non-empty $(DESTDIR)$(SYSTEMD_SYSTEM_UNIT_DIR)
rm -v $(DESTDIR)$(SYSTEMD_TIMER_DIR)/$(WKD_SYNC_TIMER)
rmdir -pv --ignore-fail-on-non-empty $(DESTDIR)$(SYSTEMD_TIMER_DIR)
dist:
git archive --format=tar --prefix=archlinux-keyring-$(V)/ $(V) | gzip -9 > archlinux-keyring-$(V).tar.gz
gpg --detach-sign --use-agent archlinux-keyring-$(V).tar.gz
upload:
scp archlinux-keyring-$(V).tar.gz archlinux-keyring-$(V).tar.gz.sig repos.archlinux.org:/srv/ftp/other/archlinux-keyring/
.PHONY: install uninstall dist upload
.PHONY: all lint fmt check test clean install uninstall wkd wkd_inspect

186
README.md
View File

@ -1,30 +1,170 @@
# Arch Linux Keyring
# archlinux-keyring
Repository for the Arch Linux keyring package.
The archlinux-keyring project holds PGP packet material and tooling
(`keyringctl`) to create the distribution keyring for Arch Linux.
The keyring is used by pacman to establish the web of trust for the packagers
of the distribution.
## Addition/Removal/Update of a packaging key
The PGP packets describing the main signing keys can be found below the
[keyring/main](keyring/main) directory, while those of the packagers are located below the
[keyring/packager](keyring/packager) directory.
1. Get the keyid from the bugreport in the [keyring
project](https://bugs.archlinux.org/index.php?project=7&do=index&switch=1)
2. Add the keyid to `packager-keyids` in alphabetic order, following this
format: full size keyid, a tab, nickname.
## Requirements
## Revoking a packager key
The following packages need to be installed to be able to create a PGP keyring
from the provided data structure and to install it:
1. Create a key removal task in the [keyring
project](https://bugs.archlinux.org/index.php?project=7&do=index&switch=1).
2. Remove the keyid of the revoked user from `packager-keyids`.
3. Add the removed keyid to `packager-revoked-keyids`, in alphabetic order,
following this format: full size keyid, a tab, nickname, a tab and reason of
revocation.
Build:
## Keyring release
* make
* findutils
* pkgconf
* systemd
1. bump the version in the Makefile
2. Run update-keys
4. git add the new .asc file in the packager directory.
4. Commit everything as 'Update keyring'
5. Create a new tag ```git tag -s $(date +"%Y%m%d")```
6. Push changes
7. Upload the source tarball with ```make dist upload```
8. Update the package
Runtime:
* python
* sequoia-sq
Optional:
* hopenpgp-tools (verify)
* sq-keyring-linter (verify)
* git (ci)
## Usage
### Build
Build all PGP artifacts (keyring, ownertrust, revoked files) to the build directory
```bash
./keyringctl build
```
### Import
Import a new packager key by deriving the username from the filename.
```bash
./keyringctl import <username>.asc
```
Alternatively import a file or directory and override the username
```bash
./keyringctl import --name <username> <file_or_directory...>
```
Updates to existing keys will automatically derive the username from the known fingerprint.
```bash
./keyringctl import <file_or_directory...>
```
Main key imports support the same options plus a mandatory `--main`
```bash
./keyringctl import --main <username>.asc
```
### Export
Export the whole keyring including main and packager to stdout
```bash
./keyringctl export
```
Limit to specific certs using an output file
```bash
./keyringctl export <username_or_fingerprint_or_directory...> --output <filename>
```
### List
List all certificates in the keyring
```bash
./keyringctl list
```
Only show a specific main key
```bash
./keyringctl list --main <username_or_fingerprint...>
```
### Inspect
Inspect all certificates in the keyring
```bash
./keyringctl inspect
```
Only inspect a specific main key
```bash
./keyringctl inspect --main <username_or_fingerprint_or_directory...>
```
### Verify
Verify certificates against modern expectations and assumptions
```bash
./keyringctl verify <username_or_fingerprint_or_directory...>
```
## Installation
To install archlinux-keyring system-wide use the included `Makefile`:
```bash
make install
```
## Contribute
Read our [contributing guide](CONTRIBUTING.md) to learn more about guidelines and
how to provide fixes or improvements for the code base.
## Releases
[Releases of
archlinux-keyring](https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/tags)
are exclusively created by [keyring maintainers](https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/project_members?with_inherited_permissions=exclude).
The tags are signed with one of the following legitimate keys:
```
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
Pierre Schmitz <pierre@archlinux.org>
4AA4 767B BC9C 4B1D 18AE 28B7 7F2D 434B 9741 E8AC
Florian Pritz <bluewind@archlinux.org>
CFA6 AF15 E5C7 4149 FC1D 8C08 6D16 55C1 4CE1 C13E
Giancarlo Razzolini <grazzolini@archlinux.org>
ECCA C84C 1BA0 8A6C C8E6 3FBB F22F B1D7 8A77 AEAB
Levente Polyak <anthraxx@archlinux.org>
E240 B57E 2C46 30BA 768E 2F26 FC1B 547C 8D81 72C8
Morten Linderud <foxboron@archlinux.org>
C100 3466 7663 4E80 C940 FB9E 9C02 FF41 9FEC BE16
```
To verify a tag, first import the relevant PGP keys:
```bash
gpg --auto-key-locate wkd --search-keys <email-from-above>
```
Afterwards a tag can be verified from a clone of this repository. Please note
that one **must** check the used key of the signature against the legitimate
keys listed above:
```bash
git verify-tag <tag>
```
## License
Archlinux-keyring is licensed under the terms of the **GPL-3.0-or-later** (see
[LICENSE](LICENSE)).

View File

@ -1,44 +0,0 @@
27FFC4769E19F096D41D9265A04F9397CDFD6BB0
44D4A033AC140143927397D47EFD567D4C7EA887
684148BB25B49E986A4944C55184252D824B18E8
717026A9D4779FC53940726640F557B731496106
DBE7D3DD8C81D58D0A13D0E76BC26A17B9B7018A
50F33E2E5B0C3D900424ABE89BDCF497A4BBCC7F
4FCF887689C41B09506BE8D5F3E1D5C5D30DB0AD
40776A5221EF5AD468A4906D42A1DB15EC133BAD
779CD2942629B7FA04AB8F172E89012331361F01
1A60DC44245D06FEF90623D6EEEEE2EEEE2EEEEE
5A2257D19FF7E1E0E415968CE62F853100F0D0F0
F3691687D867B81B51CE07D9BBE43771487328A9
66BD74A036D522F51DD70A3C7F2A16726521E06D
9515D8A8EAB88E49BB65EDBCE6B456CAF15447D5
BC1FBE4D2826A0B51E47ED62E2539214C6C11350
E7210A59715F6940CF9A4E36A001876699AD6E84
5696C003B0854206450C8E5BE613C09CB4440678
A5CA9D5515DC2CA73DF748CA5C2E46A0F53A76ED
40440DC037C05620984379A6761FAD69BA06C6A9
63F395DE2D6398BBE458F281F2DBB4931985A992
487EACC08557AD082088DABA1EB2638FF56C0C53
5559BC1A32B8F76B3FCCD9555FA5E5544F010D48
5357F3B111688D88C1D88119FCF2CB179205AC90
07DFD3A0BC213FA12EDC217559B3122E2FA915EC
5E7585ADFF106BFFBBA319DC654B877A0864983E
F648622B1715468FD654F45CB7310AE5F04569AE
4D913AECD81726D9A6C74F0ADA6426DD215B37AD
F5A361A3A13554B85E57DDDAAF7EF7873CFD4BB6
8F76BEEA0289F9E1D3E229C05F946DED983D4366
7FA647CD89891DEDC060287BB9113D1ED21E1A55
D4DE5ABDE2A7287644EAC7E36D1A9E70E19DAA50
81D7F8241DB38BC759C80FCE3A726C6170E80477
D921CABED130A5690EF1896E81AF739EC0711BF1
8840BD07FC24CB7CE394A07CCF7037A4F27FB7DA
76B4192E902C0A52642C63C273B8ED52F1D357C1
0B20CA1931F5DA3A70D0F8D2EA6836E1AB441196
34C5D94FE7E7913E86DC427E7FB1A3800C84C0A5
65EEFE022108E2B708CBFCF7F9E712E59AF5F22A
FB871F0131FEA4FB5A9192B4C8880A6406361833
8CF934E339CAD8ABF342E822E711306E3C4F88BC
39F880E50E49A4D11341E8F939E4F17F295AFBF4
B1F2C889CB2CCB2ADA36D963097D629E437520BD
4A8B17E20B88ACA61860009B5CED81B7C2E5C0D2
BFA1ECFEF1524EE4099CDE971F0CD4921ECAA030

View File

@ -1,6 +0,0 @@
AB19265E5D7D20687D303246BA1DFB64FFF979E7:4:
D8AFDDA07A5B6EDFA7D8CCDAD6D055F927843F1C:4:
DDB867B92AA789C165EEFA799B729B06A680C281:4:
2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E:4:
91FFE0700E80619CEB73235CA88E23E377514E00:4:
0E8B644079F599DFC1DDC3973348882F6AC6A4C2:4:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,15 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsFNBE7VXhABEAC7AB9vHjR4b/lXq/HANeeN2vWQYK3xL2/01nvUPwycjDbCkOg2
LZzBiun4KARWHgslErhZ26Yxsf5GQmkbndAliZJ1QDC8Evp9iH4zvc0BCp6Tw4+I
7uHc/rlNw4g5/92EzHVtOWzw0FaB5exRPZfiGuuyOtzbny3oEHw11uighYxt7POI
dlBFGAZjf1Qcjc1dAhRUerH7W/CFhL+fAvgu1zPtjei4m9jQNR2xjR8ISu9HyfYE
z1s7tQeL3AZwVg4YYRdFSjbJQAc1CJoRh5YnYdjpxfgmNVLxo8BAqM45ZrX21nW1
+eog00360d2lQhhYmFrySrxXLvlTfpapt0NwZbbSlvhJbS4C3DQ/Wxj3WIaYTXd3
tXbH6CQBnOUL8mItQnwHJKbHXZKV1dZHAftMNBrSllHX7s4yZZCKsDd7PxiSCqFJ
Ihh/RKGHRVprpx7WZ1b43MoeRDqcRvG+/dnoURFe7xEzzZU47YjLplxGETzQmw7h
fYkMihatKflMs3pgNbuUOduwF3wbvM/31PmCCD2/ZXeH+BBFJdu9Mwj/ZWBwHMxU
nTDnlRzSoo5ELBtc5oQ1ReZZD5By32WGNootgU3mjSi2XB0iL8nQSYBOQrvXlBxF
7NIdIdEIjHWvyPLP2Pf8r2j8Ly7WHW/rVpxRCmRMVShzevATFTBBhMe8eQARAQAB
=pzYu
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
wsGTBCABCgA9FiEEqxkmXl19IGh9MDJGuh37ZP/5eecFAmJ6P8kfHQNSZXRpcmVk
IEFyY2ggTGludXggbWFzdGVyIGtleQAKCRC6Hftk//l5505TD/9WswoM18miX34A
fQqx3QyiFWfGsInACJ6GN62t8zXJJVSv1TWE8XdNmy5YwSAOL0MXA+uggt0b/H9s
elO03DoDjk7yI4bxncGobHaUNB4m8ugHbrpE/af5+BKdnhoN7v+z3VL4fxHZ8sHp
wOoorA3JlJbsivG6k7KFB9NtfI1WKm5uv4Po2UgEF5hfpfCJycvU5ccsxmVe9Qm8
PCrkXzlMxIJYNsj8nFemA6oeruJFUOXkok055vQiW9Qt2myHmw852DbNX0RSg6lv
qbktDkq5EQxlOgrysqtrfQdlLX4TBtDIZrX7pY+hfMPRoAKHUGubuUL6Q1qc/4Ek
mpnku4UtKN9KxY4rMjUCvUAO8ziuUvIWbL5JIIXZkJRezWpBwnkIM1/ctOf/XlJh
cdXJca64zuNYsj4R8zSBOCrPwOyDCOFDXQzzYwlUII+hYdXOLbbWbdIOjCjKRzf5
EwI43Hme6k2dmEarNjAX+1Rqn/GG6U/qJizqlOh3tf3Rywt2mZ1aGv/JmvuO4eAf
AldPloW+y9XdaOeOvBOMfGDjAlP0HikmamBS6ECg/RRCF3VPm0fXupqlRE01fMDA
8jIIPwTRBLT2n3JQ8coJwKBgNaCv7ANFa8Z3oIE2+NO8M6Jqk4H5HXbSS2tEYtRv
0jMG8BCx6ig1tjK6MVkPHRuirAslmw==
=ThEv
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zURBbGxhbiBNY1JhZSAoQXJjaCBMaW51eCBNYXN0ZXIgS2V5KSA8YWxsYW5AbWFz
dGVyLWtleS5hcmNobGludXgub3JnPg==
=wC9S
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,10 @@
-----BEGIN PGP SIGNATURE-----
wsBcBBABAgAGBQJO1nGoAAoJEAYJamrRzt2swd0H/RcN+L70DNwJHJRSglfNf6L8
hRWTV9XO9NjaJ1BJBGX5uNHdaO/vf+0fAWhK3/f8oRnrSQ0BLUi4WucoPxOD5lEp
b0kczy+0XNSqNd5o5a78BJBSM0pnkkxD1EcHZS0LuVwas7mSBwbKM6bfeC47NmT5
SxGFzUpEqSfcssJ/DZpP30bufx3G/XUyVOph4rj3aJ5i36ZWA2FZtcuTr3n1buqW
Jim2MHMioQGx9/2ubbeVt6CHBF89bQeH9XZNGGFaTPYtQVPcZzLoWajXAfLv5K5X
/6t1RyAlEOr5n727DYfvHRqLOZBYe/fNg6koolTfWvH9Ky3fJQ5KYWANhS6fVAo=
=P2Qt
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,10 @@
-----BEGIN PGP SIGNATURE-----
wsBcBBABAgAGBQJO1Y6+AAoJEPmf/g/q6Zm9na4H/1r3X5MUBw+2IbmSzB2AGvrl
Rf7LzfO3tjt1VgSjpcjbNZkpaRsz877BzlpFxBQg7J0xOnoUrWzWEwKhzsrNrwa9
V5sOjw6eo0IoLX8Yhu2cNRaDSRBZTbx7yx6eWiWVY8Xu2wWEPBXWXqFzbeCf7vjI
Uzj0XxaCULjfil0J6L5vYGF5nig4va2s+lCewbgXiVPtvFvmlUifs0ov2rRYTLez
E2e5rO17MJ250qi85/RbNqyOWGNrLrZmjJn8LqoHSzaJ2dFhtP6Uz93kAAO1pUhz
Mcnok3HyQX/5C/CZo2ziJofJk7Pt3fQRZRw0F5WdL6rG+A5CQsPMg8cPOQcjXFs=
=YOnV
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
wsGOBBMBCgA4FiEEqxkmXl19IGh9MDJGuh37ZP/5eecFAl+gsrgCGwMFCwkIBwIG
FQoJCAsCBBYCAwECHgECF4AACgkQuh37ZP/5eefRSw/8CZsWkHIHGsJVRlKPbw3g
10ZuIUcqGKV/jqDq/XkiAvqiBQ0Ls0Lw4F5oWMe0ixRYpHrep9RgJAda60jUirCd
CqwMeRMQLFKvQH32NlB8KAASx/fVZLh2OyRIRLpz0hxFNVXOAMpwuR33IOemNoNl
e49lD3qsZBrZmVsNWzWqgtxPRAvyJ26tECXymNPxpGp/XLM+okpHXhRAMee2e2s5
K4+3ptjA/p65FDqmDUKK5w44nTD+9sGkkEwouXNtkbh2VLx4upBpjFb6nk4m4481
N4XxYB1+JUwy1OeW+qA+y/F3190aIy0HOGknUO0qRPxQEbAmyqFVTSfUwcuc/Bkr
ZoTfVCH9E4f2mCOUZMk6if4hx87dTMs8REfiBq+YuPudc4X5Zn6RnXpc6x5joEcj
TN3ytZmQU9GQFQILm9HPBpZZDn8lEoQ5Fgn/apce46E20pLvtZue1P/Zn9ASFHoE
1stCFgy8I2YNN1Bv0eqXb7QO9j2/bbOFKqTN25DJW2Iz2SyzHL80QLttjA20WOoS
9BRrWGmCO0wRhdU+fvhtMaVhyCJ9dFbVt61/VCGgGiKX2cYnG9FI5VS010AyQ/iv
FIhdxXdsntr4zad4fNS8obP6drNmb2l92az/fhB2DOApWigGsvpGxvMii1A4u437
vcJvlaWGcQgV1BRTEJS4Vdk=
=pO51
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsFNBFvkP6oBEACewaL2ZQRH3nvqLGBF7hUIOetSGP7/QeaX9wH+bQ0lAUc5/YC+
ltZE4sEmDiNvYAKA699KA6LD1lmDm0JikipFZhtXGKwPKjpAt81JnSrzy4o9XTzf
v/rZx8+2wzvMhstct0v0KsB8eD73ZzkeIDnn9dZ+Ue5irh6AkAibWTbImHUmPQ5C
VbAQgPlNl/KZaR4cc/0zFBxgWA9nrmdRDBMQbHS/BeQ6clZgVbtPhF30d6U0z96H
82XIGoYCUKwjTF2VIdJG8+FNMbAt5xtb4mhhFsVVaN5QuJiODoYRYpTY6fBWq4CO
37Il5oClRjeVyxj8geQlmtlmndO80uou4RS94K5ak2lspsDKDt1rLCgps8Z6zT52
s/RrIM+T0jQR3hcPhu4hhRYYhCZT9+QRjvIzz4+C/ieLssSE+Dxg+D4ICKo+FMSN
inGVoARwUULxDrRz/lA/dJ8NFrFAgqavzbT9Wze5lbQQdUoz2KPez7cyB/4TYRWp
ztAFofw2VyIawTvRq+iwSypIw3P1TSRqlHW/t0VC0tnmN8x4xl7CjpoEQvxjmI10
cQafEFKadKeE5u1s01JtlnwcqasJPALRTXc85QnUXOzXqvlRzjJIYkVqBj2NVv0u
MWU6rqqEGDpVDM19xCmlT5wymFc/L5JPZQZadwreSexiaObMo9POzQIlNwARAQAB
=Omgf
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP ARMORED FILE-----
zsFNBFvkQRoBEAD0+kDjwgoiqs4qA8lSWJ/UJrpVyPfCRY8ofsrny2twgWok1a0y
WYscZCVTKcAwSGnuuwlz0UxwrjBSumhn6Q1JnxnKglgyaZPHw9JRMdNWhwYMtQrd
+H1RUJEv5VpxRDS7/2B7klbJqCmOn6qM+K3lrRmVoFaSuRGYsBlJJAjvAIr5KdRL
ixvKNJNffvf3vCJs71Yc27vURezGHVyeQcRgYw0YAs9IQmLiRAzRCvcB9QhJiJBg
MxRwMoGM+Y7sxOJH7/+/TbQMICosIq+HGCF8gK+kIaiIEn1vfM2PBi9r3+Adm97C
bSrBD/cakryheC9MmNuE9tXB1vFQvJnTSrJulrnhdSG58dyWnERB7dd/nl0rJNYl
41en/p5Ie8O4VSBsOevTESQL+HqyZAt81xlDosrhalOxutHCs/LPU//T2ZKlerQQ
5Vzm/H3nzyPA0ldCgkjnCA3RwtpDmDq/0z6PIurLOZ+gBkMcNqV8RUCocWMxyF9z
L4U+wExm672NkxUGeWgEyrw0nFTUtH6xPvF/aw6At02Z1OhcqNGynFJV+aAi4w69
kGoUEgxnPoHPxReYga7VcXQgWdK/vCeu0olniK86z83gbKpNuL45u1ta79XcaU6C
i6zsnS3hgIjnKvXaMJDeXew/YS0gx/zyYPZ5vUHX9EfuD/cRm+504cf4GQARAQAB
=PFJl
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsF2BBgBCgAgFiEE2K/doHpbbt+n2Mza1tBV+SeEPxwFAlvkQRoCGyAACgkQ1tBV
+SeEPxxn8Q/9E+EGLkn/8JvU8sTxw3x3x/CUH+8gyfDh+FeVdyBtRIbbFxqPRMGv
kbP6xJ9zuXjkV3A5pqxFjEWWqndgwvemmGFWcoQS2FDEbHAidRckzICWnQlt75qW
XVV9vRAwAMHtSx4TNCml+NGcvqX91zXQkT+RJe5lbTQK+AdnGamMZSeOE1mISo6b
8o79uLm/Z+tas/tpWsV7UNYbbZO3k0kzzqKgRSDNYMNeJJux56nT2ANUU9se/lV6
eYWsqqkKYxuBF9sFB5Z1AZsnbNMsPyGhpSU3NFcfw9/Lkbr4AZtfhseJFCLyXwaR
Zc7048mTAERttpVh72J/65hughNOUSFhCPYWhQFpnVoIwZ3ugbmOXBNNZR5nOYrh
ZEf3QPy4B3QD8nUyIufMEurq4NdlgJ0jnBiT8hrvbU9OM1X4m6q0ARJPJGWRzIBj
Y9oSg2K0jZ5iAMvGEz4cwPM7+GPRuVtthRkYBK5Pw2yabHPCcPEmMVYb0Ap35Qr1
jEcvp4gN7txl0HprMnkgrZNUrlLLZBLpIgczCY5s6XaEPyzFtcmFjD5lo5fczRw9
hVANMCfwZ5scvhCxv64yrFXC8cavsrtK3ru7spS10vWdudpjws/z4Op6geGrdlPX
swyiU0wCi9ystkcprrJre/El55diojxoVUI7jECl0Qzai6VbDuTBQsI=
=lUfa
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP ARMORED FILE-----
zsFNBFvkP6oBEADjYH5y6SQmMIkRO2ZWdMyxIScPpHyH1q9CiOtSQJLqu8tUSTsj
wup43Wl+CAjWkFJ/RtvlupB4zXSMxF7wU3lURd5B+BKCStgWpROxLh9ANHjrofQb
RyltvxPThoPaSyud3J8fzcQ9O/Q4X3xhTHkQVHx4S143L84BMJ/soEFhN8FPVSP1
cgNc8g/xcbAGkBsToAK9VNKjovba/uNvZEX2VaYbqxdd+69fsQ61D81yYVfZFSQL
0o2tymoEQmZfuug34s3CXNpSiPCQ17eyzjvsuxJepTXy8gQWXkkOl8FvUmTlc2Um
NI+ZqHwiZZk01EDeScyfcL68H2Tz5L/c4Mvf+56JjSTLipOsxbRviWuZG5CvN3nu
0Q4uWnmOFd5/43fZhLUHOzQeBwsZT62jKPe+wk0huXHmiCyjjNCfEl70emSFkEeg
0R0wvjHuXvxpJLd2r8A/PlfQ86LD+hvrrLxZ4XdrjqscF4g4HHQ5PGw0hzXAMPwg
E0kV9/ioTGQza+g5zwJRfr2VGbgk2Bg76Wk6MirjpSYrn5o6ebRMT77Tsk9hDVB0
tAU6RbuIMJo7h0ZrzM0xW5OEfF73IFmVgNhv47Mv6Kq7ddwLAyxcqQekwSgk55Kn
oltGINoUUEYOR4H54Vxk8szSdZEHL0rzR4EjzgZppqQd/wNYYW2aon4ghQARAQAB
=Bnat
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsF2BBgBCgAgFiEE2K/doHpbbt+n2Mza1tBV+SeEPxwFAlvkP6oCGwwACgkQ1tBV
+SeEPxw0qxAAnSnpb1SbT54Y2UuU+81YUA2HpThAH68Je6skz3Vu/q8rNVtMkH4I
a+SqAhfixvS9hZKnL8HHXs9m0m4F+IiUOcW7WDNGwqrt+9q1PTFsq+/OylOxq/Vc
a9RwgpA11125SH56EYG2Numz0V+AHSz9QEeZe9iL6joCP36kmu6to0PbAIE1EuUs
LhLAIZAUgVtjvKJgTQcAvTJYZY/DWa0dbDCWt48ob3vmKsv/gVAzto74aR+61hoD
Yqootv8dckHyLjzTXgslboC040oJMFGk2yW2waDwfKtnWqOLLMrP9gc9MelfagHz
NxbcZQ2dpUa2R7zOOJr6Sv/5NMB5sAcRk6V+T9thpA/V/BONdQP05tw5waiZ+9fh
dBUxXGleFJnq3SvB/iO1jvdRw60580QF4brqThEZwncXE4tRtNJlr1cqG46N68HB
wwOc9czL0Tsj+6kCBEVv9RBueSQXckIF276FcSxlMyihFXdVawVO/T51GGi0Lb8m
9BnHXvVKokmRtlbaMwk2mYXDAtGdaVr3GGDgLqEYzVo2Y2fh/8UeRk4s46YkAsXq
VMFIIIQYMPt+DKo1ISrVUc7kKFt0LUhNJqCcrFcJj6FoBE/b3cDL4Rir6AMRK4a9
oj07AYGUL6Dhi2al+ZoASOXuK0fJUshNzHfpNV7gpKnJov87Ws8NL8A=
=/5xF
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zUpMZXZlbnRlIFBvbHlhayAoQXJjaCBMaW51eCBNYXN0ZXIgS2V5KSA8YW50aHJh
eHhAbWFzdGVyLWtleS5hcmNobGludXgub3JnPg==
=Gl8E
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFzBBABCAAdFiEEj8FaBklQqZ3RvRTdOeS4d+YuuRUFAlwmkjMACgkQOeS4d+Yu
uRXLYRAAk3UnThNcG/aTDXN+AZP+P60DxyUI1FdwYiAyzV+Lan2e8oAfr/ppPJii
uivH8s2wwR0lh8g1bGLQPnH+8b1BFUB6mp2vSUSfl19y1YCJtzWvx14GSZELJ7M5
iRMjqO8EoiDQDEEeNDPXyRfWBhVr1FzpbEWMaa7goJ7/jZxfZ/PvVktfTYTgWWrG
brgspNcD0u+ZphHFFtjPb93iXBr5hPm5TW05jrn0Mgi72hN458YiedQm6A0alRob
B4+Ug88iGtaD7BlgRwvKwPEsvOb1NCwN0jZiagcdOi+BA3psqZ3XHg2fTigjKPV9
89JPs/STDPlGLbJuFjoQqI09TeYVhONMOlf6UN5bIO167OHk5taRU853l+KFefpT
msnGN8oL7ybN5hqSmP0Qci/FBnLcBFx4bJJwIWEFuds8oLf31v4ROAK16HZkEtRJ
eFpqXaKXgkY09IplCY9slVFxt8Eqf7W66c3EUmY8mgQpQ0rp0ompCsMEQlJVFHyB
WA2to1piTkZri0axcKd9HHf1iWgg0qo6X7GbmSaD1yq69OOrDyYdD7JWJWDXAMRc
VbPD8lEw2o0SpyHg8JSZKvfMPxdyBcLWB3j9xDK1nrvtLQiWxxYgzTFqnKMKcDk9
l79/OnF1NiW9QJLwm8Fx6ZT9zNPNx8I+VCaz8FbIJYpyoV3FEgo=
=Wywb
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
wsGOBBMBCgA4FiEE2K/doHpbbt+n2Mza1tBV+SeEPxwFAlvkP6oCGwMFCwkIBwMF
FQoJCAsFFgIDAQACHgECF4AACgkQ1tBV+SeEPxyNSA/8D9/gqUmkJ9s3WNMVlg8N
PKFmEYupilZzO6/hjFNvYVMUtOigJ33LnS5XmWyyIgkj6O5QlNxvLF4pXYtruFOQ
dwGN/KFFCBK7VeqAsjNaz3tf7/NQiH6HbACFCNGor4/N1Z4YFn/AhJ9KohbB7u41
CA6a7ZLXl6hXh+5nTLXHTXv6LV1MLiYBPYDncUrW9P63NRDbkWF7uuCE9d6q7Fdx
RCK7jgzrq02GdaetzxX1/oP68XJK4qTaPgdXXfcBMOFRbJUzVsTTgPtbCG9EjHgV
DUXMhqClUXe41gWVjIyz1r9TvPKRcCOXZjojdJn0PxvyUUKyNDzghNLlLSORpq76
BnRS7hRyNUSzcH295VhVzv7rtd9/+jDNR06MRFEehUMNcTxIwUPbTcntvjzU2zVJ
uC0Jzhd6yiF+cWQIMeKdNM/NE6KHu609OPrMfP1ohSnKZrCs7dPD3E6j6X0sGS6L
qTmJh/yPs8pGwR+wvyznoRbW1MntDew8ZxH/wGOlGzG/9etuY5PpjL39X0eUgNqL
2osUcLLOD1J9Ns+KGHrr8knLIEH4S+1sBMjIUlI49e+IAKB/2nbvUTENoP44mFmQ
Ua9BSINnOeuGRgqj/WpK06uwaDZbue7OxMUiWCJF0DN7T6oe6nqbQ6oEprtad0J+
mCRkZxoVjWaUYezIqRrd8mU=
=sFOO
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFzBBABCgAdFiEE4kC1fixGMLp2ji8m/BtUfI2BcsgFAlvqEpEACgkQ/BtUfI2B
csjzsRAAyPH2978E1OOGgxWm4dUzK3s+X9UuK4eSzh2Gd9gj2iUYB7JzxH+FJt3i
iaBW77mmN0yYd1EGQrwq3PPR8pe0vzip+KUuDcKNT6Ut496jBKdPg+mLzFZG+eLV
Jz0GTqaee7uGI5AmCs3sbHOFnUOoqhblUCBys+TKDkzZqFL+sbMtfoW1S1cXjA//
o/W8zdn2SRx5wNZKzYMDzEQdWA46sqDv3x96l3LhviqXdyLLAba71YJ6yh2SF443
zc1T9allULWKbeGc4kN2KCtE17M5VlvLsR2vf8YeAtDdXqzo3PWYo6aLc2zbBiI3
8pMmUMpOCnBVihiSjyBFSt+wpbwivEdIx1TIfRfVl+6Nxk6SuX/9wcjgRGkNwQIF
EbdN5qIpHv3VvYimSX5+NUqoohUvpkZPfUeew7NiwUM0POW8Dp1SVUCcKXSi3gBb
nB7t6jqPB5VIgiVc5oAhpmUO8seTBYIkQYEdLBL/BezWOAiJHLPsquhwr/7Ass4w
0XDDQ2Ug6doI3Jt1Oyf9iXp6N14FxSijlJYxJ364eZvVf6QHtWT8723zpllklOpT
DywsLM+xqp6EVs3qKt4oBQIbWBLlEyA/yb/2kaeuRebWrMksCCkSUvUWM/gRwDu+
UJa9RdoHlNBVMOFqkVM80Pd9JDa95cvzGEX7Z4x373mZF9a+R+c=
=GgJE
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsFNBFkZ7lYBEAC0zCXwXOY091ccRjMYol0kRrGd7Z6kzAWzh68rCUPtIFnAiGjB
vbUrKX0fXuXN+epT607l5GE+JIKe3qGgHN0JvSEFtNqpbhQjLUCj4PcdwB5WBar/
31Z74cekaPwAMDSYmiZ4Pya0qxfveRqDpdhSKuXoCQVj9pn+GO8GlImTjY7257+O
C1Em9YwEzuqxWZGM/DVS0X3pfKuQ6zlGGsQM17GBs9O99ZtO7SqQN2celJripUPK
/YWDFjqNaQb3MpjTxik0T98t2m49CuqfjgWkkikRg3ffdrTebFNp6hAPn5Vkpb7a
HGlxEBcXBa3NmiM5YT4qLa3pG9eV6kTM8w9jVqKl6sL+lrIatLSS3NEmrBH6Tw+R
Uo2agKlY4/MQEP95jxFHMIlK/6yUKh5TCeXFosNJAmAHG5GjRtbk4Zvq8PxWXO55
zrDt1hheYRjRz38wMqhzMStrsK/c6Z45Q5fuLfJY81cmDagxPfiwkHeAF9apvMMl
ZsgZuWMwmx08TH2VDsVFOoHOq+Cs/WJlkqoqZ+tzk7rMSHjat+SYr5pW04+krZx9
0nZ1XJ1dHBo1KuZQXcEmL0ed74I5s+akX8wRzCZvFO69zMem5r9sRAvyxZJxi0kq
Amxu/lH7hpR0iRjU+GOIGaKQThLwJHrO+A+EhZiJi0Xt6KOfY0+liwBmmQARAQAB
=2rwK
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsF2BCABCAAgFiEE3bhnuSqnicFl7vp5m3KbBqaAwoEFAlkZ7tgCHQAACgkQm3Kb
BqaAwoE4Tw/9GvhXyBYMvBMUNmpqh5RLxLRkE3Kc63yZNjZYYhQBpe2jBIGK912B
WLSBicIBMbTXhqnypAbjsjv+BuxJds+ltF/picmQFMN1GHYKyqCUz4Gn/fNPSXhT
HfaJbXmxGm2PlUjOsPukMT/vOs32Q9DW1IxRR9ZgYvfno2PYkUpzqrhTfMZvjtCr
tcQ7eX1t3PaAzdVy3KNIM64zR0pm1OAeGS3bPvHHipU7RenA1f/grYzFabRuLASU
d4FqfifjMacS1ySAyP0oMOYIikCfqMi1PcGHMZAIy7O0ruOrK4mtYgK0xE3PUc9d
gDBwSTyvf7DG5x/q+Or8j/Zszqa3V9tDeGLLuqiP0tLjzpjYv0nR8UzFVEBM1uNd
KXYqqvqjh9zuT/qZnL7yO2ntaLZu8gSIE72PVfolNsBKNvze7zdOZjoxZJCM3PYv
XjQQYAwkUSo5+QvoputWIIxIGaDYemZIqE2rbjOwUzzXZF+RzeYu81WIYzeOoi2f
mvbTPI3ZmDIcESX7UZeo7bC/T+600IGvKWRVd68zNKqhWhbCvdmnMK5m7uUvUTF3
XsAUb/jLE+LdiTwTNOiRDFa6z71BnbuzTix1cy7ABq2Pxw/qA9JXSoHk6bbODmqW
obvT2T9xd+yD6y1/LgMM5wDOPsktnUy5pdCmvAF20w4B+0E1SpB1xTg=
=GU8t
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP ARMORED FILE-----
zsFNBFkZ7lYBEADwyySgtsmaPqjAKu8VnG9jqMoeeCht6cxSivKzCs+dugSaShYu
ADXm42mtbhC2oHWA8dW5/USBlIddXieo0W9Ip37RBRWnYnGJF733wF5Rz8NXh/cL
VzU3EzUTDvARRMRqfgL+I8R/OSYJxbqIPLQWql8p+GuN/243Bk8nvBKuuKnckn1L
Em4negowk4MgRxkfUtpszGsmtM//2s5kd3nS2Mle7TalcBIVVjSePnCk5sqhXTwK
Zud3915mJQJ9xfpK3KwBJx/jUdVi5r4wYqYy5X/+9xp4rAKggUs22tB83fN4fbs7
K6rJ77yhgnuR1E4SAH4JqcVEnN6xqT3T6VXLZibbgmztPTZ2IIwobMD2YsLPBA5D
tIpzTs/6g8+jUaBC2OxKmPJMZRHCVLtHoaABxIZihIJMYaNfYe2I9PNuAv/TV5C7
YEFsUBUnv02prJraIJ2FEAI3nfDk6ZdSEeonKtGlmzkLesQXZtl8ZYs1IEpWHgNY
ylwI2WIbjE3jsowXPPln8fjiVKPOwExdOBO8U2xm6OqEuajQhEkdf4Mr7x0wQUdT
H8jKob4k4gp0HUE9Ra2bgf9mVN0my+7iXJvAoB/AFmdpJ/Ee7vkRjhUxK+mREHsT
RNwxSh0nFm3+jAZMpNns7awqOhP1umjJlSYmTmppZ5Dufnde0jK58exkDwARAQAB
=HoxO
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsF2BBgBCAAgFiEE3bhnuSqnicFl7vp5m3KbBqaAwoEFAlkZ7lYCGwwACgkQm3Kb
BqaAwoEOJxAAkKLOCqUZhS/HkM0nZGjRFJkeDj4WEJG3TMk9SKVjhtObB7HCza2x
4jxG3Ws9JChGLLefKSdR4SmIC0/ArZxeLPmMTa23Z8tH3BxPPzTLuOYLwLk8zUz5
g8PSS89E7DtqaHPBLks+4NMm0/Kvv7TEvHwCxNJnBMjgbINXzArTxusxAR0LxJeb
IFy5lbYnqYbjQgd5oihGcUgYX+BsH7YspwZw8lBGrPTSDlM9vZTnpDsYvBcO+Z72
Noil2pLcflYIFIrpSDs58gAo4S8I8R2h7VGwdGwA0aSEMXznZaljEIqufBU2rJWI
Kgih05/vnHsKMzgOSpd7u21lx4+YJpFhzGCNZ1SL4LdEv7UK6VWFj01JYSABfcvQ
Vx2L1DSyQ2/UkQtfQ8k7VPTaN6Udcdksx5ZZNdgSOqZIvr45BTLSTPSeTN8ZrT6P
SWIwJ1J94VMq/7QW0K/XcdtqArddDPUbDAgPp0zUm7Ye/G5pMTaU3kSrRw6ABA+a
cDPCKhQKpbxsMGTMsaE704jh5G018VoP54OoAdLeaMH5o5+cz0Fssr1yLdAIHnIf
IlDPkinIA0hgRCNHYqN4p5KP/CeEUV09wOXCnwHz2+TEn30wqqXHXBpzRZo22nmj
mEuDW2j16HTdHDm30b/XxU+FN0IRr17aHMxqfJQWtL9hxywiWgXAkn0=
=mLgv
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zVVCYXJ0xYJvbWllaiBQaW90cm93c2tpIChBcmNoIExpbnV4IE1hc3RlciBLZXkp
IDxicGlvdHJvd3NraUBtYXN0ZXIta2V5LmFyY2hsaW51eC5vcmc+
=T2L3
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
wsGOBBMBCAA4FiEE3bhnuSqnicFl7vp5m3KbBqaAwoEFAlkZ7lYCGwMFCwkIBwIG
FQgJCgsCBBYCAwECHgECF4AACgkQm3KbBqaAwoEp6hAAmmmcRrNYhemm5/qvaDXN
7aMVhQJTAkpZvB3hDRIcLNugvstUqFsVQ7nXeGXUSRIOBGJ0msbTjzJaQLO+t5Mg
mWLC0jCaJLKuNNdaCpTZQRYeIO3OhoXgUgQi+g+YpLvYvd6dLTqDm3B4N9jHl+JI
C6kBF3IhlA24wpTn6qquARQEV51S3XuUU48zDsiLKmoeVvJ9xriCIRaWMqzfzm4o
CHep6Y8mC3bzPpYDEsqJhRPh2p0V5cUEeeS/YQ5xznPN0cJb9LCt+f7As8HlB3R4
zjRBIxoh22ywAAPzg6d2tDLIOJicrDwwu/0Kfiv3ZC1ZuQnrqCdDbkY+MnKWBT9a
OqzTNLMB+vuokmTCuc/MyIyhxPO7QHqr632pFg5sLt8hy73BXCSqper66+0HfYGe
FHNYMiY8Kenp2Q/1RgJuxhpZJYil9TVx9lKxfZDHT03B7Pkr87NM8Z/yHBu9rRyr
2w3DQhf4709RtHT9Mcr20Xt/fOnuagdUoaO1lTOhTBd1o/nqjkpIRrWX+tWn9LKE
GWs5xxmYMFKFSIUVy0qc0lXSODpr7u8ub3NjxJ3GmWKCX6LK1GcxtJm1URJ2nh/K
xoOWtHjn/U4BmwaGdJIaRbXg2xlPpIEVLEpjS8kgSlCMA6XKUWsMN4YB1BBTyM5n
ACYxHDbCGaiM0Ip8qG77+Xk=
=Dqq+
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
wsBzBBABCAAdFiEE82kWh9hnuBtRzgfZu+Q3cUhzKKkFAlkZ74YACgkQu+Q3cUhz
KKnNcwf+Ls3vEPfVdUqWg58zFWiOOYqPdO7T8k7MHwQjSW3O5of4zGe7nuPfWI3i
+RRRb9RXqulRq9ChjEAluoQtPschCJh3LBoL78OEzaYh1WrFBVqdKo+UTHPZcrGW
JScPR8I+rFoH35nS7PyqRxDwin2iehVNj1Hfo6wMpuMXaH7ZKiM8vsE6BwI/+401
RV5Y4/O2dZ+R8lG4Xj0TI0k+xCXHb4FfGSebtVtdPOuYAhOkHvSphWhMWC5ORj6/
t/MJQY0OTS7qw5iw5J7KY75sIJS6YtyLc35RvBu1f8Y5cRmIn3sQ3+S9PxiZfFSQ
45NEcwOn5ji6HwUs6rAwF9iN42qA6g==
=lkLT
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,13 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsDNBE7VPpABDADAOk+g4YfRSe3FpZ+ZxQzcAhZBt9t4tm1DJsrrpczlB4Nah4Pj
y1ZDUuOD6K97+56obAyHw/FXpukcOljn5ugj8DxkWZoFZoQXJ/7en5b4aMPaDtzl
41bk4ntmge7D3wMmzfNJzKoQJU4U4QyCfPb7W4SlGcmrFmrqHLZ3SMU8JBlPwN6+
j4WuT04Bkg+2LurrlBotwf7n0nazrunkK5/CMHSbFObpd6Ug7cLoy7Jc54QEOxTN
L+wVe3H4cbFZJ7Jly7h++5zo1O6bngNR+SapiCMSMsa5nPN4m6PbjspRqvO7U+LD
tkUa1I9vzbpDUeURDBmVCwPseOg8aLko0jBjyvOb/TILaoj2hNpM2zyl4ytgpAc/
ccUkZqVJ4+pdtd48sSh2tOYPcoZF7hSFYpNpV5XD0ub3DvtRaR4AiWoZM35mlDwe
KMh84K4SuuWkKgVzvijtvpk4lUtdfVrilFQmjkf90EHO9PQ2NHMgRjv+dNtxgU23
hWKcIQUEnnTQqnEAEQEAAQ==
=AADd
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP SIGNATURE-----
wsEmBCABAgA5BQJO1UPcMh0AUmV2b2NhdGlvbiBjZXJ0aWZpY2F0ZSBoZWxkIGJ5
IGFub3RoZXIgZGV2ZWxvcGVyACEJEKBPk5fN/WuwFiEEJ//Edp4Z8JbUHZJloE+T
l839a7DoeAwAqsRXxhGz106p9uXuUMuoM5pAm2Z3tcv400AD5zMb0JuhyCPVXWdm
A0pEd0DRjnR+lAKHusYlqX0rF9IvpUU5VV1R57RkyWier1JTDBdhEJUmQjSPlSCd
9un4yOScIqvJ3QaVBS0cFPVG3HiJ31sN07cJ1mjQ9Js6/FLx1Sx0wHZOs9ybk6Gs
VKUKAArItpdhq4dmHyGAjgwa2Nysr/J7CVDHTMSfaPGFSj4uQPEiqZS5ilGeS9yJ
RA0b6K+cCtqJV0Uijm19ggU522kCyd0oxwQM/H1E061Jj4iKaxgKr5dA+YSnHxpl
6OnhPgNWLGyx9Bze0xeSESGg87W66O8DUjObdc8SkKGDu/SE5xmg7IsxJkfPCnXL
ZY9FAOqAcTQKc478hAX2LPhLUXKxHGvu/AMqEY3/us8a83Rl1FvEBBBqhKzTP+FZ
KnifIJpyxaligKOKZgT4Wtssv6T8PXOHvV0IxUnq85bi9W7nlKP0Y/XWFkBC8Fr2
NXPZnyeMC9DD
=wfhp
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,13 @@
-----BEGIN PGP ARMORED FILE-----
zsDNBE7VPpABDACBeHRq8uIdvfLJeylADki9Rq7bxS8TD4hQT0FIJZBvEA8xhHNC
QJW9HB3Z1WaFGhkEr67GDQrDro8b/yGGv4qE3TZQYqLrrBUcvN684BRLYNY9+Plp
FzHTyIHWASy/uq3Seoi3cDDlJO/QJilj+ZhXVd5W563acv3i3UZdLRTNgwmTnMba
XKmrfAOAawxFQAlp81EmiQfaPfR5yXOuHE32Wc/v5KSPdAUZne7V44YZNXuM2j1Y
kKlu+Q6PXV68vBxjDS2JlzpzTnuLisWs3f1ruDr/N1muPDBmscwvLgvRietCyRW9
dJzg7soWGU5z7oy7V1q5+Mkg3ME8rUXXW4JuuPAPmro5ybnsV/e9Rn75UjdjF4/o
yI66Hu2Gt9o9mOJXP+L2+oQOG0u5bHSB32epgIPNGbtSHhvBtJ1D2Fm+hqlOkdrU
/AAYieIqPUobVhvoqwjfppZRBFTZsaX6QGxo+1mTBfbESSsYMfp5rdcpqxKyKqdj
IicbF2If0Sk9978AEQEAAQ==
=hpA8
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
wsD2BBgBAgAJBQJO1T6QAhsMACEJEKBPk5fN/WuwFiEEJ//Edp4Z8JbUHZJloE+T
l839a7C8vQv+Nd1KT9SLcsWGP8gSuK0SnCxSBQ1ls/NChDdw5YNjWT7SZt2zrmae
LafStGgMT2oD72g6kYHiKZJqHKdfgrbQ+TqYTugytOvgymq97T/66gbHiN4VXCbc
9qdRsBqY+cnfbiK0YK+odD00IVbggy097cvTWzELuAQfoKkyOT0OwoTmxCNe1kmn
KHkWsrp7E6TN6LpqDS8ht60kjY2CYOfytXNeulMh5yfj4O/8Sa/NcoWYwB6OGx0I
dOB/Ibs41i4MdKkiI3Le/dgfJGQNR+c3njWn6Z4R1ZrNhuWmYpca9Dd3tDG0+CF4
qVKf1/QJxd9nx8ERAUIGH2cfuyflt871o2FsUI/lsj1GOzB+Nyf++HgX5364Lk0z
Ok/JZFpOmHdP2YR0ZS3ECxwd8meS75JmEi27/eBVIuOoEInYFz9Gw5YdK66UJJIq
i+VwmFfn/JjE6+HDeWXbzHhEdff3S9Rn3K8u9dPw/Ha8Fdka9Q1EKp8McydRo0hg
PXKmKC7nw6qG
=Q8d7
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zUBEYW4gTWNHZWUgKEFyY2ggTGludXggTWFzdGVyIEtleSkgPGRhbkBtYXN0ZXIt
a2V5LmFyY2hsaW51eC5vcmc+
=XHg+
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
wsEOBBMBAgAhBQJO1T6QAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAACEJEKBP
k5fN/WuwFiEEJ//Edp4Z8JbUHZJloE+Tl839a7DmCwv8DhcIST8aAiMX08TmPcdZ
w7JfkT5PZPJNNRl336GsdEoM8nPHdmivkx3rXWO8J6KC9j/Wgkl8SO76zQZu+Sap
8pXANus8t2nZnsBhs4Nf7W0ElPybLfcg18J7G+ISBfUhGdRXh5oznwI36TZVJuIq
5Qkjrw3xCD/cIojc7bwBhbG8A6tmhxtRsRjfZWoJ33VTLEsiVgW3SYpBIo92gEOF
SJL2qbJZiCXhSU27WAGxbTYXxOIFb/rUUk4atnu/JK7Qx3i7cuoLfqIqknemTSK3
S06sZ6kPwSi5MjUIv8GMbtACLKAYNfy4PR3ebfCMnzwQ6YuutVklxDgKU1ZlFM2W
9qUguZG+NJzbwloyI7HwnwAX4qOtPKff4kl7Cbk/J+fn3xiLIDMM5kxo6DahC75O
bcvAK70mG9Uka1dGsak7TLW1hu7OoZIALzMc16Fzvi6GOVayWUxYI5dwXL1wqzQE
ROZ75Zm/gpLKEObwxRyhZ2mTFxNSxmWJF4O7WC15cgrx
=6l/S
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,10 @@
-----BEGIN PGP SIGNATURE-----
wsBcBBABAgAGBQJO1rYGAAoJEAYJamrRzt2sOMYIAKRJxbHQBMDslLCoJHY1pCMu
nlCKocwAGqDiu+sywnlQZll+IN+OtnhvcWEz1wwRaBm+j1rw9gu45sJXqAHzINh+
2T4cVIfDlKy4asUMLXWnkz5lvuzGPWtuQw07vSh2wxXK0aGWaHSt23p/hFRYQHhq
yxj5ZKv3FBmU1lgzxtQ2W8Xbiok11si1/JpOgNN1hf4IB9TWmZfT8kfNh26F8cjx
42xgsWDsFCqA/klLLawKMG7MAvF91lvaB6S/KBrNh56rNfn4pSV65n8DreZBXp0m
VJda2kXUd6KHHKInnw3d0rfLTUpwY9jrXl9kJ3WS/J3QDHJdgUVAEXkQAXLBoPI=
=bVi+
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP SIGNATURE-----
wkYEEBECAAYFAk7VQNMACgkQXC5GoPU6du2arACfVx11rGiaq6jcddPgCPheu9IR
4dUAnjrctJQEWTdcPweh9WD1w/F1Ypcr
=Rnfv
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEY1ZO7xYJKwYBBAHaRw8BAQdAHH2+9UAXXJXvyxwkHj79HmND++fsFHiPaVno
Gf0jQTQ=
=pAgF
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zjgEY1ZO7xIKKwYBBAGXVQEFAQEHQG6INFEAlagoAFlH57paFplRsXc7Ej7TYoEr
ThpF3akfAwEIBw==
=9JBw
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wngEGBYKACAWIQRp5kceOuBlKXUpgy5roPWiA39PQQUCY1ZO7wIbDAAKCRBroPWi
A39PQXDtAP9Gt1as8r9QDctUbzcGfOW0ZCtQrNnz3D5wX9eSALfykgD5AeZYzZ5C
agLMQPij6Xr2Q708TMVle+0efR6aWboniAw=
=vy10
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zUxKb2hhbm5lcyBMw7Z0aGJlcmcgKEFyY2ggTGludXggTWFzdGVyIEtleSkgPGRl
bWl6ZUBtYXN0ZXIta2V5LmFyY2hsaW51eC5vcmc+
=r3SC
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,8 @@
-----BEGIN PGP SIGNATURE-----
wpAEExYKADgWIQRp5kceOuBlKXUpgy5roPWiA39PQQUCY1ZO7wIbAwULCQgHAwUV
CgkICwUWAgMBAAIeAQIXgAAKCRBroPWiA39PQU8BAQDZOcoXzOZ8Mfr8B6/lE7D6
f0TnqaDciX4k3GePK3u9jwD6AlbgrA7qwghm4fN68IFR4+hiOqUndLd+adA4icgj
ewY=
=aUvg
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsFNBGK9jVABEAC0ADojI/Iv6q1xygak4ak8S1kXSIJaCZ94ZXbaMH5KXIr+eGpU
XLQohWDZQVMtiOn7zvzMOLXOken6UduENuy+R8RywJ5z/iSO08OnGgTuGqU23cfU
n76D9c4+NepGGDcfZJjfc8q738xrYBKPkM/1bj4QXPjB+F7En++/8Ob1TZCEnCWE
dtFuQfZUEVKSrPwrYWLeOJU5IsYjObZOzpuDaSbehczyV8bp1aY7e/gf30VWpTUW
w9ldLGTO2X2T0oVXJlrHzlaYonwb1Bcp6oRc8efkOUKREcE++EVjcHSd5i8HFS5D
jdyvDVOgKbVTX9DO62mQ5fTmEEtWeemlqe7Bi6vScZ1YhC0zUklQyVsk08kWSMP/
2VDtFCAzGawIesCHRXvwf8DYHlJk2h4onDrE8i+NmVN0Dbwo6YvkBgGF+x1Q84R0
IwBpesSvqxY+U9fYbdnUad+v8VZINEzilqYZjXKg/G4NbfsJEvKNV7z0AD7h3Wgc
ESsqPvZUdPLGbBIHnQc5pp8zyzygTWmVzcZ1r0w/UVlr6C0Y/aTbRFCWbZAC4Bl5
nCcVMVz1E/CTliGDLzuYeXRR575jpqTYp0H4FPQaR8dnSl97dqZTDsTbC/jYLy7U
LqNX5bQw/Px/4w4sqXRHc/aQW79pr+qPpCEUppiPQ6jS2vSuIJk5ePl0bQARAQAB
=+0rh
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP ARMORED FILE-----
zsFNBGK9jVABEACnRHSZBWW2GwSna5wt5V4MfDpRSgs+yH9tLQwdoWyExuF/OKHp
PEJWSrHP9QVrh8o7rYMrCj920FPtwZsmXN4YG5xYsE3TZZ/wSz6XQHYdzsXQKBzx
yBipH4XkmVvICiMjSCnETiX4l7+2mjVq7JOoMNUFZTdly8X6eWyj4keqqcRIciXP
rhzy2oo6Z+uEkeYiFbvbt0z6iBTyIQLFk0b52qM+zGrAE1b2cbKuC2Nue3lY/CS4
/oghKj8Aw8dqFNdxLMaocZeyxsD1Vn5QkxZZHde1aBhnJie1OfGWpT0aumBnn8Gp
WUddl57mD9G9Ncg3GmfrKvkXqPpw3paoyEEd/muIe1DZJ0JBZUBnx+k5UeNxKOuQ
BxWV4nGsIVTmpIBE/kjqPsUAbiPz4XP9kIHtodtP4wu0TXB6YZeznGYzWYwJwYcO
zmZieUAbzKii2gI9QVgJkMiRIDnNu1Z5zFOZPf9Eph1U//Kaa1mbYWSoEcPNxXJo
7EKEFA0r/B2a3hOFaarY7S8ZIaI0aYOWjfmm5l3XwsW0Ny1IdQ39/qaIbkvCzMFJ
dn+DmCQEUI7AmuRnrEznc9WhFl3tqPfw46i/6eut+B5u2dZqBX7Oj1FXODd7/+XG
kiOzymXu8f/UuY1gmtSYp+K7Hrrjg1KylRgfuAmebS5XaN6Vip7v0rOhgwARAQAB
=REMG
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsF2BBgBCgAgFiEEdb2A5Ng0UJ9udAJXsbc7AsxSoCoFAmK9jVACGwwACgkQsbc7
AsxSoCozEhAAqkbJ9Jess2ucdhZK/0/AFX25IKc2vMsllQYftGYVGvMxZ6Ow6du3
xu3eIlOd63wTTHZoqjmu5w1hZo5slhMoIZgMMyQYA7NSKaOETh9auF8L6zX8vS2v
y0wR84PxcE7KAKDEW2Crr9qGd/wlD88JyQ8OlVJsGuRVvYdoCoNzoBnhtdSmzQ2j
KwvDrZ1ePd7w1CCOKKNUpk24jZDvDhdtFbCOaUg1Gd63DEiZIDmHW6V6BwG5F3sh
apThS1G7iHtr8gHk5sAMFf7/nH8wHUr9DdJYXCjJwdzjYKc6lqkLYOyOCOe64dJc
y9B/mVTq3K30YJWtD1YPlFi2vkzD//cK136TOipMdgncY/AtLvDwySduXqZGkha/
q0FSQoMsyD7/vEI4I5BZKsdxlgwpZdGfdix7koQB4gY/+ZxDHwmdnp/4Ix3vq033
87bU3JOjpo3gQrglVCGqPM5sQKKfHqJbIznsULYodOntUBb93wxdAgP6Ov9ct937
vVjK1OiH6N8tjPPFFzHpSBZGFtjfz9l8eg1NFPv0uuDjJFTP9W6K2Cy4oH6Sj/+w
5hejMp9wYZh8GJep+6hYeEO1OJwHeyQh9n5ydRgYWgASEO2OmxQ1n2fIY57h/2XP
Kx23rOqnKUPe8onxdJ804p1fpaqG6YmsO8mF32llAwqSoN1DDBKMN48=
=oSMQ
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zUpKb25hcyBXaXRzY2hlbCAoQXJjaCBMaW51eCBNYXN0ZXIgS2V5KSA8ZGlhYm9u
YXNAbWFzdGVyLWtleS5hcmNobGludXgub3JnPg==
=sazj
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
wsGOBBMBCgA4FiEEdb2A5Ng0UJ9udAJXsbc7AsxSoCoFAmK9jVACGwMFCwkIBwMF
FQoJCAsFFgIDAQACHgECF4AACgkQsbc7AsxSoCoyww//VWxXK+HXFHH5UPYB3qW9
YtJ1OH4iEx7b6LHMeZWZyKEcAKuWSgcG7NyQ2OFyCYGeaFOCZJPoNm/nk62CuJWC
0JlwHtwQSYK0X0vz2wMd6dEkjSSMVuqN2h3ZY/Rlk0tbuC5k10kJIlkzaD71grhN
jOwxfF3AxLXDtAbRU99RrWNbXLERy+hyNA3hbf4lYD6qFVST+a9v9rwe3O3ihjYH
wHp75Csa8k+siMDIcEe87Xd+cHNB4Pl6jVk3Tu1P/aXpS17TWImjlVI7y1Fgptyk
l/UH+7uECM3QWLZQUvn5GGZ1jgT7VX1J8FoKxe9W7p5j/QPNBQSFPbQnH+jkpQPu
fv6Q9zW8bqfIJLVrg+P6aM6/iapFY1k0Eny7+5lj6dUGPa3UCr0P3vgQ9U3IxTVr
LV4clLBIV7XnBFkTiP+detJf0BOhZ5Wa0eqG06hfXbDgfXQMEuuSB3avuPAe4i67
USkhuuZioG9wT7xAPQxdPnAT4e16xeU6GCpkQtA6oxVdtDhzamJHGQrnmbp1eKN9
bYwNcBUshvRzJc6WLz+boWUf50whd92osa0E4VGjEgj9YZsB0DpA1bNcme2ur3KC
IJhGjDrEkPwg5095rvL9a3KvigLWhpiH7OLUjIjwSg0uYhP6mFYGXiB58Y0hptZX
hN/Q7VYEOhhnTH8W/eOFe8w=
=CD2O
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFzBBABCAAdFiEE/i5iSSAcpUpPuQ0GboDKFEaHnQQFAmK9pU0ACgkQboDKFEaH
nQS75g/+MY+PT4aWPhEw8RUncS0eo6PE9qZddfeQr6RW1UicCLu6Fy4Qt+wAeEeU
jHia5tIEOlqAwKp5C1HxZJfPp2Vi/jz4UsiP1PGPSraF8c/ubyhrUEJ1V/jCyhC+
BGlJtQb2XrSjXykrn7XG1plQ8h/AzBeCpkBWv6AFzrq7jbNcjSdFTBPhncnFAPrD
+P+9RtSpgTjSeFitNGHV/XAev439xDRNMpdkWGCi7n05zcMn144gyBGf5fzyJja2
ecxx4Ow8jQTyH6apusXCg3DxZ6t4rgkdCZdVB5wpmiNjvlzmMz9cHMzgebjXkeNk
sz5uI8Ot9EyZZej/Kc0CZPcvfC4JmSAcS9MEM9LxSqI/s8HByI8cuSIcYSl8z4Uh
o9RdKlz5y+KOoxBiGXMAsm6gErunM15XAWuAvobSOSs6mVR9NbwjOZAHe4tCskk/
BF9KkgkbwQOjXB/znAqSF931+NN8M1eQsg6Xt9eipW2kjfGVMVssBC+Aiqqu/y+m
ew7Y03RX9Z5C/e6WUmyKtLLi69KoCcnb7bEXrA1AgTRahMbsszKjfJp55c6WsL6q
ahWnWHvGX0IyhHdeyEDfmyuBweQKWj9fGKrgWcr5+IMoyEd4T0z6/duMXhksrZtz
zc1K5o+YnCu4Pnj7VV9pe5JLEfoSdMoZvREItX0LpVMNWw917hY=
=zRyg
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYIbyfBYJKwYBBAHaRw8BAQdAKUjXOZrxHBk02BfOPEWxiC7f72U7kgcM53qD
HjByTKM=
=k9W5
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zjgEYIbyfBIKKwYBBAGXVQEFAQEHQBJEt+Mdk2tS4NwoZyh+UzPaeSiibiL66nhg
8jIFkmoPAwEIBw==
=NJaP
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
wngEGBYIACAWIQQqwKQu+wtcvHoEAu1NyVtte+mJLgUCYIbyfAIbDAAKCRBNyVtt
e+mJLltPAPkBzdqu53yb7GXZNJ+59FcsoIs7S6AxOq9wtqXWzKF7FwEAgqNVzCFl
0FEdGoTVO1YEja65P4bWrHtGaYbfH3VqTwE=
=GFfq
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zUREYXZpZCBSdW5nZSAoQXJjaCBMaW51eCBNYXN0ZXIgS2V5KSA8ZHZ6cnZAbWFz
dGVyLWtleS5hcmNobGludXgub3JnPg==
=PoKK
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,8 @@
-----BEGIN PGP SIGNATURE-----
wpAEExYIADgWIQQqwKQu+wtcvHoEAu1NyVtte+mJLgUCYIbyfAIbAwULCQgHAgYV
CgkICwIEFgIDAQIeAQIXgAAKCRBNyVtte+mJLgn2AP0bMDMeYY7eetBppv3sXu1Z
pajvEMhYaHYx87VfjgtolwD/YYeJ5TyArGmCwmIFLxfNmjRiy9lVxbVl7Gvpn5Y0
8g4=
=8R0g
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsFNBFZzRL4BEADXp8jSCXi7+5Assc/xrRBByUa0fowxlXyBqxjD5aMTWAhnIpC3
epqrFxONC6iAmuNN9o3zUklbFFPT+K2NllynJF+POOmDzoB3KWd2hDnAEzxB5l/w
jXplPI1bkreQWKLRY7fwI44uGKzBqxWWMeo9P3w4LI0qSOgryYM5bBQngcj0oRHv
J4nbxEgf4xHkG7rmDycTJjdysRPkLGNlCV94Y/bLJJoiy41hpPYB2UYR+xO+3bDu
f9MaKeMnj0teRVflOODN+MoU9VOi9R+3ulTKc4kSNglRGflJKEaN81rZzbByIx8k
BTnxurdMa/l3iubAqOA7nsfK9wF5bEluYVf/6IXL7ZnN7K89KPYdxTItwzxw4csL
R1CYVSeZZe37fxkKwb6mFLUgGuXwY3/bOCj20kb77mKF+yEFp7D73PZ5n1y+jwhk
LE6S53vKNBTSDemTzdTfxbDMCAN9iuA26IGErKRWryG7HSKp750yBB18s0mf/qDR
euv5rC9ow4I9RQb0BeTWc3GbZ/YKer63FwP6ACEFotbYN5KeChyFXGpsNWbc38bB
Z/9NrthHzV9iFK6kNvtAw3t8WNFBPX2k7EY6EXeRLS1a/FoDKgKXqIO2JEpuT9wy
IBfIG6NrOBNEbaITCf6RkjDpNGZ8d3seEXhrdGY7w2ycolLrOaXoqXJJMQARAQAB
=GZ7r
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP ARMORED FILE-----
zsFNBFZzRL4BEADO2n5Ifu3n0gKiTCLet3Zwh5e+wWRLRjaEhzspJxeV5h0EY0TG
07G7dQAUyDHXcgc2HfMueMeg8vDn+76+xSp9SV69oMtfKEqr+pwUp4O+kOrhmS6U
jV2TdwVIFQNLnRjHklGU1JX2MNnts7RuU8Rh/2IT5pf+64x62rSt4RmGTio5gxMy
R2c1/6tWbdORKfMQzRkPB249GV7StI6r4plMJteQPaIGTxFQIJL3Bzn5YXZDNJ6a
1y2KxUwIVRca9w7C78nf3jd73vi0+qfR7Z3jMMlDExPRXuFeFaRcTKzxea0RHMiC
6sZ+N5XbAMdVfVjU0fw1mJpUj9ZcZFvwrqWEt+GA16DvYriYUd+83l42IPJIixjC
4AlOym2MaXYt9rf1Sw6MzCn1blWr4pl4HUmM+kTpuTnDcZ+00P9SLTgdTsAIknvK
lodB+giDII0ISf1rw7S8gJfF4UmPrdAWJC15b81OJMBLrqO9Hp+yHCXCC/AGvpAW
uVuVI4ljHE9yCrtfY4f1FEEpQMTWpLVfVzh1WVx2JawIqYy4JhoQgmxEycTZQpA1
2hGRVg/kneUMnTUr1k2nWHEwgDPoZfNGy2syAnVUgXYm/svyiwu7fK7qDo6O1xyA
2HbSNA0DmBv0yDMS9/j+9nirNmPaIyKEHcD6MUtBlzy7TUGe6kKBJL+aSQARAQAB
=f32B
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsF2BBgBCAAJBQJWc0S+AhsMACEJEKiOI+N3UU4AFiEEkf/gcA6AYZzrcyNcqI4j
43dRTgBhpA//aydMQghaY1mrlyv0V9YPnWOTnUfbfkkj9C4XrCm/sT0/Ux+QsJzH
5w9FgmGchbsLqBg9z4FOF7JV5+ar4n/vu5aqmnu0tGflbo3cF1Jhvsnf12LlZ/rn
sd7j/qYhsixfWzCYG+N7L5LvaAEbAgPVhfXa4hiuomibf7UQlP4T13NxRMp9r+OC
QH9ksT5r4KZkmg6hUpEc59islrGzkJauG1TtbFjvxrSFjakesU76WtWPNORBFvJA
DdJagtfwpcWLgELQsLuzJhUiwnx49qdi0zoSH0Jcw4CNsQaSQCItvK3JB6GSzvtn
AqraruYPcxtRvkF1RMPVirSP3EIUYCFNr3QUz92XwrsZqvCi2TtRHrrBKhCBqVxZ
FOHSeRmey9Gq9GqvljpOWpJUMR0ZOCRBRxlmv05nCvxDMVnhL5c5z4sny/mgc8su
uV9r1Jp2BjfksQLcfnAdw4UN7AEfIF2rWR8H+GPGJNOV1j02oa7wkvGBxaBHiBj5
rwyJWABXTK/w7/TXfaH65GrJHj7RJ54P7WfrbQFzR27THfqJ6y3JT43Vgkw/dALM
rmof6u2Cy/E/73byHmT2ROHkXzS+LNC3PNWX6FioVLM6unzzvDIlxOXIutl4yd7P
O7dyMTNAN5h0KA1ru2hC3rO3gdAiW8UnUiTI/uFf0/CPW18ZCAduNXI=
=2vpX
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zUhGbG9yaWFuIFByaXR6IChBcmNoIExpbnV4IE1hc3RlciBLZXkpIDxmbG9yaWFu
QG1hc3Rlci1rZXkuYXJjaGxpbnV4Lm9yZz4=
=QnIl
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
wsGOBBMBCAAhBQJWc0S+AhsDBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAACEJEKiO
I+N3UU4AFiEEkf/gcA6AYZzrcyNcqI4j43dRTgB5/g/7BIniUUejI1x4WRuh2Zhc
r6FM2g2sdEusKZ8qFKq6vB9bvs8e5Eu62diF9BpkOlMtNqH50fN782lQZWOtaXHx
4jsXDARDb4Ej5d+LxPayCxILRRreX7rnDETd1mUK9+/9cXWNssR0cRXlju7Vk6RB
KtzMkON/sj/Vc69DOpuupHoQ4iYmXrTUZrKsgqb41VJWkFX1e2q3czDrQHp0EP+8
IzsVkmYIKhpBNye8kEFTfEDWTtrjo1lIRZIeyHhCROe3EwhJKXedh0u3i8UakZeB
ECcO0sWKX7pJ7tt6yOjzjnuvyWYoCN/gH9mo6Wh0oCKaZV3nIvWF7tqenyQ5LfPQ
TVPcGOR/MMQRXMqX62WNcyKT2nMEiiVwLHpyPeg1RazZOPoFcFqD0XEWZ6LPE8vl
DLC7sf33RoEFocAR85CgNayrZx2aDVG+zkx1HlHxLXZq61OO8vDmtzNLYHWU93h+
dMQcO3CRH9z8+/UJRoSnSXFPAQ6sGdEhFUiLDXMAu0xR6RRIfcfLBu8mCfoCppqO
K+Lzi7KsJjN0cGOFXVX8sHN7o1gtlKgjbwnbTRJ+snwDjzJP3SB6iyVHbK9tiCqh
MN9Whed+lLCmIxZhXvC7fjuJ9Ag6J5bftDgIjWdZ0p6I/9JAXdh1+2M757enW4Yw
LI2RDxi8g02UhfI4ap71ZVg=
=o4xV
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFcBBABCgAGBQJWc0WJAAoJEG0WVcFM4cE+hl8P/RNHPNayDMalKWiyTK+IMNY5
E+rELX/RIBOji0MCxCOXZtrZNeHGbPi5MwfKMiA9D585h4pEnpB21zucT5HbWZH9
mIzzh8I8dZa6Oqw6RGY3b6RJ6NTjgRTGtXi8WzPiK4k4BSDL7i3ZxkeBHbSRWe/I
glwduLpgia6dBnS8gcY49mLe+Nn+ejg/oYKtPZwDrzXaZVcgPT1aWAOg+zDlkqCV
q0X9D9xEGPe9eHJmdslIto79mB0Tl9PVRlHV45rUTi5ZXrvM2MIizn/43cN6teVO
KfUOKpvtxeTPD2FpOeJJ7UHX9MIQaoo+wD0+ZMW6FXdTbJBt6grYbuycEihkfmd5
BLRL2hmuY2lkEglP5zbBm8CtLTXii0FwOfK1L0SdIbG51tZz/Xab6aON3kb1vNg7
aJJ5GRU4yRLBhivOAFsmFbPqnWqoL2dVJUYiq+Mvv6GLC7bxlHn8YCNPQR/ltqza
qYDt15V6sLp66KNYM9G1VtZRzEfKyo4HuLpOpC8ec0VSXG8OEmzvdxIAIiSeVE5S
C4jERlpiWAv4MlRbi+uayJxkTyt+IuBwDeROEdINQ9MF1O79DpNMOLqjjd87GPGX
C0sN9b9SOKxoobZmC4FjesD9EENS9ehkayPvv77U4OrbMVuxK/bdY06PitkQxvUy
ccNMoLBMauKMOlDnToGH
=3hVx
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsFNBGII9zYBEAC/K9muBha0vDwBcd1MQEq2P8QB24mdeyd1VtG3zEJsc8DuCdF4
8wqYXsHK/UOWuD2IIevKjMO4DaOv202gFsOn8AxJwn3kvaPdflo66RPoraKZQmNL
ABE4/0X6uXWvuOtj4XQ5m/3BvNTstnLet3DAlHnCYmvIDKlD4bdS5hTZkXQi5zoi
d70OsXuFZ6NMMCOMI/Un3zdko4apLhI6ySGp6y1aETUCD1uI8SMgf4Wl2TQx/ZmG
xRG1aeq3H5YbRd3WFlBsi8kVYn6Qg3rxbesjNSAu1IadaqbjkA68p/ikF4mciodA
hD5fJ0bxU4Df2K8+WFh5n5IQZjVmKQ8ogVWsgV8jTjnKZMjD/GGyFZziR081MgHg
4FC24X2do0NLxrL07r9wUUaNkb9SDWs3tlAmeA7qNftXbDt0A1jE01uT66tdCsUi
sRj2CCmc+89zepL+TDNExLyPV/1ajDn95k66fe+ApoxvHnseyh1rWyHIUShtFfnq
hyewRoIeJbo7PIseeE7jNBQpUj2wgCM/G1tUM2Rn/OpmlEC0b65PvM715OPYwF7g
0UntpY3Fr9elDT+y9NhsvDw+SXdOX8RiI5Y/WX8zVyUi2ryGENmSJ5uTeRfQ4y+M
IrZGuvVwHU2hbN8ktQ0TwY6Fc5vbDX34slt/OnDDpqrXwnRsDdSZGTw88QARAQAB
=KXko
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsF2BCABCAAgFiEEFZ86Q66yRsV0bAM4FLxPMLO5LroFAmII94MCHQAACgkQFLxP
MLO5LroF+RAAvKqMPIf/YxCX7q/XYG5ZHce39rI6x1q0A9P9JvQmx7WL288GXNk7
PN4rDfAbdaJYwx7rDvxtOqDoHR7HtVrRytHbo2pgJM17XwHsboNtO76Rjg/1U7vJ
dZZ3MnGpPD7kFx7Fd4pFz+onrcX26QAeUA6s7Y9GcTvn8Dd+b4tmzkZTh/iRLxY4
8wSJGlYK2KvIXYUQ1bY12UF8p8pdW4U3/5K5z5MExfXUIcl73LoIiTVhVu2QOTsQ
zlUWAhZLDV9GiWXXbfBXtzeoaeHLCS5f+JwyDky+7YifUd/xJmqNJSyJcRHEUWwj
43/uDWEGz0UB6bkVlf9MSnllLQeZbgLtQ9HRQxTQ6JXXRB3JCIs1m/5KYYTphnBw
dLwuJIjkO1WazFQqJMPBqvNn68i5oxy5qfyM15EdE0d9A/aeCLgoC6lx2CdFSPmc
FBs4OV4NM7Y1u7sou+R4F18lskIqK9hWBa57Lu6nZ12UHydO0aIchrBy0WRVB575
Ua4fCQb4uEQx8azsjqaIpei4K6h9ZnahWDl64ptcChmSA3c4gga7/MPniQKJo9cQ
H+WyDNZum0QNqSAwRoAF04Yr10PWYfu8ER3g8hJAsc/BRTLGZg1TeVdlTJej6uUz
nAEoHffIEE+SAKrtVcqA0AfZRphVGADTTb6228cDxKG3gnYiNJC0ypU=
=VSWs
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP ARMORED FILE-----
zsFNBGII9zYBEAC2ght75wz6qVSF73Xhlgqoq5YZ3FFPQtdD/VqcgjzSTpIxLEwa
3NPHFswUX9pd5dhlYuio3s3jLgB+Ngt5DQX6H07Xi/lB/6NrVbZDskFH2Nupd8CT
q456eO3REas2ja0wmCoZsXlnmzCQAFAqkSjfCcw4xMnMM6Ny9v+Ic1750+hsd7VO
r4b7AlfwqhU7pP3kKCfXQm4HMpC5eymU6ewPC7RG5OqWXRA/VZ/pA2ZcxTd8iXC1
nJjsKnyNvI+4A2ZnO35mH817ejVFqs9r/D51pGucv0/TihRJ1y0a04PQ0ar4caJm
jC1t5KpyneOEO9Astz7w/IUfySdJxWfMq1LaXGMpDyKO581npIsEw28ScoVoxuU2
nmHi5F4/bcZQisvbRWY7EVH6slOTBVQatAEovFyLDYnEdSVZvbXMUcV6ngDgPou3
QZiwUveBKUDRONbBLsUf0WHpYvZTO3aitfRCoLp486Y3Kd9z/3rxFIjY41TodiQb
amLV8kJ//RWJWEjNpSO/jrMdkIC7BYm30ohzEwhvTROKMRUVd9yYiw0VejNGaWaC
PauuQUpjVavxabIeMnV/mr9i7/93bijjl2MobXn4DHlEewupy7B8zLRrGE/4pWtg
oubtBUnnV+IFm1mLR3lCjHAdT7n0xm8Nbqc0J+z25YXnxcUiK8vN69v/eQARAQAB
=A9ac
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsF2BBgBCAAgFiEEFZ86Q66yRsV0bAM4FLxPMLO5LroFAmII9zYCGwwACgkQFLxP
MLO5Lrqpyg/9EvSOpSb13cuxwgQSzzyeFH9SXQx6GJaxOohJRMyb1bzteOGVD6fD
6Ulp4ORnKoZNpBpH0jwzfe2+hRTn1RSPUHliwGbjNWumHTqO2dGsq2PauhVpqXWE
JrL8svn+lNX7hp4McmsZDjFicjLAoQUjawBvajXuwITVWQ7Mh+aIigNfWI2DaVJc
gQoRfb8lUHuJ5bAlyMbE0XM+vilRTlmEWMIGY7EonFFW3fZ4YZ68WE271zEhIE5j
UwQTZFEiuMr6+6+q+1uwOmTYHeiR+kl0cr7JvLLwuUrBdmLGoMakXwLBbxi1zQxd
C97sEeJ5k8GITllVz+fZm7tf8kb4zq+pQtLiGlfrA5FyyKrUi/lkZVEm3vaEJgyZ
828kckdpdb41Y9fc0TwOVWwg63BMuFuc4nYPZrT3H+0rqTtKzReUHXrH7v8HPk70
IrVgus6v3Q4+EP4hZjKu42h1BAOtjZblwkzRmyWs14ncWgXau+uhUFxtcHX2K6LT
vASxL8leuVQOP3OCF3fMJgZmnHN+brdvOyiQuFD3xB/EOk71/AkFfbk7DsQWDjdy
Cn5bIKKFNmcUQW4kiTK9ovngKmsbX2zfou0FybueBzPG4JK2YkVb9KeUKyKt2oPz
QSK/kW5mICluDPs/Cei4LTdfTitnkmagBcOr9YSk9Iw2VERNSX5ebwA=
=gblO
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zVFHaWFuY2FybG8gUmF6em9saW5pIChBcmNoIExpbnV4IE1hc3RlciBLZXkpIDxn
cmF6em9saW5pQG1hc3Rlci1rZXkuYXJjaGxpbnV4Lm9yZz4=
=7XQm
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
wsGOBBMBCAA4FiEEFZ86Q66yRsV0bAM4FLxPMLO5LroFAmII9zYCGwMFCwkIBwIG
FQoJCAsCBBYCAwECHgECF4AACgkQFLxPMLO5Lrr5Pg/+MB5jVHU0zXP0aAWrTMh2
kARHTUof4Ey18GMVtF1SGja7bxDUYTnJ6x8DxUYYKZiuuG9OFDHWloBOhBbcB+5m
7Czm/P7sCmoagGcbmtbsZKTLR+5ABhup2YNSVXKnbTapPPEXn/x3VxoGzq6bhCTm
YQsGnViKzMQVYouN2+qMAR20Uh1IWw8TzcRznB4vc6JXoAAeX+Lmc/pBKp5WL44B
iHFccQf9WsZnHfSFZI7OhPQi24/vMDdB2XQOi+8JiAmhpkKc22NC8/P5VFfxvY1U
S2K7kgUukqP+XmtNLdGxhLFvuDxVvWvrx0Lf/o288wkyeYyI4VBlYp7ZqgELGWw/
eideB2Fd+KzY0CNL5Giae/9Tn+Rkp54aYcdFEvyvIN985ZP+57UAbedyg9VYaMOQ
JWOmTplexX4AOk02EQDdu7NDfPl9zh1yu07OUhtVLfVB3y/vQxU6FUXOw2YXpI0l
rWDeWsX5cHCqkVQex8XrRvAoR3pS+kzuOSdTrHhA6B/CyrcwyNngcQbczErlcwwW
tv+p0VnTcWNEg6oKJelKfhZPQp2eazg5LFcJWXZMD1DQqobDrl2oeVhoTYVCBtLd
eof0tjsEZliDiQ1Kt6UUq7NlpMksB3SJvsdrpWQ8mxZ5OakQfBrioyecNqmsKW+o
fGy4u1tlZXUe7H7oWRC5JT0=
=syN+
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,13 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsDNBE7PgFcBDACaaq6It/HbI8oF/U/tL6e8DRV9d4Up3ZLi/U530iKz7+hvebd8
tHwVzdIxroa+7nvL0d6/zsSIMlmHpq77b3phSnRR3Iq8ffKIcDBukS2MRajEdscx
YtezNejBOHivNX3lc6OAAi3et0i29wzzsKCWXIU/cVX0LwYt5RMUnIAvn97p9ghQ
t9hkXLC0fuUkAS239yZ2OyngUdyaoDKn5e4pXC2utYcv1c12SnX5wgkVMX8G2vWa
9brGotTSn321YxDn2Vy6vMEo2nadqWsl88e9HK+6dFl5FI1L+kVIeTycsjbQgw/w
keJMtEm6XnaUmjCYILi1DlBPGD677bMJeYwHeFB1qX6ni/LmI59ampJXtEITf/fI
ii2LZsLrPV6MHtYmTmZwBmz7lvFhx8pZhqvDzMcoHtmsUICUdjmjlM+31Ec2uc42
Ykxvjq2vAojloBuy4x55gRY2Lnd1GBb8nQvrtzkazyyvfZTf/ncOxYyXqm6mazyX
WcFK7tTwbTvqoR0AEQEAAQ==
=sGnw
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
wsEMBCABAgAfBQJOz4XAGB0AU29tZXRoaW5nIGJhZCBoYXBwZW5lZAAhCRB+/VZ9
TH6ohxYhBETUoDOsFAFDknOX1H79Vn1MfqiHqIUL/14cgNrAzGhsEsfp6RdBdz76
f1O6voLlj4/ex0Z13YFWU3PLqAcFBrXbESu77mt5zhKzMi819Xl3K5Q+6cSpNdxk
i69YXxCSV0WHnpyEniRlyXGt3Yf2X1P5lVqOr4ZNdhk4aVykSVTGQxZ7gkGfHEXa
Mg0yUyy/sb3YFCRdpRB0Dqf7lUpMOeo2937PwHQdUgFjteKEpPVNmhcuJjWCQg9a
/yw6Be0cMa9u6ZGODwPGdnqZWmOVcQ7fEe8Y714YM5TK0Xe4kAHBuau7xAp7nnB4
MQzTGhohj3CHJRTGka22RYdqjO8WZ8FpE/zS7pO+t+TtXKVslpDF43cCe6B3cVcQ
mFzLWFd2kSbSb89ZyxdGPMAtHdBWHVtHw/i/cS9hSAox4GpSJdlwyPWRfwd9lQfg
Yw18Amk3P6h01xHy9jgALuF6/4AFUiVn6HUGmLQSSqm4oklWyEdVBvDIiF87pWcc
RR4oKni9Eu56msB2GGpk9eWK3MFFB4QDJ2UofMbK4g==
=yfIg
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP ARMORED FILE-----
zo0ETs+AVwEEANqD48GrHuy5gywO3riuxdNJiZ9rgWy7OzQrQWINmqZ+7U4/3UWt
fUT3k6lNMv5qDjakYxkBVHjEmKMHzdn8GyMCwhHTHv+ak4+g3ruMnBTyhsJSPGgg
5oI8rOU1jX+2juIcok1DfWzIEnNOZe2DTN4xdnwKBrF4c4DEVhX46VMbABEBAAE=
=Ht8q
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
wsD2BBgBAgAJBQJOz4BXAhsMACEJEH79Vn1MfqiHFiEERNSgM6wUAUOSc5fUfv1W
fUx+qIfxZAv+IvJDzsv3G41zRN0Y5uZrcY+j0fwrzWeeiuBs+BPhMPBWBTjvO6o7
KdZEQGv+OSHA3WBVFZxf3KYV15suP8HE7X47MmygbfTM5yR337GUlOTBqiEA3JdS
Q8u8LgX+dxrKCsSAIDgHusejCNS/lZXr1KV9Qo7So9csK0X/QyD50ImHYuQE1Kxd
OYBj3BPq/fQBL+XIIbRPltridbtiUnyjiHZa7UwLlYOrnUi5ThGyxHlkEgN4a2JX
O94Xgm8nblmJrYmO1nBE2Ae+qbV0aOJB9zbAYqscrkPwhCxOSBuVpbP2RuNbmqAE
vvK/RRFte65lbo9sF4yxlD+lP2qy4RKeHFLFHGAWsNYI4Bt/RMl6DwAnfn9MI/k/
SaMNvV1pXXEhuhzLCX2fkjQLWmo3ygitdVN9HGt/1JO/qKDuEnnteQY4Sul4fAqu
QZgkbIX+34X0nU0llY5Q/zBqr7CMxigM2/Gi8/c3cnFe2Fnz+QCYL6YiU4U09wxu
34X+H3ZN64he
=EETw
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
wsD2BCgBAgAJBQJOz4vYAh0DACEJEH79Vn1MfqiHFiEERNSgM6wUAUOSc5fUfv1W
fUx+qIc1mAv+MDJCVlEpEA3aUMmrqh9GP+18qga8u2lMzXf/qa2L4esP19Wo4WK1
tBoO55/U9a1al5A6ESDEf61bKqYUwPUK/vhbdCWGRowHSKEkBNrhZTTyNmfE62hL
DtJSKorRezGoU7AA7EymVgv3wONHAzJQ0eBQ8Gcb0nO7ysxuIjPvHPzfFuXSXCxx
GLe4eLCJ+48DLZHqYJ4YmRm8Ymb0dA+0L0vvONwDYcmVoeo6JoF6Q9ynOqlkDRpc
+Ca5E/Ip+wW265FjiMU6ihYDsimUPwiWmu4uVfh8QxWjrxSZMotUEBPPzHJrLsGc
1+eMqfllRBhqU1hwz0yGmYvb5kA8idcSwdJdRVQLbo1U41aeFWwAYFluCnIuHR4Z
zc+BAFh7bQFLzCHgg2wPHh45E+vWED/CjkFCLGbGhHHba+J0lEotOVBg8LaL9XzQ
pcuAgj4Q5WS3EPYkRQfrdJp3zMQ+oFBzBnUs17dfwzFApzD1wlnzZ5DaAZwVDGO/
1jm7/ibh01m6
=JuyG
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,13 @@
-----BEGIN PGP ARMORED FILE-----
zsDNBE7PgFcBDACiwS2DoAqzPxS4oLagLM500eTRJ9rMwtk13NlK0u2OwiMo9ATa
BLw8u4gk7UghSO6YwIqqq+nvG9DQqIxm//w6LRyGdSSnE3yOeACl69EWoyHlakpd
VD4kIHwa2FBCQmzo2rbPGL3FLntlQh1nFchXe2xh16uLjqFYnc+oZ9K6xuwgTaQC
6wmR/FQM61sTP8EZAYkChY3lY48zQyeP00XOicitselloOYc6UycLYQ8PC6NbJRd
Xnif3Ep6Dp6cM9sxFaIlRt1tVrCT+3yoYQbx2L6OiTa0q95C6C1sqUizD5NwpZbA
A8FMFBbCroK8b3GJlCUQaRq0+w/wtsEzLWun6/yoSOAS3u6Fv9N7POb4PZsBy15d
Am3vSh+UDIEtwFp//aRdxFEcHpCBf+IwWry6S9bm1eZqRDf7bcjDotU7bHkRY91A
4WO+dW+TlTsvvxpngvg6HVj/5IfpBWeCe3/Z4RYVHp41Y7LJ0ToXPcxmxjVDIvB4
WEnpVtIL5cR8WkkAEQEAAQ==
=A+Kc
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
wsD2BBgBAgAJBQJOz4BXAhsgACEJEH79Vn1MfqiHFiEERNSgM6wUAUOSc5fUfv1W
fUx+qIdG8wv9FOuiidwWAMHnXf9zxNIRBKkOvoIpRcyFvhIghDPMx1tIixnZIqmY
Wp48nYa02gAfBRcg12oWS5CplH600XcXah7llnpWqMkk6NnKpb1/E1Slh7pHVrp9
YI8hIpzH+KcYDW5zBWzt/tXVKYOf+EZUiusZGjIgkmHt5Duh4T7G0aq0nmDWUL/2
kjDZAGkqyZCTKcrD6um72DCfhpd2pnYHokIguLHH8BXb8pP1220CA98rkp4yRJWB
ru8nPGEWrdHvcAodQmWdFMy6AZgxk33ks1M1Am83sJ1S08v1KmpZ4K6z9JDW4VpQ
rmShZVx5raec+PFW9KF+UeQpgycr6NU9FnF6t3Mlj1MglSyRzYbWhQAynvdd6FVD
BLJfsqfld+Z88XPcWEs28LQ3F8k525WdhxPirROvh+rD+WGA3tDqeyyFOvglWLfr
TQORU3xVgyK4g00251BZ8VNBKuJWiKlZA1tW8ssAUeyjNIdSvXFqyx6vhReedmGV
+OwYpPdUfD9B
=Ija4
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
wsD2BCgBAgAJBQJOz4uDAh0DACEJEH79Vn1MfqiHFiEERNSgM6wUAUOSc5fUfv1W
fUx+qIee9wv+NKc5EW2Ow1jFLbKBWIQtwoxH6T5WLstkgyuKsro/O9X4IHn12EUO
RAo7IBUnJreIaeGdLIK2UBUp/7oY/BesJ5G1uMaVi7XQOo/i1wsItuJ8vtAS3qQc
qmDVqNCBX1yNm9/LVpi0iC6UwKsjSjMPrOBgAAVuqVspyAod2AniMbDxtAEvE7Af
zt7BOEg2tobdQ/xQNxoeM9bVNkMVApM2OoHppph7qHfX4Y4cgmDVjE2QCuqt8KCg
x0I+6kkN2ByjvEAG00dRDvaIDnLXH+r+ZUidPPDo+sjZfV0GpvFuksONCv4MySv5
6Gu+I8XwBOmMU1cUuievfYOz4ZJIOQyEFpXpgdijpFHqmdhnL4l3qMgIRwAfnPOt
e/c2TtsVGvr4JAzr77INHDA3ZvQd4A9hwmYECMPZpSgQkHcCDR06ICZmhv5CLegU
AuS8ymtvCdsYnZ8JKzbZrr8InpiX9ZE5+tYEYl+c2mw1t1oXHc8j2OPUDi53X4+4
AH3DDEaCSAo6
=dgZD
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zUNJb251dCBCaXJ1IChBcmNoIExpbnV4IE1hc3RlciBLZXkpIDxpb251dEBtYXN0
ZXIta2V5LmFyY2hsaW51eC5vcmc+
=b375
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
wsEPBBMBAgAiBQJOz4BXAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAhCRB+
/VZ9TH6ohxYhBETUoDOsFAFDknOX1H79Vn1MfqiHSewL/jhL7JjxzO8P3t79nIu3
6EjcS7oBkcP6FG6KuxVg+LbZNqy+aaip45nxzIJdE4VIaRs3wmNh2B3aVG4C1P1g
AmqZU19g2E0Eof1ejln2woVIrfUrxJii8AE+ZbEiJrNYmsPMyLgaLlZnaTDPwKZN
mTWIBzBM6Hb2yB6ue2ammWRr5jeydWFmc8gGsBWapHph4ON0bA98v/QjMFS6/SSZ
/0o0i6tjSkDbHfQOedvS2Ul4ysff+q6NKm8KnAyIKtPPx/fz11e1Sr0YcFWWtJQ6
1o6YicMK2BvqhNT4HgYil5EUHpQ9SyohPa4NM3JKIxwwEk/WddBAZlRRRPUXjWmj
kn8Aul+WFDwcSDqr8Tamx6nyHyq/H5kuPa+0LI0jnG7kl6tYz+tGgcnsSEp4o+Fr
aevzotqzc4gDkEi56SU3IzRHDnerUK7Z8kZDsv2oXdaa81zXlju1425F77Ndjw5F
c/xhMNhYnlE037T6V9/smAYKDLnwxwlpTSlk0PkORKrrTg==
=M+iN
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,10 @@
-----BEGIN PGP SIGNATURE-----
wsBcBBABAgAGBQJOz4krAAoJEOjxi6FhUTe8g6oIAKAqSZljdzhyjwU03WTLYNsY
2/x9nrxKSXjActMXQFn8S44WfPQd1ED2OwZQXflGAE9o6NoH9GYVlL2S1w/V5cV6
aK5/9CTW/wNeOSmfyo1hDPh5AM/p4Mq6APm39o9fp9h0wQhSvUM0ec+TCabaE955
UgjGSen0zEmACluWtEkeUJkxUnZuFLLlcPMDR3UpuvEE6XaG52voNib0nTeVICup
X3Se7Wv8AhECTjuh6McfJ+TNpzaohWegJnBaE7pF1J8omHAn5mey1/0t0f8dewkt
gVuu39XDf35zYAyWYd5580S4Lb6R1zsmi2pKeExgdaqkjMUtDc21+cywjY6/pAk=
=HipH
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,13 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsDNBE7Gu3MBDACGmD2FPejnpbdjOxuEDKYmIC1y2SkD1W97KwS9tOSceGy1gni9
uObZsiiiUqzu9p8uOpX0kxdykgk9cliH6QxFQr5e1WOSG6MkkDqYLAjP5kVFnT4T
E6lDklYQ6YW7j3lJVwFDNXV6yobt6ApMHaDGqERpcgs6prKb9wZZ/EdyqBblYTyJ
t0s3RpE5AolNHSboaJZ5YRf5s/T0mteJ37pAIljgXhfeiqxAl1Yp+RkRglaiHLhZ
pcJW2HRACmYv9SYSuLV0JcCAG4qeUyiHSoz93gAaf6VCv5JsYVg2Mwt5rGqE7CXg
XDHV4Klq/KrmaHmp81qpB1ngK1g6cCz34mdnLBMbyt5G2EdrIOiv/bBo5LsXtEhz
C6I/LZ75sXV3xC60+6ZWKkeZFtyXq0g9X5Gxc+wf79K2EVkAC1UwEylK/n8rfP01
vk6fkNJsSb42BEchyECo5iMY2BMGXQ6mlJqpEx3bxE4W1Di01XaT29nB/8hP3xbk
kJ1bu4hMa35sQQEAEQEAAQ==
=APKS
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,7 @@
-----BEGIN PGP ARMORED FILE-----
zo0ETsa7cwEEAMN8B9QnakGqqVVfAgqyf1c1MdnGOgWvhZxiqn2cqpmMuD6xkuqf
E9/WXjrkI+5DyZvICpeFsmaU013+OdlgchXvWQqV5027ffdc46QBp2FwX9bu7T2R
hOjGmxOuGav4PPD4poXDilnXDAQvgMQQW3cqxI3ZAsuu76kWRAa6pID1ABEBAAE=
=bBwM
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
wsD2BBgBAgAJBQJOxrtzAhsMACEJEDNIiC9qxqTCFiEEDotkQHn1md/B3cOXM0iI
L2rGpMI6Pgv8DgfPSgjeGxsuKFruXjNpEriy2gg0p/OdXYNtrR7GqE4gkPP15i4Z
ajqrQH9JheKOJVx6VoSFYPo0+0ExlJBVnE1M/8H60NC0Ak7cGJLVk2OfwXTA0f8J
Npr5A2vGPPnGQfIFDWhfXTafLYzhIlolZdJELGFes823WvShipJ3xDojXf8/1SbO
5tAasclIY53T0bI659w/ZhNR4gEQhudYh2NZzJiQk9+g3wZC8PLVwqZUngnTXrXN
EE1PysbwynntGXAnR2LubZtQTzSf5yjMnsNxNIC+UJZ5oMoNCOIuQNzhznjagitb
a6/XRicD5sPQdhhgCh/2RsyX7VWlwlDlzYqx/4sZlWk/jYKbzqzyHVU20v2JHHTR
rG5GQstwu/zTnPepMtkXga6D0wsOQzQJtJKspW5wi4CMy9MdGPkl3zbLrV/YcBKo
qK+NyVw0Pi80TV2mouxcx4D08doedoqJjUavCz/bfPDIsZc+tfyRuiAoVuZrf+37
gWqIeGqG1Dqi
=hOE5
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,13 @@
-----BEGIN PGP ARMORED FILE-----
zsDNBE7Gu3MBDACzCsBFirCLNrNYMjDviJSFqRAj21GbMkKXtaFjB1HarCgNE4Ef
gF/pcLWTyAj2/DngPl/WWXLWihzSxCgLdZxOltU6Gge5Os4pWcrWrO6ojtGoLbJV
HQ2IyjYlJStCz84L2jg8FLS7o//+KCvdhetzcqXOLGBPYucXH+BWJ38AA4dJxyyb
3htVgs7rV7xDR6vw2SFXNEQA2nVOTGOLV+0FBVcBMR4nz20zp8ttj6wzFS2fRbJr
EX3iH9cEhFAT7oF0sfAgZD+9v0XVFUCbh0TbkAathdT2bTLCLx2ER2TfAYbU1dWh
u4PXtpkhdHlE14e9R5aw7EJWUVVH8KzVKBU+e4D3iP6nDykKqB9PD52r4recYQb7
3LSukhOXzz6OXp7rhF+KF54/7XZjW8ruqouoAND4Tc7GWjazlk5Q2yesfUPUNbp8
ljq3sWkPYWWIL+3vQo7WLmKzWKVuVsXuXEA65+ts2caj3anCHGGH+WuvqNL2HyP+
KYDGzTDOT2tHTysAEQEAAQ==
=x9HG
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
wsD2BBgBAgAJBQJOxrtzAhsgACEJEDNIiC9qxqTCFiEEDotkQHn1md/B3cOXM0iI
L2rGpMLipwv/VknAoRjwb1lkk6Nw/eC+Y2Uav+VeKkweeJVwxphJ4Lbfrhvaq9lW
pR329sPXZt7r1X3F+cLUR43NjprW2nWna0vmZfrUIdwzA5FTco5Vx4NPQFgX+R0b
ByOX3ySXmXtysCc5j1S7C89g5JYUVXD1aPB9FL1z6hRarh83Ip7351ZbOhrBSWID
MRi3qY3EL9N2jxApA0iHJ3yv3BBa8KPrFnV9Xidz5gS/qIVa5aLJy2QR8HusOe+n
a2oUjBg+41XgSyzFOyEgfiYljMtHqFYy5HW3LcHfi3kUIY/Se7Sl1p+XsCF+PLiD
eYBcvTEhcCt6U+JQVqfuzGSxSoMWtJR2o3DbGh5V0BdmO4xmUcRyiQWIhT1e3NeL
gcBqpOIBpro0zsbXCeQHQCOWesy/nDU4NSaB7OhzUCyOyLGCzsYyFhrO+p59z3JP
F6rX5UMqIxwLFmaHsFQBIRBXHL80ZLoYBX5+b6+gwJTM6uSJbGvwBgfAJ1TLtDX/
mqmhMLsUnqoo
=jZ2m
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,6 @@
-----BEGIN PGP ARMORED FILE-----
zUhQaWVycmUgU2NobWl0eiAoQXJjaCBMaW51eCBNYXN0ZXIgS2V5KSA8cGllcnJl
QG1hc3Rlci1rZXkuYXJjaGxpbnV4Lm9yZz4=
=JzoL
-----END PGP ARMORED FILE-----

View File

@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
wsEOBBMBCgA4FiEEDotkQHn1md/B3cOXM0iIL2rGpMIFAl+4/2YCGwMFCwkIBwIG
FQoJCAsCBBYCAwECHgECF4AACgkQM0iIL2rGpMKlpAv/YEQVL6y0VbU4d7gxFdk+
FgXU/6Q8qtpX+QhTJzAhrY1G8jHHFIzoo2/yP+Jpc4DLvcSEr5ebjCsEzSPZ3hsB
UYDYJHoQ5J4YqOtUupDIaveaseXJWcvUs4DQLOPF8npChdYFdOuM25gEoXGB6t/P
lJFt8b98FjxhFWc/HUTOEN5yv5lPPYOeTgb06nluSRRFDfTgEkCuh113GMa5ubH5
a5zYz/CUe2+aJdH6JewSvQybP0HEOWhmrf3bEhPwqYrftRJj9ZvRrzIJTs9XjdDn
FA/49aP/sqVquxIhLg6+Hw17hmemBe8ohOBDmpxlcyF95eGOIRPqFnaa0dokzR/X
7Ou72P6yFhjB8My401+m6C2CTIKo3PDE0C+NA4mZNzJznCquQVRVVVxHKKKrbHon
Kwx2WeeSQqXNj7WMh5jzQu7eM9Qq1scRq84GlqTyXReqxH+gSLrAymg4S/ALRaNM
LCuxaRUOmvcjmk7Pr+xLTHAEQx9xdTnzlbIoNFm0V8q2
=x+1i
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,10 @@
-----BEGIN PGP SIGNATURE-----
wsBcBBABAgAGBQJOxsCnAAoJEH8tQ0uXQeis/4sIAKIciIP4gdFdIGvWXl7yaBXt
hJSn0JLWUZL5Fkdq5ggQ/t/ghxWsyVfG6zqD3YR9eBAkSHPOWVYXUIwfwn34ivay
uCnPI3z1Fn2P4ox9Whfesfp0Xi3yHhchqr3ZyytVbB1y/P7l1kO2vG8r6rJjA1S9
ZbPRIsQXgt/ISwZI0TXqQ/uXqZ4V6IZtdYKAlhyz3dLer1UBR0SQoJxJnKWWvb8b
Sf/Us6HkoYCZxQ6Hs3li2GYfNlNETjV0JVEu2fDf66A8/bDYgmAezErkF0jbgT95
Sv9S0CwZ+2ULiXDzmUW27OoDdcOLVYb+UxMD/PlqhKVS7NLMu/g+eSCqo/qqdFc=
=2CXJ
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,13 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsDNBE7Hp9UBDACNaL5VM5JsuA6EGjfJmagZO3pSlNWEtx0NmGQYPYOBwywXZFwq
0zBdpNFxwJOyxn2xdgQxtX8L1APxT7T/WGTPPDMHx7/N1xaWJqRxTQYV50MTmJaR
+pgSR59zR1exRpEClcLOx72LpGKMYpWQ7JRJn0/9+JtSpwHlsfYrdi+VMgfU62d9
H00sSCkmJsl/3uvLvcbDyqtFu9bpMA7T2g+Ws1xaocD3fwRPogpM2Q2czYr514O6
wZp//wScBHRsgFRjQsYm02ZdbEQCmmK80/WhFA3CoovNG0+zXqu92tW7fj+pvTp3
4GX61MPUj7INKzxfSCo6ygtyUrozr5IuYlMc1misT26kfQUuKRgg7M3eF3pKcaVC
DNX14h7Y+tcX4yUBTsi5lvE88xZUTLp0MSmNMy22wX+OrCbb/YnzW4XnFWYgS/i8
hfaeKsxuIi3g7kkUmvydTtVpgCYWfZZWeHt9cG+FoZjjoH7aePMaL7QCYi4zc2t2
p5BbNZI/zmd//dcAEQEAAQ==
=gwSG
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,15 @@
-----BEGIN PGP SIGNATURE-----
wsE8BCABAgBPBQJOyNzpSB0ATWFzdGVyIEtleSByZXZva2VkIGJ5IFJldm9jYXRp
b24gQ2VydGlmaWNhdGUgaG9sZGVyIFRvYmlhcyBQb3dhbG93c2tpLgAhCRBRhCUt
gksY6BYhBGhBSLsltJ6YaklExVGEJS2CSxjomF4L/1DeNcOQ/TxYMJ2CTusmtq4N
YufuNn2uRvbdV6Rpug00BqDdOzYhani6/2kWyYJeduM1Q64SnUUt3Djwsh4T5Xp7
HgIgYUGTSIU9VVenD0HqmaHKCLi4lHzh5Ozxzs461m8iWdJSJFhb0bUN3NSt8egU
SHdILp91YVK5OVgWmqKgSzwx4sY+ym52gzhrTsqtyEztnjI36kUbbJJLMqdiulTP
dGPISZ+GJURYccvWuounmd8Sp80/C3RJL1Vl2y/6jXq9D1vLsaiAbjRiTkC74fEa
MSttr4AEjrsnByo3s6oJuDF0Q8M9+stPpvhWRekAg3hmdCNoup3RXf/vWJe67F2z
9YURsIK/fnGvQnc6s9hpJIG7EwbInbP1Ju9r6ILR1SC4ohZptpyuQ8geVxxd1VQm
5xaTsMvKJEtRV/zujuDl9NuQ4Jp2o8+lZpWaK214mnKZFDSx6/nxlLTS1TducAFV
RtSmfga/UGBzHgMJadFHyUl8LmuVbuxc8JPYyp5BBg==
=MPMf
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,10 @@
-----BEGIN PGP ARMORED FILE-----
zsBNBE7Hp9UBCACERZzACVRTDLmDndulUa+oAWPr8omY+nakfyyVXLJ/V9YHroXi
inn9wU7mpjjhrceFFYIj4eM5b4hvx9QBPoDkSKWQtKB/8XlUotl2YfkvW5vd7EaX
eC3uE1vw/zbol9M7ntWctSeSwZLzCDp5wkrTwJGSOa1gzlZSUTFe/mRJXEacenQM
sxD696RshhEEgG/c4H+UZ7IoiYAJ0rQg9aIWsYmItRS81y1xdMSdv/bJb9y0Wa3v
G0GBs3mrhuurRkLFMPL3Wsr6en61GIS1CUThS3yzipLxFFo0lY9OSYJAMfvZJGCp
/E7qeUxGSEwciKRsNle+fd9drLLCj1RqzQSVABEBAAE=
=PSUl
-----END PGP ARMORED FILE-----

Some files were not shown because too many files have changed in this diff Show More