我想强制SOAP请求使用TLS版本1.2。我实现了以下代码,请求也成功提交,但是我仍然无法使用默认的TLS版本或TLS 1.2
$options = array(
'trace' => 1,
'exceptions' => true,
'soap_version' => 'SOAP_1_1', // use soap 1.1 client
'connection_timeout' => 30,
'stream_context' => stream_context_create(array(
'ssl' => array(
'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
)
))
);
$client = new \SoapClient(self::$_EXACT_URL, $options);
我可以使用https://tlstest.paypal.com/创建CURL请求并测试TLS版本。请参见下面的代码。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSLVERSION , CURL_SSLVERSION_TLSv1_2);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
$output = curl_exec($ch);
curl_close($ch);
if ($output == 'PayPal_Connection_OK') { echo '<span style="color:green;">' . $output. '</span>'; }
else { echo '<span style="color:red;">' . $output. '</span>'; }
是否有任何肥皂api或代码实现可用来验证自己的tls版本?
谢谢。