نام مقاله: GPG چیست؟ بخش سومسایت رسمی:www.gnupg.org
|
![]() |
خوب همه چیز حاضر است تا شما یک فایل را رمز گذاری کنید ،تا کنون شما برای خود یک جفت کلید ساختید و کلید عمومی دوستانتان رانیز به دسته کلید خود اضافه کردید و از صحت این کلید ها اطمینان حاصل کردید. برای رمز نگاری یک فایل کافیست دستور زیر را وارد کنید :
![]() |
$gpg -seat yourfileg |
این دستور معادل دستور زیر است :
![]() |
$gpg --sign --encrypt --text -- armor yourfile |
برای نمونه فایل passwd.txt را با کلید نوید که در بالا ساختیم رمز می کنیم:
![]() |
$gpg -seat passwd.txt
|
![]() |
$gpg -d filename.ext.asc |
![]() |
$gpg --decrypt filename.ext.asc
|
![]() |
$gpg -d passwd.txt.asc
|
از قابلیت های GPG تصدیق هویت بود این قابلیت در سایه ی امضای دیجیتالی فراهم می شود ،شما یک نامه یا یک فایل را با کلید خصوصی خود امضا می کنید و هرکس کلید عمومی شما را داشته باشد می تواند صحت امضای شما را بررسی کند.(شما می توانید فایل هایتان را همزمان هم امضا کنید و هم رمز نگاری کنید یا فقط یکی از این دو راانجام دهید تنها تفاوت میان این دو این است که اگر شما فقط امضا کنید همه می توانند به اطلاعات شما دست پیدا کنند و هر که کلید عمومی شما را دارد می تواند مطمئن باشد که شما اطلاعات را منتشر کرده اید ).
برای امضای یک فایل کافیست تا فایل خود را بیابید و دستور زیر را در تر مینال وارد کنید:
![]() |
$gpg -- sign file_name |
![]() |
$gpg -s file_name |
و برای بررسی صحت امضای یک فایل از دستور زیر استفاده کنید:
![]() |
$gpg -- verify singed_file |
برای پاک کردن یک کلید از دستورهای زیر استفاده می شود(خطوطی که با علامت پوند# آغاز می شوند فقط برای توضیح هستند):
![]() |
#delete Public key $gpg –delet-key name #delete secret key $gpg –delete-secret-key name |
برای پشتیبان گیری از کلید خصوصیتان :
![]() |
$gpg –export-secret-key key_name > key.asc |
برای پشتیبان گیری از تمام کلید های خود :
![]() |
$gpg –export-all-keys > key.asc
|
به این ترتیب می توانید کلید های خصوصی یا عمومی خود را به کامپیتر دیگری منتقل کنید(مثلا محل کارتان)یا از آن ها یک کپی پشتیبانی داشته باشید.برای ویرایش یک کلید (مثلا تغییر تاریخ انقضا یا کلمه ی رمز کلید خصوصی) در خط فرمان وارد کنید:
![]() |
$gpg --edit-key name
|
![]() |
$gpg --edit-key navid@gnuiran.org
|
![]() |
gpg (GnuPG) 1.2.2; Copyright (C) 2003 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. Secret key is available. gpg: checking the trustdb gpg: checking at depth 0 signed=3 ot(-/q/n/m/f/u)=0/0/0/0/0/2 gpg: checking at depth 1 signed=0 ot(-/q/n/m/f/u)=3/0/0/0/0/0 pub 1024D/82D80B7B created: 2004-08-13 expires: nevertrust: u/u sub 1024g/7F9FB6D1 created: 2004-08-13 expires: never (1). navid <navid@gnuiran.org> Command> |
اگر نمی دانید در مقابل command چه باید بنویسید، کافیست تایپ کنیدhelp تا تمام دستورات مورد قبول ظاهر شوند.برای نمونه برای تغییر کلمه ی عبور از passwd استفاده کنید و پس از اتمام کار برای بازگشت به خط فرمان تایپ کنید:quit.
با امضای کلید های عمومی به برنامه یGPG می فهمانید که آن کلید از سوی شما شناخته شده و معتبر است.برای چک کردن امضای فایل هایی که دوستانتان برای شما فرستاده اند یا برنامه هایی که از اینترنت دریافت می کنید باید کلید عمومی آن ها را داشته باشید و کلید ها را با کلیدخصوصیتان امضا کرده باشید،برای نمایش امضاهای یک کلید عمومی از دستور زیر استفاده کنید:
![]() |
$gpg kvv key_ID #for example $ gpg -kvv 82D80B7B pub 1024D/82D80B7B 2004-02-04 Tux (Tux is my friend) <tux@example.com> sig 3 82D80B7B 2004-02-04 Tux (Tux is my friend) <tux@example.com> sub 1024g/82D80B7B 2004-12-14 sig 82D80B7B 2004-02-04 Tux (Tux is my friend) <tux@example.com> |
![]() |
$ gpg --sign-key Tux@example.com pub 1024D/82D80B7B created: 2004-02-04 expires: never trust: -/f (1). Tux (Tux is my friend) <tux@example.com> pub 1024D/ 82D80B7B created: 2004-02-04 expires: never trust: -/f Primary key fingerprint: 0E43 DC31 C484 431C 5B07 3875 7B2D D3D8 D5D5 BDe8 Tux <tux@example.com> How carefully have you verified the key you are about to sign actually belongs to the person named above? If you don't know what to answer, enter "0". (0) I will not answer. (default) (1) I have not checked at all. (2) I have done casual checking. (3) I have done very careful checking. Your selection? |
![]() |
# Show the key, and all the signatures too $gpg -kvv D5D3BDA6 pub 1024D/82D80B7B 2004-02-04 Tux (Tux is my friend) <tux@example.com> sig 3 82D80B7B 2004-02-04 Tux (Tux is my friend) <tux@example.com> sig 3 42851101 2004-04-19 Navid (My example key) <navid@gnuiran.org> sub 1024g/26F8D783 2004-02-04 sig 82D80B7B 2004-02-04 Tux (Tux is my friend) <tux@example.com> |
این بخش را با نوشتن یک راه حل برای مشکلی عمومی و محل قرار گیری فایل های GPG به پایان میرسانیم.در بخش بعد به بررسی روش ارسال و دریافت نامه های امضا شده و رمز شده از طریق Kmail خواهیم پرداخت.
در بیشتر سیستم ها به دلیل این که برنامه یgpg از طریق کاربر ریشه (root) نصب می شود زمان کار کاربر پیغام خطای زیر داده می شود:
![]() |
gpg: WARNING: using insecure memory!
|
برای رفع این مشکل باید به برنامه ی gpg مجوز setuid را بدهید برای این کار در حالت ریشه (که اعلان خط فرمان از $به #تبدیل می شود) وارد کنید:
![]() |
#chmod u+s /usr/sbin/gpg
|
بدین ترتیب پیغام خطای مذکور دیگر دیده نخواهد شد.
و اما محل قرار گیری فایل ها ی برنامه ی gpg :
~/.gnupg/secring.gpg
دسته کلید محرمانه ی شما در این فایل است
~/.gnupg/secring.gpg.lock
~/.gnupg/pubring.gpg
دسته کلید عمومی شما در این فایل است
~/.gnupg/pubring.gpg.lock ~/.gnupg/trustdb.gpg
پایگاه داده ی کلیدهای تائید شده
~/.gnupg/trustdb.gpg.lock ~/.gnupg/random_seed
یک موتور اختصاصی برای تولید تصادفی
/.gnupg/options
گزینه های انتخاب شده ی شما
/usr[/local]/share/gnupg/options.skel
options شالوده و طرح کلی فایل
/usr[/local]/lib/gnupg/
gpgمحل پیش فرض اضافات
دربخش بعد به برنامه ی Kmail ونحوه ی ارسال و دریافت نامه های امضا شده خواهیم پرداخت.