Maison  >  Article  >  développement back-end  >  Comment résoudre les erreurs « Un problème est survenu quelque part lors de la prise de contact SSL/TLS » dans cURL ?

Comment résoudre les erreurs « Un problème est survenu quelque part lors de la prise de contact SSL/TLS » dans cURL ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-01 13:45:02936parcourir

How to Solve

Dépannage des erreurs de prise de contact SSL/TLS dans cURL

Lorsque vous utilisez cURL pour établir des connexions sécurisées à l'aide des protocoles SSL/TLS, vous pouvez rencontrer l'erreur message "Un problème s'est produit quelque part lors de la négociation SSL/TLS." Cela indique un problème lors du processus d'authentification et de cryptage entre cURL et le serveur distant.

Malgré les tentatives de solutions courantes telles que la désactivation de la vérification SSL (CURLOPT_SSL_VERIFYPEER) et la définition du certificat CA (CURLOPT_CAINFO), le problème persiste.

Solution :

La cause profonde de ce problème réside dans le manque de certificats racine intégrés dans cURL. La plupart des navigateurs modernes incluent des certificats racine, mais cURL nécessite un chemin explicite vers un fichier d'autorité de certification (CA) de confiance nommé « cacert.pem ».

Pour résoudre ce problème, suivez ces étapes :

  1. Téléchargez le fichier cacert.pem sur le site officiel de cURL : https://curl.haxx.se/docs/caextract.html
  2. Définissez l'option CURLOPT_CAINFO au chemin du fichier cacert.pem téléchargé :
curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cert/file/cacert.pem');

Ce fichier CA contient des certificats racine de confiance qui permettent à cURL de vérifier le certificat du serveur lors de la négociation SSL/TLS. Sans ce fichier, le processus de vérification échoue, ce qui entraîne le message d'erreur de prise de contact.

Après avoir terminé ces étapes, vous devriez pouvoir établir des connexions HTTPS sécurisées à l'aide de cURL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn