Örneğin wget https://www.dropbox.com
, aşağıdaki hatalarla sonuçlanır:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
Örneğin wget https://www.dropbox.com
, aşağıdaki hatalarla sonuçlanır:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
Yanıtlar:
Buradaki mevcut hacky çözümlerine baktığımda, sonuçta uygun bir çözümü tanımlamak zorunda olduğumu hissediyorum.
İlk olarak,ca-certificates
sertifikaları almak için cygwin paketini Cygwin's setup.exe üzerinden kurmanız gerekir .
Sertifikaları indirmek için kıvrılma veya benzeri hack'leri KULLANMAYIN (komşu yanıt önerileri olarak) çünkü bu temelde güvensizdir ve sistemi tehlikeye atabilir.
İkinci olarak, wget'e sertifikalarınızın nerede olduğunu söylemeniz gerekir, çünkü Cygwin ortamında varsayılan olarak onları almaz. Eğer komut satırı parametresi ya o yapabiliyorsa --ca-directory=/usr/ssl/certs
veya ekleyerek (kabuk komut için en iyi) ca_directory = /usr/ssl/certs
için ~/.wgetrc
dosyanın.
Bunu ln -sT /usr/ssl /etc/ssl
başka bir yanıtta belirtildiği gibi çalıştırarak da düzeltebilirsiniz , ancak bu yalnızca sisteme yönetici erişiminiz varsa işe yarayacaktır . Açıkladığım diğer çözümler buna gerek duymuyor.
ln -s /etc/ssl /usr/ssl
benim için çalıştı.
Sertifikanın geçerliliğini kontrol etmekle ilgilenmezseniz --no-check-certificate
, wget komut satırına sadece seçeneği ekleyin . Bu benim için iyi çalıştı.
NOT: Bu sizi ortadaki adam (MitM) saldırılarına açar ve güvenliği önemsediğiniz hiçbir şey için önerilmez.
Sorun, bilinen bir kök CA'nın eksik olması ve ubuntu veya debian kullanırken, sorunu bu tek satırla çözebilirsiniz:
sudo apt-get install ca-certificates
update-ca-certificates
sorunu çözdü.
update-ca-certificates
ubuntu komutudur, debian dilinde yoktur.
İlk olarak, SSL sertifikalarının yüklenmesi gerekir. Talimatlar ( https://stackoverflow.com/a/4454754/278488 adresine göre ):
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
Yukarıdakilerin düzeltilmesi yeterlidir curl
, ancak wget
ekstra bir sembolik bağlantı gerektirir:
ln -sT /usr/ssl /etc/ssl
Belki bu yardımcı olur:
wget --no-check-certificate https://blah-blah.tld/path/filename
Benzer bir sorunum var ve antivirüsümü geçici olarak devre dışı bırakarak çözdüm (Kaspersky Free 18.0.0.405). Bu AV, HTTPS yanıtlarında bulduğu tüm sertifikaları otomatik olarak imzalayan HTTPS yakalama modülüne sahiptir.
Cygwin'den Wget, AV kök sertifikası hakkında hiçbir şey bilmiyor, bu nedenle web sitesinin sertifikasının güvenli olmayan sertifika ile imzalandığını tespit ettiğinde bu hatayı yazdırıyor.
AV'yi devre dışı bırakmadan bu sorunu kalıcı olarak gidermek için AV kök sertifikasını Windows sertifika deposundan /etc/pki/ca-trust/source/anchors
.pem dosyası (base64 kodlaması) olarak kopyalamalı ve çalıştırmalısınız.update-ca-trust
Windows kullanıyorsanız sadece kontrol paneline gidin, otomatik güncellemeleri tıklayın, ardından Windows Update Web Sitesi bağlantısını tıklayın. Sadece adımı izleyin. En azından bu benim için çalışıyor, daha fazla sertifika sorunu yok, yani daha önce olduğu gibi https: //www.dropbox.com'a gittiğimde .