He buscado problemas con este error, pero estoy desconcertado sobre lo que pudo haber sucedido entre varios de mis propios servidores que comenzaron a mostrar este error:
Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /var/www/html/file_get.php on line 7La línea 7 es el comando file_get_contents.
Estos son servidores (Debian) bajo mi control, por lo que sé que nada (que yo sepa) ha sucedido/cambiado o actualizado/mejorado.
Sé que puedo usar la solución de incluir lo siguiente, pero estoy ansioso por entender qué sucedió primero (además, tengo muchos, muchos archivos que necesitaría actualizar). También necesito entender qué servidor es el que tiene el problema potencial.
Tengo 3 servidores, todos los cuales acceden a otro cuarto servidor con solicitudes file_get_contents. 2 de los servidores de repente (hoy hace unas horas) comenzaron a fallar con el error anterior, el tercero parece funcionar bien.
Sospecho que el problema está en los dos servidores que muestran el problema en lugar del cuarto al que intentan acceder.
Si implemento este código, funciona, pero prefiero encontrar la causa principal:
$arrContextOptions=array( "ssl"=>array( "verify_peer"=>false, "verify_peer_name"=>false, ), );y modifique file_get_contents a lo siguiente:
file_get_contents($input, false, stream_context_create($arrContextOptions)));Pero como se mencionó, tengo cientos de archivos que necesitarían cambiarse.
Todos los servidores son Debian y usan certificados Lets Encrypt 9que son válidos).
He intentado agregar lo siguiente a php.ini:
openssl.cafile=/etc/letsencrypt/live/myserver.com/cert.pemPero esto no ha funcionado (permanece el mismo error).
La versión de openssl del servidor que aún funciona es OpenSSL 1.1.0f 25 de mayo de 2017 (Biblioteca: OpenSSL 1.1.0l 10 de septiembre de 2019), las dos que muestran el error son OpenSSL 1.1.0l 10 de septiembre de 2019, no estoy seguro de si esto es relevante.
Cualquier ayuda sería apreciada.
ACTUALIZAR
Así que he podido resolver esto hasta ahora. Después de muchas pruebas y pruebas, sinceramente, no estoy muy seguro de qué resolvió el problema para que vuelva a funcionar, pero hice todo lo siguiente:
apt upgradeapt updatecertbot-autocertbot instalado (versión más reciente)mozilla/DST_Root_CA_X3.crt de /etc/ca-certificates.confupdate-ca-certificatesNuevamente, no estoy seguro de cuál de los anteriores (o la combinación de los anteriores) resolvió el problema, pero ahora me está funcionando.
Tengo el mismo problema hoy, está bien en el navegador web, error de SSL en el cartero y alguna llamada de lenguaje de programación. Mi error se debió a la caducidad del certificado root let's encrypt ver anuncio aquí
Al usar ssllab.com, descubrimos que existen dos cadenas de certificaciones para mi certificado, una que va hasta ISRG Root X1, que estaba bien, otra que sube a DST Root CA X3 Autofirmado el certificado caducado (del 30 de septiembre al 14: 00 gmt)
Para resolver este problema, actualicé certbot a la última versión (1.19) a través de snapd. el del administrador de paquetes de mi ubuntu 20.04 no fue el último. (ref certbot doc )
Luego renuevo el certificado usando la opción: --preferred-chain 'ISRG Root X1' nota: buscando la actualización OP, esta es probablemente la predeterminada en la nueva versión de certbot
y reiniciar el servicio. desde entonces todo bien.
también confirme que este es su problema, la cadena de certificación se puede ver a través de herramientas en línea como ssllabs.com
ejemplo de certificado fallido:
Certification Paths Path #1: Trusted 1 Sent by server asp.xyz.com Fingerprint SHA256: 30c7865bd2fb4541e819bcfba43456b9fee3310b3faa8be8c86bd26a5cd6b15f Pin SHA256: Iw4x0j6IktVzCyk1DsHyV5h8BuqXIq98VOhwLR0UWww= RSA 2048 bits (e 65537) / SHA256withRSA 2 Sent by server R3 Fingerprint SHA256: 67add1166b020ae61b8f5fc96813c04c2aa589960796865572a3c7e737613dfd Pin SHA256: jQJTbIh0grw0/1TkHSumWb+Fs0Ggogr621gT3PvPKG0= RSA 2048 bits (e 65537) / SHA256withRSA 3 In trust store ISRG Root X1 Self-signed Fingerprint SHA256: 96bcec06264976f37460779acf28c5a7cfe8a3c0aae11a8ffcee05c0bddf08c6 Pin SHA256: C5+lpZ7tcVwmwQIMcRtPbsQtWLABXhQzejna0wHFr8M= RSA 4096 bits (e 65537) / SHA256withRSA Path #2: Not trusted (invalid certificate [Fingerprint SHA256: 0687260331a72403d909f105e69bcf0d32e1bd2493ffc6d9206d11bcd6770739]) 1 Sent by server asp.xyz.com Fingerprint SHA256: 30c7865bd2fb4541e819bcfba43456b9fee3310b3faa8be8c86bd26a5cd6b15f Pin SHA256: Iw4x0j6IktVzCyk1DsHyV5h8BuqXIq98VOhwLR0UWww= RSA 2048 bits (e 65537) / SHA256withRSA 2 Sent by server R3 Fingerprint SHA256: 67add1166b020ae61b8f5fc96813c04c2aa589960796865572a3c7e737613dfd Pin SHA256: jQJTbIh0grw0/1TkHSumWb+Fs0Ggogr621gT3PvPKG0= RSA 2048 bits (e 65537) / SHA256withRSA 3 Sent by server ISRG Root X1 Fingerprint SHA256: 6d99fb265eb1c5b3744765fcbc648f3cd8e1bffafdc4c2f99b9d47cf7ff1c24f Pin SHA256: C5+lpZ7tcVwmwQIMcRtPbsQtWLABXhQzejna0wHFr8M= RSA 4096 bits (e 65537) / SHA256withRSA 4 In trust store DST Root CA X3 Self-signed Fingerprint SHA256: 0687260331a72403d909f105e69bcf0d32e1bd2493ffc6d9206d11bcd6770739 Pin SHA256: Vjs8r4z+80wjNcr1YKepWQboSIRi63WsWXhIMN+eWys= RSA 2048 bits (e 65537) / SHA1withRSA Valid until: Thu, 30 Sep 2021 14:01:15 UTC EXPIRED Weak or insecure signature, but no impact on root certificateEl problema similar al que me enfrenté con Ubuntu 16.04.7, en mi caso, estaba recibiendo un mensaje de error de SSL: certificado caducado mientras intentaba GET / POST usando Postman.
Aquí está la solución:
/etc/ca-certificates.conf busque mozilla/DST_Root_CA_x3.crt! cantar al comienzo de la línea, es decir, !mozilla/DST_Root_CA_x3.crtsudo update-ca-certificatesEl mismo problema que enfrenté con CentOS 7.
Mi solución es:
sudo yum update ca-certificatesgrep DST_Root_CA_x3 /etc/ssl/certs/ca-bundle.crt