Browse code

signing-keys: generate fingerprints from script (#22637)

To update docs/en/singing-keys.wmi execute the perl script
docs/en/update_signing-keys.pl and commit include/keys.wmi

Signing keys are stored in include/keys.txt

traumschule authored on01/09/2018 04:46:15 • hiro committed on11/09/2018 18:20:14
Showing4 changed files
... ...
@@ -12,145 +12,7 @@
12 12
     <h1>Which PGP keys sign which packages</h1>
13 13
     <hr>
14 14
 
15
-    <p>The signing keys we use are:</p>
16
-    <ul>
17
-    <li>The Tor Browser Developers (0x4E2C6E8793298290),
18
-    Mike Perry (0x0E3A92E4), Georg Koppen (0x4B7C3223),
19
-    Nicolas Vigier (0xD0220E4B), Linus Nordberg (0x23291265)
20
-    and Arthur Edelstein (0xD752F538C0D38C3A)
21
-    sign the Tor Browser releases.</li>
22
-    <li>Roger Dingledine (0x28988BF5 and 0x19F78451) or Nick Mathewson
23
-     (0xFE43009C4607B1FB with signing key 0x6AFEE6D49E92B601)
24
-     sign the Tor source code tarballs. (Nick's old key was 0x165733EA
25
-     with signing key 0x8D29319A; it signed older tarballs.)</li>
26
-    <li>Tor Project Archive (0x886DDD89) signs the deb.torproject.org
27
-    repositories and archives.</li>
28
-    <li>Damian Johnson (0x9ABBEEC6) signs Arm releases.</li>
29
-    <li>The Tails team (0x58ACD84F) signs the Tails live system releases.</li>
30
-    <li>David Goulet (0x42E86A2A11F48D36) signs Torsocks releases.</li>
31
-    <li>Sukhbir Singh (0xB01C8B006DA77FAA) signs Tor Messenger and TorBirdy releases.</li>
32
-    <li>Other developers include Peter Palfrader (0xC82E0039, or its
33
-    subkey 0xE1DEC577).</li>
34
-    </ul>
35
-
36
-    The fingerprints for the keys should be:
37
-
38
-    <pre>
39
-    pub   1024D/28988BF5 2000-02-27
40
-          Key fingerprint = B117 2656 DFF9 83C3 042B  C699 EB5A 896A 2898 8BF5
41
-    uid                  Roger Dingledine &lt;arma@mit.edu&gt;
42
-
43
-    pub   4096R/19F78451 2010-05-07
44
-          Key fingerprint = F65C E37F 04BA 5B36 0AE6  EE17 C218 5258 19F7 8451
45
-    uid                  Roger Dingledine &lt;arma@torproject.org&gt;
46
-    sub   4096R/B0E5067D 2015-06-10 [expires: 2016-06-09]
47
-
48
-    pub   4096R/FE43009C4607B1FB 2016-09-21 [expires: 2019-09-21]
49
-          Key fingerprint = 2133 BC60 0AB1 33E1 D826  D173 FE43 009C 4607 B1FB
50
-    uid                          Nick Mathewson &lt;nickm@alum.mit.edu&gt;
51
-    uid                          Nick Mathewson &lt;nickm@wangafu.net&gt;
52
-    uid                          Nick Mathewson &lt;nickm@torproject.org&gt;
53
-    uid                          Nick Mathewson &lt;nickm@freehaven.net&gt;
54
-    sub   4096R/6AFEE6D49E92B601 2016-09-23 [expires: 2018-09-23]
55
-    sub   4096R/91DDED0286AC8BFF 2016-09-23 [expires: 2018-09-23]
56
-
57
-    pub   3072R/165733EA 2004-07-03
58
-          Key fingerprint = B35B F85B F194 89D0 4E28  C33C 2119 4EBB 1657 33EA
59
-    uid                  Nick Mathewson &lt;nickm@alum.mit.edu&gt;
60
-    uid                  Nick Mathewson &lt;nickm@wangafu.net&gt;
61
-    uid                  Nick Mathewson &lt;nickm@freehaven.net&gt;
62
-    sub   3072R/8D29319A 2004-07-03
63
-    sub   3072R/F25B8E5E 2004-07-03
64
-
65
-    pub   2048R/63FEE659 2003-10-16
66
-          Key fingerprint = 8738 A680 B84B 3031 A630  F2DB 416F 0610 63FE E659
67
-    uid                  Erinn Clark &lt;erinn@torproject.org&gt;
68
-    sub   2048R/EB399FD7 2003-10-16
69
-
70
-    pub   1024D/F1F5C9B5 2010-02-03
71
-          Key fingerprint = C2E3 4CFC 13C6 2BD9 2C75  79B5 6B8A AEB1 F1F5 C9B5
72
-    uid                  Erinn Clark &lt;erinn@torproject.org&gt;
73
-    sub   1024g/7828F26A 2010-02-03
74
-
75
-    pub   2048R/886DDD89 2009-09-04 [expires: 2020-08-29]
76
-          Key fingerprint = A3C4 F0F9 79CA A22C DBA8  F512 EE8C BC9E 886D DD89
77
-    uid                  deb.torproject.org archive signing key
78
-    sub   2048R/219EC810 2009-09-04 [expires: 2018-08-30]
79
-
80
-    pub   1024D/9ABBEEC6 2009-06-17
81
-          Key fingerprint = 6827 8CC5 DD2D 1E85 C4E4  5AD9 0445 B7AB 9ABB EEC6
82
-    uid                  Damian Johnson &lt;atagar@torproject.org&gt;
83
-    sub   2048g/146276B2 2009-06-17
84
-    sub   2048R/87F30690 2010-08-07
85
-
86
-    pub   8192R/683686CC 2013-09-11
87
-          Key fingerprint = C963 C21D 6356 4E2B 10BB  335B 2984 6B3C 6836 86CC
88
-    uid                  Mike Perry (Regular use key) &lt;mikeperry@torproject.org&gt;
89
-    sub   4096R/0F129402 2015-09-07 [expires: 2016-09-11]
90
-    sub   4096R/ACC0A961 2015-09-07 [expires: 2016-09-11]
91
-
92
-    pub   4096R/C5AA446D 2010-07-14
93
-          Key fingerprint = 261C 5FBE 7728 5F88 FB0C  3432 66C8 C2D7 C5AA 446D
94
-    uid                  Sebastian Hahn &lt;mail@sebastianhahn.net&gt;
95
-    sub   2048R/A2499719 2010-07-14
96
-    sub   2048R/140C961B 2010-07-14
97
-
98
-    pub   4096R/C82E0039 2003-03-24
99
-          Key fingerprint = 25FC 1614 B8F8 7B52 FF2F  99B9 62AF 4031 C82E 0039
100
-    uid                  Peter Palfrader &lt;peter@palfrader.org&gt;
101
-    uid                  Peter Palfrader &lt;weasel@debian.org&gt;
102
-
103
-    pub   8192R/C11F6276 2012-07-21
104
-          Key fingerprint = AD1A B35C 674D F572 FBCE  8B0A 6BC7 58CB C11F 6276
105
-    uid                  David Fifield &lt;david@bamsoftware.com&gt;
106
-    sub   4096R/D90A8E40 2012-07-21
107
-    sub   4096R/5CD388E5 2012-07-21
108
-
109
-    pub   4096R/23291265 2010-05-07
110
-          Key fingerprint = 8C4C D511 095E 982E B0EF  BFA2 1E8B F349 2329 1265
111
-    uid                  Linus Nordberg &lt;linus@torproject.org&gt;
112
-    sub   4096R/B5F7D1B1 2016-04-14 [expires: 2017-04-14]
113
-
114
-    pub   rsa4096/0x94373AA94B7C3223 2013-07-30
115
-          Key fingerprint = 35CD 74C2 4A9B 15A1 9E1A  81A1 9437 3AA9 4B7C 3223
116
-    uid                  Georg Koppen &lt;gk@torproject.org&gt;
117
-    sub   rsa4096/0x5778071EE2DE675B 2017-09-11 [expires: 2018-09-11]
118
-    sub   rsa4096/0x72E841BB93148AD2 2017-09-11 [expires: 2018-09-11]
119
-
120
-    pub   4096R/3E39CEABFC69F6F7 2015-09-24
121
-          Key fingerprint = 6AB6 AEE9 776E 7827 23C8  ACE8 3E39 CEAB FC69 F6F7
122
-    uid               [ unknown] Nicolas Vigier (boklm) &lt;boklm@torproject.org&gt;
123
-    sub   4096R/07B7CFD7A0FBA062 2017-01-25 [expires: 2019-01-22]
124
-
125
-    pub   2048R/D752F538C0D38C3A 2014-12-10
126
-    Key fingerprint = 20B2 4CEF E6AF D615 0B6A  6F18 D752 F538 C0D3 8C3A
127
-    uid               [  full  ] Arthur Edelstein &lt;arthuredelstein@gmail.com&gt;
128
-    sub   2048R/3306E88D27211E0B 2014-12-10
129
-
130
-    pub   4096R/0x4E2C6E8793298290 2014-12-15 [expires: 2020-08-24]
131
-          Key fingerprint = EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
132
-    uid   Tor Browser Developers (signing key) &lt;torbrowser@torproject.org&gt;
133
-    sub   4096R/0xD1483FA6C3C07136 2016-08-24 [expires: 2018-08-24]
134
-    sub   4096R/0xEB774491D9FF06E2 2018-05-26 [expires: 2020-09-12]
135
-
136
-    pub   2048R/0x42E86A2A11F48D36 2011-05-11 [expires: 2017-05-09]
137
-          Key fingerprint = B744 17ED DF22 AC9F 9E90  F491 42E8 6A2A 11F4 8D36
138
-    uid                            David Goulet &lt;dgoulet@torproject.org&gt;
139
-    sub   4096g/FE9D6620 2011-05-11 [expires: 2017-05-09]
140
-    sub   4096R/93CC198D 2013-09-10 [expires: 2016-09-10]
141
-
142
-    pub   4096R/0xB01C8B006DA77FAA 2016-02-25 [expires: 2020-02-24]
143
-          Key fingerprint = E4AC D397 5427 A5BA 8450  A1BE B01C 8B00 6DA7 7FAA
144
-    uid                            Sukhbir Singh &lt;azadi@riseup.net&gt;
145
-    uid                            Sukhbir Singh &lt;sukhbir@torproject.org&gt;
146
-    sub   4096R/0x1AF20C043D9F9289 2016-02-25 [expires: 2020-02-24]
147
-
148
-    pub   4096R/58ACD84F 2015-01-18 [expires: 2017-01-11]
149
-          Key fingerprint = A490 D0F4 D311 A415 3E2B  B7CA DBB8 02B2 58AC D84F
150
-    uid                  Tails developers &lt;tails@boum.org&gt;
151
-    sub   4096R/752A3DB6 2015-01-18 [expires: 2017-01-11]
152
-    sub   4096R/2F699C56 2015-01-18 [expires: 2017-01-11]
153
-    </pre>
15
+#include "keys.wmi" TITLE="Tor Project: Signing keys" CHARSET="UTF-8"
154 16
 
155 17
   </div>
156 18
   <!-- END MAINCOL -->
157 19
new file mode 100755
... ...
@@ -0,0 +1,116 @@
1
+#!/usr/bin/env perl
2
+use strict;
3
+use warnings;
4
+
5
+my $keysfile = "include/keys.txt";
6
+my $wmifile = 'include/keys.wmi';
7
+my $forcekeyupdates = 0;
8
+my $skipkeyupdates = 0;
9
+
10
+# First we load the keys, then we create a wmi file which is included by
11
+# https://www.torproject.org/docs/signing-keys.html.en
12
+
13
+# Determine the base directory in case we are called from somewhere else.
14
+# We assume to sit in docs/en. Update $root path if this file has moved:
15
+$0 =~ /^(.+)\/[^\/]+$/;
16
+my $root = "$1/../..";
17
+chdir $root or die "Could not enter $root: $! (script path: $0)\n";
18
+
19
+open my $kf, '<', "$keysfile" # read keys
20
+  or die "Could not open $keysfile: $!\n";
21
+
22
+my %sections; # project => key owners
23
+my %owners; # key owner => string with all keys
24
+my @projects; # save sections in order of appearance
25
+my $section;
26
+foreach (<$kf>) {
27
+  # filters comment and empty lines
28
+  next if ($_ eq "\n");
29
+  if (/^#/) {
30
+  # [section] / project
31
+  } elsif (/^\[(.+)\]$/) {
32
+    $section = "$1";
33
+    $sections{"$section"} = ();
34
+    push (@projects, $section);
35
+  # key owner with list of key id(s)
36
+  } elsif (/^([^:]+):(.+)$/) {
37
+    my $owner = "$1";
38
+    my $keys = "$2";
39
+    push( @{$sections{"$section"}}, $owner);
40
+    $owners{"$owner"} = "$keys";
41
+  # tell about unrecognized lines
42
+  } else { print "Ignored line: $_\n"; }
43
+}
44
+close $kf;
45
+my @owners = keys %owners;
46
+print "Loaded $keysfile. Found $#owners key owners in $#projects projects.\n";
47
+
48
+# If the keysfile did not change since the last run, we will not update them.
49
+# To update all keys anyway, set $forcekeyupdates = 1 above, or comment:
50
+if (-f $wmifile && qx/[ $wmifile -nt $keysfile ]/) {
51
+  $forcekeyupdates or $skipkeyupdates++;
52
+}
53
+
54
+open my $out, '>', "$wmifile"
55
+  or die "Could not write to $wmifile; $!\n";
56
+print $out "#!/usr/bin/env wml\n<p>The signing keys we use are:</p>\n<ul>\n";
57
+my %fingerprints;
58
+foreach my $project (@projects) {
59
+  my $owners = '';
60
+  my $suf = 's';
61
+  my @keysinproject;
62
+  # we grab the key owners for each project and iterate over their keys
63
+  foreach my $owner (@{$sections{"$project"}}) { # iterate over owners
64
+    my $keys = $owners{"$owner"};
65
+    # example for $keys: 0x165733EA, 0x8D29319A(signing key)
66
+    my $inbrackets = '';
67
+    $suf = '' if ($owners ne '');
68
+    my @keys = split (',', $keys); 
69
+    foreach my $key (@keys) { # iterate over keys
70
+      # validate key format. all regexp are beautiful.
71
+      if ($key =~ /^\s?(0x[^\(]+)(\(([^\)]+)\))?/) {
72
+        my $key = $1; 
73
+        push (@keysinproject, $key);
74
+        # named alternative key
75
+        if ($2) {
76
+          $inbrackets .= " with its $3 $key";
77
+        # first key
78
+        } elsif ($inbrackets eq '') {
79
+          $inbrackets = "$key";
80
+        # second key
81
+        } else {
82
+          $inbrackets .= " and $key";
83
+        }
84
+      } else { # tell if the format is wrong
85
+        print "Unrecognized key format: $key\n";
86
+      }
87
+    }
88
+    my $sep = ($owners eq '') ? '' : ', ';
89
+    # Add owner to the list
90
+    $owners .= "$sep$owner ($inbrackets)";
91
+    print " - $owner ($inbrackets) [$project]\n";
92
+  }
93
+  if ($project eq 'other') {
94
+    print $out "<li>Other developers include $owners.</li>\n";
95
+  } else {
96
+    $suf = 'ed' if ($project =~ /older/);
97
+    print $out "<li>$owners sign$suf <strong>$project</strong></li>\n";
98
+  }
99
+  my $keyids = join (' ', @keysinproject);
100
+  # update keys form keyserver pool
101
+  if ($forcekeyupdates or not $skipkeyupdates) {
102
+    print "Fetching $keyids from keyserver:\n";
103
+    qx/gpg --recv-key $keyids/;
104
+  }
105
+  # save gpg output for later
106
+  my $str = qx/gpg --list-keys --keyid-format 0xlong --with-fingerprint $keyids/;
107
+  $str =~ s/</&lt;/g; $str =~ s/>/&gt;/g; $str =~ s/@/#/g; # replace html codes
108
+  $fingerprints{"$project"} = "<pre>\n$str</pre>\n";
109
+}
110
+
111
+# print keys for each project to file
112
+print $out "</ul>\n<h2>Fingerprints</h2>\n<p>The fingerprints for the keys are:</p>\n";
113
+foreach my $project (@projects) {
114
+  print $out "<h3>$project</h3>\n". $fingerprints{"$project"};
115
+}
116
+close $out; print "Wrote $wmifile.\n"; exit 0;
0 117
new file mode 100644
... ...
@@ -0,0 +1,32 @@
1
+[Tor Browser releases]
2
+The Tor Browser Developers: 0x4E2C6E8793298290
3
+Mike Perry: 0x0E3A92E4
4
+Georg Koppen: 0x4B7C3223
5
+Nicolas Vigier: 0xD0220E4B
6
+Linus Nordberg: 0x23291265
7
+Arthur Edelstein: 0xD752F538C0D38C3A
8
+
9
+[Tor source tarballs]
10
+Roger Dingledine: 0x28988BF5, 0x19F78451
11
+Nick Mathewson: 0xFE43009C4607B1FB, 0x6AFEE6D49E92B601(signing key)
12
+
13
+[older Tor tarballs]
14
+Nick Mathewson: 0x165733EA, 0x8D29319A(signing key)
15
+
16
+[deb.torproject.org repositories and archives]
17
+Tor Project Archive: 0x886DDD89
18
+
19
+[Arm releases]
20
+Damian Johnson: 0x9ABBEEC6
21
+
22
+[Tails live system releases]
23
+The Tails team: 0x58ACD84F
24
+
25
+[Torsocks releases]
26
+David Goulet: 0x42E86A2A11F48D36
27
+
28
+[TorBirdy releases]
29
+Sukhbir Singh: 0xB01C8B006DA77FAA
30
+
31
+[other]
32
+Peter Palfrader: 0xC82E0039, 0xE1DEC577(subkey)
0 33
new file mode 100644
... ...
@@ -0,0 +1,187 @@
1
+#!/usr/bin/env wml
2
+<p>The signing keys we use are:</p>
3
+<ul>
4
+<li>The Tor Browser Developers (0x4E2C6E8793298290), Mike Perry (0x0E3A92E4), Georg Koppen (0x4B7C3223), Nicolas Vigier (0xD0220E4B), Linus Nordberg (0x23291265), Arthur Edelstein (0xD752F538C0D38C3A) sign <strong>Tor Browser releases</strong></li>
5
+<li>Roger Dingledine (0x28988BF5 and 0x19F78451), Nick Mathewson (0x165733EA with its signing key 0x8D29319A) sign <strong>Tor source tarballs</strong></li>
6
+<li>Nick Mathewson (0x165733EA with its signing key 0x8D29319A) signed <strong>older Tor tarballs</strong></li>
7
+<li>Tor Project Archive (0x886DDD89) signs <strong>deb.torproject.org repositories and archives</strong></li>
8
+<li>Damian Johnson (0x9ABBEEC6) signs <strong>Arm releases</strong></li>
9
+<li>The Tails team (0x58ACD84F) signs <strong>Tails live system releases</strong></li>
10
+<li>David Goulet (0x42E86A2A11F48D36) signs <strong>Torsocks releases</strong></li>
11
+<li>Sukhbir Singh (0xB01C8B006DA77FAA) signs <strong>TorBirdy releases</strong></li>
12
+<li>Other developers include Peter Palfrader (0xC82E0039 with its subkey 0xE1DEC577).</li>
13
+</ul>
14
+<h2>Fingerprints</h2>
15
+<p>The fingerprints for the keys are:</p>
16
+<h3>Tor Browser releases</h3>
17
+<pre>
18
+pub   rsa4096/0x4E2C6E8793298290 2014-12-15 [C] [expires: 2020-08-24]
19
+      Key fingerprint = EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
20
+uid                   [ unknown] Tor Browser Developers (signing key) &lt;torbrowser#torproject.org&gt;
21
+sub   rsa4096/0xEB774491D9FF06E2 2018-05-26 [S] [expires: 2020-09-12]
22
+
23
+pub   rsa8192/0x29846B3C683686CC 2013-09-11 [SC]
24
+      Key fingerprint = C963 C21D 6356 4E2B 10BB  335B 2984 6B3C 6836 86CC
25
+uid                   [ unknown] Mike Perry &lt;mikeperry#endarken.info&gt;
26
+uid                   [ unknown] Mike Perry &lt;mikeperry#unencrypted.info&gt;
27
+uid                   [ unknown] Mike Perry (Regular use key) &lt;mikeperry#fscked.org&gt;
28
+uid                   [ unknown] Mike Perry (Regular use key) &lt;mikeperry#torproject.org&gt;
29
+sub   rsa4096/0x004AD1045BA0FE28 2017-10-31 [S] [expires: 2018-10-31]
30
+sub   rsa4096/0xEEC50E9938F9F4E9 2017-10-31 [E] [expires: 2018-10-31]
31
+
32
+pub   rsa4096/0x4FEA46574B7C3223 2014-06-16 [SCEA] [revoked: 2016-08-16]
33
+      Key fingerprint = DFE0 2163 0B44 5B24 DE2D  CDAC 4FEA 4657 4B7C 3223
34
+uid                   [ revoked] Georg Koppen &lt;georg#getfoxyproxy.org&gt;
35
+
36
+pub   rsa4096/0x94373AA94B7C3223 2013-07-30 [SC]
37
+      Key fingerprint = 35CD 74C2 4A9B 15A1 9E1A  81A1 9437 3AA9 4B7C 3223
38
+uid                   [ unknown] Georg Koppen &lt;gk#torproject.org&gt;
39
+uid                   [ unknown] Georg Koppen &lt;groeg#vfemail.net&gt;
40
+uid                   [ unknown] Georg Koppen &lt;georg#getfoxyproxy.org&gt;
41
+sub   rsa4096/0x5778071EE2DE675B 2017-09-11 [E] [expires: 2018-09-11]
42
+sub   rsa4096/0x72E841BB93148AD2 2017-09-11 [S] [expires: 2018-09-11]
43
+
44
+pub   rsa4096/0xE5B81856D0220E4B 2014-03-19 [SC]
45
+      Key fingerprint = 4A90 646C 0BAE D9D4 56AB  3111 E5B8 1856 D022 0E4B
46
+uid                   [ unknown] Nicolas Vigier (TBB Builds Signing Key) &lt;boklm#torproject.org&gt;
47
+
48
+pub   rsa4096/0x1E8BF34923291265 2010-05-07 [SC]
49
+      Key fingerprint = 8C4C D511 095E 982E B0EF  BFA2 1E8B F349 2329 1265
50
+uid                   [ unknown] Linus Nordberg &lt;linus#nordberg.se&gt;
51
+uid                   [ unknown] Linus Nordberg &lt;linus#dfri.se&gt;
52
+uid                   [ unknown] Linus Nordberg &lt;linus#sunet.se&gt;
53
+uid                   [ unknown] Linus Nordberg &lt;linus#nordu.net&gt;
54
+uid                   [ unknown] Linus Nordberg &lt;linus#torproject.org&gt;
55
+uid                   [ unknown] [jpeg image of size 2906]
56
+sub   rsa4096/0xC1788C2B0B3120D3 2018-02-17 [A]
57
+sub   rsa4096/0x9DC3E9C66DDABD48 2018-04-11 [E] [expires: 2019-04-11]
58
+
59
+pub   rsa4096/0xAADF069E23291265 2014-06-16 [SCEA] [revoked: 2016-08-16]
60
+      Key fingerprint = 43D1 9E7B DB63 A474 0B0C  B555 AADF 069E 2329 1265
61
+uid                   [ revoked] Linus Nordberg &lt;linus#nordberg.se&gt;
62
+
63
+pub   rsa2048/0xD752F538C0D38C3A 2014-12-10 [SC]
64
+      Key fingerprint = 20B2 4CEF E6AF D615 0B6A  6F18 D752 F538 C0D3 8C3A
65
+uid                   [ unknown] Arthur Edelstein &lt;arthuredelstein#gmail.com&gt;
66
+sub   rsa2048/0x3306E88D27211E0B 2014-12-10 [E]
67
+
68
+</pre>
69
+<h3>Tor source tarballs</h3>
70
+<pre>
71
+pub   dsa1024/0xEB5A896A28988BF5 2000-02-27 [SCA]
72
+      Key fingerprint = B117 2656 DFF9 83C3 042B  C699 EB5A 896A 2898 8BF5
73
+uid                   [ unknown] Roger Dingledine &lt;arma#mit.edu&gt;
74
+sub   elg2048/0x147FF421788AFDCE 2000-02-27 [E]
75
+
76
+pub   rsa1024/0x9C01813428988BF5 2014-06-16 [SCEA] [revoked: 2016-08-16]
77
+      Key fingerprint = 2629 5471 A26A B9F9 6C0C  45BB 9C01 8134 2898 8BF5
78
+uid                   [ revoked] Roger Dingledine &lt;arma#mit.edu&gt;
79
+
80
+pub   rsa4096/0xC218525819F78451 2010-05-07 [SC]
81
+      Key fingerprint = F65C E37F 04BA 5B36 0AE6  EE17 C218 5258 19F7 8451
82
+uid                   [ unknown] Roger Dingledine &lt;arma#mit.edu&gt;
83
+uid                   [ unknown] Roger Dingledine &lt;arma#freehaven.net&gt;
84
+uid                   [ unknown] Roger Dingledine &lt;arma#torproject.org&gt;
85
+sub   rsa4096/0x1A61312B4600E8BE 2018-06-03 [E] [expires: 2019-06-03]
86
+
87
+pub   rsa4096/0x468FAE2919F78451 2014-06-16 [SCEA] [revoked: 2016-08-16]
88
+      Key fingerprint = 9C95 0D05 FC80 2DFA 79C3  7629 468F AE29 19F7 8451
89
+uid                   [ revoked] Roger Dingledine &lt;arma#mit.edu&gt;
90
+
91
+pub   rsa1024/0xD50624EC165733EA 2014-06-16 [SCEA] [revoked: 2016-08-16]
92
+      Key fingerprint = 33DC 81DC C099 4E0A 10D8  048B D506 24EC 1657 33EA
93
+uid                   [ revoked] Nick Mathewson &lt;nickm#alum.mit.edu&gt;
94
+
95
+pub   rsa3072/0x21194EBB165733EA 2004-07-03 [SC]
96
+      Key fingerprint = B35B F85B F194 89D0 4E28  C33C 2119 4EBB 1657 33EA
97
+uid                   [ unknown] Nick Mathewson &lt;nickm#alum.mit.edu&gt;
98
+uid                   [ unknown] Nick Mathewson &lt;nickm#wangafu.net&gt;
99
+uid                   [ unknown] Nick Mathewson &lt;nickm#freehaven.net&gt;
100
+uid                   [ unknown] [jpeg image of size 3369]
101
+sub   rsa3072/0x910397D88D29319A 2004-07-03 [S]
102
+sub   rsa3072/0xD2CA27F3F25B8E5E 2004-07-03 [E]
103
+
104
+</pre>
105
+<h3>older Tor tarballs</h3>
106
+<pre>
107
+pub   rsa1024/0xD50624EC165733EA 2014-06-16 [SCEA] [revoked: 2016-08-16]
108
+      Key fingerprint = 33DC 81DC C099 4E0A 10D8  048B D506 24EC 1657 33EA
109
+uid                   [ revoked] Nick Mathewson &lt;nickm#alum.mit.edu&gt;
110
+
111
+pub   rsa3072/0x21194EBB165733EA 2004-07-03 [SC]
112
+      Key fingerprint = B35B F85B F194 89D0 4E28  C33C 2119 4EBB 1657 33EA
113
+uid                   [ unknown] Nick Mathewson &lt;nickm#alum.mit.edu&gt;
114
+uid                   [ unknown] Nick Mathewson &lt;nickm#wangafu.net&gt;
115
+uid                   [ unknown] Nick Mathewson &lt;nickm#freehaven.net&gt;
116
+uid                   [ unknown] [jpeg image of size 3369]
117
+sub   rsa3072/0x910397D88D29319A 2004-07-03 [S]
118
+sub   rsa3072/0xD2CA27F3F25B8E5E 2004-07-03 [E]
119
+
120
+</pre>
121
+<h3>deb.torproject.org repositories and archives</h3>
122
+<pre>
123
+pub   rsa2048/0xEE8CBC9E886DDD89 2009-09-04 [SC] [expires: 2022-08-05]
124
+      Key fingerprint = A3C4 F0F9 79CA A22C DBA8  F512 EE8C BC9E 886D DD89
125
+uid                   [ unknown] deb.torproject.org archive signing key
126
+sub   rsa2048/0x74A941BA219EC810 2009-09-04 [S] [expires: 2020-11-23]
127
+
128
+</pre>
129
+<h3>Arm releases</h3>
130
+<pre>
131
+pub   rsa1024/0xF94ABB509ABBEEC6 2014-06-16 [SCEA] [revoked: 2016-08-16]
132
+      Key fingerprint = D8AA CF11 9067 89E8 91DD  2C27 F94A BB50 9ABB EEC6
133
+uid                   [ revoked] Damian Johnson (www.atagar.com) &lt;atagar1#gmail.com&gt;
134
+
135
+pub   dsa1024/0x0445B7AB9ABBEEC6 2009-06-17 [SC]
136
+      Key fingerprint = 6827 8CC5 DD2D 1E85 C4E4  5AD9 0445 B7AB 9ABB EEC6
137
+uid                   [ unknown] Damian Johnson (www.atagar.com) &lt;atagar1#gmail.com&gt;
138
+uid                   [ unknown] Damian Johnson &lt;atagar#torproject.org&gt;
139
+sub   rsa2048/0x888404C187F30690 2010-08-07 [S]
140
+sub   elg2048/0x04F1B63D146276B2 2009-06-17 [E]
141
+
142
+</pre>
143
+<h3>Tails live system releases</h3>
144
+<pre>
145
+pub   rsa4096/0xDBB802B258ACD84F 2015-01-18 [C] [expires: 2019-01-11]
146
+      Key fingerprint = A490 D0F4 D311 A415 3E2B  B7CA DBB8 02B2 58AC D84F
147
+uid                   [ unknown] Tails developers &lt;tails#boum.org&gt;
148
+uid                   [ unknown] Tails developers (offline long-term identity key) &lt;tails#boum.org&gt;
149
+sub   ed25519/0x90B2B4BD7AED235F 2017-08-28 [S] [expires: 2019-01-11]
150
+sub   rsa4096/0xD21DAD38AF281C0B 2017-08-28 [S] [expires: 2019-01-11]
151
+sub   rsa4096/0x3020A7A9C2B72733 2017-08-28 [S] [expires: 2019-01-11]
152
+
153
+</pre>
154
+<h3>Torsocks releases</h3>
155
+<pre>
156
+pub   rsa2048/0x42E86A2A11F48D36 2011-05-11 [SC] [expires: 2019-05-01]
157
+      Key fingerprint = B744 17ED DF22 AC9F 9E90  F491 42E8 6A2A 11F4 8D36
158
+uid                   [ unknown] David Goulet &lt;dgoulet#ev0ke.net&gt;
159
+uid                   [ unknown] David Goulet &lt;dgoulet#riseup.net&gt;
160
+uid                   [ unknown] David Goulet &lt;dgoulet#torproject.org&gt;
161
+sub   rsa4096/0x2AC6036C93CC198D 2013-09-10 [E] [expires: 2019-08-17]
162
+
163
+</pre>
164
+<h3>TorBirdy releases</h3>
165
+<pre>
166
+pub   rsa4096/0xB01C8B006DA77FAA 2016-02-25 [SC] [expires: 2020-02-24]
167
+      Key fingerprint = E4AC D397 5427 A5BA 8450  A1BE B01C 8B00 6DA7 7FAA
168
+uid                   [ unknown] Sukhbir Singh &lt;azadi#riseup.net&gt;
169
+uid                   [ unknown] Sukhbir Singh &lt;sukhbir#torproject.org&gt;
170
+sub   rsa4096/0x1AF20C043D9F9289 2016-02-25 [E] [expires: 2020-02-24]
171
+
172
+</pre>
173
+<h3>other</h3>
174
+<pre>
175
+pub   rsa4096/0x62AF4031C82E0039 2003-03-24 [SC] [expires: 2024-08-28]
176
+      Key fingerprint = 25FC 1614 B8F8 7B52 FF2F  99B9 62AF 4031 C82E 0039
177
+uid                   [ unknown] Peter Palfrader
178
+uid                   [ unknown] Peter Palfrader &lt;weasel#debian.org&gt;
179
+uid                   [ unknown] Peter Palfrader &lt;peter#palfrader.org&gt;
180
+sub   rsa2048/0x8602C8203872331F 2014-05-04 [S] [expires: 2020-09-01]
181
+sub   rsa2048/0xE377AED938E4E080 2014-05-04 [E] [expires: 2020-09-01]
182
+
183
+pub   rsa4096/0x7675B62DC82E0039 2014-06-16 [SCEA] [revoked: 2016-08-16]
184
+      Key fingerprint = A110 43D3 C8A6 395D DDD0  EE85 7675 B62D C82E 0039
185
+uid                   [ revoked] Peter Palfrader
186
+
187
+</pre>