当通过TLS下载时,Curl会在XP上出错

时间:2016-11-12 12:25:30

标签: ssl curl

我正在使用curl下载图片。在win7上它可以工作,但在XP上它给出了一个信息:

(35)schannel:next InitializeSecurityContext失败:SEC_E_ILLEGAL_MESSAGE (0x80090326) - 收到致命的SSL / TLS警报时,通常会发生此错误 (例如握手失败)。甚至可以在Windows系统中提供更多详细信息 t log。

我已经阅读了互联网上的所有可用信息,发现它与Windowx XP TLS API函数中的错误有关。实施中必定存在错误。 虽然Google Chrome如何访问此资源?它是使用它自己的TLS函数还是使用Windows API进行TLS协商? 这是一个例子:

3 3 3

1 个答案:

答案 0 :(得分:1)

Windows XP上的TLS堆栈非常陈旧,不支持TLS 1.2或SNI,不支持ECDHE以及对DHE的支持非常有限。给定错误消息curl使用此堆栈(schannel)。你可能会在使用本机TLS堆栈SChannel的XP上获得相同的错误。实际上SSLLabs report指出了IE8上的IE8问题。从这个报告中可以看到加密网站支持的内容,如果将其与ciphers offered by IE8/XP进行比较,可能还有curl / SChannel,您将发现没有重叠,即没有共享密码。

与此相反,Firefox和Chrome都不使用本机TLS堆栈,而是使用自己的(NSS)提供现代功能。这解释了为什么这些可以与网站一起使用。