Ssl

Office365 SMTP 需要 TLS 1.0

  • May 25, 2021

我正在 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,並具有許多共同的密碼。為什麼他們不連接?

這可能是由於正在使用 .NET 框架版本。

參考編號 1 https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls

參考編號 2 https://stackoverflow.com/questions/26742054/the-client-and-server-cannot-communicate-because-they-do-not-possess-a-common-a

根據微軟的建議:

  • 在您的應用上定位 .NET Framework 4.7 或更高版本。在 WCF 應用上定位 .NET Framework 4.7.1 或更高版本。
  • 不要指定 TLS 版本。配置您的程式碼以讓作業系統決定 TLS 版本。
  • 執行徹底的程式碼審核以驗證您沒有指定 TLS 或 SSL 版本。

引用自:https://serverfault.com/questions/1033391