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

EDI, CMS, Outils, Scripts et API PHP Discussion :

cUrl et HTTPS


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    septembre 2006
    Messages
    1 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2006
    Messages : 1 054
    Points : 1 483
    Points
    1 483
    Par défaut cUrl et HTTPS
    Bonjour,
    Bien que Drupal ne soit plus mentionné dans cette section du Forum, s'agissant d'un soucis cUrl, je me permets de poster ma question.
    En effet, Drupal utilise cUrl pour réaliser le téléchargement d'un module que l'on désire ajouter. Lorsque le lien pointe vers du HTTP, aucun problème, tout fonctionne bien. Par contre, si le lien exploite HTTPS, j'obtiens le message d'erreur suivant :
    Échec de la récupération du fichier dû à l'erreur "cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)"
    J'ai alors suivi les indications données sur le lien présent dans le message d'erreur, mais sans succès. Il semblerait que cUrl ne sache pas retrouver les certificats présents sur le serveur pour s'en servir dans ce contexte HTTPS.
    Quelqu'un saurait-il me dire comment faire fonctionner cUrl avec HTTPS ?
    Voilà ce que me donne la commande "curl --version" sur mon serveur Debian 10 fraîchement installé :
    curl 7.52.1 (x86_64-pc-linux-gnu) libcurl/7.52.1 OpenSSL/1.0.2u zlib/1.2.8 libidn2/2.2.0 libpsl/0.17.0 (+libidn2/0.16) libssh2/1.7.0 nghttp2/1.18.1 librtmp/2.3
    Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
    Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    juin 2005
    Messages
    5 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : juin 2005
    Messages : 5 147
    Points : 11 601
    Points
    11 601
    Par défaut
    Et si vous dite à cURL de ne pas vérifier le certificat ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

  3. #3
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    septembre 2006
    Messages
    1 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2006
    Messages : 1 054
    Points : 1 483
    Points
    1 483
    Par défaut
    Bonjour,
    Merci pour votre réponse. J'avais trouvé sur le net divers explications dont cette proposition. Mais comme dans les autres cas, mes compétences Linux et cUrl étant proches du zéro absolu je ne sais pas quoi faire de cette ligne ?!
    C'est à ajouter dans un fichier ini particulier ?
    C'est à modifier dans la configuration de Drupal ?
    Cela concerne la configuration de Apache ?
    L'ensemble ?
    Bien que je n'ai pas installé grand chose sur mon serveur, je n'ai pas moins de 7 fichiers php.ini différents, et contrairement aux outils système, je ne trouve pas de dossier particulier hébergeant les fichiers de configurations de cUrl, si toutefois il en existe.
    Bref, je suis perdu.
    Merci d'éclairer ma lanterne.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    juin 2005
    Messages
    5 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : juin 2005
    Messages : 5 147
    Points : 11 601
    Points
    11 601
    Par défaut
    Bonjour,
    Si je fais une recherche google, je tombe sur ceci : https://docs.bolt.cm/3.2/howto/curl-ca-certificates. c'est unr truc que je tenterais.

    Pour savoir qu'elle fichier php.ini il faut modifier, vous pouvez le savoir grâce à la fonction phpinfo()

    dans un fichier à la racine de votre répertoire web, créer un fichier info.php et mettez ceci dedans

    <?php

    phpinfo();
    Affichez le sur votre navigateur et vous devriez au début de cette vue voir où se trouve votre fichier php.ini,

    sous Debian, je dirais /etc/php/7.*/apache2 , sous vous êtes sous apache

    Une fois toutes les manipulation effectuée, n'oubliez pas de relancer apache

    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    sudo systemctl restart apache2

  5. #5
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    septembre 2006
    Messages
    1 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2006
    Messages : 1 054
    Points : 1 483
    Points
    1 483
    Par défaut
    Bonsoir,
    Merci pour vos précisions que j'ai suivi à la lettre.
    Bien que j'avais déjà tenté cela avec un autre fichier .pem, j'obtiens toujours le code erreur 60 de cUrl.
    Échec de la récupération du fichier dû à l'erreur "cURL error 60: SSL certificate problem: unable to get local issuer certificate
    En d'autre terme, si je ne me trompes pas, il ne veut pas plus de cacert.pem que du premier fichier .pem que j'avais mis en place.
    Bien que le fichier que vous indiquez dans vos précisions semble être le bon, il n'en veut pas.
    En tous cas c'est ce que dit "curl.haxx.se" pour le code erreur 60 :
    The remote server's SSL certificate or SSH md5 fingerprint was deemed not OK
    Je continue de chercher où ça coince.
    Cependant, vous parliez de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    Mais si je ne me trompes pas, il s'agit là d'une de ligne de code php ?
    N'y a-t'il pas moyen de faire la même chose via le fichier php.ini ?
    Je pose la question car je n'ai trouvé aucune occurrence du moindre mot de cette ligne de code dans le fichier /etc/php/7.3/apache2/php.ini manipulé...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  6. #6
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    septembre 2006
    Messages
    1 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2006
    Messages : 1 054
    Points : 1 483
    Points
    1 483
    Par défaut
    Bonsoir,
    Je reviens vers vous car je désespère. Est-il possible d'utiliser cUrl avec HTTPS, oui ou non, et si oui comment ?
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

Discussions similaires

  1. CURL en https
    Par Nelriss dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/04/2016, 14h05
  2. curl et https
    Par nepaim dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 15/05/2013, 16h02
  3. [PHP 5.3] cURL : Erreur HTTP 403
    Par Djik71 dans le forum Langage
    Réponses: 0
    Dernier message: 14/01/2013, 12h40
  4. [cURL] Requête HTTP sans corps réponse juste les entêtes
    Par ksven dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 19/03/2009, 22h54
  5. [curl] requete http post ( simuler envoi de formulaire )
    Par mikebranque dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 07/07/2008, 22h55

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