ฉันพยายามที่จะเข้าใจว่าการตั้งค่าที่แตกต่างกันมีผลต่อพฤติกรรมของการสื่อสารกับเซิร์ฟเวอร์ของฉันอย่างไร บนเซิร์ฟเวอร์ฉันได้ติดตั้ง CA ที่ลงนามด้วยตนเองพร้อมกับใบรับรองการแลกเปลี่ยนที่ออกซึ่งได้รับการกำหนดค่าให้ใช้งานโดยบริการ SQL ของฉัน
ตอนแรกฉันต้องการเห็นการเชื่อมต่อนี้ล้มเหลวเมื่อไม่ได้ติดตั้งรูท CA ในไคลเอนต์ แต่สิ่งที่ฉันทำมันดูเหมือนจะทำงานอยู่แล้ว
เพื่อให้เข้าใจได้ดีขึ้นว่าเหตุใดฉันจึงพยายามทำรายการตัวเลือกทั้งหมดและผลกระทบที่ควรจะเกิดขึ้น แต่ฉันไม่แน่ใจว่าฉันเข้าใจถูกต้องแล้ว ...
ใครช่วยกรุณาแก้ไขและเติมส่วนที่ขาดหายไปได้ไหม
เมื่อเปิดใช้งานการตั้งค่า "การเข้ารหัสบังคับ " บน SQL Server:
- ในทางปฏิบัติสิ่งนี้เหมือนกับการตั้งค่า
Encrypt=True;TrustServerCertificate=True;
ในสตริงการเชื่อมต่อของฉัน ลูกค้าไม่ได้บอกว่าควรใช้การเข้ารหัสหรือไม่และควรให้เซิร์ฟเวอร์เชื่อถือได้หรือไม่ - ตัวเลือกนี้สามารถใช้เพื่อเข้ารหัสอินสแตนซ์ของบริการแต่ละรายการ
- รองรับ certs ที่ลงนามด้วยตนเองโดยไม่มี CA
เมื่อเปิดใช้งานการตั้งค่า" บังคับใช้การเข้ารหัสลับโพรโทคอล " บน SQL Server:
- การเชื่อมต่อไคลเอนต์ทั้งหมดไปยังบริการทั้งหมดบนเซิร์ฟเวอร์ถูกเข้ารหัส
- ต้องใช้ใบรับรองการแลกเปลี่ยนที่ออกโดย CA ที่เชื่อถือได้ที่มีอยู่ในไคลเอนต์และเซิร์ฟเวอร์
เมื่อใช้การตั้งค่า" Force Protocol Encryption " บนไคลเอ็นต์:
- ไคลเอนต์เดี่ยวนี้จะบังคับใช้ SSL และต้องมีหนังสือรับรองการแลกเปลี่ยนที่ออกโดย CA ที่เชื่อถือได้ที่มีอยู่ในเครื่องนี้ หากไม่มีการเชื่อมต่อนี้จะล้มเหลว
เมื่อเปิดใช้งานการตั้งค่า "การบังคับใช้การเข้ารหัสโปรโตคอล " บนทั้งเซิร์ฟเวอร์และไคลเอนต์:
- ไม่แนะนำ แต่ทำไม เกิดอะไรขึ้นและสิ่งใดจะล้มเหลว
เมื่อเปิดใช้งานทั้ง "การเข้ารหัสบังคับ " และ " บังคับใช้การเข้ารหัสโปรโตคอล " บนเซิร์ฟเวอร์:
- สิ่งนี้จะให้ผล? การบังคับใช้การเข้ารหัสลับถูกตั้งค่าเมื่อเปิดใช้งานการเข้ารหัสลับของโพรโทคอลหรือไม่