Comment corriger l’erreur cURL 60 : problème de certificat SSL ?

Par Laurent LOUIS-THERESEServeur, tutos, , , , Commentaires désactivés

Parfois, lorsque nous effectuons un appel cURL vers des services tiers, nous obtenons une erreur cURL : (60) SSL certificate : unable to get local issuer certificate.

Cette erreur se produit parce que le cURL vérifie et fait une demande de connexion sécurisée en utilisant un certificat auto-signé. Lorsqu’il ne trouve pas de certificat valide, il génère une erreur.

Il existe plusieurs raisons possibles à cette erreur, notamment :

  1. Le certificat SSL/TLS du serveur est auto-signé ou a expiré.
  2. L’heure système du client est incorrecte.
  3. Le certificat SSL/TLS du serveur est signé par une CA non fiable ou inconnue.
  4. Le client est derrière un pare-feu ou un proxy qui intercepte le trafic SSL/TLS.

Pour résoudre cette erreur, vous pouvez essayer les solutions suivantes :

  1. Assurez-vous que le certificat SSL/TLS du serveur est valide et signé par une CA de confiance. Vous pouvez vérifier le certificat en ouvrant l’URL dans un navigateur web et en inspectant les détails du certificat.
  2. Définissez l’option CURLOPT_SSL_VERIFYPEER sur false dans votre demande curl. Cela désactivera la vérification du certificat, mais ce n’est pas recommandé pour des raisons de sécurité.
  3. Mettez à jour l’heure du système de votre client pour vous assurer qu’elle est correcte.
  4. Configurez votre pare-feu ou proxy pour permettre au trafic SSL/TLS de passer sans interception.

Si aucune de ces solutions ne fonctionne, suivez les étapes ci-dessous :

  1. Ouvrez http://curl.haxx.se/ca/cacert.pem
  2. Copiez la page entière et enregistrez-la sous le nom de « cacert.pem ».
  3. Ouvrez votre fichier php.ini et insérez ou mettez à jour la ligne suivante.
  4. curl.cainfo = « [pathtofile]cacert.pem »

Cette solution fonctionne sous tous les OS et environnements de développement ( laragon etc… )

freelance prestashop

disponible pour vos projets.