Misalnya, menjalankan wget https://www.dropbox.com
hasil dalam kesalahan berikut:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
Misalnya, menjalankan wget https://www.dropbox.com
hasil dalam kesalahan berikut:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
Jawaban:
Melihat solusi peretasan saat ini di sini, saya merasa saya harus menggambarkan solusi yang tepat.
Pertama, Anda perlu menginstal paket cygwin ca-certificates
melalui setup.exe Cygwin untuk mendapatkan sertifikat.
JANGAN gunakan curl atau hack serupa untuk mengunduh sertifikat (sebagai saran jawaban tetangga) karena itu pada dasarnya tidak aman dan dapat membahayakan sistem.
Kedua, Anda perlu memberi tahu wget di mana sertifikat Anda, karena tidak mengambilnya secara default di lingkungan Cygwin. Jika Anda dapat melakukannya dengan parameter baris perintah --ca-directory=/usr/ssl/certs
(terbaik untuk skrip shell) atau dengan menambahkan ca_directory = /usr/ssl/certs
ke ~/.wgetrc
file.
Anda juga dapat memperbaikinya dengan menjalankan ln -sT /usr/ssl /etc/ssl
sebagaimana ditunjukkan dalam jawaban lain, tetapi itu hanya akan berfungsi jika Anda memiliki akses administratif ke sistem. Solusi lain yang saya jelaskan tidak mengharuskan itu.
ln -s /etc/ssl /usr/ssl
berhasil untuk saya.
Jika Anda tidak peduli untuk memeriksa validitas sertifikat, tambahkan saja --no-check-certificate
opsi pada baris perintah wget. Ini bekerja dengan baik untuk saya.
CATATAN: Ini membuka Anda hingga serangan man-in-the-middle (MitM), dan tidak disarankan untuk apa pun yang Anda pedulikan tentang keamanan.
Jika masalahnya adalah bahwa root CA yang diketahui hilang dan ketika Anda menggunakan ubuntu atau debian, maka Anda dapat memecahkan masalah dengan baris ini:
sudo apt-get install ca-certificates
update-ca-certificates
memecahkan masalah.
update-ca-certificates
adalah perintah ubuntu, tidak tersedia dalam bahasa debian.
Pertama, sertifikat SSL perlu diinstal. Petunjuk (berdasarkan 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
Di atas sudah cukup untuk diperbaiki curl
, tetapi wget
membutuhkan symlink tambahan:
ln -sT /usr/ssl /etc/ssl
Mungkin ini akan membantu:
wget --no-check-certificate https://blah-blah.tld/path/filename
Saya memiliki masalah serupa dan memperbaikinya dengan menonaktifkan antivirus saya untuk sementara waktu (Kaspersky Free 18.0.0.405). AV ini memiliki modul intersepsi HTTPS yang secara otomatis menandatangani sendiri semua sertifikat yang ditemukannya dalam respons HTTPS.
Wget dari Cygwin tidak tahu apa-apa tentang sertifikat root AV, jadi ketika menemukan bahwa sertifikat situs web ditandatangani dengan sertifikat non-trust, ia mencetak kesalahan itu.
Untuk memperbaikinya secara permanen tanpa menonaktifkan AV, Anda harus menyalin sertifikat root AV dari penyimpanan sertifikat Windows ke /etc/pki/ca-trust/source/anchors
file .pem (pengkodean base64) dan jalankanupdate-ca-trust
Jika Anda menggunakan windows hanya pergi ke panel kontrol, klik pada pembaruan otomatis kemudian klik pada tautan Windows Update Web Site. Ikuti saja langkahnya. Setidaknya ini bekerja untuk saya, tidak ada lagi masalah sertifikat yaitu setiap kali saya pergi ke https://www.dropbox.com seperti sebelumnya.