17 votos

Homebrew Barril error de descarga. Certificado SSL problema: certificado ha caducado

Estoy tratando de instalar NetLogo a través de Homebrew Barril. Yo ejecute el siguiente comando:

brew cask install netlogo

Homebrew se inicia la descarga pero de inmediato se lanza el siguiente error:

==> Downloading https://ccl.northwestern.edu/netlogo/6.1.1/NetLogo-6.1.1.dmg
#=#=-#  #                                                                     
curl: (60) SSL certificate problem: certificate has expired
More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
Error: Download failed on Cask 'netlogo' with message: Download failed: https://ccl.northwestern.edu/netlogo/6.1.1/NetLogo-6.1.1.dmg

Yo soy la comprensión de lo que está sucediendo debido a certificado caducado en el sitio web de alojamiento de NetLogo instalador.

Hay una manera de evitar este problema? Por ejemplo, hay un argumento que podría ser aprobada a brew comando para que se ignore el error? o brindar una solución? o puedo descargar manualmente el DMG y el lugar en el Homebrew directorio de memoria caché, de modo que el Homebrew salta la descarga cuando se ejecuta el comando de instalación?

24voto

Esto está documentado aquí, véase también https://curl.haxx.se/mail/lib-2020-06/0010.html y https://security.stackexchange.com/questions/232445/https-connection-to-specific-sites-fail-with-curl-on-macos.

La solución propuesta es establecer HOMEBREW_FORCE_BREWED_CURL

HOMEBREW_FORCE_BREWED_CURL=1 brew cask install netlogo

Si ejecuta Catalina puede utilizar

export CURL_SSL_BACKEND=secure-transport

tener curl no uso LibreSSL (que parece tener el problema).

También puede eliminar la entrada de AddTrust de /etc/ssl/cert.pem (es la primera entrada en el archivo, sólo tiene que quitar todos los que expiró a finales de Mayo de 2020).

1voto

Jose Chavez Puntos 645

Cuando accedo a la URL a partir de aquí, el certificado SSL no está caducado. Yo sugeriría a intentar el comando ahora a ver si funciona.

Si sigue apareciendo el mismo error, me gustaría comprobar los ajustes de fecha y hora en su computadora - que podría ser incorrecta.

Si están en lo correcto, yo sugeriría manualmente la instalación del programa. El Barril de código de esta aplicación es muy simple, así que usted puede fácilmente hacer manualmente.

Basta con abrir esta URL en un navegador:

https://ccl.northwestern.edu/netlogo/6.1.1/

Descargar el archivo DMG para macOS. Haga doble clic en el DMG para abrirlo, y se instala como cualquier otra aplicación.

ACTUALIZACIÓN: en vista de los comentarios más abajo que la pregunta no se formuló con el propósito de obtener NetLogo instalado, sino más bien para entender por qué se produce el problema y cómo resolverlo correctamente:

Cuando se mira de cerca a los TLS de comunicación con el servidor de descarga (ccl.northwestern.edu), vemos que el problema es en realidad con el paquete de certificados intermedios. I. e. el certificado real para ccl.northwestern.edu es ACEPTAR y no ha expirado, sin embargo, el servidor responde con una serie de productos intermedios y de los certificados de CA que han caducado (en particular el "USERTrust RSA Autoridad de Certificación" y "AddTrust Extdernal Raíz de la entidad emisora de certificados).

Cuando usted accede al sitio web en Safari, no se obtiene un error, ya que se usa macOS' built-en el almacén de certificados. En el Llavero puede validar que macOS por defecto tiene hasta la fecha y no caducado el certificado de CA para "USERTrust RSA Autoridad de Certificación". Por lo tanto, usted no obtiene los errores aquí.

Sin embargo, cuando se utiliza brew-cask, el archivo se descarga a través de curl - e curl no tiene acceso a la misma de almacén de confianza. Si intenta descargar el archivo de forma manual mediante la línea de comandos curl -O obtendrá el mismo error.

La solución de cliente para el curl de la línea de comandos es establecer CURL_CA_BUNDLE medio ambiente para que apunte a un archivo de texto que tiene la versión actualizada de productos intermedios. He probado eso y se puede descargar sin advertencias.

Sin embargo, brew-cask no parece relé de que la variable de entorno en a curl, y tampoco parece que respetar un cacert línea en ~/.curlrc.

La forma óptima de resolver este problema es para corregir el servidor. Actualización el certificado intermedio de paquete asociado con el sitio web en el servidor, y el problema desaparecerá.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X