【发布时间】:2015-09-29 17:38:02
【问题描述】:
如果我使用 System.Net.Mail 并使用 ScottGu 在此博客 here 中描述的 SmtpClient,我的密码在连接到 smtp 服务器时是否安全?我知道以纯文本形式将其存储在服务器上可能存在问题,但这不是我要问的。当我与 smtp 主机建立连接时,它是否以纯文本形式发送?
【问题讨论】:
标签: asp.net .net system.net.mail
如果我使用 System.Net.Mail 并使用 ScottGu 在此博客 here 中描述的 SmtpClient,我的密码在连接到 smtp 服务器时是否安全?我知道以纯文本形式将其存储在服务器上可能存在问题,但这不是我要问的。当我与 smtp 主机建立连接时,它是否以纯文本形式发送?
【问题讨论】:
标签: asp.net .net system.net.mail
这取决于 smtp 的设置方式。如果它通过 TLS 隧道,那么它将被加密,并具有与 Internet 上任何 TLS 隧道相同的基本安全性(即与 HTTPS 相同)。如果它没有通过加密通道,那么它就不会被加密,它会被发送纯文本。
所以 SMTP 本身并没有提供任何加密方式(就像 HTTP),它依赖于加密的底层隧道来保护数据(如 HTTPS)。
请注意,所有与安全有关的事情都有很多权衡,我只描述了一个非常简单的解决方案,它没有涵盖处理安全性的许多其他因素。因此,假设您在互联网上阅读的有关安全/加密的任何内容都是正确的,请务必小心。这是所有计算机科学中最困难的领域之一。
【讨论】:
SmtpClient.EnableSsl = true;,那么它将通过 TLS 加密隧道发送。