如何使用SHA2和TLS 1.2版发送soap请求

时间:2017-03-14 09:09:47

标签: php soap sha tls1.2

我只想使用SHA2TLS1.2向肥皂服务器发送Soap请求,但在尝试创建soap客户端时显示以下错误

错误

  

SOAP-ERROR:解析WSDL:无法从“https://example.com/wsdl”加载:无法加载外部实体“https://example.com/wsdl

代码

$url = 'https://example.com/wsdl';

$client = new SoapClient(
            $url,
            array(
              'ssl_method' => SOAP_SSL_METHOD_TLS,
              'cache_wsdl'    => WSDL_CACHE_NONE,
              'stream_context'=> stream_context_create(
                array(
                  'ssl'=> array(
                    'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
                    'ciphers' => 'SHA2',
                    'verify_peer'=>false,
                    'verify_peer_name'=>false, 
                    'allow_self_signed' => true //can fiddle with this one.
                  )
                )
              )
            )
          );

2 个答案:

答案 0 :(得分:4)

SHA256中添加ciphars已解决。实际上 SHA2 有4种哈希函数:SHA224SHA256SHA384SHA512

<强>更改

'ciphers' => 'SHA256',

回答自己的问题对我来说有点奇怪,但它可以帮助其他开发者。

答案 1 :(得分:0)

你没有证书放在ssl数组中吗?

'cafile' => $certFile