我正在 Windows 服务器 (Server 2019) 上的 IIS (10) 中托管一个网站。该网站以前能够使用基本身份验证通过 smtp.office365.com 发送电子邮件。我使用 IISCrypto 禁用了 TLS 1.0(及更低版本),以便仅启用 TLS 1.1 和 1.2。它导致了此错误:
The client and server cannot communicate, because they do not possess a common algorithm
重新启用 TLS 1.0 可使错误消失。使用 SSLLabs.com 的服务器测试表明我的网站和 smtp.office365.com 都应该能够支持 TLS 1.1 和 1.2,并且使用一些共同的密码。为什么它们无法连接?
答案1
这可能是因为正在使用.NET 框架版本。
参考编号1https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls
根据 Microsoft 的建议:
在您的应用上以 .NET Framework 4.7 或更高版本为目标。在您的 WCF 应用上以 .NET Framework 4.7.1 或更高版本为目标。
不要指定 TLS 版本。配置您的代码以让操作系统决定 TLS 版本。
执行彻底的代码审核以验证您没有指定 TLS 或 SSL 版本。