IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

PHP 5.2 + Apache + CURL + CERTIF pour API distante Err 60 : Peer certificate cannot be authenticated with know


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Lisses
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Lisses
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Par défaut PHP 5.2 + Apache + CURL + CERTIF pour API distante Err 60 : Peer certificate cannot be authenticated with know
    Bonjour, Bonsoir,

    Après avoir tourner en rond sur le Net j'ignore où se situe la raison de mon problème qui est l'erreur :

    CURLE_SSL_CACERT (60)
    Peer certificate cannot be authenticated with known CA certificates.

    J'accuse mon serveur Apache PHP qui ne sait pas y faire.
    Parce que en mode que je qualifierais d'autonome : l'utilisation de l'application GOOGLE Insomnia tout se déroule à merveille.
    Sauf que ce n'est pas mon serveur qui travaille.

    Donc :

    J'ignore si les certificats sont correctement installé sur le serveur Apache PHP
    et
    J'ignore si le code PHP (ci-après) tournant sur ce serveur est correct

    Si déjà je pouvait identifier lequel des deux est fautif ce serait un grand bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    $url='https://www.registre-coproprietes-prp.sully-group.fr/api/v1/ws/coproprietes/'   
    $ch = curl_init();    
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_HEADER,false);
        curl_setopt($ch,CURLOPT_CUSTOMREQUEST,"POST");
        curl_setopt($ch,CURLOPT_POSTFIELDS,$json);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
        curl_setopt($ch,CURLOPT_CAINFO,"C:/Apache2.2/conf/ssl_path_irc/cert.pem");
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true);
        curl_setopt($ch,CURLOPT_HTTPHEADER,array(
                                            'Content-Type: application/json',
                                            'Content-Length: ' . strlen($json)
                                         ));
        curl_setopt($ch,CURLOPT_VERBOSE,true);
        curl_setopt($ch,CURLOPT_STDERR,$fileHandle);
     
        //$resultSetOpt=curl_setopt_array($ch ,$curlOptions);
        //curl_setopt($ch, CURLOPT_CAINFO, "C:/Apache2.2/conf/ssl_path_irc","cert.pem");
     
        $result=curl_exec($ch);
        echo "<p>Result = ";var_dump($result);echo "</p>";
     
        $cInfo=curl_getinfo($ch);  
     curl_close($ch);
    Pour information supplémentaires :

    • la valeur du curl_getinfo retourne presque tout a zéro ou vide
    • la valeur du résultat de curl_exec est un booléen à faux


    Est ce que quelqu'un ici est en mesure de valider ce source PHP

    Si vous avez des idées

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    C'est erreur vient du fait les CA certificat embarqué dans ta version de curl ne sont pas capble d'authentifier le certificat client.
    PHP 5.2 à 11 ans donc autant te dire qu'il doit manquer un paquet de certificats à ton curl.

    La solution la plus simple est de désactiver la vérification coté CURL , tu perd en revanche la sécurité de l'authentification :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    Peut être est il possible de mettr eà jour les certificats au niveau du serveur , mais sans certitude que curl les retrouvent.

    Apache ne rentre pas dans l'équation de ton problème.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre actif
    Homme Profil pro
    Lisses
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Lisses
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Par défaut
    Merci de ta prompte réponse.

    1/ Les certificats ne m'appartiennent pas.
    Il m'ont été fournis par le prestataire de service auprès duquel je tente d'accéder à cet WebApi RestFull

    2/ Le PHP version 5.2 sur le serveur Apache est employé par ailleurs pour tout un portail WEB pour nos clients.
    Donc autant dire qu'il va me falloir oublier l'idée de monter sa version.

    3/Côté PHP, l'idée de désactiver le contrôle de la certification m'est venue à l'esprit résultat : ==> KO.

    5/ Tu me parles d'apache qui est en dehors de toute la problématique : très bien, ça j'aime bien.
    Mais coté PHP ? Quel serais ton avis ?
    Aurais je loupé des paramètres à fixer si oui lesquels et avec quelles valeurs ?
    Y en aurait-il que j'aurais fixé de travers ? si oui lesquels et quelle serait la bonne valeur pour chacun d'eux ?

    Merci à Toi

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pour le point 3, tu veux dire que tu as eu la meme erreur en desactivant le contrôle ?

    Vérifie que ton serveur est à la bonne date/heure.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Aurais je loupé des paramètres à fixer si oui lesquels et avec quelles valeurs ?
    Curl embarque un certains nombre d’autorité de certification (CA Certificate) comme le fait un navigateur.
    C'est ça qui lui permet de dire le certificats du site X est bien un certificat valide délivré par l'autorité Y.

    Les navigateurs sont mis à jour de façon transparente , il n'ya donc en général pas de problème avec les nouvelles entitées de certification qui ne seraient pas reconnues.

    En revanche pour CURL c'est figé , quand tu met à jour la version du curl , tu met à jour le "CA bundle" qu'il embarque et qui lui permet de vérifier la validité des certificats.

    Comme je le disais dans mon message précédent , il est sans doute possible de mettre à jour la liste des autorités reconnues par le système. Fait quelques recherche sur la mise à jour du CA Bundle de curl et plus particulièrement dans PHP pour voir si il existe des solutions.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Les certificats curl à jour sont là :
    https://curl.haxx.se/docs/caextract.html
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD21] traduction php vers WD pour Api
    Par gancau dans le forum WinDev
    Réponses: 1
    Dernier message: 26/07/2016, 14h53
  2. Réponses: 0
    Dernier message: 13/09/2010, 21h17
  3. [COM] PHP::COM et Apache
    Par lebdenat dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 12/06/2006, 14h59
  4. Réponses: 8
    Dernier message: 19/10/2005, 15h06
  5. [Php/MySql/Tpl]Methode ou Demarche pour créer WebSite
    Par Funraill.net dans le forum Langage
    Réponses: 8
    Dernier message: 14/10/2005, 12h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo