.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "PGPVERIFY 1" .TH PGPVERIFY 1 2025-03-29 "INN 2.7.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" pgpverify \- اعتبارسنجی رمزنگارانه پیام‌های کنترلی یوزنت .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBpgpverify\fR [\fB\-\-findid\fR=\fIstring\fR] [\fB\-\-test\fR] < \fImessage\fR .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" برنامه \fBpgpverify\fR یک پیام کنترلی یوزنت (Usenet) را که به صورت رمزنگارانه با استفاده از برنامه \fBsigncontrol\fR (یا برنامه دیگری که قالبی سازگار تولید می‌کند) امضا شده است از ورودی استاندارد می‌خواند. سپس \&\fBpgpverify\fR از یک پیاده‌سازی PGP برای تعیین هویت امضاکننده پیام کنترلی استفاده می‌کند. اگر پیام کنترلی دارای امضای معتبر باشد، \&\fBpgpverify\fR شناسه کاربری (User ID) کلیدی را که پیام را امضا کرده است در خروجی استاندارد چاپ می‌کند. در غیر این صورت، با وضعیت خروجی غیرصفر خارج می‌شود. .PP اگر \fBpgpverify\fR به عنوان بخشی از INN نصب شده باشد، از پیکربندی INN برای تعیین برنامه اعتبارسنجی امضا، نحوه ثبت خطاها، دایرکتوری موقت مورد استفاده، و دسته کلید (keyring) مورد استفاده بهره می‌گیرد. در غیر این صورت، تمام این پارامترها را می‌توان با ویرایش ابتدای همین اسکریپت تنظیم نمود. .PP به‌طور پیش‌فرض، هنگامی که برنامه به عنوان بخشی از INN اجرا می‌شود، \fBpgpverify\fR انتظار دارد دسته کلید PGP در \fIpathetc\fR/pgp پیدا شود (به عنوان \fIpubring.pgp\fR یا \&\fIpubring.gpg\fR، بسته به اینکه PGP یا GnuPG برای اعتبارسنجی امضاها استفاده شود). اگر آن دایرکتوری وجود نداشته باشد، به استفاده از دسته کلید پیش‌فرض متوسل می‌شود که در زیرپوشه \fI.pgp\fR یا \fI.gnupg\fR در پوشه خانگی کاربر اجراکننده قرار دارد. .PP هنگام استفاده از GnuPG، برنامه INN ابزار \fBpgpverify\fR را به نحوی پیکربندی می‌کند که از \fBgpg\fR یا \fBgpgv\fR استفاده کند، که این ابزارها به‌طور پیش‌فرض انتظار دارند کلیدها در یک دسته‌کلید به نام \fItrustedkeys.gpg\fR باشند؛ زیرا مستقیماً بررسی مدل اعتماد را انجام نمی‌دهند. برنامه \fBpgpverify\fR در صورت موجود بودن از آن فایل استفاده می‌کند اما اگر یافت نشود به \fIpubring.gpg\fR متوسل می‌شود. این امر مدل اعتماد را برای بررسی کلیدها دور می‌زند اما با شیوه رفتار پیشین \&\fBpgpverify\fR سازگار است. البته اگر یک دسته کلید در \fIpathetc\fR/pgp پیدا شود یا در بالای اسکریپت پیکربندی شده باشد، تمام این رفتارها را بازنویسی خواهد کرد. .PP توجه داشته باشید که تعداد اندکی از سلسله‌مراتب‌های یوزنت هنوز مقاله‌های کنترلی امضاشده با کلیدهای قدیمی PGP را که از یک الگوریتم درهم‌سازی ضعیف (MD5) استفاده می‌کنند ارسال می‌نمایند. نگارش‌های مدرن GnuPG (از 2.1.0 به بعد) دیگر چنین امضاهایی را تایید نمی‌کنند، بنابراین اگر به تایید چنین مقاله‌های کنترلی نیاز دارید، باید از GnuPG نسخه 1.x یا 2.0.x استفاده فرمایید. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB\-\-findid\fR=\fIstring\fR 4 .IX Item "--findid=string" پرچم \fB\-\-findid\fR باعث می‌شود \&\fBpgpverify\fR صریحاً به دنبال \fIstring\fR در خروجی حاصل از تحلیل پیام توسط PGP بگردد. این گزینه زمانی سودمند است که چندین شناسه کاربری (UID) روی یک کلید PGP واحد تعریف شده باشند و فراخواننده \fBpgpverify\fR نیاز داشته باشد بررسی کند که آیا شناسه مورد نظر روی این کلید وجود دارد یا خیر. در صورتی که امضا معتبر باشد اما حاوی \fIstring\fR نباشد، \&\fBpgpverify\fR با وضعیت خروجی ۴ خارج می‌شود. .IP \fB\-\-test\fR 4 .IX Item "--test" پرچم \fB\-\-test\fR باعث می‌شود \&\fBpgpverify\fR ورودی ارسالی به PGP (که نسخه بازسازی‌شده‌ای از ورودی است که تصور می‌شود پیام کنترلی را ایجاد کرده است) و همچنین خروجی حاصل از تحلیل پیام توسط PGP را چاپ کند. .SH "وضعیت خروج (EXIT STATUS)" .IX Header "EXIT STATUS" \&\fBpgpverify\fR ممکن است با وضعیت‌های زیر خارج شود: .IP 0 4 پیام کنترلی دارای یک امضای معتبر PGP بود. .IP 1 4 .IX Item "1" پیام کنترلی فاقد هرگونه امضای PGP بود. .IP 2 4 .IX Item "2" پیام کنترلی دارای یک امضای PGP ناشناخته بود. .IP 3 4 .IX Item "3" پیام کنترلی دارای یک امضای PGP نامعتبر بود. .IP 4 4 .IX Item "4" پیام کنترلی دارای یک امضای معتبر PGP بود اما آرگومان ارائه‌شده به پرچم \fB\-\-findid\fR در خروجی تحلیل پیام توسط PGP یافت نشد. .IP 255 4 .IX Item "255" مشکلی رخ داد که ارتباط مستقیمی با تحلیل امضا توسط PGP نداشت. .SH "محیط (ENVIRONMENT)" .IX Header "ENVIRONMENT" \&\fBpgpverify\fR پیش از فراخوانی برنامه \fBpgp\fR، \fBgpgv\fR یا \fBgpg\fR متغیرهای محیطی را ویرایش یا دستکاری نمی‌کند. این مسئولیت شخصی است که \fBpgpverify\fR را نصب می‌کند تا اطمینان حاصل نماید هنگام اجرای \fBpgp\fR، \fBgpgv\fR یا \&\fBgpg\fR، این برنامه‌ها امکان یافتن و خواندن فایل کلید PGP را دارند که شامل کلیدهای عمومی PGP مدیران سلسله‌مراتب مناسب یوزنت است. \fBpgpverify\fR را می‌توان با ویرایش متغیرهای ابتدای این اسکریپت به یک دسته کلید مناسب هدایت کرد. .SH "نکات (NOTES)" .IX Header "NOTES" از نظر تاریخی، مدیران سرورهای خبری یوزنت سرورهای خود را طوری پیکربندی می‌کردند که به طور خودکار پیام‌های کنترلی یوزنت را بر اساس صادرکننده پیام کنترلی و سلسله‌مراتب‌هایی که پیام برای آنها اعمال می‌شد بپذیرند. به عنوان مثال، در گذشته David Lawrence همیشه برای سلسله‌مراتب‌های "Big\ 8" (شامل comp، humanities، misc، news، rec، sci، soc، talk) پیام‌های کنترلی صادر می‌کرد. مدیران اخبار یوزنت نرم‌افزار سرور خبر خود را طوری تنظیم می‌کردند که پیام‌های کنترلی newgroup و rmgroup صادرشده از سوی David Lawrence را که برای هر یک از سلسله‌مراتب‌های Big\ 8 اعمال می‌شد به طور خودکار بپذیرد. .PP متاسفانه مقالات خبری یوزنت (از جمله پیام‌های کنترلی) به سادگی قابل جعل هستند. خیلی زود کاربران مخرب دریافتند که می‌توانند با جعل ساده یک پیام کنترلی مناسب به نام David Lawrence، هر گروه خبری دلخواهی در Big\ 8 را (حداقل به طور موقت) ایجاد یا حذف کنند. با گسترش استفاده از یوزنت، جعل پیام‌ها رایج‌تر شد. .PP برنامه \fBpgpverify\fR طراحی شد تا به مدیران اخبار یوزنت اجازه دهد سرورهای خود را طوری پیکربندی کنند که پیش از اقدام خودکار روی پیام‌های کنترلی، آنها را به صورت رمزنگاری‌شده اعتبارسنجی نمایند. بر اساس سامانه \fBpgpverify\fR، نگهدارنده سلسله‌مراتب یوزنت یک جفت کلید عمومی/خصوصی PGP ایجاد کرده و کلید عمومی را منتشر می‌کند. هرگاه نگهدارنده سلسله‌مراتب پیامی کنترلی صادر کند، با استفاده از برنامه \fBsigncontrol\fR پیام کنترلی را با کلید خصوصی PGP امضا می‌نماید. مدیران اخبار یوزنت سرورهای خود را طوری تنظیم می‌کنند که برنامه \fBpgpverify\fR را روی پیام‌های کنترلی مناسب اجرا کرده و اقدام لازم را بر اساس شناسه کاربری کلید PGP که پیام را امضا کرده انجام دهند، نه بر اساس نام و نشانی موجود در سرایندهای From: یا Sender: پیام کنترلی. .PP بنابراین، استفاده مناسب از برنامه‌های \fBsigncontrol\fR و \fBpgpverify\fR اساساً احتمال جعل پیام‌های کنترلی یوزنت توسط کاربران مخرب و اقدام سایت‌ها بر اساس آنها را از میان می‌برد؛ چرا که چنین کاربرانی باید کلید خصوصی PGP را به دست آورند تا پیامی جعل کنند که از مرحله اعتبارسنجی رمزنگارانه عبور کند. اگر مدیران سلسله‌مراتب به درستی از کلیدهای خصوصی PGP خود محافظت کنند، تنها راهی که یک کاربر مخرب می‌تواند پیامی با امضای معتبر جعل کند، شکستن الگوریتم رمزنگاری کلید عمومی است که (حداقل در حال حاضر) برای کلیدهای PGP با طول بیت کافی کاری بسیار دشوار و عملاً غیرممکن تلقی می‌شود. .SH "تاریخچه (HISTORY)" .IX Header "HISTORY" برنامه \&\fBpgpverify\fR توسط David C Lawrence نوشته شده است. صفحه راهنما توسط James Ralston ارائه گردید. این برنامه در حال حاضر توسط Russ Allbery نگهداری می‌شود. .SH "حق نشر و مجوز (COPYRIGHT AND LICENSE)" .IX Header "COPYRIGHT AND LICENSE" David Lawrence نوشته است: "وکیل ما به من گفت متن زیر را درج کنم. نتیجه‌اش این است که می‌توانید تا هر اندازه که مایلید به صورت رایگان از این نرم‌افزار استفاده کنید." .PP Copyright (c) 1996 UUNET Technologies, Inc. All rights reserved. .PP بازتوزیع و استفاده در قالب‌های منبع و باینری، با یا بدون تغییر، به شرط برآورده شدن شرایط زیر مجاز است: .IP 1. 4 بازتوزیع کدهای منبع باید اعلان حق نشر فوق، این فهرست شرایط و سلب مسئولیت زیر را حفظ نماید. .IP 2. 4 بازتوزیع‌ها در قالب باینری باید اعلان حق نشر فوق، این فهرست شرایط و سلب مسئولیت زیر را در مستندات و/یا سایر موارد ارائه‌شده همراه با توزیع بازتولید نمایند. .IP 3. 4 تمام اقلام تبلیغاتی که ویژگی‌ها یا استفاده از این نرم‌افزار را ذکر می‌کنند باید قدردانی زیر را نمایش دهند: .Sp .Vb 1 \& This product includes software developed by UUNET Technologies, Inc. .Ve .IP 4. 4 نام UUNET Technologies ("UUNET") نباید برای تایید یا ترویج محصولات برگرفته از این نرم‌افزار بدون مجوز کتبی قبلی استفاده شود. .PP THIS SOFTWARE IS PROVIDED BY UUNET "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UUNET BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" gpg(1), gpgv(1), pgp(1). .PP نشانی مکانی است که جدیدترین نسخه‌های \&\fBsigncontrol\fR و \fBpgpverify\fR به همراه کلیدهای عمومی PGP مورد استفاده برای مدیریت سلسله‌مراتب در آن نگهداری می‌شوند.