我无法再使用 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。
最近我遇到了同样的问题。以下步骤帮助我解决了这个问题。
希望这有帮助。