我无法再使用 c# WebClient.DownloadFile() 或 HttpClient.ReadAsStreamAsync() 下载公开可用的文件。我可以使用 Chrome 或 Firefox 手动下载。
该网站升级到 TLS 1.3,我的程序以前使用 TLS 1.2。返回的第一个错误是“无法建立 SSL/TLS 安全通道”。TLS 1.3 不是 .Net 中定义的枚举,因此我从 .Net v4.78 升级到 v4.80 以指定 ServicePointManager.SecurityProtocol 和 HttpHandler.SslProtocols(用于 HttpClient)的 TLS 1.3 协议。该操作通过了安全通道错误,现在我陷入了常见的算法错误。
Chrome 显示该站点使用 TLS 1.3 和 X25519 以及 AES_128_GCM。我的理解是 X25519 是密钥交换,算法是 AES_128_GCM。我运行了 PowerShell 命令“get-TlsCipherSuite”,它首先显示密码 TLS_AES_256_GCM_SHA384,然后是 TLS_AES_128_GCM_SHA256。这些是协议 772 的仅有的 2 个密码,现在在 Windows 10 中默认启用。我相信这个十进制数字表示 TLS 1.3 (0x0304)。该网站由 Apache 提供支持,证书显示算法 SHA256RSA。