Maison > développement back-end > tutoriel php > Comment résoudre l'erreur « Problème avec le certificat SSL CA » dans PHP CURL malgré la désactivation de la vérification ?

Comment résoudre l'erreur « Problème avec le certificat SSL CA » dans PHP CURL malgré la désactivation de la vérification ?

DDD
Libérer: 2024-10-20 07:20:02
original
1175 Les gens l'ont consulté

How to Resolve

Dépannage ignoré CURLOPT_SSL_VERIFYPEER dans PHP CURL

Problème :

Les utilisateurs rencontrent un problème où Les requêtes HTTPS utilisant CURL génèrent une erreur « Problème avec le certificat SSL CA », malgré la définition de CURLOPT_SSL_VERIFYPEER et CURLOPT_SSL_VERIFYHOST sur false.

Causes et solutions :

Pour vérifier avec succès certificats hôtes ou homologues utilisant CURL, vous devez spécifier des certificats alternatifs avec CURLOPT_CAINFO ou un répertoire de certificats avec CURLOPT_CAPATH.

De plus :

  • CURLOPT_SSL_VERIFYHOST :

    • Défini sur 1 pour vérifier l'existence d'un nom commun dans le certificat homologue SSL.
    • Défini sur 2 pour vérifier l'existence d'un nom commun et le comparer au nom d'hôte fourni.

Code suggéré :

Pour désactiver la vérification pour l'hôte et le homologue :

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
Copier après la connexion

Pour activer la vérification et spécifier un certificat CA fichier :

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_CAINFO, "/path/to/cacert.pem");
Copier après la connexion

Remarques supplémentaires :

  • Assurez-vous que le fichier de certificat CA est valide et accessible par le serveur.
  • Le Le paramètre curl.cainfo dans php.ini peut également être utilisé pour spécifier le fichier de certificat CA.
  • Renommer /etc/pki/nssdb en /etc/pki/nssdb.old pour réinitialiser les autorités de certification.

Mise à jour :

Après la mise à jour des bibliothèques et le redémarrage du système, le problème peut se résoudre de lui-même.

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal