Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP curl error: "Unknown SSL protocol error in connection to..."

Tags:

php

curl

ssl

I having extreme difficulty with PHP curl. I am attempting to open a site: https://www.novaprostaffing.com/np/index.jsp through PHP curl, but it keeps yielding the following error: "Unknown SSL protocol error in connection to www.novaprostaffing.com"

My function is as follows:

function getUrl($url) {
    $ch = curl_init();


    curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');


    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

    curl_setopt($ch, CURLOPT_URL, $url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

    $buffer = curl_exec($ch);

    if (!$buffer)
       {
       echo "cURL error number:" .curl_errno($ch);
       echo " and url is $url and cURL error:" . curl_error($ch);

        }
    curl_close($ch);
    return $buffer;
}

I have attempted multiple fixes including:

  1. Forcing curl to version 3
  2. Setting CURLOPT_SSL_VERIFYPEER & CURLOPT_SSL_VERIFYHOST to 0
  3. Checking to see if was on curl 7.34. I was told there was a bug on this version, but I am on curl 7.19.1

None of the above worked. If you have any idea how to fix this, it would be much appreciated!

like image 400
Jay Gupta Avatar asked Oct 20 '22 00:10

Jay Gupta


2 Answers

Try setting the cURL option CURLOPT_SSLVERSION. I had the same problem a while ago, this did the trick for me :)

curl_setopt($ch, CURLOPT_SSLVERSION, 3); // 1, 2 or 3
like image 57
ThatMSG Avatar answered Oct 22 '22 15:10

ThatMSG


The server speaks only TLS 1.0 and trying to connect with SSL 2.0 or SSL 3.0 will cause the error you see. This means setting the version to 3 is exactly the wrong thing with this server. Apart from that the certificate chain is incomplete. The server only provides the leaf certificate, not the intermediate certificates until the trusted root. This will cause verification to fail.

like image 22
Steffen Ullrich Avatar answered Oct 22 '22 15:10

Steffen Ullrich