大多数邮客户,支持SSL/TLS只需要用户来说是否SSL应启用。用户并不知道任何有关的明确&隐SSL和它们之间的差异。

因此,如何邮件的客户确定哪些类型的SSL使用?它是基于默认的口号码?它只是试着一个然后其他的?

有帮助吗?

解决方案

一个邮件客户必须知道,如果隐含SSL是在使用当它连接,作为它是负责发起的SSL handshake有 ClientHello 信息。它如何确定这是最多的客户。口号是一个巨大的提示,但也可以检查框在一些用户界面,迫使它甚至当的标准(保护)的口号是使用。

有IANA注册港口号的安全邮件,但一些Isp可以使用其他港口。

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

SMTP/SSL是经常提供口465,但这不是登记,而是较少见的,因为支持明确的SSL广泛的支持SMTP剂。

支持明确的SSL可以广告通过一个服务器使用一个特定协议的谈判。例如,当一个客户连接到一个SMTP server和问题的EHLO命令,服务器将列出其能力,其中可能包括支持必需的。命令。

其他提示

端口465在商业邮件服务器中非常常见,并且经常使用。通常它用于隐式SSL。当您telnet到此端口时,您将获得超时,因为您必须先设置SSL连接,然后才能与邮件服务器通信。因此,超时可能是您拥有隐式SSL连接的第一条线索。您不能使用EHLO返回结果,因为不允许使用SSL连接以外的连接。并且不,您不是简单地连接到运行隐式SSL的SMTP服务器,它将不响应,只会丢弃连接。这就是应该做的。显式SSL将首先允许连接,然后设置SSL。并且是经常使用隐式SSL。缺点是RFC标准并不具体如何实现它,因此不同的开发人员以不同的方式设置它,即使隐式SSL被某些人视为折旧。

我相信大多数支持SMTP over 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