我们通过SOAP与服务集成,我们使用SoapClient。 由于POODLE ssl3 vulnerability服务提供商将在这些服务器上禁用SSLv3。
我找不到有关SoapClient在PHP中使用哪个SSL版本的任何有用信息。
我也不明白如何在SoapClient和PHP< 5.5中使用特定版本的SSL(因为版本5.5在SoapClient构造函数中有一个选项,ssl_method
)。
似乎PHP 5.3和SoapClient指定SSL版本的唯一方法是使用streaming context for ssl。据我所知,我可以指定ciphers list
,但这对我来说是黑水。我怎么知道使用哪些密码来确保客户端不想通过SSLv3执行请求?
总而言之,我真的应该担心吗?似乎服务器有责任告诉客户端使用哪个SSL版本,不是吗?如果我过去没有指定确切的(3)版本,我们的服务提供商的SSLv3关闭不会影响我们吗?
答案 0 :(得分:0)
您将SSL 库与SSLv3 密码混淆。 PHP正在使用的库是为系统构建或打包时可用的库。您可以找到php_info()
或类似命令中的特定版本。
要禁用SSLv3(密码),只需使用TLSv1
作为密码即可。为此,将可选的options array传递给SoapClient构造函数:
ssl_method
选项是SOAP_SSL_METHOD_TLS之一, SOAP_SSL_METHOD_SSLv2,SOAP_SSL_METHOD_SSLv3或 SOAP_SSL_METHOD_SSLv23。
在这里,您将使用SOAP_SSL_METHOD_TLS
。