2011-08-24 31 views
22

me sale este error (ruta de los derechos de acceso??):PHP con el certificado CA SSL

"Problema con el certificado SSL CA (ruta de los derechos de acceso??)"

Al hacer:

$curl = curl_init('https://example.com' . ($method == 'GET' && $params ? '?' . $params : '')); 

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); 
$response = curl_exec($curl); 

print curl_error($curl) 

Funciona bien en otro servidor.

SSL está utilizando NSS. PHP 5.3.6

+0

similares a esta pregunta: http: // stackoverflow.com/questions/26099849/amazon-marketplacewebserviceorders-requests-suddenly-failing-php-curl-giving-ss – Marty

+0

Sé que esta es una vieja pregunta, pero ¿podría elegir una "respuesta correcta"? – gillytech

+0

ya elegí lo que funcionó para mí. –

Respuesta

0

tengo trabajo cambiando el nombre del nssdb:

mv /etc/pki/nssdb /etc/pki/nssdb.old 
+0

Esta solución no funcionó para mí por alguna razón. Parece que el problema fue causado por la actualización de libcurl. En mi caso, no quiero ninguna validación, pero parece que no puedo deshabilitar todo. ¿Alguien tiene alguna otra sugerencia? – Greg

22

tenido que esto ocurra a dos servidores que utilizan el IPN de PayPal, tanto en torno al mismo tiempo.

La reparación debía reiniciar Apache.

+1

También sucedió. Se ha producido una actualización automática, que creó un nuevo /etc/pki/nssdb/pkcs11.txt (y movió el anterior a /etc/pki/nssdb/pkcs11.txt.rpmnew). El contenido del archivo era el mismo. No hubo advertencias u otra información en los registros. No tengo idea si la actualización automática fue la culpable sin embargo. De todos modos, un reinicio de php-fpm resolvió el problema. –

+5

Vale la pena mencionar para mí, al menos, que un simple y elegante reinicio de Apache no fue suficiente. Tuve que reiniciar el servicio (es decir, 'service httpd restart').No estoy seguro de por qué eso hizo la diferencia, pero lo hizo. – Johno

+1

Para aquellos que usan nginx + php-fpm en CentOS: 'sudo service php-fpm restart' debe hacer el truco – Curious

11

Si obtiene el "Problema con el certificado SSL CA (path? Access rights?)", Puede significar que ha eliminado todo desde /etc/pki/tls/certs/ o ha establecido permisos no válidos (CHMOD).

Si está utilizando RHEL/CentOS, tratar yum reinstall openssl ca-certificates -y

+1

Esto, no reiniciar/reiniciar me ayudó. –

+0

Y probablemente 'apt-transport-https' también – Jonathan

7

acaba de actualizar a PHP 5.5.17 y esto es cuando empezaron los problemas. El servidor ejecuta transacciones de PayPal y cURL comenzó a fallar en este error: "Problema con el certificado CA de SSL (¿camino? ¿Derechos de acceso?)".

Intenté regenerar los certs, modificando las opciones de curl, nada me estaba llevando a ninguna parte. La solución fue simplemente reiniciar el servidor (CentOS 6.5 en mi caso). Espero que esto ayude a alguien.

+2

Estoy de acuerdo; reiniciar el servidor solucionó el problema también :) – Latheesan

1

Me sucede después de la actualización de los paquetes.

Una vez que reinicié el apache se solucionó.

Luego lo instalé en el servidor de producción y lo obtuve nuevamente. Esta vez fue el desastre en los certificados en/etc/pki/tls/certs/

de copia de seguridad de los archivos y de este comando lo arreglará:

curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt

Cuestiones relacionadas