ما هو NET::ERR_CERT_AUTHORITY_INVALID؟
NET::ERR_CERT_AUTHORITY_INVALID خطأ أمني يظهر عندما يتعذر على المتصفح التعرّف على هيئة إصدار الشهادات (CA) التي أصدرت شهادة SSL. ويُعرض هذا الخطأ في Chrome مع تحذير "اتصالك ليس خاصًّا"، ويُمنع الزوّار من الوصول إلى الموقع.
يدل هذا الخطأ على وجود انقطاع في سلسلة شهادات SSL، أو على أن المتصفح لا يثق بهيئة إصدار الشهادات. وتعرض المتصفحات عند هذا الخطأ تحذيرًا يملأ الصفحة ويصعّب على المستخدمين المتابعة إلى الموقع.
رسائل الخطأ: الاختلافات بحسب المتصفح
تظهر المشكلة نفسها برسائل مختلفة باختلاف المتصفح:
- Chrome / Edge: NET::ERR_CERT_AUTHORITY_INVALID — "اتصالك ليس خاصًّا"
- Firefox: SEC_ERROR_UNKNOWN_ISSUER — "تحذير: أمامك خطر أمني محتمل"
- Safari: "هذا الاتصال ليس خاصًّا" — تحذير بأن الشهادة غير صالحة
- Opera: NET::ERR_CERT_AUTHORITY_INVALID — الرسالة نفسها التي في Chrome
السبب 1: نقص الشهادة الوسيطة (Intermediate Certificate)
هذا هو السبب الأكثر شيوعًا. تعمل شهادة SSL عبر سلسلة ثقة (chain of trust):
Root CA → الشهادة/الشهادات الوسيطة → شهادة الموقع
إذا كانت شهادة الموقع وحدها مثبّتة على خادمك، فلن يستطيع المتصفح التحقق من هذه السلسلة وسيُظهر خطأ ERR_CERT_AUTHORITY_INVALID.
الحل: تثبيت CA Bundle
نزّل ملف CA Bundle (سلسلة الشهادات الوسيطة) من مزوّد الشهادة وثبّته على خادمك:
# لـ Nginx
ssl_certificate /etc/ssl/certs/fullchain.pem; # site cert + intermediate
ssl_certificate_key /etc/ssl/private/key.pem;
# لـ Apache
SSLCertificateFile /etc/ssl/certs/site.crt
SSLCertificateChainFile /etc/ssl/certs/ca-bundle.crt
SSLCertificateKeyFile /etc/ssl/private/key.pem
الترتيب الصحيح
يجب أن تكون الشهادات في ملف fullchain بالترتيب الآتي:
- شهادة الموقع (your_domain.crt)
- الشهادة الوسيطة 1 (intermediate1.crt)
- الشهادة الوسيطة 2 — إن وُجدت (intermediate2.crt)
- لا تُضف شهادة root — فهي موجودة أصلًا في المتصفح
السبب 2: شهادة موقَّعة ذاتيًا (Self-Signed)
الشهادات التي تنشئها بنفسك غير موقَّعة من أي CA موثوقة، ولذلك ترفضها المتصفحات. ولا ينبغي استخدامها خارج بيئة التطوير.
الحل
اشترِ شهادة SSL من هيئة إصدار شهادات موثوقة (DigiCert و Sectigo و GlobalSign وغيرها)، أو احصل على شهادة DV مجانية باستخدام Let's Encrypt. ويمكنك عبر DATASSL الحصول على شهادات من هيئات إصدار مختلفة.
السبب 3: شهادة root قديمة أو منتهية الصلاحية
إذا لم يكن نظام تشغيل جهاز العميل (الحاسوب أو الهاتف) محدَّثًا، فقد لا يتعرّف على شهادات root لهيئات إصدار الشهادات الجديدة. ويظهر ذلك خصوصًا في أجهزة Android القديمة (Android 7.1 وما دونه) وفي أنظمة Windows XP/7 التي لم تُحدَّث.
الحل
- اطلب من المستخدم تحديث نظام التشغيل
- اختر CA تستخدم شهادة cross-signed
السبب 4: تدخّل برنامج مكافحة الفيروسات أو جدار الحماية
بعض برامج مكافحة الفيروسات (Avast و Kaspersky و ESET) تقطع اتصال SSL لفحص حركة HTTPS وتُدخل شهاداتها الخاصة في الوسط. وقد يسبّب هذا التدخل خطأ ERR_CERT_AUTHORITY_INVALID.
الحل
- عطّل خاصية "فحص HTTPS" أو "SSL Filtering" في برنامج مكافحة الفيروسات
- لاختبار ما إذا كانت المشكلة ناتجة عن برنامج مكافحة الفيروسات، عطّله مؤقتًا ثم أعد تحميل الصفحة
السبب 5: ساعة النظام غير صحيحة
إذا كانت ساعة الحاسوب متقدمة أو متأخرة، فلن تتوافق تواريخ صلاحية الشهادة وقد يظهر هذا الخطأ.
الحل
# Windows: ضبط الوقت تلقائيًا
w32tm /resync
# Linux: NTP senkronizasyonu
sudo timedatectl set-ntp true
خطوات التشخيص السريع
| الخطوة | الأمر / الأداة | ما الذي يُفحص |
|---|---|---|
| 1 | DATASSL SSL Checker | هل سلسلة الشهادات كاملة؟ |
| 2 | openssl s_client -connect domain:443 | هل تُعاد الشهادة الوسيطة؟ |
| 3 | SSL Labs Test | هل توجد Chain issues؟ |
| 4 | متصفح/جهاز مختلف | هل المشكلة عامة أم خاصة بالجهاز؟ |
| 5 | إيقاف مكافحة الفيروسات | هل يوجد تدخّل من برنامج؟ |
الخلاصة
أكثر أسباب خطأ NET::ERR_CERT_AUTHORITY_INVALID شيوعًا هو نقص الشهادة الوسيطة، ويُحل في بضع دقائق بتثبيت ملف CA Bundle على الخادم بالشكل الصحيح. ومن الأسباب الشائعة الأخرى الشهادة الموقَّعة ذاتيًا والأجهزة القديمة وتدخّل برنامج مكافحة الفيروسات. ولتشخيص المشكلة بسرعة يمكنك استخدام أداة DATASSL SSL Checker.