Nella mia app PHP uso PHP CURL e openssl, per connetterti e parlare usando SOAP. Fino ad ora, il server remoto supportava SSL e TLS ma a causa del bug "poodle", l'amministratore decise di disabilitare SSL e utilizzare solo TLS. SSL è supportato fino alla fine di gennaio.Verifica se il ricciolo sta usando TLS
ho cambiato il mio codice aggiungendo:
curl_setopt($objCurl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
che in teoria dovrebbe forzare curl per usare TLSv1.2.
Ma questa è la teoria: devo verificare che in realtà utilizzi TLS: esiste un metodo per questo? C'è un metodo chiamato curl_getinfo(), ma informazioni restituisce non è utile per me:
[url] => https://www.example.com/soap/MessagingPort
[content_type] => text/xml;charset=utf-8
[http_code] => 200
[header_size] => 293
[request_size] => 882
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.164487
[namelookup_time] => 3.4E-5
[connect_time] => 3.4E-5
[pretransfer_time] => 0.000122
[size_upload] => 604
[size_download] => 178
[speed_download] => 1082
[speed_upload] => 3672
[download_content_length] => 178
[upload_content_length] => 604
[starttransfer_time] => 0.164477
[redirect_time] => 0
Big Grazie in anticipo
È possibile esaminare la stretta di mano con una sorta di sniffer di rete, o se è possibile, disattivare SSL e TLS 1.0 e 1.1 sul server in modo che * ha * connettersi con TLS 1.2. Lo script – vcsjones
funziona su un hosting condiviso, quindi non c'è modo di annusarlo.Ho già forzato Apache sul mio server di sviluppo per utilizzare TLS e funziona, ma non ho modo di verificarlo in produzione. Dopo alcuni anni di utilizzo di php, inizi a non dare tutto per scontato. Ho ancora bisogno di un modo per ottenere "stai usando TLS" sullo schermo. Ho anche avuto un problema sul mio Debian con CURL_SSLVERSION_TLSv1_2 non in fase di definizione e ho dovuto modificare la linea in: curl_setopt ($ objCurl, CURLOPT_SSLVERSION, 6); – kayo