Twilio PHP SSL certificat: certificat auto-signé dans la chaîne de certificats
Je suis aux prises avec cette erreur lorsque vous essayez d'envoyer un message via Twilio à l'aide de leur Bibliothèque PHP:
Fatal error: Uncaught exception Services_Twilio_TinyHttpException with message SSL certificate problem: self signed certificate in certificate chain thrown in F:\path\to\site\twilio-php\Services\Twilio\TinyHttp.php on line 119
J'utilise wamp sur windows 7.
Bien sûr, j'ai trouvé tous les autres postes sur les erreurs de certificat. De ce que je peux voir, généralement de mise à jour ou l'ajout de la cacert.pem
fichier résout le problème. Cependant, même après avoir fait cela, je suis toujours le même message d'erreur.
Tout comme un test de cohérence ici est exactement ce que j'ai fait:
- Téléchargé la dernière des certificats à partir d'ici: http://curl.haxx.se/ca/cacert.pem.
- Placé ce fichier dans l'emplacement suivant
c:/wamp/certs/cacert.pem
- Mise à jour de php.ini comme suit:
curl.cainfo = c:/wamp/certs/cacert.pem
- Redémarrage de tous les services de wamp, y compris apache
Et je suis toujours la même erreur. J'ai vérifié que je suis modifiez le bon php.ini à l'aide de phpinfo()
. Je suis à une perte quant à pourquoi il est toujours à se plaindre.
Est-il possible de vérifier à 100% que mon cacert.pem
fichier est trouvé et lu? J'ai vérifié phpinfo()
et il n'y a aucune mention de là. Faut-il dire quelque part qui, le cas échéant cacert.pem
il utilise?
Merci!
- Je suis exactement au même point. Avez configuré cacert.pem dans mon php.ini - vérifié qu'il est chargé par echo ini_get('curl.cainfo'); ce qui a donné le chemin d'accès correct. Encore: Twilio ne veut pas parler avec mon installation WAMP. Avez-vous eu plus loin avec cela?
- En fin de compte, j'ai dû utiliser
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
. Je sais que c'est un sale corriger, mais je suis le seul à l'utiliser dans le développement. Mon serveur de production est à l'aide de SSL sans aucun problème. - Merci pour vos commentaires. Même chose pour moi, en fait - je ne pouvais pas faire le problème disparaît sous Windows / WAMP. Sur mon linux en environnement de production everyhing travaille avec certificat de vérification activée.
Vous devez vous connecter pour publier un commentaire.
J'ai eu exactement le même problème
Suivez ces étapes:
Télécharger le fichier suivant -
cacert.pem
Puis téléchargez le fichier suivant -
thawte_Premium_Server_CA.pem
L'ouverture de la deuxième fichier dans un éditeur de texte et copiez son contenu dans le premier fichier (
cacert.pem
en bas/à la fin).Enregistrer
cacert.pem
et ajoutez les lignes suivantes à votrephp.ini
:Évidemment changer le répertoire où votre pem est situé. Redémarrez le php serveur local (xampp/wamp). Ensuite, il sera parfaitement.
grâce.
Modifier TinyHttp.php
et ajouter
CURLOPT_SSL_VERIFYPEER => FALSE,
à $opts tableauCURLOPT_SSL_VERIFYPEER => FALSE,
. Je ne veux pas ajouter le certificat parce qu'alors, si son absence sur le serveur je dois modifier php.ini pour sélectionner le certificat qui devient parfois complexe fondée sur l'hébergement.Je ne suis pas à l'aide de Twilio, mais je suis sur Windows et a été d'avoir exactement les problèmes décrits dans l'OP. J'ai résolu ce problème en téléchargeant le
ca-bundle.crt
fichier à partir de cette page et en pointant mon php.ini pour elle:http://curl.haxx.se/docs/caextract.html
Dans mon cas, le cacert.pem partir du lien de téléchargement ci-dessus ne fonctionne pas pour moi, mais le cacert.pem de la précédente twilio php paquet de bibliothèque comme 3.12.5 travaillé. J'ai modifié twilio.php dans les nouvelles versions de package pour ajouter les deux lignes suivantes
à l'emplacement correspondant que les anciens package et copié le cacert.pem plus récent paquet.
Au lieu de piratage tiny_http.php vous pouvez ajouter vos propres cURL options en appelant Twilio CurlClient constructeur avec vos options choisies, comme:
Pour moi, aucune des réponses postées ici travaillé.
Mais ensuite j'ai mis à jour mon PHP pour 7.0.1*, et je n'ai plus eu ce message d'erreur:
Services_Twilio_TinyHttpException: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL
.*(
C:\wamp\bin\php\php-7.0.1-Win32-VC14-x64
au lieu deC:\wamp\bin\php\php5.4.3
)Et mon
C:\wamp\bin\php\php-7.0.1-Win32-VC14-x64\php.ini
avait déjà incluscurl.cainfo=C:/wamp/cacert.pem
.Voici la réponse officielle de Twilio:
Pour essayer de résoudre ce problème s'il vous plaît essayez d'effectuer les opérations suivantes:
1 Téléchargez le fichier pem: https://twilio.zendesk.com/attachments/token/EenviU5Rv4KHUzGM6VP5UijB0/?name=cacert.pem
2 Copiez ce fichier soit
c:\cert\cacert.pem
(Windows) ou tout autre chemin d'accès sur votre Unix/Linux /Mac installation3 Ouvrez php.ini fichier dans votre éditeur de texte favori
Si la configuration suivante
string: curl.cainfo
existe dans votre php.ini, décommentez par la suppression de ";
" et modifier le chemin d'accès afin de pointer vers le cacert.pem fichier joint à ce courrier,.g:5 s'il vous Plaît redémarrer votre service Apache pour appliquer la modification (très important!)
L'ajout de cette answert parce que personne ne mentionne le
[ini-tag]
php.ini
cacert.pem est téléchargé ici: https://twilio.zendesk.com/attachments/token/EenviU5Rv4KHUzGM6VP5UijB0/?name=cacert.pem
Je vais avoir le même problème, Mais j'ai été à la recherche dans l'article peut-être que cela vous aide. http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/
Regarder dans votre cURL version. vous devez être en 7,4 x