"الشهادة والمفتاح الخاص غير متطابقين": كيف تحلها باستخدام أداة مطابقة المفاتيح
إذا استقبلك خادم الويب برسالة "الشهادة والمفتاح الخاص غير متطابقين" بعد تثبيت شهادة SSL، فأنت لست وحدك. إنه من أكثر أخطاء تثبيت SSL شيوعًا، ولحسن الحظ من أسهلها حلًّا. يشرح هذا الدليل سبب ظهور الخطأ، وكيفية تشخيصه باستخدام أداة مطابقة مفاتيح الشهادة (key matcher)، وكيفية حله خطوة بخطوة.
ماذا يعني هذا الخطأ فعليًا؟
كل شهادة SSL مرتبطة رياضيًا بـمفتاح خاص واحد محدد أُنشئ في الوقت نفسه. الشهادة والمفتاح يشكّلان زوجًا: يجب أن تكون قيمة modulus للمفتاح العام داخل الشهادة مطابقة تمامًا لتلك الموجودة في المفتاح الخاص. فإذا أُنشئت الشهادة التي ثبّتها بمفتاح مختلف، يرفض الخادم الإقلاع ويعرض الخطأ.
تختلف الصيغة الدقيقة حسب المنصة:
- Apache: "SSLCertificateKeyFile ... does not match certificate" أو "key values mismatch".
- Nginx: "SSL_CTX_use_PrivateKey_file ... key values mismatch".
- cPanel / WHM: "The certificate and the private key do not match."
لماذا يحدث هذا الخطأ؟
السبب يكاد يكون دائمًا واحدًا: الشهادة والمفتاح الخاص المثبّت ينتميان إلى زوجين مختلفين. الأسباب الشائعة:
- أنشأت طلب CSR جديدًا (أنشأ معه مفتاحًا جديدًا) لكن الخادم ما زال يشير إلى المفتاح القديم.
- أنشأت طلبات CSR لعدة نطاقات أو عدة محاولات وحدث خلط بين الملفات.
- صدرت الشهادة على خادم ونُسخت إلى آخر مع المفتاح الخاطئ.
- أعدت إصدار الشهادة لكنك نسيت تحديث ملف المفتاح المطابق.
كيف تعمل أداة مطابقة المفاتيح
تخبرك أداة مطابقة المفاتيح خلال ثوانٍ بما إذا كانت ملفاتك تنتمي فعلًا إلى الزوج نفسه. في أداة مطابقة المفاتيح لدينا يمكنك لصق ملفين أو الملفات الثلاثة التالية بصيغة PEM:
- الشهادة (
certificate.crt/fullchain.pem) - طلب توقيع الشهادة CSR
- المفتاح الخاص (
private.key)
تستخرج الأداة قيمة modulus للمفتاح العام من كل ملف، وتحسب بصمة تشفيرية لها، ثم تقارن بينها. تطابق البصمات يعني أن الملفات متطابقة؛ واختلافها يعني أنها من أزواج مختلفة.
الخصوصية أولًا: تجري العملية بأكملها داخل متصفحك. مفتاحك الخاص لا يغادر متصفحك أبدًا ولا يُرفع إلى أي خادم. إن لصق شيء بالغ الحساسية مثل المفتاح الخاص في أي أداة عشوائية عبر الإنترنت يمثل خطرًا أمنيًا جسيمًا؛ ومع أداتنا لا وجود لهذا الخطر.
الفحص اليدوي باستخدام openssl
إن كنت تفضّل سطر الأوامر، يمكنك إجراء المقارنة نفسها باستخدام openssl. فعندما يطبع كل أمر البصمة نفسها تكون الملفات متطابقة:
openssl x509 -noout -modulus -in certificate.crt | openssl md5 openssl rsa -noout -modulus -in private.key | openssl md5 openssl req -noout -modulus -in request.csr | openssl md5
إذا كانت المخرجات الثلاثة متطابقة، فإن الشهادة والمفتاح وطلب CSR تنتمي إلى الزوج نفسه. وتؤدي أداة مطابقة المفاتيح هذا الفحص بالضبط بصريًا دون الحاجة إلى أي طرفية.
كيف تحل الخطأ
- اعثر على المفتاح الصحيح. إن كان لديك عدة ملفات
.keyعلى الخادم أو في النسخ الاحتياطية، فاختبر كلًّا منها في الأداة حتى تجد المفتاح المطابق لشهادتك، ثم وجّه إعدادات الخادم إليه. - لا يوجد مفتاح مطابق؟ أعد الإصدار. إذا فُقد المفتاح الخاص الصحيح فعلًا تصبح الشهادة غير قابلة للاستخدام. عندئذ عليك إنشاء طلب CSR جديد ومفتاح خاص جديد وإعادة إصدار الشهادة. ويصدر معالج الشهادات المجاني لدينا شهادة Let's Encrypt جديدة صالحة 90 يومًا خلال دقائق، ويتيح لك تنزيل المفتاح والشهادة معًا.
- تحقق من الملفات الجديدة. قبل التثبيت، مرّر الشهادة والمفتاح الجديدين عبر الأداة مرة أخرى للتأكد من تطابقهما.
- أعد تشغيل الخادم. بعد توجيه الإعدادات إلى الملفات الصحيحة، أعد تحميل Apache أو Nginx؛ وسيختفي الخطأ.
الخلاصة
يظهر خطأ "الشهادة والمفتاح الخاص غير متطابقين" عند تثبيت مفتاح خاطئ أو قديم على الخادم. والحل هو اكتشاف المفتاح الذي تنتمي إليه شهادتك فعلًا. تقوم أداة مطابقة المفاتيح لدينا بذلك خلال ثوانٍ دون إرسال أي بايت خارج جهازك، حفاظًا على خصوصيتك. وإذا تعذّر العثور على مفتاح مطابق، فإن الحل الأنظف هو الحصول على شهادة جديدة.