เท่าที่ฉันรู้ในการเชื่อมต่อ SSL รับรองความถูกต้องทั้งลูกค้าและเซิร์ฟเวอร์มีกุญแจส่วนตัวและให้ใบรับรอง (ด้วยกุญแจสาธารณะที่สอดคล้องกัน) ในการเชื่อมต่อก่อนที่จะสร้างการเชื่อมต่อที่ปลอดภัย อย่างไรก็ตามฉันสับสนเล็กน้อยเนื่องจากมีการเชื่อมต่อ openSSL ปกติด้วยใบรับรองและคีย์เหล่านี้ที่ใช้ในเซิร์ฟเวอร์และฝั่งไคลเอ็นต์ แต่ ... หากคีย์ลูกข่าย / คีย์สาธารณะที่สร้างโดยคำสั่ง openssl ถูกสร้างขึ้นโดย CA ที่แตกต่างจากรหัสส่วนตัวของเซิร์ฟเวอร์ จากนั้นการเชื่อมต่อไม่ควรเกิดขึ้น แต่มันไม่ได้เกิดขึ้นในการทดลองที่ฉันลองกับ openSSL
มันไม่ได้คาดหวังหรือไม่? ปกติแล้วจะมีชุดของคีย์ที่แตกต่างกันที่ฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์โดย CA ที่แตกต่างกันหรือไม่? openSSL สร้างไพรเวตคีย์ได้ทันทีสำหรับแต่ละเซสชันและไม่ได้ขึ้นอยู่กับไคลเอ็นต์? ใครบ้างมีความคิดว่าคีย์ / ใบรับรองเหล่านี้ทำงานที่เซิร์ฟเวอร์และด้านไคลเอนต์และทำคีย์และใบรับรองเหล่านี้มีความสัมพันธ์ / การพึ่งพาระหว่างพวกเขาชนิดใด .. ?