كيف SMTP العملاء على تحديد ما إذا كان استخدام صريحة أو ضمنية SSL

StackOverflow https://stackoverflow.com/questions/803899

  •  03-07-2019
  •  | 
  •  

سؤال

معظم عملاء البريد التي تدعم SSL/TLS فقط تتطلب من المستخدم أن أقول ما إذا كان أو لم SSL يجب أن يكون ممكنا.المستخدم لا يعرف أي شيء عن صريح & الضمني SSL و الخلافات بينهما.

كيف عميل البريد تحديد أي نوع من SSL للاستخدام ؟ هل هو على أساس المنفذ الافتراضي الأرقام ؟ هل هو مجرد محاولة واحدة ثم الأخرى ؟

هل كانت مفيدة؟

المحلول

عميل البريد يجب أن تعرف إذا ضمنا SSL هو عندما يربط ، كما أنه هو المسؤول عن بدء تعارف SSL مع ClientHello رسالة.كيف يحدد هذا هو ما يصل إلى العميل.ميناء أعداد كبيرة التلميح ، ولكن أيضا يمكن أن يكون هناك خانة الاختيار في بعض UI ذلك حتى عندما القياسية (غير المحمية) رقم المنفذ المستخدم.

هناك IANA تسجيل أرقام المنافذ الآمنة البريد ، ولكن بعض مقدمي خدمات الإنترنت قد تستخدم الموانئ الأخرى.

  • IMAP/SSL:993
  • POP3/SSL:995

SMTP/SSL هو في كثير من الأحيان عرضت على ميناء 465 ، ولكن هذه ليست مسجلة و هو أقل شيوعا منذ دعم صريح SSL على نطاق واسع بدعم من SMTP وكلاء.

دعم صريح SSL يمكن الإعلان عنها من قبل server باستخدام بروتوكول محددة التفاوض.على سبيل المثال ، عندما يتصل عميل إلى ملقم SMTP و القضايا EHLO قيادة خادم قائمة قدراتها ، والتي قد تشمل دعم STARTTLS الأمر.

نصائح أخرى

وبورت 465 أمر شائع جدا بين ملقمات البريد التجارية ويستخدم في كثير من الأحيان. في معظم الأحيان أنها تستخدم لSSL الضمني. عند telnet إلى هذا المنفذ الذي سوف تحصل على مهلة منذ يجب إعداد اتصال SSL أولا قبل الاتصالات مع خادم البريد. وهكذا مهلة قد يكون أول دليل لديك اتصال SSL الضمني. لا يمكنك استخدام EHLO للعودة النتائج أنه لا يجوز لأي اتصال أخرى من اتصال SSL. وNO كنت لا مجرد اتصال إلى ملقم SMTP تشغيل SSL الضمني انها لن تستجيب وسوف مجرد قطرة الاتصال. هذا ما يفترض أن تفعله. وSSL صريح يسمح الاتصال أولا ومن ثم اقامة SSL. ونعم يستخدم SSL الضمني في كثير من الأحيان. العيب هو أن المعايير RFC ليست محددة للمطورين مختلفين فكيف يتم تنفيذه إعداده بطرق متفاوتة، على الرغم من أن يعتبر SSL الضمني من قبل البعض على الاستهلاك.

وأعتقد أن معظم العملاء التي تدعم SMTP على SSL تبدأ مع اتصال غير مشفر وتصدر EHLO بدلا من HELO. السابق ديه ردود العلم إضافية، واحدة منها يشير إلى ما إذا كان الملقم يدعم الأمر STARTTLS أم لا. إذا فعلوا ذلك، ثم يمكن للعميل استخدام STARTTLS، ومن ثم استخدام SSL من تلك النقطة.

مثال:

% telnet quack.kfu.com 25
220 quack.kfu.com ESMTP ready NO UCE
EHLO client
250-quack.kfu.com Hello client [xx.xx.xx.xx] (may be forged), pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE 25000000
250-ETRN
250-AUTH PLAIN LOGIN
250-STARTTLS
250-DELIVERBY
250 HELP
starttls
220 2.0.0 Ready to start TLS
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top