25-12-24, 11:24 PM
الخطأ الذي تواجهه يتعلق بشهادة SSL عند محاولة الاتصال بـ SQL Server، حيث أن سلسلة الشهادات الخاصة بالخادم لم يتم إصدارها بواسطة جهة معتمدة، وبالتالي لا يتم الوثوق بها.
لإصلاح هذا المشكلة، يمكنك القيام بالخطوات التالية:
1. تعطيل التحقق من SSL (اختيار سريع للتجربة المحلية فقط):
إذا كنت تعمل على بيئة تطوير محلية ولا تحتاج إلى الاتصال الآمن، يمكنك تعطيل استخدام SSL عن طريق تعديل سلسلة الاتصال لتتضمن الخيار
. ستبدو سلسلة الاتصال الخاصة بك كالتالي:
csharp
نسخ الكود
2. استخدام شهادة موثوقة:
لإصلاح المشكلة بطريقة أكثر أمانًا:
3. تعطيل التشفير (غير موصى به):
كحل مؤقت، يمكنك تعطيل التشفير باستخدام الخيار
في سلسلة الاتصال. لكن هذا غير مستحسن لأنه يعرض البيانات للتنقل دون تشفير.
csharp
نسخ الكود
4. تثبيت شهادة الخادم في النظام:
5. التأكد من تكوين Entity Data Model بشكل صحيح:
إذا كنت تستخدم Entity Framework، تأكد من أن سلسلة الاتصال في ملف
أو
تحتوي على نفس الخيارات المذكورة أعلاه.
نصيحة إضافية:
عند العمل على بيئة إنتاج أو بيئة تحتاج إلى أمان عالٍ، تجنب تعطيل SSL أو التحقق من الشهادة واستخدم الشهادات الموثوقة دائمًا.
جرب إضافة الخيار
أو
لمعرفة ما إذا كانت المشكلة تُحل.
لإصلاح هذا المشكلة، يمكنك القيام بالخطوات التالية:
1. تعطيل التحقق من SSL (اختيار سريع للتجربة المحلية فقط):
إذا كنت تعمل على بيئة تطوير محلية ولا تحتاج إلى الاتصال الآمن، يمكنك تعطيل استخدام SSL عن طريق تعديل سلسلة الاتصال لتتضمن الخيار
كود :
TrustServerCertificate=Truecsharp
نسخ الكود
كود :
con.ConnectionString = @"Data Source=DESKTOP-PHILRTR\SQLEXPRESSAF;Initial Catalog=af1;Integrated Security=true;TrustServerCertificate=True";2. استخدام شهادة موثوقة:
لإصلاح المشكلة بطريقة أكثر أمانًا:
- قم بتثبيت شهادة موثوقة على الخادم الذي يشغل SQL Server.
- قم بتكوين SQL Server لاستخدام الشهادة الموثوقة.
- إذا كنت تستخدم اسم مضيف بدلاً من
localhost - أو
127.0.0.1 - ، تأكد من أن الشهادة تتطابق مع اسم المضيف.
3. تعطيل التشفير (غير موصى به):
كحل مؤقت، يمكنك تعطيل التشفير باستخدام الخيار
كود :
Encrypt=Falsecsharp
نسخ الكود
كود :
con.ConnectionString = @"Data Source=DESKTOP-PHILRTR\SQLEXPRESSAF;Initial Catalog=af1;Integrated Security=true;Encrypt=False";4. تثبيت شهادة الخادم في النظام:
- قم بالحصول على شهادة SQL Server وتثبيتها في قائمة الشهادات الموثوقة على جهازك.
- بعد التثبيت، لن يواجه العميل أي مشكلة في الوثوق بالشهادة.
5. التأكد من تكوين Entity Data Model بشكل صحيح:
إذا كنت تستخدم Entity Framework، تأكد من أن سلسلة الاتصال في ملف
كود :
App.configكود :
Web.configنصيحة إضافية:
عند العمل على بيئة إنتاج أو بيئة تحتاج إلى أمان عالٍ، تجنب تعطيل SSL أو التحقق من الشهادة واستخدم الشهادات الموثوقة دائمًا.
جرب إضافة الخيار
كود :
TrustServerCertificate=Trueكود :
Encrypt=False
