utilizar servidor puede para instalar descargar crear como certificado php ssl curl twilio

servidor - Twilio PHP-Certificado SSL: certificado autofirmado en la cadena de certificados



instalar certificado ssl servidor local (9)

Agregando esta respuesta porque nadie menciona la [ini-tag]

php.ini

[curl] curl.cainfo=C:/cacert.pem

cacert.pem se descarga aquí: https://twilio.zendesk.com/attachments/token/EenviU5Rv4KHUzGM6VP5UijB0/?name=cacert.pem

Estoy luchando con este error cuando intento enviar un mensaje a través de Twilio usando su biblioteca 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

Estoy usando wamp en windows 7.

Por supuesto, he encontrado todas las otras publicaciones sobre errores de certificados. Por lo que puedo ver, normalmente actualizar o agregar el archivo cacert.pem soluciona el problema. Sin embargo, incluso después de hacer esto todavía estoy recibiendo el mismo error.

Justo como una prueba de cordura aquí es exactamente lo que he hecho:

  1. Descargue los últimos certificados desde aquí: http://curl.haxx.se/ca/cacert.pem .
  2. Ubicó este archivo en la siguiente ubicación c:/wamp/certs/cacert.pem
  3. curl.cainfo = c:/wamp/certs/cacert.pem php.ini de la siguiente manera: curl.cainfo = c:/wamp/certs/cacert.pem
  4. Reiniciado todos los servicios de wamp incluyendo apache

Y todavía estoy recibiendo el mismo error. He verificado que estoy editando el phpinfo() php.ini correcto usando phpinfo() . Estoy en una pérdida de por qué todavía se queja.

¿Hay alguna forma de verificar al 100% que mi archivo cacert.pem se encuentra y se lee? He comprobado phpinfo() y no hay ninguna mención de ello allí. ¿Debería decir en algún lugar qué, si es que algún cacert.pem está usando?

¡Gracias!


Aquí está la respuesta oficial de Twilio:

Para intentar solucionar este problema, intenta hacer lo siguiente:

1 Descargue el siguiente archivo pem: https://twilio.zendesk.com/attachments/token/EenviU5Rv4KHUzGM6VP5UijB0/?name=cacert.pem

2 Copie este archivo en c:/cert/cacert.pem (Windows) o en cualquier otra ruta en su instalación de Unix / Linux / Mac

3 Abra el archivo php.ini en su editor favorito

Si existe la siguiente string: curl.cainfo configuración string: curl.cainfo en su php.ini, elimine el comentario " ; " y modifique la ruta para apuntarla al archivo cacert.pem adjunto a este correo electrónico, por ejemplo:

;;;;;;;;;;;;;;;;;;; ; Module Settings ; ;;;;;;;;;;;;;;;;;;; curl.cainfo=c:/cert/cacert.pem

5 Reinicie su servicio de Apache para aplicar el cambio (¡muy importante!)


Editar TinyHttp.php

y agregue CURLOPT_SSL_VERIFYPEER => FALSE, en $ opts array


En lugar de hackear tiny_http.php, puedes agregar tus propias opciones de cURL llamando al constructor CurlClient de Twilio con tus opciones elegidas, como:

$client = new /Twilio/Rest/Client($accountSid, $authToken); $curlOptions = [ CURLOPT_SSL_VERIFYHOST => false, CURLOPT_SSL_VERIFYPEER => false]; $client->setHttpClient(new CurlClient($curlOptions)); try { $call = $client->calls->create($from_phone, $phone_number, $callback_url); print ''Call queued with Twilio''; } catch (/Exception $ex) { print ''Twilio error: '' . $ex->getMessage(); }


En mi caso, el cacert.pem del enlace de descarga anterior no funcionó para mí, pero el cacert.pem del paquete de la biblioteca de twilio php anterior como 3.12.5 funcionó. Modifiqué twilio.php en un paquete más nuevo para agregar las siguientes dos líneas

CURLOPT_CAINFO => dirname(FILE) . ''/cacert.pem'' ''cafile'' => dirname(FILE) . ''/cacert.pem''

a la ubicación correspondiente como paquete anterior y también copió cacert.pem a un paquete más nuevo.


No estoy usando Twilio, pero estoy en Windows y estaba teniendo los problemas exactos descritos en el OP. ca-bundle.crt esto descargando el archivo ca-bundle.crt de esta página y apuntándolo con mi php.ini: http://curl.haxx.se/docs/caextract.html


Para mí, ninguna de las respuestas publicadas aquí funcionó.

Pero luego actualicé mi PHP a 7.0.1 * y ya no tuve este error: Services_Twilio_TinyHttpException: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL 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 lugar de C:/wamp/bin/php/php5.4.3 )

Y mi C:/wamp/bin/php/php-7.0.1-Win32-VC14-x64/php.ini ya había incluido curl.cainfo=C:/wamp/cacert.pem .



Yo tuve exactamente el mismo problema

Sigue estos pasos:

Descarga el siguiente archivo - http://curl.haxx.se/ca/cacert.pem

Luego descargue el siguiente archivo: thawte_Premium_Server_CA.pem

Abra el segundo archivo en un editor de texto y copie su contenido en el primer archivo ( cacert.pem en la parte inferior / final).

Guarde cacert.pem y agregue las siguientes líneas a su php.ini :

[curl] curl.cainfo=c:/xampp/php/cacert.pem

Obviamente, cambie el directorio al directorio donde se encuentra su pem. Reinicie el servidor local de php (xampp / wamp). Entonces funcionará perfectamente.

Gracias.