2017-03-14 2 views
1

Ich wollte nur senden Soap-Anforderung an den SOAP-Server mit SHA2 und TLS1.2 aber es zeigt unten Fehler senden, wenn sie versuchen Seife ClientWie Seife Anfrage mit SHA2 und TLS Version 1.2

Fehler

zu erstellen

SOAP-ERROR: Parsing WSDL: Couldn't load from ' https://example.com/wsdl ' : failed to load external entity " https://example.com/wsdl "

-Code

$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. 
       ) 
       ) 
      ) 
      ) 
     ); 

Antwort

2

Wurden durch Zugabe von SHA256 in ciphars gelöst. Eigentlich SHA2 hat 4 Arten von Hash-Funktionen: SHA224, SHA256, SHA384 und SHA512.

Änderungen

'ciphers' => 'SHA256', 

eigene Frage zu beantworten ist wenig für mich seltsam, aber es können auch andere Entwickler helfen.

0

Haben Sie kein Zertifikat im ssl-Array?

'cafile' => $certFile 
+0

Ich möchte 'TLS1.2' anstelle von' SSL' verwenden –