Error de verificación SSL fallida al instalar Composer en Windows 7 con proxy

Error de verificación SSL fallida al instalar Composer en Windows 7 con proxy

Mi error es que cada vez que intento instalar Composer usando la GUI y la línea de comando, aparece el mismo error con la verificación SSL fallando y, por lo tanto, no puedo conectarme a HTTP a través de mi proxy. Estoy en una máquina con Windows 7 que ejecuta XAMPP detrás de un proxy.

Para empezar, investigué sobre este error y probé todas las soluciones en otras publicaciones, y me pregunto qué me perdí.

Las cosas que he probado:

  • Actualmente uso XAMPP para Apache, descargué e instalé las últimas versiones, así como algunas versiones anteriores.
  • Volví a descargar curl-ca-bundle.crt y actualicé mi \xampp\apache\bin\curl-ca-bundle.crt para reflejar la última versión (~aproximadamente 20 kb de diferencia entre el que vino con XAMPP y el que descargado).
  • Descargué manualmente el certificado de getcomposer.org y lo agregué al final de mi curl-ca-bundle.crt. (Sí, estoy seguro de que este es el archivo que PHP/Composer está usando para instalar)
  • Cuando intento instalar esto a través de la línea de comando, aparece un error que dice que no se conoce dicho host. Descubrí que este problema se debe a que no se han configurado las URL HTTP/HTTPS_PROXY. Los encendí y luego aparece el mismo error que a través de la GUI (que se encuentra a continuación)
  • Luego, cuando visité el sitio de Composer y descargué el .exe para instalarlo, en el instalador tengo la opción de especificar el proxy (lo cual hice) para deshacerme del host no sush, después de especificar el proxy ahora tengo exactamente el mismo error. como la línea de comando.
  • Deshabilitar SSL/TLS para Composer. Pero todavía falla al intentar contactar con cualquier sitio web con https.

GUI:

El script del instalador de Composer no tuvo éxito [código de salida 1].

OpenSSL falló con un error de "verificación de certificado fallida". Esto indica un problema con los archivos de la Autoridad de certificación en su sistema, que pueden estar desactualizados.

Ubicación del certificado [desde la configuración ini de openssl.cafile]: \xampp\apache\bin\curl-ca-bundle.crt

El php.ini utilizado por su PHP de línea de comandos es: C:\xampp\php\php.ini

Salida del guión: El "https://getcomposer.org/versions"No se pudo descargar el archivo: la operación SSL falló con el código 1. Mensajes de error de OpenSSL: error: 1416F086: rutinas SSL: tls_process_server_certificate: la verificación del certificado falló al abrir la secuencia: no se puede conectar al servidor HTTPS a través del proxy

Línea CMD:

C:\Users\S0077500\Desktop\Laravel\Attempt 7>php composer.phar diagnose
You are running Composer with SSL/TLS protection disabled.
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: WARNING
[Composer\Downloader\TransportException] The "https://repo.packagist.org/package
s.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL
Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify fa
iled
failed to open stream: Cannot connect to HTTPS server through proxy
Composer is configured to disable SSL/TLS protection. This will leave remote HTT
PS requests vulnerable to Man-In-The-Middle attacks.
Checking HTTP proxy: FAIL
[Composer\Downloader\TransportException] The "https://repo.packagist.org/package
s.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL
Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify fa
iled
failed to open stream: Cannot connect to HTTPS server through proxy
Checking HTTP proxy support for request_fulluri: OK
Checking HTTPS proxy support for request_fulluri: Unable to assess the situation
, maybe github is down (The "https://api.github.com/repos/Seldaek/jsonlint/zipba
ll/1.0.0" file could not be downloaded: SSL operation failed with code 1. OpenSS
L Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify fa
iled
failed to open stream: Cannot connect to HTTPS server through proxy)
Checking github.com rate limit: FAIL
[Composer\Downloader\TransportException] The "https://api.github.com/rate_limit"
 file could not be downloaded: SSL operation failed with code 1. OpenSSL Error m
essages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify fa
iled
failed to open stream: Cannot connect to HTTPS server through proxy
Checking disk free space: OK
Checking pubkeys: FAIL
Missing pubkey for tags verification
Missing pubkey for dev verification
Run composer self-update --update-keys to set them up
Checking composer version:

  [Composer\Downloader\TransportException]
  The "https://getcomposer.org/versions" file could not be downloaded: SSL op
  eration failed with code 1. OpenSSL Error messages:
  error:1416F086:SSL routines:tls_process_server_certificate:certificate veri
  fy failed
  failed to open stream: Cannot connect to HTTPS server through proxy


diagnose


C:\Users\S0077500\Desktop\Laravel\Attempt 7>

Respuesta1

Tengo Windows 10 con xampp 3.0.12 (php5.3). No pude instalar Composer. Probé los pasos siguientes y funcionó para mí.

  1. Descargue el script de instalación desdehttps://getcomposer.org/installer.
  2. Guárdelo en un archivo llamado composer-setup.php.
  3. Ábrelo composer-setup.phpen tu editor favorito.
  4. Reemplace todos los HTTPS por HTTP y guarde el archivo.
  5. Ejecute los siguientes 3 pasos en el símbolo del sistema:

    php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    
    php composer-setup.php
    
    php -r "unlink('composer-setup.php');"
    
  6. ¡Voilá! Composer instalado correctamente, puede ejecutar: php composer.phar.

Gracias

Respuesta2

Yo tenía el mismo error. Así resolví el problema. Seguí las instrucciones enhttps://getcomposer.org/download/, párrafo siguienteInstalación de línea de comando

```
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
```

Reemplacé la línea php composer-setup.phpporphp composer-setup.php --disable-tls

No es necesario editar el script php.

Se me ocurrió la idea al revisar el código en Composer-setup.php donde encontré la opción. Debería haber corrido php composer-setup.php --helppara encontrar la misma respuesta más rápido y sin leer código.

información relacionada