实施 SSL/TLS/AUTO
我正在使用 openssl 将 TLS/SSL 选项添加到我的电子邮件客户端。可以选择 3 个选项:AUTO、TLS、SSL(如 Outlook Express 的“加密连接选项”)。
我很好奇,当选择“自动”选项时,它应该如何工作?
如何为特定邮件服务器选择最佳选项?
如果我必须按优先级逐一尝试选项(可能 TLS -> SSL -> none),我如何检查尝试是否失败?
任何建议都会受到欢迎。
I'm adding TLS/SSL option to my email client using openssl. 3 options can be selected: AUTO, TLS, SSL (like Outlook Express's "encrypted connection option").
I'm curious that when 'AUTO' option selected, how it should work?
How can I select the best option for a specific mail server?
If I have to try the options one by one by priority (maybe TLS -> SSL -> none), how can I check the attempt fails?
Any advice will be welcomed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先根据端口号进行判断。 IMAP 的安全电子邮件端口为
993
,POP3 的安全电子邮件端口为995
。因此,如果您要连接到这些端口之一,请使用 TLS 或 SSL 进行连接。如果端口号是标准 IMAP
143
或 POP3110
,那么您需要进行不安全连接并查询邮件服务器的功能。您可以使用 STARTTLS 命令启动安全连接。在 TLS 协商期间,您告诉服务器您的能力(例如 TLSv1 和 SSLv3),然后服务器选择使用哪一个。
如果您有“自动”选项,则应在用户界面中显示“锁定”图标或其他指示符,以便用户知道连接是否已加密。否则他们不会知道您使用了哪种连接方法。
您可能需要查看这篇文章了解 Thunderbird 的工作原理。
First, make the determination based on the port number. The secure e-mail ports are
993
for IMAP and995
for POP3. So if you're connecting to either of these ports, use TLS or SSL to connect.If the port number is standard IMAP
143
or POP3110
, then you need to do an unsecure connection and query the capabilities of the mail server. You initiate a secure connection with the STARTTLS command.During TLS negotiation, you tell the server what you're capable of (TLSv1 and SSLv3 for example) and the server picks which one to use.
If you have an AUTO option, you should show a "lock" icon or some other indicator in the user interface so that the user knows whether or not the connection is encrypted. Otherwise they'd have no idea which connection method you used.
You may want to look at this article on how Thunderbird does it.