उदाहरण के लिए, wget https://www.dropbox.com
निम्नलिखित त्रुटियों में परिणाम:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
उदाहरण के लिए, wget https://www.dropbox.com
निम्नलिखित त्रुटियों में परिणाम:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
जवाबों:
यहाँ में वर्तमान हैकी समाधानों को देखते हुए, मुझे लगता है कि मुझे आखिरकार एक उचित समाधान का वर्णन करना होगा।
सबसे पहले, आपको ca-certificates
प्रमाणपत्र प्राप्त करने के लिए Cygwin के setup.exe के माध्यम से साइबरविन पैकेज स्थापित करने की आवश्यकता है ।
प्रमाणपत्र डाउनलोड करने के लिए कर्ल या समान हैक्स का उपयोग न करें (पड़ोसी की सलाह के अनुसार) क्योंकि यह बुनियादी रूप से असुरक्षित है और सिस्टम से समझौता कर सकता है।
दूसरा, आपको यह बताने की आवश्यकता है कि आपके प्रमाणपत्र कहां हैं, क्योंकि यह उन्हें साइगविन वातावरण में डिफ़ॉल्ट रूप से नहीं लेता है। आप कमांड लाइन पैरामीटर के साथ या तो ऐसा कर सकते हैं तो --ca-directory=/usr/ssl/certs
या जोड़कर (शेल पटकथा के लिए सबसे अच्छा) ca_directory = /usr/ssl/certs
के लिए ~/.wgetrc
फ़ाइल।
आप इसे ln -sT /usr/ssl /etc/ssl
किसी अन्य उत्तर में बताए अनुसार भी ठीक कर सकते हैं , लेकिन यह तभी काम करेगा जब आपके पास सिस्टम तक प्रशासनिक पहुंच हो। मेरे द्वारा बताए गए अन्य समाधानों की आवश्यकता नहीं है।
ln -s /etc/ssl /usr/ssl
मेरे लिए काम किया है।
यदि आप प्रमाणपत्र की वैधता की जांच करने से गुरेज नहीं करते हैं, तो केवल --no-check-certificate
कमांड कमांड लाइन पर विकल्प जोड़ें । इसने मेरे लिए अच्छा काम किया।
नोट: यह आपको मैन-इन-द-मिडिल (मिटम) हमलों के लिए खोलता है, और ऐसी किसी भी चीज़ के लिए अनुशंसित नहीं है जहाँ आप सुरक्षा के बारे में परवाह करते हैं।
यदि समस्या यह है कि एक ज्ञात रूट CA गायब है और जब आप ubuntu या debian का उपयोग कर रहे हैं, तो आप इस एक पंक्ति के साथ समस्या को हल कर सकते हैं:
sudo apt-get install ca-certificates
update-ca-certificates
से समस्या हल हो गई।
update-ca-certificates
एक ubuntu कमांड है, जो डेबियन में उपलब्ध नहीं है।
सबसे पहले, SSL प्रमाणपत्र स्थापित करने की आवश्यकता है। निर्देश ( 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
ऊपर ठीक करने के लिए पर्याप्त है curl
, लेकिन इसके wget
लिए एक अतिरिक्त सिमिलिंक की आवश्यकता होती है:
ln -sT /usr/ssl /etc/ssl
हो सकता है इससे मदद मिलेगी:
wget --no-check-certificate https://blah-blah.tld/path/filename
मेरे पास भी ऐसी ही समस्या है और इसे मेरे एंटीवायरस (अस्थायी रूप से 18.0.0.405 कैसपर्सकी) को अक्षम करके इसे ठीक किया गया है। इस AV में HTTPS इंटरसेप्शन मॉड्यूल है जो HTTPS प्रतिक्रियाओं में पाए जाने वाले सभी प्रमाणपत्रों को स्वचालित रूप से स्व-हस्ताक्षरित करता है।
Cygwin के Wget को ए वी रूट प्रमाणपत्र के बारे में कुछ भी नहीं पता है, इसलिए जब यह पता चलता है कि वेबसाइट के प्रमाण पत्र पर गैर विश्वास प्रमाण पत्र के साथ हस्ताक्षर किया गया था तो यह उस त्रुटि को प्रिंट करता है।
AV को अक्षम किए बिना इसे स्थायी रूप से ठीक करने के लिए, आपको /etc/pki/ca-trust/source/anchors
.pem फ़ाइल (base64) के रूप में AV प्रमाणपत्र को Windows प्रमाणपत्र संग्रह से कॉपी करना चाहिए और चलाना चाहिएupdate-ca-trust
यदि आप विंडोज़ का उपयोग कर रहे हैं तो बस कंट्रोल पैनल पर जाएं, स्वचालित अपडेट पर क्लिक करें फिर विंडोज अपडेट वेब साइट लिंक पर क्लिक करें। बस स्टेप फॉलो करें। कम से कम मेरे लिए यह काम करता है, कोई और प्रमाण पत्र जारी नहीं करता है अर्थात जब भी मैं पहले की तरह https://www.dropbox.com पर जाता हूं ।