我只想使用SHA2
和TLS1.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.
)
)
)
)
);
答案 0 :(得分:4)
在SHA256
中添加ciphars
已解决。实际上 SHA2 有4种哈希函数:SHA224
,SHA256
,SHA384
和SHA512
。
<强>更改强>
'ciphers' => 'SHA256',
回答自己的问题对我来说有点奇怪,但它可以帮助其他开发者。
答案 1 :(得分:0)
你没有证书放在ssl数组中吗?
'cafile' => $certFile