cURL avec les certificats SSL échoue: erreur 58 impossible de définir le fichier de clé privée

Je suis en train d'essayer de vous connecter à un hôte distant à l'aide de cURL. La connexion nécessite l'utilisation d'un certificat et une clé privée qui est protégé par mot de passe. Jusqu'à présent, je suis échoué avec ce code ci-dessous:

<?php
    $wsdl       = 'https://domain.com/?wsdl';
    $certFile   = getcwd() . '/auth/cert.pem';
    $keyFile    = getcwd() . '/auth/key.pem';
    $password   = 'pwd';

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,           $wsdl);
    curl_setopt($ch, CURLOPT_SSLCERT,       $certFile);
    curl_setopt($ch, CURLOPT_SSLKEYPASSWD,  $password);
    curl_setopt($ch, CURLOPT_SSLKEY,        $keyFile);
    #curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
    #curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    #curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    $output = curl_exec($ch);

    var_dump(curl_errno($ch));
    var_dump(curl_error($ch));

Le résultat, je reçois des erreurs 58: unable to set private key file: '/home/.../domains/.../public_html/auth/key.pem' type PEM.

Choses que j'ai essayé jusqu'à présent:

Je suis sûr que le problème se situe quelque part dans ma configuration, mais je ne sais pas où chercher.

  • "Changer l'ordre de la contenu de la clé.pem". Vous key.pem fichier (qui contient la clé privée) ne devrait vraiment contenir 1 codés en PEM section (pour la clé privée). C'est l'ordre de la cert fichier que vous pourriez avoir besoin de changer. Le client-cert pour cette clé privée doit être en haut.
InformationsquelleAutor Ben | 2014-11-24