بررسی اعتبار گواهی SSL سایت از داخل مرورگر چطور انجام میشود؟
تحلیل مهندسی بررسی اعتبار گواهی SSL از داخل مرورگر از منظر Certificate Viewer، Trust Chain، OCSP و Certificate Transparency؛ راهنمای عملی برای مدیران سرور.
بررسی اعتبار گواهی SSL سایت از داخل مرورگر یکی از مهارتهای پایهای مدیران سرور و توسعهدهندگان است که مستقیماً بر تجربهی کاربری، امنیت و سئو اثر میگذارد. گواهی SSL، هویت سرور را تأیید و ارتباط را رمزنگاری میکند. اما این گواهی، ممکن است به دلایل متعدد نامعتبر، منقضی یا ناقص باشد: تاریخ انقضا گذشته، Chain ناقص است، دامنه با SAN همخوانی ندارد یا CA در Trust Store مرورگر ناشناس است. مرورگرها ابزارهایی برای بررسی این موارد فراهم میکنند که در این راهنما با دقت بررسی میشود.
SSL و Trust Chain
گواهی SSL یک فایل دیجیتال است که شامل کلید عمومی سرور، نام دامنه، تاریخ اعتبار، صادرکننده و امضای دیجیتال CA است. مرورگر با بررسی زنجیرهی اعتماد، اعتبار گواهی را تأیید میکند:
- Root CA: در Trust Store مرورگر و سیستمعامل.
- Intermediate CA: امضاشده توسط Root.
- Server Certificate: امضاشده توسط Intermediate.
اگر یکی از این لایهها ناقص یا نامعتبر باشد، مرورگر هشدار میدهد.
Certificate Viewer در مرورگرها
هر مرورگر، ابزاری برای نمایش جزئیات گواهی دارد که به آن Certificate Viewer میگویند.
بررسی در Chrome و Edge
- روی قفل کنار URL کلیک کنید.
- گزینهی
Connection is secureرا انتخاب کنید. - روی
Certificate is validکلیک کنید. - پنجرهی Certificate Viewer باز میشود.
در این پنجره، سه تب وجود دارد:
- General: صادرکننده، صادرشده برای، تاریخ اعتبار.
- Details: جزئیات فنی (Serial Number، Signature Algorithm، SAN).
- Certification Path: زنجیرهی اعتماد.
# بررسی از طریق DevTools
1. F12 → Security Tab
2. View Certificate
3. بررسی Trust Chain
بررسی در Firefox
- روی قفل کنار URL کلیک کنید.
- گزینهی
Connection secureرا انتخاب کنید. - روی
More Informationکلیک کنید. - در پنجرهی Page Info، تب
Securityرا انتخاب کنید. - روی
View Certificateکلیک کنید.
Firefox از Trust Store مستقل استفاده میکند و ممکن است گواهیای را نامعتبر بداند که Chrome معتبر میداند.
بررسی در Safari
- روی قفل کنار URL کلیک کنید.
- گزینهی
Show Certificateرا انتخاب کنید. - جزئیات گواهی نمایش داده میشود.
بررسی Trust Chain
Trust Chain در تب Certification Path نمایش داده میشود. نکات کلیدی:
- تمام گواهیهای زنجیره باید معتبر باشند.
- هیچ گواهی نباید منقضی شده باشد.
- زنجیره باید به Root CA معتبر برسد.
- هیچ لایهای نباید Missing باشد.
یکی از مشکلات رایج، Chain ناقص است که در آن Intermediate Certificate نصب نشده است. این مشکل در Chrome اغلب نادیده گرفته میشود اما در Firefox و برخی ابزارها خطا میدهد.
# بررسی Chain با OpenSSL
openssl s_client -connect example.com:443 -showcerts
# بررسی Chain کامل
openssl s_client -connect example.com:443 -servername example.com /dev/null | openssl x509 -noout -text
OCSP و Revocation
OCSP (Online Certificate Status Protocol) پروتکلی است که وضعیت ابطال گواهی را بررسی میکند:
- Good: گواهی معتبر است.
- Revoked: گواهی ابطال شده است.
- Unknown: وضعیت نامشخص.
OCSP Stapling باعث میشود سرور، پاسخ OCSP را همراه Handshake ارسال کند و سرعت را افزایش دهد.
# بررسی OCSP
openssl s_client -connect example.com:443 -status -servername example.com /dev/null | grep -A 5 "OCSP Response"
Certificate Transparency
Certificate Transparency (CT) لاگهای عمومی است که تمام گواهیهای صادرشده را ثبت میکند. با بررسی CT Logs، میتوان:
- گواهیهای جعلی صادرشده برای دامنه را شناسایی کرد.
- از صدور گواهی ناخواسته مطلع شد.
- بررسی کرد که گواهی در CT Logs ثبت شده است.
# بررسی CT Logs
https://crt.sh/?q=example.com
نشانههای خطا و ریشهیابی
| خطا | ریشه | راهحل |
|---|---|---|
| NET::ERR_CERT_DATE_INVALID | گواهی منقضی | تمدید گواهی |
| NET::ERR_CERT_COMMON_NAME_INVALID | دامنه همخوانی ندارد | صدور گواهی جدید با SAN صحیح |
| NET::ERR_CERT_AUTHORITY_INVALID | CA ناشناس | نصب Chain کامل |
| NET::ERR_CERT_REVOKED | گواهی ابطال شده | صدور گواهی جدید |
| NET::ERR_SSL_PROTOCOL_ERROR | پیکربندی نامناسب | بررسی TLS Configuration |
| NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM | الگوریتم ضعیف | صدور با SHA-256 |
| Mixed Content | منابع HTTP در HTTPS | بهروزرسانی منابع |
اعتبارسنجی نهایی
ابزارهای آنلاین برای اعتبارسنجی جامع:
- SSL Labs: ssllabs.com/ssltest
- Qualys SSL Test: بررسی پیکربندی
- Hardenize: بررسی جامع
- ImmuniWeb SSL: بررسی امنیتی
- Geekflare SSL Test: بررسی سریع
# بررسی با curl
curl -vI https://example.com 2>&1 | grep -A 10 "SSL"
# بررسی با testssl.sh
./testssl.sh example.com
پرسشهای پرتکرار
چرا Chrome گواهی را معتبر میداند اما Firefox نه؟
Firefox از Trust Store مستقل استفاده میکند. ممکن است Intermediate CA در Chrome نصب باشد اما در Firefox نباشد.
چگونه Chain ناقص را رفع کنیم؟
با نصب Intermediate Certificate در سرور. در Nginx با ssl_certificate که شامل Chain کامل است.
آیا OCSP Stapling ضروری است؟
برای سرعت و حریم خصوصی، بله. توصیه میشود.
چگونه گواهی جعلی را شناسایی کنیم؟
با بررسی Certificate Transparency Logs در crt.sh.
آیا مرورگر گواهی را بهصورت خودکار بهروزرسانی میکند؟
خیر، گواهی باید توسط سرور بهروزرسانی شود.
چرا پس از نصب SSL، سایت امن نمایش داده نمیشود؟
معمولاً بهدلیل Mixed Content یا Chain ناقص. برای مطالعهی بیشتر، پست چرا سایت بعد از نصب SSL امن نمایش داده نمیشود مفید است.
ملاحظات پیشرفته
در سطح معماری، بررسی گواهی SSL نیازمند استراتژی جامع است:
۱. Certificate Monitoring: پایش خودکار تاریخ انقضا.
۲. Certificate Transparency Monitoring: پایش CT Logs.
۳. OCSP Stapling: فعالسازی در Nginx/Apache.
۴. HSTS: اجبار HTTPS.
۵. TLS 1.3: تنها نسخهی مدرن.
۶. Certificate Pinning: در اپلیکیشنهای موبایل.
۷. Automated Renewal: با Certbot و ACME.
۸. Multi-Domain و Wildcard: مدیریت گواهی در مقیاس.
برای مطالعهی بیشتر، پستهای پیدا کردن علت هشدار SSL مرورگر، چگونه اعتبار SSL را بررسی کنیم، بررسی اعتبار گواهی SSL از داخل مرورگر، بررسی تاریخ انقضا و اعتبار SSL سایت، بررسی معتبر بودن و نصب درست گواهی SSL، انواع خطاهای SSL و روش برطرف کردن هرکدام، چرا مرورگر خطای SSL نمایش میدهد، SSL چیست و چرا سایت به آن نیاز ضروری دارد، چگونه SSL را نصب و فعال کنیم و هدرهای امنیتی HTTP چه کاربردی دارند مراجع کاملی هستند.
نتیجه
بررسی اعتبار گواهی SSL از داخل مرورگر، یک مهارت پایهای است که با Certificate Viewer، بررسی Trust Chain و OCSP Stapling انجام میشود. شناخت نشانههای خطا و ریشهیابی آنها، زمان رفع مشکل را کاهش میدهد. ابزارهای آنلاین مانند SSL Labs، بررسی جامعتری ارائه میدهند.
💡 اگر تجربهای در بررسی گواهی SSL از مرورگر داشتهاید، برای ما جالب است بدانیم کدام مرحله بیشترین چالش را ایجاد کرد: Trust Chain، OCSP یا Mixed Content. تجربهی خودتان را در دیدگاهها بنویسید.