How to verify signatures for packages


Each file on our download page is accompanied by a file with the same name as the package and the extension ".asc". For example, the current Installation Bundle for Windows: dist/vidalia-bundles/vidalia-bundle-0.2.0.35-0.1.14.exe.asc.

These .asc files are PGP signatures. They allow you to verify the file you've downloaded is exactly the one that we intended you to get.

Of course, you'll need to have our pgp keys in your keyring: if you don't know the pgp key, you can't be sure that it was really us who signed it. The signing keys we use are:

Step One: Import the keys


You can import keys directly from GnuPG as well:

gpg --keyserver subkeys.pgp.net --recv-keys 0x28988BF5

or search for keys with

gpg --keyserver subkeys.pgp.net --search-keys 0x28988BF5

and when you select one, it will be added to your keyring.

Step Two: Verify the fingerprints


Verify the pgp fingerprints using:

gpg --fingerprint (insert keyid here)
The fingerprints for the keys should be:
pub   1024D/28988BF5 2000-02-27
      Key fingerprint = B117 2656 DFF9 83C3 042B  C699 EB5A 896A 2898 8BF5
uid                  Roger Dingledine <arma@mit.edu>

pub   3072R/165733EA 2004-07-03
      Key fingerprint = B35B F85B F194 89D0 4E28  C33C 2119 4EBB 1657 33EA
uid                  Nick Mathewson <nickm@alum.mit.edu>
uid                  Nick Mathewson <nickm@wangafu.net>
uid                  Nick Mathewson <nickm@freehaven.net>

pub  1024D/31B0974B 2003-07-17
     Key fingerprint = 0295 9AA7 190A B9E9 027E  0736 3B9D 093F 31B0 974B
uid                  Andrew Lewman (phobos) <phobos@rootme.org>
uid                  Andrew Lewman <andrew@lewman.com>
uid                  Andrew Lewman <andrew@torproject.org>
sub   4096g/B77F95F7 2003-07-17

pub   1024D/94C09C7F 1999-11-10
      Key fingerprint = 5B00 C96D 5D54 AEE1 206B  AF84 DE7A AF6E 94C0 9C7F
uid                  Peter Palfrader
uid                  Peter Palfrader <peter@palfrader.org>
uid                  Peter Palfrader <weasel@debian.org>

pub   1024D/5FA14861 2005-08-17
      Key fingerprint = 9467 294A 9985 3C9C 65CB  141D AF7E 0E43 5FA1 4861
uid                  Matt Edman <edmanm@rpi.edu>
uid                  Matt Edman <Matt_Edman@baylor.edu>
uid                  Matt Edman <edmanm2@cs.rpi.edu>
sub   4096g/EA654E59 2005-08-17

pub   1024D/9D0FACE4 2008-03-11 [expires: 2010-03-11]
      Key fingerprint = 12E4 04FF D3C9 31F9 3405  2D06 B884 1A91 9D0F ACE4
uid                  Jacob Appelbaum <jacob@appelbaum.net>
sub   4096g/D5E87583 2008-03-11 [expires: 2010-03-11]

(Of course if you want to be really certain that those are the real ones then you should check this from more places or even better get into key signing and build a trust path to those keys.)

Step Three: Verify the downloaded package


If you're using GnuPG, then put the .asc and the download in the same directory and type "gpg --verify (whatever).asc (whatever)". It will say something like "Good signature" or "BAD signature" using the following type of command:

gpg --verify tor-0.1.0.17.tar.gz.asc tor-0.1.0.17.tar.gz
gpg: Signature made Wed Feb 23 01:33:29 2005 EST using DSA key ID 28988BF5
gpg: Good signature from "Roger Dingledine <arma@mit.edu>"
gpg:                 aka "Roger Dingledine <arma@mit.edu>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: B117 2656 DFF9 83C3 042B  C699 EB5A 896A 2898 8BF5

Notice that there is a warning because you haven't assigned a trust index to this user. This means that your program verified the key made that signature. It's up to the user to decide if that key really belongs to the developers. The best method is to meet them in person and exchange gpg fingerprints. Keys can also be signed. If you look up Roger or Nick's keys, other people have essentially said "we have verified this is Roger/Nick". So if you trust that third party, then you have a level of trust for that arma/nick.

All this means is you can ignore the message or assign a trust level.

For your reference, this is an example of a BAD verification. It means that the signature and file contents do not match:

gpg --verify tor-0.1.0.17.tar.gz.asc
gpg: Signature made Wed Feb 23 01:33:29 2005 EST using DSA key ID 28988BF5
gpg: BAD signature from "Roger Dingledine <arma@mit.edu>"

If you see a message like the above one, then you should not trust the file contents.

If you are running Tor on Debian you should read the instructions on importing these keys to apt.


"Tor" and the "Onion Logo" are registered trademarks of The Tor Project, Inc.
Content on this site is licensed under a Creative Commons Attribution 3.0 United States License, unless otherwise noted.

This page is also available in the following languages: Deutsch, français, Italiano, 日本語 (Nihongo), polski, 中文(简) (Simplified Chinese).
How to set the default document language.

Webmaster - Last modified: Tue Mar 10 13:58:09 2009 - Last compiled: Tue Jun 30 09:37:18 2009