f2570dc52fb171b4e8d2253f04e445784be25452
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1) ## translation metadata
Roger Dingledine looks like we never set the...

Roger Dingledine authored 13 years ago

2) # Revision: $Revision$
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

3) # Translation-Priority: 2-medium
4) 
5) #include "head.wmi" TITLE="Tor Project: Verifying Signatures" CHARSET="UTF-8"
6) <div id="content" class="clearfix">
7)   <div id="breadcrumbs">
Andrew Lewman change all of the breadcrum...

Andrew Lewman authored 13 years ago

8)     <a href="<page index>">Home &raquo; </a>
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

9)     <a href="<page docs/verifying-signatures>">Verifying Signatures</a>
10)   </div>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

11)   <div id="maincol">
traumschule verification: add TOC

traumschule authored 5 years ago

12) 
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

13) <section class="accordion">
14) <!--
15)   This section uses a CSS accordion to hide and show topics.
16)   Styles are defined at the bottom of layout.css.
17) -->
18)  <div>
19)    <input id="ac-0" name="accordion-0" type="checkbox" checked />
20)    <label for="ac-0">
traumschule verification: split by OS (...

traumschule authored 5 years ago

21)     <h1><a name="TOC">How to verify signatures of packages</a></h1>
traumschule verification: fix formatting

traumschule authored 5 years ago

22)     <hr>
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

23)    </label>
24)    <article class="ac-small">
25) <!-- TOC -->
26)     <div class="nav img-shadow">
27)     <div class="sidenav-sub">
28)     <ul>
29)       <li><a href="#Why-verify-signature">Always verify downloads</a></li>
traumschule verification: split by OS (...

traumschule authored 5 years ago

30)       <li><a href="#ImportKey">Import Tor's signing key</a></li>
31)       <li><a href="#VerifySignature">Verify OpenPGP signatures</a></li>
32)       <li><a href="#ChecksumVerification">Verify checksums</a></li>
33)       <li><a href="#MARVerification">MAR verification</a></li>
34)       <li><a href="#Troubleshooting">Troubleshooting</a></li>
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

35)       <li><a href="#Scripts">Scripts</a></li>
36)     </ul>
37)     </div>
38)     </div>
traumschule verification: fix formatting

traumschule authored 5 years ago

39) 
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

40) <!-- Intro -->
traumschule verification: fix formatting

traumschule authored 5 years ago

41)     <p>Digital signature is a process ensuring that a certain package was
42)     generated by its developers and has not been tampered with. Below we explain
43)     why it is important and how to verify that the Tor program you download is
44)     the one we have created and has not been modified by some attacker.</p>
45) 
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

46)     <p>If you want to learn more about how it works see<br/>
traumschule verification: fix formatting

traumschule authored 5 years ago

47)     <a href="https://en.wikipedia.org/wiki/Digital_signature">
48)     https://en.wikipedia.org/wiki/Digital_signature</a>.</p>
49) 
traumschule WIP verification: improve w...

traumschule authored 5 years ago

50)     <p class="hint">(Click on each headline to show or hide the section.)</p>
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

51)   </article>
52)  </div>
hiromipaw Started updating verify sig...

hiromipaw authored 6 years ago

53) 
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

54) <!-- Motivation -->
55)  <div>
56)    <input id="ac-1" name="accordion-1" type="checkbox" />
57)    <label for="ac-1">
58)     <a class="nav" title="link here" href="#Why-verify-signature">&#9668;</a>
traumschule WIP verification: improve w...

traumschule authored 5 years ago

59)     <h3><a name="Why-verify-signature">Always verify the signature of
60)         downloaded files</a></h3>
Roger Dingledine add some introduction parag...

Roger Dingledine authored 12 years ago

61)     <hr>
traumschule verification: fix formatting

traumschule authored 5 years ago

62)     <p>
63)     How do you know that the Tor program you have is really the one we made?
traumschule WIP verification: improve w...

traumschule authored 5 years ago

64)     Digital signatures ensure that the package you are downloading was created
65)     by our <a href="<>page about/corepeople>">developers</a>. It uses a
66)     cryptographic mechanism to ensure that the software package that you have
67)     just downloaded is authentic.
68)     <span class="hint">(click to toggle)</span></p>
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

69)    </label>
70)    <article class="ac-small">
71) 
traumschule verification: fix formatting

traumschule authored 5 years ago

72)     <p>
traumschule WIP verification: improve w...

traumschule authored 5 years ago

73)     For many Tor users it is important to verify that the Tor software is
74)     authentic as they have very real adversaries who might try to give them a
75)     fake version of Tor.
traumschule verification: fix formatting

traumschule authored 5 years ago

76)     </p>
Roger Dingledine add some introduction parag...

Roger Dingledine authored 12 years ago

77) 
traumschule verification: fix formatting

traumschule authored 5 years ago

78)     <p>
traumschule WIP verification: improve w...

traumschule authored 5 years ago

79)     If the Tor package has been modified by some attacker it is not safe to use
80)     it. It doesn't matter how secure and anonymous Tor is if you're not running
81)     the real Tor.
traumschule verification: fix formatting

traumschule authored 5 years ago

82)     </p>
hiromipaw Started updating verify sig...

hiromipaw authored 6 years ago

83) 
traumschule verification: fix formatting

traumschule authored 5 years ago

84)     <p>
85)     Before you go ahead and download something, there are a few extra steps you
86)     should take to make sure you have downloaded an authentic version of Tor.
87)     </p>
hiromipaw Small improvements to verif...

hiromipaw authored 6 years ago

88) 
89)     <h4>Always download Tor from torproject.org</h4>
90) 
traumschule verification: fix formatting

traumschule authored 5 years ago

91)     <p>
92)     There are a variety of attacks that can be used to make you download a fake
traumschule WIP verification: improve w...

traumschule authored 5 years ago

93)     version of Tor. For example, an attacker could trick you into thinking some
94)     other website is a great place to download Tor. You should always download
95)     Tor from
96)     <a href="https://www.torproject.org"><b>https</b>://www.torproject.org/</a>.
traumschule verification: fix formatting

traumschule authored 5 years ago

97)     </p>
hiromipaw Started updating verify sig...

hiromipaw authored 6 years ago

98) 
hiromipaw Small improvements to verif...

hiromipaw authored 6 years ago

99)     <h4>Always make sure you are browsing over https</h4>
100) 
traumschule verification: fix formatting

traumschule authored 5 years ago

101)     <p>
traumschule WIP verification: improve w...

traumschule authored 5 years ago

102)     <a href="https://www.torproject.org">https://www.torproject.org/</a> uses
103)     https. Https is the secure version of the http protocol which uses
104)     encryption and authentication between your browser and the website.
105)     This makes it much harder for the attacker to modify your download. But
106)     it's not perfect. Some places in the world block the Tor website, making
107)     users to download Tor <a href="<page docs/faq>#GetTor">somewhere else</a>.
traumschule verification: fix formatting

traumschule authored 5 years ago

108)     </p>
hiromipaw Started updating verify sig...

hiromipaw authored 6 years ago

109) 
traumschule verification: fix formatting

traumschule authored 5 years ago

110)     <p>
111)     Large companies sometimes force employees to use a modified browser,
traumschule WIP verification: improve w...

traumschule authored 5 years ago

112)     so the company can listen in on all their browsing. We've even
113)     <a href="https://blog.torproject.org/blog/diginotar-debacle-and-what-you-should-do-about-it">seen</a>
Roger Dingledine add some introduction parag...

Roger Dingledine authored 12 years ago

114)     attackers who have the ability to trick your browser into thinking
traumschule verification: fix formatting

traumschule authored 5 years ago

115)     you're talking to the Tor website with https when you're not.
116)     </p>
Roger Dingledine add some introduction parag...

Roger Dingledine authored 12 years ago

117) 
hiromipaw Small improvements to verif...

hiromipaw authored 6 years ago

118)     <h4>Always verify signatures of packages you have downloaded</h4>
119) 
traumschule verification: fix formatting

traumschule authored 5 years ago

120)     <p>
121)     Some software sites list
122)     <a href="https://en.wikipedia.org/wiki/Cryptographic_hash_function">sha1
Roger Dingledine add some introduction parag...

Roger Dingledine authored 12 years ago

123)     hashes</a> alongside the software on their website, so users can
124)     verify that they downloaded the file without any errors. These
125)     "checksums" help you answer the question "Did I download this file
126)     correctly from whoever sent it to me?" They do a good job at making
127)     sure you didn't have any random errors in your download, but they
128)     don't help you figure out whether you were downloading it from the
129)     attacker. The better question to answer is: "Is this file that I
traumschule verification: fix formatting

traumschule authored 5 years ago

130)     just downloaded the file that Tor intended me to get?"
131)     </p>
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

132)     <a class="nav" href="#TOC" title="go up">&uarr;</a>
133)   </article>
134)  </div>
135) 
traumschule verification: split by OS (...

traumschule authored 5 years ago

136) <!-- Import Tor's signing key -->
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

137)  <div>
138)   <input id="ac-2" name="accordion-2" type="checkbox" checked />
139)   <label for="ac-2">
traumschule verification: split by OS (...

traumschule authored 5 years ago

140)     <a class="nav" title="link here" href="#ImportKey">&#9668;</a>
141)     <h3><a name="ImportKey">Step 1: Import Tor's signing key</a></h3>
Roger Dingledine add another heading on veri...

Roger Dingledine authored 12 years ago

142)     <hr>
traumschule verification: fix formatting

traumschule authored 5 years ago

143)     <p>
144)     Each file on <a href="<page download/download>">our download
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 12 years ago

145)     page</a> is accompanied by a file with the same name as the
146)     package and the extension ".asc". These .asc files are GPG
147)     signatures. They allow you to verify the file you've downloaded
148)     is exactly the one that we intended you to get. For example,
Georg Koppen Bug 13407: Update signature...

Georg Koppen authored 9 years ago

149)     torbrowser-install-<version-torbrowserbundle>_en-US.exe is accompanied by
150)     torbrowser-install-<version-torbrowserbundle>_en-US.exe.asc. For a list
traumschule verification: fix formatting

traumschule authored 5 years ago

151)     of which developer signs which package, see our
152)     <a href="<page docs/signing-keys>">signing keys</a> page.
153)     </p>
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

154)   </label>
traumschule verification: split by OS (...

traumschule authored 5 years ago

155)   <article class="ac-box">
traumschule WIP verification: improve w...

traumschule authored 5 years ago

156) 
traumschule verification: split by OS (...

traumschule authored 5 years ago

157)    <p><span class="hint">Choose your operating system:</span>
158)    <label for="ac-2-1"><a name="KeyWindows">&#9658; Windows</a></label>
traumschule verification: apply few mor...

traumschule authored 5 years ago

159)    <label for="ac-2-2"><a name="KeyMacOS">&#9658; macOS</a></label>
traumschule verification: split by OS (...

traumschule authored 5 years ago

160)    <label for="ac-2-3"><a name="KeyLinux">&#9658; Linux</a></label>
161)    </p>
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

162) <!-- Windows -->
traumschule verification: split by OS (...

traumschule authored 5 years ago

163)   <div>
164)    <input id="ac-2-1" name="accordion-2" type="radio" checked />
165)    <article class="ac-os">
traumschule rerender css

traumschule authored 5 years ago

166)     <h3>Import OpenPGP key on Windows</h3>
traumschule verification: fix formatting

traumschule authored 5 years ago

167)     <p>
168)     First of all you need to have GnuPG installed before you can verify
169)     signatures.
170)     <br/>
171)     Download it from
172)     <a href="https://gpg4win.org/download.html">https://gpg4win.org/download.html</a>.
173)     </p>
174)     <p>
175)     Once it's installed, use GnuPG to import the key that signed your
hiromipaw Edits instruction on how to...

hiromipaw authored 6 years ago

176)     package. In order to verify the signature you will need to type a few commands
177)     in windows command-line, <i>cmd.exe</i>.
traumschule verification: fix formatting

traumschule authored 5 years ago

178)     </p>
179)     <p>
180)     The Tor Browser team signs Tor Browser releases. Import its key
181)     (0x4E2C6E8793298290) by starting <i>cmd.exe</i> and typing:
182)     </p>
traumschule rerender css

traumschule authored 5 years ago

183)     <pre>
184)     > gpg.exe --keyserver pool.sks-keyservers.net --recv-keys 0x4E2C6E8793298290
185)     </pre>
traumschule verification: fix formatting

traumschule authored 5 years ago

186)     <p>
traumschule verification: split by OS (...

traumschule authored 5 years ago

187)    </article>
188)   </div>
traumschule verification: apply few mor...

traumschule authored 5 years ago

189) <!-- macOS -->
traumschule verification: split by OS (...

traumschule authored 5 years ago

190)   <div>
191)    <input id="ac-2-2" name="accordion-2" type="radio" />
192)    <article class="ac-os">
traumschule verification: apply few mor...

traumschule authored 5 years ago

193)     <h3>Import OpenPGP key on macOS</h3>
traumschule verification: split by OS (...

traumschule authored 5 years ago

194)     <p>
195)     You need to have GnuPG installed before you can verify
196)     signatures. Install it from
197)     <a href="https://www.gpgtools.org/">https://www.gpgtools.org/</a>.
198)     </p>
199) 
200)     <p>The next step is to use GnuPG to import the key that signed
201)     your package. The Tor Browser team signs Tor Browser releases. Import its
traumschule verification: improve consi...

traumschule authored 5 years ago

202)     key (0x4E2C6E8793298290) by starting the terminal under
203)     "Applications/Utilities" and typing:</p>
traumschule rerender css

traumschule authored 5 years ago

204)     <pre>
205)     $ gpg --keyserver pool.sks-keyservers.net --recv-keys 0x4E2C6E8793298290
206)     </pre>
traumschule verification: split by OS (...

traumschule authored 5 years ago

207)     <p>
208)    </article>
209)   </div>
210) <!-- Linux -->
211)   <div>
212)    <input id="ac-2-3" name="accordion-2" type="radio" />
213)    <article class="ac-os">
traumschule rerender css

traumschule authored 5 years ago

214)     <h3>Import OpenPGP key on Linux</h3>
traumschule verification: split by OS (...

traumschule authored 5 years ago

215)     <p>
216)     You need to have GnuPG installed before you can verify
traumschule verification: improve consi...

traumschule authored 5 years ago

217)     signatures. It is probably already installed on your
traumschule verification: split by OS (...

traumschule authored 5 years ago

218)     system, as most Linux distributions come with it preinstalled.
219)     </p>
220) 
221)     <p>
222)     The next step is to use GnuPG to import the key that signed
223)     your package. The Tor Browser team signs Tor Browser releases. Import its
224)     key (0x4E2C6E8793298290) by starting the terminal and typing:</p>
traumschule rerender css

traumschule authored 5 years ago

225)     <pre>
226)     $ gpg --keyserver pool.sks-keyservers.net --recv-keys 0x4E2C6E8793298290
227)     </pre>
traumschule verification: split by OS (...

traumschule authored 5 years ago

228)     <p>
229)    </article>
230)   </div>
traumschule verification: improve consi...

traumschule authored 5 years ago

231) <!-- all OS -->
traumschule verification: split by OS (...

traumschule authored 5 years ago

232)   <div>
233)     <p>
traumschule verification: fix formatting

traumschule authored 5 years ago

234)     After importing the key, you can verify that the fingerprint
235)     is correct:
236)     </p>
traumschule rerender css

traumschule authored 5 years ago

237)     <pre>
238)     gpg --fingerprint 0x4E2C6E8793298290
239)     </pre>
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 12 years ago

240)     <p>You should see:</p>
241)     <pre>
traumschule update gpg fingerprint outp...

traumschule authored 5 years ago

242) pub   rsa4096/0x4E2C6E8793298290 2014-12-15 [C] [expires: 2020-08-24]
243)       Key fingerprint = EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
traumschule verification: fix formatting

traumschule authored 5 years ago

244) uid                   [ unknown] Tor Browser Developers (signing key) &lt;torbrowser@torproject.org&gt;
traumschule update gpg fingerprint outp...

traumschule authored 5 years ago

245) sub   rsa4096/0xD1483FA6C3C07136 2016-08-24 [S] [expires: 2018-08-24]
246)       Key fingerprint = A430 0A6B C93C 0877 A445  1486 D148 3FA6 C3C0 7136
247) sub   rsa4096/0xEB774491D9FF06E2 2018-05-26 [S] [expires: 2020-09-12]
248)       Key fingerprint = 1107 75B5 D101 FB36 BC6C  911B EB77 4491 D9FF 06E2
traumschule verification: fix formatting

traumschule authored 5 years ago

249)     </pre>
traumschule verification: split by OS (...

traumschule authored 5 years ago

250)     <a class="nav" href="#TOC" title="go up">&uarr;</a>
251)   </div>
traumschule verification: improve consi...

traumschule authored 5 years ago

252)  </article><!-- END ac-box -->
253) </div><!-- END step 1 -->
traumschule verification: split by OS (...

traumschule authored 5 years ago

254) 
255) <!-- Verifiy with OpenPGP signature -->
256) <div>
257)  <input id="ac-3" name="accordion-3" type="checkbox" />
258)  <label for="ac-3">
259)     <a class="nav" title="link here" href="#VerifySignature">&#9668;</a>
traumschule rerender css

traumschule authored 5 years ago

260)     <h3><a name="VerifySignature">Step 2: Verification with OpenGPG signature</a></h3>
traumschule verification: split by OS (...

traumschule authored 5 years ago

261)     <hr>
262)     <p>This section explains how to verify the downloaded file's digital
263)     signature on different operating systems. Please notice that a signature is
264)     dated the moment the package has been signed. Therefore every time a new
265)     file is uploaded a new signature is generated with a different date. As
266)     long as you have verified the signature you should not worry that the
267)     reported date may vary.
268)     </p>
269)   </label>
270)   <article class="ac-box">
271)    <p><span class="hint">Choose your operating system:</span>
272)    <label for="ac-3-1"><a name="VerifyWindows">&#9658; Windows</a></label>
traumschule verification: apply few mor...

traumschule authored 5 years ago

273)    <label for="ac-3-2"><a name="VerifyMacOS">&#9658; macOS</a></label>
traumschule verification: split by OS (...

traumschule authored 5 years ago

274)    <label for="ac-3-3"><a name="VerifyLinux">&#9658; Linux</a></label>
275)    </p>
276)    <p>
277)    If you haven't already, <a href="<page download/download>">download</a>
278)    the files you are interested in.
279)    </p>
280) <!-- Windows -->
281)   <div>
282)    <input id="ac-3-1" name="accordion-3" type="radio" checked />
283)    <article class="ac-os">
traumschule rerender css

traumschule authored 5 years ago

284)     <h3>Verify with OpenPGP signature on Windows</h3>
traumschule verification: fix formatting

traumschule authored 5 years ago

285)     <p>
286)     To verify the signature of the package you downloaded, you will need
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 12 years ago

287)     to download the ".asc" file as well. Assuming you downloaded the
traumschule verification: fix formatting

traumschule authored 5 years ago

288)     package and its signature to your Desktop, run:
289)     </p>
traumschule rerender css

traumschule authored 5 years ago

290)     <pre>
291)     > gpg.exe --verify C:\Users\Alice\Desktop\torbrowser-install-<version-torbrowserbundle>_en-US.exe.asc
292)     </pre>
293) 
hiromipaw Small improvements to verif...

hiromipaw authored 6 years ago

294)     <p>Please substitute "Alice" with your own username.</p>
traumschule verification: fix formatting

traumschule authored 5 years ago

295)     <p>The output should say "Good signature":</p>
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 12 years ago

296)     <pre>
traumschule docs/verifying-signatures:...

traumschule authored 5 years ago

297) gpg: assuming signed data in 'torbrowser-install-<version-torbrowserbundle>_en-US.exe'
298) gpg: Signature made Wed 15 Nov 2017 05:52:38 PM CET
299) gpg:                using RSA key 0xD1483FA6C3C07136
traumschule verification: fix formatting

traumschule authored 5 years ago

300) gpg: Good signature from "Tor Browser Developers (signing key) &lt;torbrowser@torproject.org&gt;" [unknown]
traumschule docs/verifying-signatures:...

traumschule authored 5 years ago

301) gpg: WARNING: This key is not certified with a trusted signature!
302) gpg:          There is no indication that the signature belongs to the owner.
303) Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
304)      Subkey fingerprint: A430 0A6B C93C 0877 A445  1486 D148 3FA6 C3C0 7136
traumschule verification: fix formatting

traumschule authored 5 years ago

305)     </pre>
traumschule verification: split by OS (...

traumschule authored 5 years ago

306)    </article>
307)   </div>
traumschule verification: apply few mor...

traumschule authored 5 years ago

308) <!-- macOS -->
traumschule verification: split by OS (...

traumschule authored 5 years ago

309)   <div>
310)    <input id="ac-3-2" name="accordion-3" type="radio" />
311)    <article class="ac-os">
traumschule verification: apply few mor...

traumschule authored 5 years ago

312)     <h3>Verify with OpenPGP signature on macOS</h3>
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 12 years ago

313)     <p>
traumschule verification: split by OS (...

traumschule authored 5 years ago

314)     To verify the signature of the package you downloaded, you will need
315)     to download the ".asc" file as well. Assuming you downloaded the
316)     package and its signature to your Downloads folder, run:
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 12 years ago

317)     </p>
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

318) 
traumschule verification: improve consi...

traumschule authored 5 years ago

319)     <p>
traumschule verification: apply few mor...

traumschule authored 5 years ago

320)     The easiest way to verify an ".asc" file is to open it by double-clicking
traumschule verification: fix wording a...

traumschule authored 5 years ago

321)     on it, or typing command-O. Alternatively type into the terminal:
traumschule verification: improve consi...

traumschule authored 5 years ago

322)     </p>
323) 
traumschule rerender css

traumschule authored 5 years ago

324)     <pre>
325)     $ gpg --verify ~/Downloads/TorBrowser-<version-torbrowserbundleosx64>_en-US.dmg{.asc*,}
326)     </pre>
traumschule verification: split by OS (...

traumschule authored 5 years ago

327) 
328)     <p>The output should say "Good signature":</p>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

329) 
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 12 years ago

330)     <pre>
traumschule verification: improve consi...

traumschule authored 5 years ago

331) gpg: assuming signed data in 'TorBrowser-<version-torbrowserbundleosx64>_en-US.dmg'
traumschule verification: split by OS (...

traumschule authored 5 years ago

332) gpg: Signature made Wed 15 Nov 2017 05:52:38 PM CET
333) gpg:                using RSA key 0xD1483FA6C3C07136
334) gpg: Good signature from "Tor Browser Developers (signing key) &lt;torbrowser@torproject.org&gt;" [unknown]
335) gpg: WARNING: This key is not certified with a trusted signature!
336) gpg:          There is no indication that the signature belongs to the owner.
337) Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
338)      Subkey fingerprint: A430 0A6B C93C 0877 A445  1486 D148 3FA6 C3C0 7136
traumschule update gpg fingerprint outp...

traumschule authored 5 years ago

339)     </pre>
traumschule verification: split by OS (...

traumschule authored 5 years ago

340)    </article>
341)   </div>
342) <!-- Linux -->
343)   <div>
344)    <input id="ac-3-3" name="accordion-3" type="radio" />
345)    <article class="ac-os">
traumschule rerender css

traumschule authored 5 years ago

346)     <h3>Verify with OpenPGP signature on Linux</h3>
traumschule verification: improve consi...

traumschule authored 5 years ago

347) 
348)     <p>For Tor (not Tor Browser) packages:
349)     On <b>Debian</b> you should read the instructions on
350)     <a href="<page docs/debian>#packages">importing these keys to apt</a>
351)     to use our package repository instead.
352)     If you're using the <b>RPMs</b>, you can manually verify the signatures by
353)     <pre>rpm -K filename.rpm</pre>
354)     </p>
355) 
traumschule verification: fix formatting

traumschule authored 5 years ago

356)     <p>
357)     To verify the signature of the package you downloaded, you will need
Roger Dingledine the verifying signatures pa...

Roger Dingledine authored 12 years ago

358)     to download the ".asc" file as well. Assuming you downloaded the
traumschule verification: fix formatting

traumschule authored 5 years ago

359)     package and its signature to your Downloads folder, run:
360)     </p>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

361) 
traumschule verification: split by OS (...

traumschule authored 5 years ago

362)     <p>Change 64 to 32 if you have the 32-bit package:</p>
traumschule verification: fix formatting

traumschule authored 5 years ago

363) 
traumschule rerender css

traumschule authored 5 years ago

364)     <pre>
365)     $ gpg --verify tor-browser-linux64-<version-torbrowserbundlelinux64>_en-US.tar.xz.asc
366)     </pre>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

367) 
Georg Koppen Bug 15253: Add Tor Browser...

Georg Koppen authored 9 years ago

368)     <p>The output should say "Good signature":</p>
Roger Dingledine clear trailing whitespaces;...

Roger Dingledine authored 13 years ago

369) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

370)     <pre>
traumschule docs/verifying-signatures:...

traumschule authored 5 years ago

371) gpg: assuming signed data in 'tor-browser-linux64-<version-torbrowserbundlelinux64>_en-US.tar.xz'
372) gpg: Signature made Wed 15 Nov 2017 05:52:38 PM CET
373) gpg:                using RSA key 0xD1483FA6C3C07136
traumschule verification: fix formatting

traumschule authored 5 years ago

374) gpg: Good signature from "Tor Browser Developers (signing key) &lt;torbrowser@torproject.org&gt;" [unknown]
traumschule docs/verifying-signatures:...

traumschule authored 5 years ago

375) gpg: WARNING: This key is not certified with a trusted signature!
376) gpg:          There is no indication that the signature belongs to the owner.
377) Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
378)      Subkey fingerprint: A430 0A6B C93C 0877 A445  1486 D148 3FA6 C3C0 7136
379)     </pre>
traumschule verification: split by OS (...

traumschule authored 5 years ago

380) 
381)   </article>
382)  </div>
383) <!-- END OS specific sections -->
traumschule verification: fix formatting

traumschule authored 5 years ago

384)     <p>
385)     Currently valid subkey fingerprints are:
386)     </p>
Georg Koppen Bug 15253: Add Tor Browser...

Georg Koppen authored 9 years ago

387)     <pre>
388)     5242 013F 02AF C851 B1C7  36B8 7017 ADCE F65C 2036
Georg Koppen Add new subkeys for Tor Bro...

Georg Koppen authored 7 years ago

389)     BA1E E421 BBB4 5263 180E  1FC7 2E1A C68E D408 14E0
traumschule verification: fix formatting

traumschule authored 5 years ago

390)     A430 0A6B C93C 0877 A445  1486 D148 3FA6 C3C0 7136
391)     </pre>
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

392)     <p>
393)     Notice that there is a warning because you haven't assigned a trust
394)     index to this person. This means that GnuPG verified that the key made
395)     that signature, but it's up to you to decide if that key really belongs
traumschule verification: apply few mor...

traumschule authored 5 years ago

396)     to the developer. Since international travel to meet the developer might be
397)     unfeasable you can ignore this warning or try to use another device or
398)     another internet connection to compare the key fingerprints listed
traumschule verification: fix wording a...

traumschule authored 5 years ago

399)     <a href="<page docs/signing-keys>">here</a>.
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

400)     </p>
Georg Koppen Bug 15253: Add Tor Browser...

Georg Koppen authored 9 years ago

401) 
traumschule verification: split by OS (...

traumschule authored 5 years ago

402)     <p>To learn more about GnuPG see
403)     <a href="https://www.gnupg.org/documentation/">https://www.gnupg.org/documentation/</a>
ilv Combined osx and linux inst...

ilv authored 9 years ago

404)     </p>
Roger Dingledine explain that linux users ar...

Roger Dingledine authored 12 years ago

405) 
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

406)     <a class="nav" href="#TOC" title="go up">&uarr;</a>
traumschule verification: improve consi...

traumschule authored 5 years ago

407)   </article><!-- END ac-box -->
408)  </div><!-- END step 2 -->
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

409) 
traumschule verification: split by OS (...

traumschule authored 5 years ago

410) <!-- Verify checksums -->
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

411)  <div>
traumschule verification: split by OS (...

traumschule authored 5 years ago

412)   <input id="ac-4" name="accordion-4" type="checkbox" />
413)    <label for="ac-4">
414)     <a class="nav" title="link here" href="#ChecksumVerification">&#9668;</a>
traumschule verification: improve consi...

traumschule authored 5 years ago

415)     <h3><a id="ChecksumVerification">Step 3: Verify the file integrity
416)     with a sha256 checksums</a></h3>
Matt Pagan Moved verification instruct...

Matt Pagan authored 9 years ago

417)     <hr>
traumschule verification: split by OS (...

traumschule authored 5 years ago

418)     <p>
419)     Build reproducibility is a
420)     <a href="https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise">
421)     security property</a> of Tor Browser 3.0 and later. Anyone can build
422)     Tor Browser on their own machine and produce a binary that is bit-for-bit
423)     identical to the binary we offer on the download page.
424)     Fortunately, it is not necessary for everyone to build Tor Browser locally
425)     to get this security. Verifying and comparing the signed list of
426)     <a href="https://en.wikipedia.org/wiki/Cryptographic_hash">hashes</a>
427)     will confirm that multiple people have built Tor Browsers identical to the
428)     download.
429)     </p>
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

430)    </label>
traumschule verification: split by OS (...

traumschule authored 5 years ago

431)   <article>
432)     <p>
traumschule verification: improve consi...

traumschule authored 5 years ago

433)     Note: This process does not work on macOS yet due to Apple's codesigning
434)     requirement. See <a href="#MARVerification">MAR verification</a> below.
traumschule verification: split by OS (...

traumschule authored 5 years ago

435)     </p>
436)      <ul>
437)       <li>
438)       <a href="<page download/download>">Download</a> the Tor Browser package,
439)       the <tt>sha256sums-unsigned-build.txt</tt> file, and the
440)       <tt>sha256sums-unsigned-build.txt.asc</tt> signature file.
Georg Koppen Update advanced verificatio...

Georg Koppen authored 8 years ago

441)       They can all be found in the same directory under
442)       <a href="https://www.torproject.org/dist/torbrowser/">
traumschule verification: improve consi...

traumschule authored 5 years ago

443)       https://www.torproject.org/dist/torbrowser/</a>, for example in
444)       '<version-torbrowserbundlelinux64>'
traumschule verification: split by OS (...

traumschule authored 5 years ago

445)       for Tor Browser <version-torbrowserbundlelinux64>.
traumschule verification: fix formatting

traumschule authored 5 years ago

446)       </li>
447)       <li>
traumschule verification: improve consi...

traumschule authored 5 years ago

448)       Retrieve the signers' GPG key with following ID with the method
449)       <a href="#ImportKey">described above</a>:<br/>
traumschule rerender css

traumschule authored 5 years ago

450)       (Other developers' key IDs can be found
451)       <a href="<page docs/signing-keys>">here)</a>
452)       </li>
traumschule verification: split by OS (...

traumschule authored 5 years ago

453)      </ul>
traumschule rerender css

traumschule authored 5 years ago

454)      <pre>
455)      0x4E2C6E8793298290
456)      </pre>
traumschule verification: split by OS (...

traumschule authored 5 years ago

457)   </article>
458)   <article class="ac-box">
459)   
460)    <p><span class="hint">Choose your operating system:</span>
461)    <span>
462) 
463)     <label for="ac-4-1"><a name="ChecksumsWindows">&#9658; Windows</a></label>
464)    </span>
465)    <span>
466)     <label for="ac-4-3"><a name="ChecksumsLinux">&#9658; Linux</a></label>
467)    </span>
468)    </p>
469) 
470) <!-- Windows -->
471)   <div>
traumschule rerender css

traumschule authored 5 years ago

472)     <input id="ac-4-1" name="accordion-4" type="radio" checked />
traumschule verification: split by OS (...

traumschule authored 5 years ago

473)    <article class="ac-os">
474)     <h3>Verififcation with a checksum on Windows</h3>
475)     <h4>Verify the signature of the checksum file</h4>
476)     <p>
477)     Verify the sha256sums-unsigned-build.txt file by executing this command:
478)     </p>
traumschule rerender css

traumschule authored 5 years ago

479)     <pre>
480)     > gpg.exe --verify sha256sums-unsigned-build.txt.asc sha256sums-unsigned-build.txt
traumschule verification: split by OS (...

traumschule authored 5 years ago

481)     </pre>
482) 
483)     <p>
484)     You should see a message like
485)     <pre>"Good signature from &lt;DEVELOPER NAME&gt;"</pre>.
486)     If you don't, there is a problem. Try these steps again.
487)     </p>
traumschule verification: fix formatting

traumschule authored 5 years ago

488) 
traumschule verification: split by OS (...

traumschule authored 5 years ago

489)     <h4>Verify the file integrity of Tor Browser</h4>
traumschule rerender css

traumschule authored 5 years ago

490)     <p>
491)     If you want to verify a Windows Tor Browser package you need to first
492)     strip off the authenticode signature of it.<br/>
493)     Tools that can be used for this purpose are
494)     <a href="http://osslsigncode.sourceforge.net">osslsigncode</a> and
495)     <a href="http://forum.xda-developers.com/showthread.php?t=416175">delcert.exe</a>.
496)     Assuming you have built e.g. <tt>osslsigncode</tt> on a Linux computer you can enter
497)     </p>
498)     <pre>
499)     > C:\path\to\osslsigncode remove-signature &#92;
500)         where\you\saved\\&lt;TOR BROWSER FILE NAME&gt;.exe &lt;TOR BROWSER FILE NAME&gt;.exe
501)     </pre>
traumschule verification: split by OS (...

traumschule authored 5 years ago

502) 
traumschule rerender css

traumschule authored 5 years ago

503)     <p>Now use the sha256sum of the Tor Browser package with the
504)     <a href="http://md5deep.sourceforge.net/">hashdeep utility</a> and run
505)     </p>
506)     <pre>
507)     C:\location\of\hashdeep -c sha256sum &lt;TOR BROWSER FILE NAME&gt;.exe
508)     </pre>
traumschule verification: split by OS (...

traumschule authored 5 years ago

509)    </article>
510)   </div>
traumschule verification: fix formatting

traumschule authored 5 years ago

511) 
traumschule verification: split by OS (...

traumschule authored 5 years ago

512) <!-- Linux -->
traumschule rerender css

traumschule authored 5 years ago

513)   <div>
514)    <input id="ac-4-3" name="accordion-4" type="radio" />
traumschule verification: split by OS (...

traumschule authored 5 years ago

515)    <article class="ac-os ac-4-3">
516)     <h3>Verififcation with a checksum on Linux</h3>
517)     <h4>Verify the signature of the checksum file</h4>
518)     <ul>
519)      <li>Verify the sha256sums-unsigned-build.txt with this command:</li>
traumschule rerender css

traumschule authored 5 years ago

520)      <pre>$ gpg --verify sha256sums-unsigned-build.txt.asc sha256sums-unsigned-build.txt</pre>
traumschule verification: split by OS (...

traumschule authored 5 years ago

521) 
traumschule rerender css

traumschule authored 5 years ago

522)      <li><!-- TODO which OSs are meant here? -->
traumschule verification: split by OS (...

traumschule authored 5 years ago

523)      In case your operating system is adding the .txt extension automatically
524)      to the SHA256 sums signature file strip it again by running
traumschule rerender css

traumschule authored 5 years ago

525)      </li>
526)      <pre>$ mv sha256sums-unsigned-build.txt.asc.txt sha256sums-unsigned-build.txt.asc</pre>
traumschule verification: split by OS (...

traumschule authored 5 years ago

527) 
traumschule rerender css

traumschule authored 5 years ago

528)      <li>
traumschule verification: split by OS (...

traumschule authored 5 years ago

529)      Verify the sha256sums-unsigned-build.txt file by executing this command:
530)      </li>
traumschule rerender css

traumschule authored 5 years ago

531)      <pre>$ gpg --verify sha256sums-unsigned-build.txt.asc sha256sums-unsigned-build.txt</pre>
traumschule verification: split by OS (...

traumschule authored 5 years ago

532) 
533)      <li>
traumschule rerender css

traumschule authored 5 years ago

534)      If you don't see a message like this, there is a problem
535)      and you should try these steps again:
traumschule verification: split by OS (...

traumschule authored 5 years ago

536)      </li>
traumschule rerender css

traumschule authored 5 years ago

537)      <pre>"Good signature from &lt;DEVELOPER NAME&gt;"</pre>.
traumschule verification: split by OS (...

traumschule authored 5 years ago

538)     </ul>
539) 
540)     <h4>Verify the file integrity of Tor Browser</h4>
541)     <ul>
542)      <li>Calculate the SHA-256 checksum of Tor Browser:</li>
traumschule rerender css

traumschule authored 5 years ago

543)      <pre>$ sha256sum &lt;TOR BROWSER FILE NAME&gt;.tar.gz</pre>
traumschule verification: fix formatting

traumschule authored 5 years ago

544) 
traumschule verification: split by OS (...

traumschule authored 5 years ago

545)      <li>You will see a string of letters and numbers.</li>
traumschule verification: fix formatting

traumschule authored 5 years ago

546) 
traumschule verification: split by OS (...

traumschule authored 5 years ago

547)      <li>Open <tt>sha256sums-unsigned-build.txt</tt> in a text editor.</li>
traumschule verification: fix formatting

traumschule authored 5 years ago

548) 
traumschule verification: split by OS (...

traumschule authored 5 years ago

549)      <li>Locate the name of the Tor Browser file you downloaded.</li>
traumschule verification: fix formatting

traumschule authored 5 years ago

550) 
traumschule verification: split by OS (...

traumschule authored 5 years ago

551)      <li>
552)      Compare the string of letters and numbers to the left of your filename with
553)      the string of letters and numbers that appeared on your command line.
554)      If they match, you've successfully verified the build.
555)      </li>
Matt Pagan Moved verification instruct...

Matt Pagan authored 9 years ago

556)     </ul>
traumschule rerender css

traumschule authored 5 years ago

557)     </article>
558)    </div>
traumschule verification: split by OS (...

traumschule authored 5 years ago

559)    <a class="nav" href="#TOC" title="go up">&uarr;</a>
traumschule verification: improve consi...

traumschule authored 5 years ago

560)   </article><!-- END ac-box -->
561)  </div><!-- END step 3 -->
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

562) 
563) <!-- MAR verification -->
564)  <div>
traumschule verification: split by OS (...

traumschule authored 5 years ago

565)   <input id="ac-5" name="accordion-5" type="checkbox" />
566)    <label for="ac-5">
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

567)     <a class="nav" title="link here" href="#MARVerification">&#9668;</a>
traumschule verification: split by OS (...

traumschule authored 5 years ago

568)     <h3><a name="MARVerification">MAR verification</a></h3>
Matt Pagan Moved verification instruct...

Matt Pagan authored 9 years ago

569)     <hr>
traumschule verification: split by OS (...

traumschule authored 5 years ago

570)     <p>
571)     Starting with Tor Browser 4.5a4 we sign our MAR files which helps
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

572)     securing our update process. The downside of this is the need for additional
573)     instructions to verify that the MAR files we ship are indeed the ones we
traumschule verification: split by OS (...

traumschule authored 5 years ago

574)     produced with our rbm setup.
575)     </p>
576)    </label>
577)    <article class="ac-small">
578)     <p>
579)     Assuming the verification happens on a Linux computer one first needs the
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

580)     <tt>mar-tools-linux*.zip</tt> out of the <tt>gitian-builder/inputs</tt>
581)     directory to remove the embedded signature(s). The steps to get the unsigned
582)     MAR file on a 64 bit Linux are</p>
583)     <pre>
traumschule rerender css

traumschule authored 5 years ago

584)     $ cd /path/to/MAR/file
585)     $ unzip /path/to/gitian-builder/inputs/mar-tools-linux64.zip
586)     $ export LD_LIBRARY_PATH=/path/to/MAR/file/mar-tools
587)     $ mar-tools/signmar -r your-signed-mar-file.mar your-unsigned-mar-file.mar</pre>
Georg Koppen Bug 14304: Document strippi...

Georg Koppen authored 9 years ago

588)     <p>Now you can compare the SHA256 sum of <tt>your-unsigned-mar-file.mar</tt>
Georg Koppen Update advanced verificatio...

Georg Koppen authored 8 years ago

589)     with the one provided in the <tt>sha265sums-unsigned-build.txt</tt> or
590)     <tt>sha256sums-unsigned-build.incremental.txt</tt> as outlined in
traumschule verification: split by OS (...

traumschule authored 5 years ago

591)     <a href="#ChekcksumVerification">Checksum verification</a> above.
592)     </p>
593)    </article>
594)  </div>
595) 
596) <!-- Troubleshooting -->
597)  <div>
598)   <input id="ac-6" name="accordion-6" type="checkbox" />
599)    <label for="ac-6">
600)     <a class="nav" title="link here" href="#Troubleshooting">&#9668;</a>
601)     <h3><a id="Troubleshooting">Troubleshooting</a></h3>
602)     <hr>
603)     <p>Does this guide work for you? Is a question missing?
604)     <a href="<page about/contact>#support">Reach out to us</a>!</p>
605)    </label>
606)    <article class="ac-small">
traumschule rerender css

traumschule authored 5 years ago

607)     <p>Send us your question!</p>
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

608)     <a class="nav" href="#TOC" title="go up">&uarr;</a>
609)   </article>
610)  </div>
611) 
612) <!-- Scripts -->
613)  <div>
614)   <input id="ac-7" name="accordion-7" type="checkbox" checked />
615)    <label for="ac-7">
616)     <a class="nav" title="link here" href="#Scripts">&#9668;</a>
617)     <h3><a id="Scripts">Automate the process with a script</a></h3>
618)     <hr>
619)     <p><a href="https://github.com/isislovecruft/scripts/blob/master/verify-gitian-builder-signatures">Scripts</a>
620)     to <a href="https://tor.stackexchange.com/questions/648/how-to-verify-tor-browser-bundle-tbb-3-x">automate</a>
621)     these steps have been written, but to use them you will need to modify
622)     them yourself with the latest Tor Browser filename.</p>
traumschule verification: split by OS (...

traumschule authored 5 years ago

623)    </label>
624)    <article class="ac-small">
traumschule rerender css

traumschule authored 5 years ago

625)     <p>
626)     This needs to be explained. <a href="<page getinvolved/volunteer>">Help!</a>
627)     </p>
traumschule rebase onto torproject/webw...

traumschule authored 5 years ago

628)     <a class="nav" href="#TOC" title="go up">&uarr;</a>
629)   </article>
630)  </div>
631) </section>
Matt Pagan Moved verification instruct...

Matt Pagan authored 9 years ago

632) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

633)   </div>
634)   <!-- END MAINCOL -->
635)   <div id = "sidecol">
636) #include "side.wmi"
637) #include "info.wmi"
638)   </div>
639)   <!-- END SIDECOL -->
640) </div>
641) <!-- END CONTENT -->