در تلاش برای یادگیری gpg و انواع پیادهسازیش روی چیزهای مختلف هستم و قصد دارم در نهایت مطالبی در همین مورد توی وبلاگم بنویسم.
اما متوجهی یه سری چیزا شدم در طول این کار.
ما ۲تا بسته داریم که یکیش gpg هست و دومی gpg2.
در اوبونتوهای نگارش بالای ۱۶.۱۰، با زدن دستور gpg --version و gpg2 --version کاملا میبینیم که بستهها تفاوتی در نسخه و یا نسخه کتابخونه ندارن و یکی هستن.
حالا ls میگیریم که ببینیم آیا اصلا gpg2 به gpg لینک شده یا خیر:
ls -lha /usr/bin/gpg2
میبینیم که بله شده:
lrwxrwxrwx 1 root root 3 Oct 7 2016 /usr/bin/gpg2 -> gpg
پس عملا میبینیم که در نگارشهای بالای ۱۶.۱۰ دستور gpg و gpg2 یکی هستن.
اما بریم سراغ نگارشهای زیر ۱۶.۱۰، مثل ۱۶.۰۴:
gpg --version
gpg (GnuPG) 1.4.20
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
gpg2 --version
gpg (GnuPG) 2.1.11
libgcrypt 1.6.5
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
خب در اینجا کاملا دیگه اختلاف دو نسخه مشهوده.
اما بریم سراغ فرقشون:
gpg --gen-key
اول میپرسه کلید چی باشه بعد سایز کلید و بعد مدت زمان اعتبار کلید رو میپرسه. بعدم اسمتون، رایانامتون و کامنت و آخرم کلید رو میسازه.
gpg2 --gen-key
فقط از شما اسم رو میخواد و رایانامه رو میخواد آخرم یه کلید میسازه میده بهتون.
اما اگه بخواید مثل مورد اول باشه شما باید gpg2 --full-gen-key رو بنویسید تا کامل بپرسه چی میخواید و پیشفرض عمل نکنه.
حالا نکته جالب توجه اینه که gpg --gen-key و gpg2 --gen-key و یا gpg --full- gen-key و gpg2 --full-gen-key در نگارشهای بالای ۱۶.۱۰ در کلید عمومی نسخه رو دیگه نمینویسه.
اما در نگارشهای زیر ۱۶.۱۰ اینطور نیست:
اگر شما بزنید gpg --gen-key و بعد کلید عمومی رو بررسی کنید میبینید نوشته Version: GnuPG v2 اما بزنید gpg2 --gen-key میزنه Version: GnuPG v1.
کاملا تعجب برانگیز، همین دستورات رو به یکی از دوستانم که فدورا ۲۴ داره دادم و نتیجه دستور gpg2 --gen-key در کلید عمومیش Version: GnuPG v2 بود.
حالا همه این مطالب رو گفتم چون سوالم اینه که چرا توی نگارشهای بالا ۱۶.۱۰ gpg و gpg2 یکی شدن و در نگارشهای زیر ۱۶.۱۰ که نسخهها فرق دارن با gpg کلید بسازی میزنه version 2 ولی با gpg2 بسازی میزنه version 1؟ در حالی که در فدورا ۲۳اینطوری نیست؟!