Por ejemplo, ejecutar wget https://www.dropbox.com
resultados en los siguientes errores:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
Por ejemplo, ejecutar wget https://www.dropbox.com
resultados en los siguientes errores:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
Respuestas:
Al observar las soluciones hacky actuales, siento que tengo que describir una solución adecuada después de todo.
Primero, debe instalar el paquete cygwin a ca-certificates
través de setup.exe de Cygwin para obtener los certificados.
NO use curl o hacks similares para descargar certificados (como consejos de respuesta contiguos) porque eso es fundamentalmente inseguro y puede comprometer el sistema.
En segundo lugar, debe decirle a wget dónde están sus certificados, ya que no los recoge de forma predeterminada en el entorno Cygwin. Si puede hacerlo, ya sea con el parámetro de línea de comandos --ca-directory=/usr/ssl/certs
(mejor para scripts de shell) o agregando ca_directory = /usr/ssl/certs
al ~/.wgetrc
archivo.
También puede solucionarlo ejecutando ln -sT /usr/ssl /etc/ssl
como se indicó en otra respuesta, pero eso solo funcionará si tiene acceso administrativo al sistema. Otras soluciones que describí no requieren eso.
ln -s /etc/ssl /usr/ssl
funcionó para mí.
Si no le importa verificar la validez del certificado, simplemente agregue la --no-check-certificate
opción en la línea de comandos de wget. Esto funcionó bien para mí.
NOTA: Esto lo abre a ataques de hombre en el medio (MitM), y no se recomienda para nada en lo que a usted le interese la seguridad.
Si el problema es que falta una CA raíz conocida y cuando está utilizando ubuntu o debian, puede resolver el problema con esta línea:
sudo apt-get install ca-certificates
update-ca-certificates
resolvió el problema.
update-ca-certificates
es un comando ubuntu, no disponible en debian.
Primero, se deben instalar los certificados SSL. Instrucciones (basadas en https://stackoverflow.com/a/4454754/278488 ):
pushd /usr/ssl/certs
curl http://curl.haxx.se/ca/cacert.pem | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
c_rehash
Lo anterior es suficiente para solucionarlo curl
, pero wget
requiere un enlace simbólico adicional:
ln -sT /usr/ssl /etc/ssl
Tal vez esto ayude:
wget --no-check-certificate https://blah-blah.tld/path/filename
Tengo el problema similar y lo solucioné desactivando temporalmente mi antivirus (Kaspersky Free 18.0.0.405). Este AV tiene un módulo de intercepción HTTPS que autofirma automáticamente todos los certificados que encuentra en las respuestas HTTPS.
Wget de Cygwin no sabe nada sobre el certificado raíz AV, por lo que cuando encuentra que el certificado del sitio web fue firmado con un certificado de no confianza, imprime ese error.
Para solucionar esto permanentemente sin deshabilitar AV, debe copiar el certificado raíz AV del almacén de certificados de Windows /etc/pki/ca-trust/source/anchors
como archivo .pem (codificación base64) y ejecutarupdate-ca-trust
Si está utilizando Windows, vaya al panel de control, haga clic en actualizaciones automáticas y luego haga clic en el enlace Sitio web de Windows Update. Solo sigue el paso. Al menos esto funciona para mí, no hay más certificados emitidos, es decir, cada vez que voy a https://www.dropbox.com como antes.