【问题标题】:How to send soap request with SHA2 and TLS version 1.2如何使用 SHA2 和 TLS 1.2 版发送肥皂请求
【发布时间】:2017-03-14 09:09:47
【问题描述】:

我只想使用SHA2TLS1.2 向soap 服务器发送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.
                  )
                )
              )
            )
          );

【问题讨论】:

    标签: php soap sha tls1.2


    【解决方案1】:

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

    变化

    'ciphers' => 'SHA256',
    

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

    【讨论】:

      【解决方案2】:

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

      'cafile' => $certFile
      

      【讨论】:

      • 我想用TLS1.2代替SSL
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      • 2011-02-10
      相关资源
      最近更新 更多