由于 TLS 1.1/1.2 问题,Inno Setup 下载插件无法下载文件

Inno Setup Download plugin not able to download file due to TLS 1.1/1.2 issue

当我尝试从 Inno Setup 下载插件下载文件时,它失败并出现以下错误:

在深入研究此错误后,我发现从 Internet Explorer 设置中启用 TLS 1.1 或 TLS 1.2 效果很好。但是,当我 运行 Windows XP 或 Windows Server 2003 中的代码(它仅支持 TLS 1.0,因此我无法启用 TLS 1.1 或 TLS 1.2)时,它失败了。

代码:

idpAddFile('https://www.testwebsite.com/downloads/SetupFiles.zip',  
           ExpandConstant('{tmp}\SetupFiles.zip'));
idpDownloadAfter(wpSelectDir);

Windows XP 确实不支持 TLS 1.1/1.2。 Inno Download Plugin (IDP) 只是 Windows built-in HTTP 实现的薄包装。因此,IDP 代码的任何更改都不会允许 TLS 1.2。您将不得不从头开始实施 HTTP 和 TLS,这是一项疯狂的任务。

虽然请注意关于 TLS 版本 的问题,而不是关于 证书 的问题。

支持 Windows XP 的唯一合理解决方案是在服务器上启用 TLS 1.0。