Dikkat: Bu yönergeler tor kaynak kodunu doğrulamak içindir. Lütfen Tor Browser imzasını doğrulamak için doğru yönergeleri izleyin.

Bir sayısal imza, bir paketin gerçekten özgün geliştiricileri tarafından üretildiğini ve üzerinde sonradan bir değişiklik yapılmadığını anlamak için kullanılır. Aşağıda bunun neden önemli olduğunu ve indirdiğiniz tor kaynak kodunun bizim oluşturduğumuz kod olduğunu ve bazı saldırganlar tarafından değiştirilmediğinin nasıl doğrulanacağını açıklıyoruz.

İndirme sayfamızdaki her dosyanın yanında, paketle aynı ada ve ".sha256sum" ve ".sha256sum.asc" uzantısına sahip "sağlama" ve "imza" etiketli iki dosya bulunur.

.asc dosyası .sha256sum dosyasının (paketin sağlamasını) kurcalanmamış olduğunu doğrular. İmza doğrulandığında (nasıl yapacağınızı öğrenmek için aşağıda bakın), paketin bütünlüğü şununla denetlenebilir:

$ sha256sum -c *.sha256sum

Bu dosyalar indirdiğiniz dosyanın tam olarak almanızı istediğimiz dosya olduğunu doğrulamanızı sağlar. Bu işlem web tarayıcınıza göre değişebilir. Ancak genellikle bu dosyayı "imza" ve "sağlama" bağlantısına sağ tıklayıp "farklı kaydet" üzerine tıklayarak indirebilirsiniz.

Örneğin, tor-0.4.6.7.tar.gz dosyasının yanında tor-0.4.6.7.tar.gz.sha256sum.asc dosyası bulunur. Bunlar örnek dosya adlarıdır ve indirdiğiniz dosya adlarıyla birebir aynı olmaz.

Şimdi size, indirdiğiniz bir dosyanın sayısal imzasını farklı işletim sistemleri üzerinde nasıl doğrulayabileceğinizi anlatacağız. İmza dosyası tarihinin, paketin imzalandığı tarih ile aynı olduğunu görebilirsiniz. Yani her yeni paket dosyası yüklendiğinde, farklı bir tarihi olan yeni bir imza oluşturulur. İmzayı doğruladığınız sürece, belirtilen tarihin değişmesi önemli değildir.

GnuPG kurmak

İmzaları doğrulayabilmeniz için öncelikle GnuPG uygulaması kurulmuş olmalıdır.

Windows kullanıcıları için:

Windows kullanıyorsanız, Gpg4win uygulamasını indirip kurucuyu çalıştırın.

İmzayı doğrulamak için cmd.exe windows komut satırında bir kaç komut yazmanız gerekir.

macOS kullanıcıları için:

macOS kullanıyorsanız GPGTools uygulamasını kurabilirsiniz.

İmzayı doğrulamak için Terminal ("Uygulamalar altında") üzerinden bir kaç komut yazmanız gerekir.

GNU/Linux kullanıcıları için:

GNU/Linux kullanıyorsanız, çoğu GNU/Linux dağıtımında önceden kurulmuş olduğundan büyük olasılıkla sisteminizde GnuPG vardır.

İmzayı doğrulamak için bir terminal penceresinden birkaç komut yazmanız gerekecek. Bunun nasıl yapılacağı, dağıtımınıza göre değişir.

Tor geliştiricilerinin anahtarlarını almak

Aşağıdaki anahtarlar tarball paketini imzalayabilir. Hepsinin yapmasını beklemeyin, yayımı yapmak için kimin uygun olduğuna bağlı olarak değişebilir.

Anahtarı yukarıda verilen bağlantılarla ya da şu komutlarla alabilirsiniz:

$ gpg --auto-key-locate nodefault,wkd --locate-keys ahf@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys dgoulet@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys nickm@torproject.org

Bunun sonucunda şöyle bir şey görmelisiniz (nickm için):

gpg: key FE43009C4607B1FB: public key "Nick Mathewson <nickm@torproject.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
pub   rsa4096 2016-09-21 [C] [expires: 2025-10-04]
      2133BC600AB133E1D826D173FE43009C4607B1FB
uid           [ unknown] Nick Mathewson <nickm@torproject.org>
sub   rsa4096 2016-09-23 [S] [expires: 2025-10-04]
sub   rsa4096 2016-09-23 [E] [expires: 2025-10-04]

Bir sorun çıktığı hakkında bir hata iletisi görürseniz, sorunun ne olduğunu anlayana kadar sonraki adıma geçemezsiniz. Bunun yerine Geçici çözüm (herkese açık anahtar kullanarak) bölümünü kullanarak anahtarı içe aktarabilirsiniz.

Anahtarı içe aktardıktan sonra bir dosyaya kaydedebilirsiniz (buradaki parmak izi ile tanımlayarak):

$ gpg --output ./tor.keyring --export 0x2133BC600AB133E1D826D173FE43009C4607B1FB

Bu komut sonucunda anahtar, örneğin geçerli klasör içinde ./tor.keyring yolunda bulunan bir dosyaya kaydedilir. Bu komutu yürüttükten sonra ./tor.keyring klasörü yoksa, bir şeyler ters gitmiş demektir ve sorunu anlayana kadar devam edemezsiniz.

İmzayı doğrulamak

İndirdiğiniz paketin imzasını doğrulamak için kurucu dosyasının yanında ilgili .sha256sum..asc imza dosyasını ve .sha256sum dosyasını da indirmeniz gerekir. Ardından bir GnuPG komutu yazarak indirdiğiniz dosyanın imzasını doğrulayabilirsiniz.

Aşağıdaki örnek komutlar bu iki dosyayı Downloads klasörüne indirdiğinizi varsayarak yazılmıştır. Bu komutların örnek dosya adları kullandığını ve sizin dosyanızın farklı olabileceğini unutmayın.9.0 sürümü yerine başka bir sürümü ya da İngilizce (en-US) yerine başka bir dili seçmiş olabilirsiniz.

Windows kullanıcıları için:

gpgv --keyring .\tor.keyring Downloads\tor-0.4.6.10.tar.gz.sha256sum.asc Downloads\tor-0.4.6.10.tar.gz.sha256sum

macOS kullanıcıları için:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

BSD/Linux kullanıcıları için:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

Komutun sonucunda şöyle bir şey görmelisiniz hangi anahtar ile imzalandığına bağlı olarak):

gpgv: Signature made Mon 16 Aug 2021 04:44:27 PM -03
gpgv:                using RSA key 7A02B3521DC75C542BA015456AFEE6D49E92B601
gpgv: Good signature from "Nick Mathewson <nickm@torproject.org>"

'Dosya ya da klasör bulunamadı' şeklinde hata iletileri alırsanız ya önceki adımlarda bir şeyler yanlıştır ya da örnek dosya adlarını sizin durumunuza uyan dosya adları ile değiştirmemişsinizdir.

GnuPG hakkında ayrıntılı bilgi almak için buraya tıklayabilirsiniz.

Sağlamayı doğrulamak

Şimdi sağlama toplamının imzalarını doğruladığımıza göre, paketin bütünlüğünü doğrulamamız gerekiyor.

Windows kullanıcıları için:

certUtil -hashfile tor-0.4.6.10.tar.gz.sha256sum SHA256

macOS kullanıcıları için:

shasum -a 256 tor-0.4.6.10.tar.gz.sha256sum

BSD/Linux kullanıcıları için:

sha256sum -c tor-0.4.6.10.tar.gz.sha256sum