1 |
Hi all, |
2 |
|
3 |
One of the items that has come up in the Git conversion, and needs some |
4 |
attention. |
5 |
|
6 |
Previously, the PORTAGE_GPG_KEY variable has allowed ANY argument, and |
7 |
passed it to GPG, letting GPG use that. This was intended to explicitly |
8 |
be a unique identifier for a key (or subkey). |
9 |
|
10 |
However, it seems that there are signed commits with other values in the |
11 |
variable, and instead of something nice like: |
12 |
(Portage version: 2.2.0_alpha138/cvs/Linux x86_64, signed Manifest commit |
13 |
with key 0x586A3B1F) |
14 |
We have commits with: |
15 |
(Portage version: 2.2.0_alpha138/cvs/Linux x86_64, signed Manifest commit |
16 |
with key emailaddress) |
17 |
|
18 |
This makes validation harder, as we need to extract the identity of the |
19 |
key from the Manifest before we can proceed. Additionally, if a |
20 |
developer has multiple keys, possibly over time, we cannot use this |
21 |
string to identify what key was used easily. |
22 |
|
23 |
As such, we've decided to make the PORTAGE_GPG_KEY strictly enforce what |
24 |
was originally intended. |
25 |
|
26 |
- You must specify a key or subkey exactly. |
27 |
- The leading "0x" is optional. |
28 |
- If you want to use a subkey, per the PGP specifications, you must |
29 |
suffix your keyid with "!". |
30 |
- Your keyid is exactly: 8, 16, 24, 32 xor 40 hexdigits long. |
31 |
|
32 |
Additionally, while we are NOT enforcing the use of long key-ids |
33 |
presently, I strongly encourage ALL developers to move to using them, |
34 |
due to known attacks against short ids: |
35 |
http://www.asheesh.org/note/debian/short-key-ids-are-bad-news.html |
36 |
Long key-ids are the 16/24/32 hexdigit long versions of your key ids. |
37 |
Using your full fingerprint (40 hexdigit) is also possible, but doesn't |
38 |
allow you to select a subkey (subkeys don't have a full fingerprint). |
39 |
Additionally, we'll be chasing up LDAP to convert all entries there to |
40 |
long key-ids. |
41 |
|
42 |
Examples: |
43 |
--------- |
44 |
Recommended: |
45 |
PORTAGE_GPG_KEY='0123456789ABCEF' |
46 |
PORTAGE_GPG_KEY='0123456789ABCEF!' |
47 |
PORTAGE_GPG_KEY='0x0123456789ABCEF' |
48 |
PORTAGE_GPG_KEY='0x0123456789ABCEF!' |
49 |
|
50 |
Valid, but not recommended: |
51 |
PORTAGE_GPG_KEY='01234567' |
52 |
PORTAGE_GPG_KEY='ABCDEF01!' |
53 |
PORTAGE_GPG_KEY='0x01234567' |
54 |
PORTAGE_GPG_KEY='0xABCDEF01!' |
55 |
PORTAGE_GPG_KEY='0123456789ABCEF0123456789ABCEF0123456789' |
56 |
|
57 |
Invalid: |
58 |
PORTAGE_GPG_KEY='username' |
59 |
PORTAGE_GPG_KEY='username@××××××.com' |
60 |
|
61 |
-- |
62 |
Robin Hugh Johnson |
63 |
Gentoo Linux: Developer, Trustee & Infrastructure Lead |
64 |
E-Mail : robbat2@g.o |
65 |
GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85 |