HTTPS y SSL3_GET_SERVER_CERTIFICATE: la verificación del certificado falló, CA está bien

Resuelto Josnidhin asked hace 54 años • 12 respuestas

Estoy usando XAMPP para el desarrollo. Recientemente actualicé mi instalación de xampp de una versión anterior a 1.7.3.

Ahora, cuando hago curl en sitios habilitados para HTTPS, aparece la siguiente excepción

Error grave: excepción no detectada 'RequestCore_Exception' con el mensaje 'recurso cURL: ID de recurso n.º 55; Error de cURL: problema con el certificado SSL, verifique que el certificado de CA esté bien. Detalles: error: 14090086: rutinas SSL: SSL3_GET_SERVER_CERTIFICATE: verificación de certificado fallida (60)'

Todos sugieren usar algunas opciones de curl específicas del código PHP para solucionar este problema. Creo que este no debería ser el camino. Porque no tuve ningún problema con mi versión anterior de XAMPP y ocurrió solo después de instalar la nueva versión.

Necesito ayuda para descubrir qué configuraciones cambian en mi instalación de PHP, Apache, etc. puede solucionar este problema.

Josnidhin avatar Jan 01 '70 08:01 Josnidhin
Aceptado

Es un problema bastante común en Windows. Sólo necesita configurarlo cacert.pemen curl.cainfo.

Desde PHP 5.3.7 puedes hacer:

  1. descargue https://curl.se/ca/cacert.pem y guárdelo en algún lugar.
  2. actualizar php.ini- agregar curl.cainfo = "PATH_TO/cacert.pem"

De lo contrario, deberá hacer lo siguiente para cada recurso de cURL:

curl_setopt ($ch, CURLOPT_CAINFO, "PATH_TO/cacert.pem");
Артур Курицын avatar May 11 '2013 07:05 Артур Курицын

curlsolía incluir una lista de autoridades certificadoras (CA) aceptadas, pero ya no incluye NINGÚN certificado de CA desde 7.18.1 en adelante. Entonces, de forma predeterminada, rechazará todos los certificados TLS/SSL como no verificables.

Tendrá que obtener el certificado raíz de su CA y apuntarlo. Más detalles en los detalles de curl sobre verificación de certificados TLS/SSL .

Marc B avatar Jun 19 '2011 05:06 Marc B