Ad esempio, l'esecuzione di wget https://www.dropbox.com
risultati nei seguenti errori:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
Ad esempio, l'esecuzione di wget https://www.dropbox.com
risultati nei seguenti errori:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
Risposte:
Osservando le attuali soluzioni confuse, sento che devo descrivere una soluzione adeguata dopo tutto.
Innanzitutto, è necessario installare il pacchetto cygwin ca-certificates
tramite setup.exe di Cygwin per ottenere i certificati.
NON utilizzare arricciature o hack simili per scaricare certificati (come consigli di risposta vicini) perché questo è fondamentalmente insicuro e potrebbe compromettere il sistema.
In secondo luogo, devi dire a wget dove sono i tuoi certificati, dal momento che non li preleva per impostazione predefinita nell'ambiente Cygwin. Se puoi farlo con il parametro della riga di comando --ca-directory=/usr/ssl/certs
(migliore per gli script di shell) o aggiungendo ca_directory = /usr/ssl/certs
al ~/.wgetrc
file.
Puoi anche risolverlo eseguendo ln -sT /usr/ssl /etc/ssl
come indicato in un'altra risposta, ma funzionerà solo se hai accesso amministrativo al sistema. Altre soluzioni che ho descritto non lo richiedono.
ln -s /etc/ssl /usr/ssl
funzionato per me.
Se non ti interessa verificare la validità del certificato, aggiungi l' --no-check-certificate
opzione nella riga di comando di wget. Questo ha funzionato bene per me.
NOTA: questo ti apre agli attacchi man-in-the-middle (MitM) e non è raccomandato per qualsiasi cosa ti interessi della sicurezza.
Se il problema è che manca una CA radice nota e quando si utilizza Ubuntu o Debian, è possibile risolvere il problema con questa riga:
sudo apt-get install ca-certificates
update-ca-certificates
risolto il problema.
update-ca-certificates
è un comando ubuntu, non disponibile in debian.
Innanzitutto, è necessario installare i certificati SSL. Istruzioni (basate su 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
Quanto sopra è sufficiente per risolvere curl
, ma wget
richiede un link simbolico aggiuntivo:
ln -sT /usr/ssl /etc/ssl
Potrebbe essere questo aiuterà:
wget --no-check-certificate https://blah-blah.tld/path/filename
Ho il problema simile e l'ho risolto disabilitando temporaneamente il mio antivirus (Kaspersky Free 18.0.0.405). Questo AV ha un modulo di intercettazione HTTPS che auto-firma automaticamente tutti i certificati che trova nelle risposte HTTPS.
Wget di Cygwin non sa nulla del certificato radice AV, quindi quando rileva che il certificato del sito Web è stato firmato con certificato non attendibile, stampa quell'errore.
Per risolvere il problema in modo permanente senza disabilitare AV, è necessario copiare il certificato radice AV dall'archivio certificati di Windows /etc/pki/ca-trust/source/anchors
come file .pem (codifica base64) ed eseguireupdate-ca-trust
Se si utilizza Windows, basta andare al pannello di controllo, fare clic su Aggiornamenti automatici, quindi fare clic sul collegamento Sito Web Windows Update. Segui il passaggio. Almeno questo funziona per me, niente più rilascio di certificati, ad esempio quando vado su https://www.dropbox.com come prima.