ฉันมีเซิร์ฟเวอร์อีเมล Postfix / Dovecot / MySQL ที่มีการกำหนดค่าการเข้าสู่ระบบด้วยรหัสผ่านผู้ใช้ ทุกอย่างทำงานได้ดียกเว้นข้อเท็จจริงที่ว่า Dovecot ไม่ส่งไฟล์ CA ของ chain ไปยังไคลเอนต์ ฉันมี
ssl_cert = </etc/apache2/ssl/apache.crt
ssl_key = </etc/apache2/ssl/apache.key
ssl_ca = </etc/apache2/ssl/apache.pem
ใน /etc/dovecot/conf.d/10-ssl.conf ของฉัน อย่างไรก็ตาม ไฟล์ CA ไม่ได้ถูกส่ง
openssl s_client -เชื่อมต่อ server.com:143 -starttls imap
เชื่อมต่อแล้ว(00000003)
ความลึก=0 CN = server.com
ตรวจสอบข้อผิดพลาด: num=20: ไม่สามารถรับใบรับรองผู้ออกในท้องถิ่น
ตรวจสอบผลตอบแทน:1
ความลึก=0 CN = server.com
ตรวจสอบข้อผิดพลาด:num=21:ไม่สามารถตรวจสอบใบรับรองแรก
ตรวจสอบผลตอบแทน:1
...
ถ้าฉันเพิ่ม ssl_verify_client_cert = ใช่
ทุกอย่างทำงานได้ดี
openssl s_client -เชื่อมต่อ server.com:143 -starttls imap
เชื่อมต่อแล้ว(00000003)
ความลึก=2 C = สหรัฐอเมริกา, ST = แอริโซนา, L = สกอตส์เดล, O = "Starfield Technologies, Inc.", CN = ผู้ออกใบรับรองหลัก Starfield - G2
ตรวจสอบผลตอบแทน:1
เชิงลึก=1 C = สหรัฐอเมริกา, ST = แอริโซนา, L = สกอตส์เดล, O = "Starfield Technologies, Inc.", OU = http://certs.starfieldtech.com/repository/, CN = ผู้ออกใบรับรองที่ปลอดภัยของ Starfield - G2
ตรวจสอบผลตอบแทน:1
ความลึก=0 CN = server.com
ตรวจสอบผลตอบแทน:1
ฉันไม่ได้ใช้การอนุญาตใบรับรองไคลเอ็นต์ ฉันเข้าใจการกำหนดค่า Dovecot ผิดหรือเป็นลักษณะการทำงานที่คาดไว้ ปล่อยไว้แบบนี้ดีไหม?