How to verify tor source code
A digital signature is a process that ensures the tor source code you download was created by Tor developers and has not been tampered with. Below we explain why it is important and how to verify that the Tor you download is the one we created and has not been modified by an attacker.
توجه: این رهنمونها برای تأیید کد منبع Tor هستند. Please follow the right instructions to verify Tor Browser's signature.
Downloading the signature files
The Tor source files on our download page are accompanied by two files which are labelled "checksum" and "sig" with the same name as the package and the extension ".sha256sum" and ".sha256sum.asc" respectively.
فایل .asc تأیید خواهد کرد که فایل .sha256sum (دربردارندهٔ جمعآزمای بسته) دستکاری نشده است. هنگامی که امضا صحتسنجی شد (در مورد چگونگی انجام آن پایین را ببینید)، صحت بسته میتواند با این دستور تأیید شود:
$ sha256sum -c *.sha256sum
این فایلها به شما اجازه میدهند که تأیید کنید فایلی که بارگیری کردهاید دقیقاً همان فایلی است که ما قصد داشتیم شما دریافت کنید. این کار در هر مرورگر وب متفاوت است، اما عموماً میتوانید با کلیک-راست روی پیوندهای «sig» و «checksum» و انتخاب گزینهٔ «save file as» این فایل را بارگیری کنید.
برای مثال، tor-0.4.6.7.tar.gz با tor-0.4.6.7.tar.gz.sha256sum.asc همراهی میشود. اینها نامهای فایل نمونه هستند و دقیقاً با نامهای فایلی که شما بارگیری میکنید مطابقت نخواهند داشت.
لطفاً توجه داشته باشید که امضا در لحظهای که بسته امضا میشود، تاریخگذاری میشود. بنابراین هر بار که فایلی جدید بارگذاری میشود یک امضای جدید با یک تاریخ متفاوت تولید میشود. مادامی که شما امضا را تأیید کردهاید لازم نیست نگران تفاوت تاریخ گزارششده باشید.
نصب GnuPG
اول از همه نیاز است تا GnuPG را نصب داشته باشید تا بتوانید امضاها را تأیید کنید. اگر از Windows استفاده میکنید، Gpg4win را بارگیری کنید و نصبکنندهٔ آن را اجرا کنید.
برای تأیید امضا لازم است چندین فرمان را در خط فرمان Windows، یا cmd.exe وارد کنید.
واکشی کلید توسعهدهندگان Tor
کلیدهای زیر میتوانند tarball را امضا کنند. انتظار نداشته باشید همهٔ آنها کار کنند، چون بسته به اینکه چه کسی برای انجام انتشار در دسترس است، امضاکننده میتواند متفاوت باشد.
- Alexander Færøy: 514102454D0A87DB0767A1EBBE6A0531C18A9179
- David Goulet: B74417EDDF22AC9F9E90F49142E86A2A11F48D36
- Nick Mathewson: 2133BC600AB133E1D826D173FE43009C4607B1FB
می توانید کلید را با پیوندهای ارائهشده در بالا یا با دستورهای زیر دریافت کنید:
$ 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
باید چیزی به این شکل شما نشان دهد (برای nickm):
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]
اگر پیغام خطایی دریافت کردید، مشکلی رخ داده است و تا زمانی که متوجه علت عدم کارکرد آن نشدهاید، نمیتوانید ادامه دهید. ممکن است بتوانید کلید را با استفاده از بخش راهکار موقت (با استفاده از کلید عمومی) وارد کنید.
پس از واردکردن کلید، میتوانید آن را در یک فایل ذخیره کنید (آن را با اثرانگشتش در اینجا شناسایی کنید):
$ gpg --output ./tor.keyring --export 0x2133BC600AB133E1D826D173FE43009C4607B1FB
این فرمان باعث میشود تا کلید در فایلی که در مسیر ./tor.keyring قرار دارد، یعنی در شاخهٔ کنونی ذخیره شود. اگر پس از اجرای این فرمان ./tor.keyring وجود نداشت، اشتباهی رخ داده است و تا زمانی که چرایی کارنکردن آن را متوجه نشوید، نمیتوانید ادامه دهید.
درحال تایید امضا
برای تأیید امضای بستهای که بارگیری کردهاید، باید فایل امضای «.sha256sum.asc متناظر آن و خود فایل .sha256sum را بارگیری کنید و آن را با دستوری بررسی کنید که از GnuPG میخواهد فایلی را که بارگیری کردهاید تأیید کند.
مثالهای زیر فرض میکنند که شما این دو فایل را در پوشهٔ «بارگیریها»یتان دانلود کردید. توجه داشته باشید که این دستورات از نامهای نمونه استفاده میکنند و نام فایل شما متفاوت خواهد بود: شما نسخهٔ متمایزی از 9.0 بارگیری خواهید کرد و ممکن است نسخهٔ انگلیسی (en-US) را بارگیری نکرده باشید.
gpgv --keyring .\tor.keyring Downloads\tor-0.4.6.10.tar.gz.sha256sum.asc Downloads\tor-0.4.6.10.tar.gz.sha256sum
نتیجهٔ دستور باید چیزی شبیه این باشد (بسته به اینکه کدام کلید آن را امضا کرده است):
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"
اگر پیغام خطایی حاوی ‹چنین فایل یا شاخهای وجود ندارد› دریافت میکنید، یا در یکی از مراحل گذشته اشتباهی پیش آمده است و یا اینکه فراموش کردید که این فرمانها از نامهای فایل نمونه استفاده میکنند و نامهای فایل شما کمی متفاوت خواهند بود.
شاید همچنین بخواهید دربارهٔ GnuPG بیشتر بیاموزید.
تایید جمعآزما
اکنون که امضاهای جمعآزما را صحتسنجی کردیم، باید صحت بسته را تأیید کنیم.
certUtil -hashfile tor-0.4.6.10.tar.gz.sha256sum SHA256
توجه: این رهنمونها برای تأیید کد منبع Tor هستند. Please follow the right instructions to verify Tor Browser's signature.
Downloading the signature files
The Tor source files on our download page are accompanied by two files which are labelled "checksum" and "sig" with the same name as the package and the extension ".sha256sum" and ".sha256sum.asc" respectively.
فایل .asc تأیید خواهد کرد که فایل .sha256sum (دربردارندهٔ جمعآزمای بسته) دستکاری نشده است. هنگامی که امضا صحتسنجی شد (در مورد چگونگی انجام آن پایین را ببینید)، صحت بسته میتواند با این دستور تأیید شود:
$ sha256sum -c *.sha256sum
این فایلها به شما اجازه میدهند که تأیید کنید فایلی که بارگیری کردهاید دقیقاً همان فایلی است که ما قصد داشتیم شما دریافت کنید. این کار در هر مرورگر وب متفاوت است، اما عموماً میتوانید با کلیک-راست روی پیوندهای «sig» و «checksum» و انتخاب گزینهٔ «save file as» این فایل را بارگیری کنید.
برای مثال، tor-0.4.6.7.tar.gz با tor-0.4.6.7.tar.gz.sha256sum.asc همراهی میشود. اینها نامهای فایل نمونه هستند و دقیقاً با نامهای فایلی که شما بارگیری میکنید مطابقت نخواهند داشت.
لطفاً توجه داشته باشید که امضا در لحظهای که بسته امضا میشود، تاریخگذاری میشود. بنابراین هر بار که فایلی جدید بارگذاری میشود یک امضای جدید با یک تاریخ متفاوت تولید میشود. مادامی که شما امضا را تأیید کردهاید لازم نیست نگران تفاوت تاریخ گزارششده باشید.
نصب GnuPG
اگر از macOS استفاده میکنید، میتوانید GPGTools را نصب کنید.
واکشی کلید توسعهدهندگان Tor
کلیدهای زیر میتوانند tarball را امضا کنند. انتظار نداشته باشید همهٔ آنها کار کنند، چون بسته به اینکه چه کسی برای انجام انتشار در دسترس است، امضاکننده میتواند متفاوت باشد.
- Alexander Færøy: 514102454D0A87DB0767A1EBBE6A0531C18A9179
- David Goulet: B74417EDDF22AC9F9E90F49142E86A2A11F48D36
- Nick Mathewson: 2133BC600AB133E1D826D173FE43009C4607B1FB
می توانید کلید را با پیوندهای ارائهشده در بالا یا با دستورهای زیر دریافت کنید:
$ 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
باید چیزی به این شکل شما نشان دهد (برای nickm):
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]
اگر پیغام خطایی دریافت کردید، مشکلی رخ داده است و تا زمانی که متوجه علت عدم کارکرد آن نشدهاید، نمیتوانید ادامه دهید. ممکن است بتوانید کلید را با استفاده از بخش راهکار موقت (با استفاده از کلید عمومی) وارد کنید.
پس از واردکردن کلید، میتوانید آن را در یک فایل ذخیره کنید (آن را با اثرانگشتش در اینجا شناسایی کنید):
$ gpg --output ./tor.keyring --export 0x2133BC600AB133E1D826D173FE43009C4607B1FB
این فرمان باعث میشود تا کلید در فایلی که در مسیر ./tor.keyring قرار دارد، یعنی در شاخهٔ کنونی ذخیره شود. اگر پس از اجرای این فرمان ./tor.keyring وجود نداشت، اشتباهی رخ داده است و تا زمانی که چرایی کارنکردن آن را متوجه نشوید، نمیتوانید ادامه دهید.
درحال تایید امضا
برای تأیید امضای بستهای که بارگیری کردهاید، باید فایل امضای «.sha256sum.asc متناظر آن و خود فایل .sha256sum را بارگیری کنید و آن را با دستوری بررسی کنید که از GnuPG میخواهد فایلی را که بارگیری کردهاید تأیید کند.
مثالهای زیر فرض میکنند که شما این دو فایل را در پوشهٔ «بارگیریها»یتان دانلود کردید. توجه داشته باشید که این دستورات از نامهای نمونه استفاده میکنند و نام فایل شما متفاوت خواهد بود: شما نسخهٔ متمایزی از 9.0 بارگیری خواهید کرد و ممکن است نسخهٔ انگلیسی (en-US) را بارگیری نکرده باشید.
برای کاربران macOS:
gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum
اگر پیغام خطایی حاوی ‹چنین فایل یا شاخهای وجود ندارد› دریافت میکنید، یا در یکی از مراحل گذشته اشتباهی پیش آمده است و یا اینکه فراموش کردید که این فرمانها از نامهای فایل نمونه استفاده میکنند و نامهای فایل شما کمی متفاوت خواهند بود.
شاید همچنین بخواهید دربارهٔ GnuPG بیشتر بیاموزید.
تایید جمعآزما
اکنون که امضاهای جمعآزما را صحتسنجی کردیم، باید صحت بسته را تأیید کنیم.
shasum -a 256 tor-0.4.6.10.tar.gz.sha256sum
توجه: این رهنمونها برای تأیید کد منبع Tor هستند. Please follow the right instructions to verify Tor Browser's signature.
Downloading the signature files
The Tor source files on our download page are accompanied by two files which are labelled "checksum" and "sig" with the same name as the package and the extension ".sha256sum" and ".sha256sum.asc" respectively.
فایل .asc تأیید خواهد کرد که فایل .sha256sum (دربردارندهٔ جمعآزمای بسته) دستکاری نشده است. هنگامی که امضا صحتسنجی شد (در مورد چگونگی انجام آن پایین را ببینید)، صحت بسته میتواند با این دستور تأیید شود:
$ sha256sum -c *.sha256sum
این فایلها به شما اجازه میدهند که تأیید کنید فایلی که بارگیری کردهاید دقیقاً همان فایلی است که ما قصد داشتیم شما دریافت کنید. این کار در هر مرورگر وب متفاوت است، اما عموماً میتوانید با کلیک-راست روی پیوندهای «sig» و «checksum» و انتخاب گزینهٔ «save file as» این فایل را بارگیری کنید.
برای مثال، tor-0.4.6.7.tar.gz با tor-0.4.6.7.tar.gz.sha256sum.asc همراهی میشود. اینها نامهای فایل نمونه هستند و دقیقاً با نامهای فایلی که شما بارگیری میکنید مطابقت نخواهند داشت.
لطفاً توجه داشته باشید که امضا در لحظهای که بسته امضا میشود، تاریخگذاری میشود. بنابراین هر بار که فایلی جدید بارگذاری میشود یک امضای جدید با یک تاریخ متفاوت تولید میشود. مادامی که شما امضا را تأیید کردهاید لازم نیست نگران تفاوت تاریخ گزارششده باشید.
نصب GnuPG
اول از همه نیاز است تا GnuPG را نصب داشته باشید تا بتوانید امضاها را تأیید کنید.
اگر از GNU/Linux استفاده میکنید، پس احتمالاً GnuPG را از پیش روی سیستم خود دارید، چراکه بیشتر توزیعهای GNU/Linux آن را از پیش نصبشده دارند.
برای تأیید امضا، باید چند فرمان را در یک پنجرهٔ ترمینال تایپ کنید. نحوهٔ انجام این کار بسته به توزیع شما متفاوت است.
واکشی کلید توسعهدهندگان Tor
کلیدهای زیر میتوانند tarball را امضا کنند. انتظار نداشته باشید همهٔ آنها کار کنند، چون بسته به اینکه چه کسی برای انجام انتشار در دسترس است، امضاکننده میتواند متفاوت باشد.
- Alexander Færøy: 514102454D0A87DB0767A1EBBE6A0531C18A9179
- David Goulet: B74417EDDF22AC9F9E90F49142E86A2A11F48D36
- Nick Mathewson: 2133BC600AB133E1D826D173FE43009C4607B1FB
می توانید کلید را با پیوندهای ارائهشده در بالا یا با دستورهای زیر دریافت کنید:
$ 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
باید چیزی به این شکل شما نشان دهد (برای nickm):
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]
اگر پیغام خطایی دریافت کردید، مشکلی رخ داده است و تا زمانی که متوجه علت عدم کارکرد آن نشدهاید، نمیتوانید ادامه دهید. ممکن است بتوانید کلید را با استفاده از بخش راهکار موقت (با استفاده از کلید عمومی) وارد کنید.
پس از واردکردن کلید، میتوانید آن را در یک فایل ذخیره کنید (آن را با اثرانگشتش در اینجا شناسایی کنید):
$ gpg --output ./tor.keyring --export 0x2133BC600AB133E1D826D173FE43009C4607B1FB
این فرمان باعث میشود تا کلید در فایلی که در مسیر ./tor.keyring قرار دارد، یعنی در شاخهٔ کنونی ذخیره شود. اگر پس از اجرای این فرمان ./tor.keyring وجود نداشت، اشتباهی رخ داده است و تا زمانی که چرایی کارنکردن آن را متوجه نشوید، نمیتوانید ادامه دهید.
درحال تایید امضا
برای تأیید امضای بستهای که بارگیری کردهاید، باید فایل امضای «.sha256sum.asc متناظر آن و خود فایل .sha256sum را بارگیری کنید و آن را با دستوری بررسی کنید که از GnuPG میخواهد فایلی را که بارگیری کردهاید تأیید کند.
مثالهای زیر فرض میکنند که شما این دو فایل را در پوشهٔ «بارگیریها»یتان دانلود کردید. توجه داشته باشید که این دستورات از نامهای نمونه استفاده میکنند و نام فایل شما متفاوت خواهد بود: شما نسخهٔ متمایزی از 9.0 بارگیری خواهید کرد و ممکن است نسخهٔ انگلیسی (en-US) را بارگیری نکرده باشید.
gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum
نتیجهٔ دستور باید چیزی شبیه این باشد (بسته به اینکه کدام کلید آن را امضا کرده است):
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"
اگر پیغام خطایی حاوی ‹چنین فایل یا شاخهای وجود ندارد› دریافت میکنید، یا در یکی از مراحل گذشته اشتباهی پیش آمده است و یا اینکه فراموش کردید که این فرمانها از نامهای فایل نمونه استفاده میکنند و نامهای فایل شما کمی متفاوت خواهند بود.
شاید همچنین بخواهید دربارهٔ GnuPG بیشتر بیاموزید.
تایید جمعآزما
اکنون که امضاهای جمعآزما را صحتسنجی کردیم، باید صحت بسته را تأیید کنیم.
sha256sum -c tor-0.4.6.10.tar.gz.sha256sum