2

I have trouble with establishing a SSL connection.

These warnings are displayed:

Warning: stream_socket_client() [function.stream-socket-client]: Unable to set local cert chain file `D:\path\cert.pem'; Check that your cafile/capath settings include details of your certificate and its issuer in D:\path\testSll.php on line 23

Warning: stream_socket_client() [function.stream-socket-client]: failed to create an SSL handle in D:\path\testSll.php on line 23

Warning: stream_socket_client() [function.stream-socket-client]: Failed to enable crypto in D:\path\testSll.php on line 23

Warning: stream_socket_client() [function.stream-socket-client]: unable to connect to ssl://host.tld:700 (Unknown error) in D:\path\testSll.php on line 23

So I read all the question about the "Unable to set local cert chain file", but all the answer I found didn't work for me.

Here is the code I use :

$host = 'host.tld';
$port = 700;

$cert = dirname(__FILE__).'\\cert.pem'; //
$passe_phrase = 'pass';

$opts = array(
        'ssl'=>array(
            'local_cert'    => $cert,
            'passphrase'    => $passe_phrase,
            'verify_peer'   => false 
        )
    ); 

$context = stream_context_create($opts);

$fp = stream_socket_client('ssl://'.$host.':'.$port, $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);

if ($fp) {
    echo "OK";
} else {
    echo "ERROR: $errno - $errstr<br />\n";
}

The certificate is the good one. The script can access to the file cert.pem.

I cant find what I am missing here.

PHP version : 5.2.6

Community
  • 1
  • 1
KlossOne
  • 73
  • 1
  • 8

1 Answers1

1

You should look at include details of your certificate and its issuer. In my case I accidentally deleted header of a file. When I return it back, the script is connecting successfully. Before:

-----BEGIN CERTIFICATE-----
MIIFCBG+gAwIBAg...

After

Bag Attributes
    friendlyName: ...
    localKeyID: ... 
subject=...
issuer=/C=US/... CN=Apple Worldwide Developer Relations Certification Authority
-----BEGIN CERTIFICATE-----
MIIFCBG+gAwIBAg...
shukshin.ivan
  • 11,075
  • 4
  • 53
  • 69