นี่ไม่ได้กำหนดไว้อย่างชัดเจนที่ใดและเซิร์ฟเวอร์ควร "เชื่อถือ" หรือไม่นั้นขึ้นอยู่กับไคลเอนต์ (ซึ่งอาจเป็นเซิร์ฟเวอร์เมลอื่น) ที่เชื่อมต่อกับเซิร์ฟเวอร์ ข้อความอ้างอิงจาก RFC ที่เกี่ยวข้อง ( RFC 2487 ):
หากไคลเอนต์ SMTP ตัดสินใจว่าระดับการรับรองความถูกต้องหรือ
ความเป็นส่วนตัวไม่สูงพอที่จะดำเนินการต่อได้ควรออก
คำสั่ง SMTP QUIT ทันทีหลังจากการเจรจา TLS เสร็จสมบูรณ์
หากเซิร์ฟเวอร์ SMTP ตัดสินใจว่าระดับการรับรองความถูกต้องหรือ
ความเป็นส่วนตัวไม่สูงพอที่จะดำเนินการต่อได้ควรตอบกลับ
คำสั่ง SMTP ทุกคำสั่งจากไคลเอนต์ (นอกเหนือจากคำสั่ง QUIT) ด้วย
รหัสตอบกลับ 554 (พร้อมสตริงข้อความที่เป็นไปได้เช่น เป็น "คำสั่ง
ปฏิเสธเนื่องจากไม่มีความปลอดภัย")
การตัดสินใจว่าจะเชื่อความถูกต้องของ
อีกฝ่ายในการเจรจา TLS หรือไม่นั้นเป็นเรื่องท้องถิ่น อย่างไรก็ตาม
กฎทั่วไปบางประการสำหรับการตัดสินใจคือ:
- A SMTP client would probably only want to authenticate an SMTP
server whose server certificate has a domain name that is the
domain name that the client thought it was connecting to.
สิ่งนี้โดยทั่วไปหมายถึงคือเมื่อเซิร์ฟเวอร์ให้การเข้ารหัส TLS โดยใช้ใบรับรองที่กำหนดการตัดสินใจเกี่ยวกับการยอมรับหรือปฏิเสธนั้นขึ้นอยู่กับส่วนอื่น ๆ ทั้งหมดซึ่งอาจจะต้องการชื่อในใบรับรองที่จะเชื่อมต่อกับ แต่อาจ ยอมรับอย่างดีแม้ว่ามันจะไม่ตรงกัน
แต่เดี๋ยวก่อนยังมีอีกมาก การอ้างอิงอีกครั้งจาก RFC เดียวกัน:
เมื่อการจับมือ TLS เสร็จสมบูรณ์โปรโตคอล SMTP จะถูกรีเซ็ต
เป็นสถานะเริ่มต้น (สถานะใน SMTP หลังจากเซิร์ฟเวอร์ออก
คำทักทายพร้อมบริการ220 ) เซิร์ฟเวอร์ต้องทิ้งความรู้ใด ๆ ที่
ได้รับจากลูกค้าเช่นอาร์กิวเมนต์ไปยังคำสั่ง EHLO
ซึ่งไม่ได้รับจากการเจรจา TLS ลูกค้าจะ
ต้องทิ้งความรู้ที่ได้รับจากเซิร์ฟเวอร์เช่นรายการ
ส่วนขยายบริการ SMTP ซึ่งไม่ได้รับจากการ
เจรจาTLS เอง ลูกค้าควรส่งคำสั่ง EHLO เป็น
คำสั่งแรกหลังจากการเจรจา TLS สำเร็จ
ดังนั้นสิ่งที่เซิร์ฟเวอร์กำลังพูดเพื่อตอบสนองต่อ HELO / EHLO ก่อนการจับมือ TLS ดูเหมือนจะไม่สำคัญเลย
จากประสบการณ์ของฉันใบรับรองที่ลงนามเองทำงานได้ดีบนเซิร์ฟเวอร์อีเมลที่เชื่อมต่อกับอินเทอร์เน็ตซึ่งหมายความว่าเซิร์ฟเวอร์อีเมลอื่น ๆไม่ได้ใส่ใจในการตรวจสอบความถูกต้องพวกเขาจะยอมรับสิ่งที่สามารถให้การเข้ารหัส TLS ได้อย่างมีความสุข อำนาจหรือชื่อเรื่อง