使用TLS1.2的PHP SOAP通信
我们已在我们的网站中集成了UPS Web服务。最近我们收到UPS的警报: 自2016年1月26日起生效,UPS测试环境将要求 TLS 1.2安全协议,并将可用于您的系统 测试 自2016年5月31日起生效,UPS将需要TLS 1.2安全协议 在生产中。在该日期之后,提交给 使用旧协议(TLS 1.1或更早)的UPS将失败 我的问题是: 有没有任何方法可以使用TLS与PHP SOAP通信?我已经在谷歌上搜索了很多,但还没有找到任何解决方案使用TLS1.2的PHP SOAP通信,php,web-services,soap,tls1.2,ups,Php,Web Services,Soap,Tls1.2,Ups,我们已在我们的网站中集成了UPS Web服务。最近我们收到UPS的警报: 自2016年1月26日起生效,UPS测试环境将要求 TLS 1.2安全协议,并将可用于您的系统 测试 自2016年5月31日起生效,UPS将需要TLS 1.2安全协议 在生产中。在该日期之后,提交给 使用旧协议(TLS 1.1或更早)的UPS将失败 我的问题是: 有没有任何方法可以使用TLS与PHP SOAP通信?我已经在谷歌上搜索了很多,但还没有找到任何解决方案 请告诉我我也遇到了这个问题。我用它来强制TLS通信 $mo
请告诉我我也遇到了这个问题。我用它来强制TLS通信
$mode = array
(
'soap_version' => 'SOAP_1_1', // use soap 1.1 client
'trace' => 1,
'stream_context' => stream_context_create(array(
'ssl' => array(
'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
)
))
);
// initialize soap client
$client = new SoapClient($this->wsdl, $mode);
但是我的开发环境(在我的开发环境中)始终存在一个问题,MAMP witch包含一个不支持TLS1.2的openssl版本
最后我得到了这个问题的解决方案。它需要OpenSSL>1.0.1或更高版本
NSS>3.15,在我的例子中,我们的服务器支持SSL版本是NSS/3.19.1
基本ECC,因此无需更改任何代码
。当我打印$client->u getLastRequestHeaders()时$客户端->u getLastResponseHeaders();使用stream_上下文和不使用stream_上下文都打印相同的结果。如何使用tsl1检查正在调用的请求。2协议?