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
1048 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!

source:php
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