اعتبارسنجی امضا
یک PDF امضاشده بارگذاری کنید تا این ابزار همهٔ امضاهای دیجیتال را استخراج کند، امضاکننده را شناسایی کند، اعتبار گواهی را بررسی کند و گزارش دهد که آیا سند پس از امضا تغییر کرده است یا نه. همچنین میتوانید یک گواهی مورد اعتماد ارائه دهید تا زنجیرهٔ امضا تأیید شود.
نحوهٔ کار
- یک فایل PDF امضاشده بارگذاری کنید. اعتبارسنجی بهطور خودکار آغاز میشود.
- ابزار خلاصهای نمایش میدهد: تعداد امضاهای یافتشده و تعداد امضاهای معتبر.
- برای هر امضا یک کارت جزئیات با نام امضاکننده، صادرکننده، تاریخها و وضعیت نمایش داده میشود.
- در صورت تمایل، یک گواهی مورد اعتماد (.pem، .crt، .cer، .der) بارگذاری کنید تا امضا در برابر یک لنگر اعتماد مشخص تأیید شود. اعتبارسنجی دوباره بهطور خودکار اجرا میشود.
چه چیزهایی بررسی میشود
تجزیهٔ امضا
ابزار اشیای امضای PKCS#7 را از PDF استخراج میکند، ساختار ASN.1 را رمزگشایی میکند و گواهی X.509 امضاکننده را همراه با هر زنجیرهٔ گواهی جاسازیشده در امضا بیرون میکشد.
اعتبار گواهی
- انقضا: آیا گواهی در حال حاضر در بازهٔ تاریخ معتبر خود قرار دارد؟
- تشخیص خودامضا: آیا گواهی صادرکنندهٔ خودش است؟
- زنجیرهٔ اعتماد: وقتی گواهی مورد اعتماد ارائه شده باشد، آیا زنجیرهٔ گواهی امضاکننده به آن میرسد؟
تأیید رمزنگاری
- ابزار بایتهای تحت پوشش
/ByteRangeامضا را بازسازی میکند، آنها را با الگوریتمی که امضاکننده اعلام کرده هش میکند و نتیجه را با ویژگیmessageDigestداخل امضا مقایسه میکند. - سپس ویژگیهای امضاشده را دوباره بهصورت یک DER SET سریالسازی میکند و امضا را با کلید عمومی گواهی امضاکننده تأیید میکند.
- یک امضا فقط وقتی معتبر گزارش میشود که همهٔ این مراحل موفق باشند. اگر بایتهای PDF پس از امضا تغییر کرده باشند یا امضای جاسازیشده با کلید امضاکننده مطابقت نداشته باشد، وضعیت «نامعتبر: تأیید رمزنگاری ناموفق بود» همراه با دلیل مشخص نمایش داده میشود.
الگوریتمهای امضای پشتیبانیشده
| الگوریتم | مسیر تأیید |
|---|---|
| RSA (PKCS#1 v1.5) | publicKey.verify در node-forge، با جایگزین Web Crypto |
| RSA-PSS (RSASSA-PSS) | Web Crypto verify({name: 'RSA-PSS', saltLength}) |
| ECDSA P-256/P-384/P-521 | Web Crypto verify({name: 'ECDSA', hash}) پس از تبدیل امضای DER به IEEE P1363 |
اگر امضایی از الگوریتمی خارج از این فهرست استفاده کند (برای مثال Ed25519، SM2 یا RSA با OID چکیدهٔ غیرمعمول)، کارت وضعیت «تأییدنشده: الگوریتم امضای پشتیبانینشده» را به رنگ زرد همراه با OID یا دلیل مشخص نشان میدهد. این یک تمایز سهحالته و عمدی است:
- معتبر: امضا بهصورت رمزنگاری با کلید عمومی امضاکننده تأیید شده است.
- نامعتبر: تأیید اجرا شد و نتیجهٔ منفی داد (بایتها تغییر کردهاند یا کلید مطابقت ندارد).
- تأییدنشده: ابزار نتوانست تأیید را برای این الگوریتم اجرا کند. فرادادهٔ گواهی همچنان نمایش داده میشود، اما باید امضا را «نامشخص» در نظر بگیرید و آن را با Adobe Acrobat یا
openssl cms -verifyتأیید کنید.
الگوریتمهای چکیدهٔ ناامن
- امضاهایی که از MD5 یا SHA-1 استفاده میکنند نامعتبر شمرده شده و با وضعیت «چکیدهٔ ناامن» علامتگذاری میشوند. برای هر دو الگوریتم حملات تصادم منتشر شده است، بنابراین امضا روی هش SHA-1 یا MD5 هیچ تضمینی برای یکپارچگی ندارد.
- SHA-224، SHA-256، SHA-384 و SHA-512 همگی پذیرفته میشوند.
پوشش سند
- پوشش کامل: امضا کل فایل PDF را پوشش میدهد، یعنی پس از امضا هیچ بایتی اضافه یا تغییر داده نشده است.
- پوشش جزئی: امضا فقط بخشی از فایل را پوشش میدهد. این میتواند نشان دهد که پس از امضا تغییراتی انجام شده است (نه لزوماً مخرب، چون ذخیرهسازیهای افزایشی پوشش جزئی ایجاد میکنند).
جزئیات امضا
هر کارت امضا موارد زیر را نشان میدهد:
- امضاشده توسط: نام عمومی، سازمان و ایمیل از گواهی امضاکننده
- صادرکننده: مرجع صدور گواهی که گواهی امضاکننده را صادر کرده است
- تاریخ امضا: مهر زمانی جاسازیشده در امضا
- معتبر از / معتبر تا: دورهٔ اعتبار گواهی
- دلیل: دلیل امضای سند (در صورت ارائه)
- مکان: محل امضا (در صورت ارائه)
- وضعیت پوشش: کامل یا جزئی
- نشان اعتماد: مورد اعتماد یا خارج از زنجیرهٔ اعتماد (فقط وقتی گواهی سفارشی ارائه شده باشد)
جزئیات فنی
بخش جزئیات فنی را برای موارد زیر باز کنید:
- شمارهٔ سریال گواهی امضاکننده
- الگوریتم چکیده (SHA-256، SHA-512 و غیره)
- الگوریتم امضا (RSA با SHA-256، ECDSA با SHA-256 و غیره)
- پیامهای خطا برای امضاهای نامعتبر
موارد استفاده
- تأیید یک قرارداد امضاشدهٔ دیجیتال پیش از امضای متقابل
- ممیزی اسناد امضاشده برای اطمینان از اینکه دستکاری نشدهاند
- بررسی اینکه آیا گواهی از زمان امضای سند منقضی شده است
- اعتبارسنجی امضاها در برابر گواهی ریشهٔ سازمان شما
- بررسی جزئیات امضای اسناد دولتی یا حقوقی
نکتهها
- گواهی خودامضا به معنای نامعتبر بودن امضا نیست، بلکه یعنی هویت امضاکننده از طریق یک شخص ثالث مورد اعتماد قابل تأیید نیست. این برای اسناد داخلی رایج است.
- پوشش جزئی همیشه نشانهٔ دستکاری نیست. بسیاری از گردشکارهای PDF بهروزرسانیهای افزایشی (مانند امضای دوم) اضافه میکنند که پوشش جزئی ایجاد میکند.
- گواهی ریشه یا میانی سازمان خود را بهعنوان گواهی مورد اعتماد بارگذاری کنید تا زنجیرهٔ اعتماد تأیید شود.
ابزارهای مرتبط
- امضای دیجیتال: امضای PDFها با گواهی خودتان
- مسطحسازی PDF: مسطحسازی PDF پیش از امضا برای جلوگیری از تغییرات پس از امضا
- حذف فراداده: پاکسازی PDF پیش از اعمال امضا