दिलचस्प पोस्ट
किसी उपयोगकर्ता ने अपलोड करने के लिए किसी फ़ाइल को चुन लिया है या नहीं तो कैसे परीक्षण करें? मैं कैसे जांचूं अगर एक जावास्क्रिप्ट एआरएआर मान खाली या शून्य है? Dtexec का उपयोग कर एक SSIS पैकेज चलाना स्ट्रिंग में आंशिक दृश्य कैसे प्रस्तुत करना है सक्रिय रिकॉर्ड के साथ कई तालिकाओं में शामिल हों जावा प्रकार अनुमान: संदर्भ जावा 8 में अस्पष्ट है, लेकिन जावा 7 नहीं है जेपीक्यूएल का चयन करें वक्तव्य में नया ऑब्जेक्ट बनाएँ – से बचें या गले लगाओ? Python अनुरोध पुस्तकालय के साथ एक पोस्ट अनुरोध में कुकीज़ कैसे भेजें? मैं कॉफी स्क्रिप्ट में वैश्विक चर को कैसे परिभाषित करूं? facebook: स्थायी पृष्ठ एक्सेस टोकन? घुमाए गए आयताकार में सबसे बड़ा आयत की गणना करें JavaMap में फ्लैटमैप () के बाद "पूरी तरह से" आलसी क्यों नहीं है? वर्तमान गतिविधि से रूट दृश्य प्राप्त करें नोड में नष्ट करना। जेएस नेविगेशन बार के लिए वास्तविक समय धुंधला प्रभाव

कर्ल: (60) SSL प्रमाणपत्र: स्थानीय जारीकर्ता प्रमाणपत्र प्राप्त करने में असमर्थ

root@sclrdev:/home/sclr/certs/FreshCerts# curl --ftp-ssl --verbose ftp://{abc}/ -u trup:trup --cacert /etc/ssl/certs/ca-certificates.crt * About to connect() to {abc} port 21 (#0) * Trying {abc}... * Connected to {abc} ({abc}) port 21 (#0) < 220-Cerberus FTP Server - Home Edition < 220-This is the UNLICENSED Home Edition and may be used for home, personal use only < 220-Welcome to Cerberus FTP Server < 220 Created by Cerberus, LLC > AUTH SSL < 234 Authentication method accepted * successfully set certificate verify locations: * CAfile: /etc/ssl/certs/ca-certificates.crt CApath: /etc/ssl/certs * SSLv3, TLS handshake, Client hello (1): * SSLv3, TLS handshake, Server hello (2): * SSLv3, TLS handshake, CERT (11): * SSLv3, TLS alert, Server hello (2): * SSL certificate problem: unable to get local issuer certificate * Closing connection 0 curl: (60) SSL certificate problem: unable to get local issuer certificate More details here: http://curl.haxx.se/docs/sslcerts.html curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option. If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL). If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option. 

वेब के समाधान से एकत्रित समाधान "कर्ल: (60) SSL प्रमाणपत्र: स्थानीय जारीकर्ता प्रमाणपत्र प्राप्त करने में असमर्थ"

'SSL प्रमाणपत्र समस्या से संबंधित: स्थानीय जारीकर्ता प्रमाणपत्र प्राप्त करने में असमर्थ' त्रुटि बल्कि स्पष्ट रूप से यह प्रणाली को कर्ल अनुरोध भेजने पर लागू होता है (और कोई अनुरोध प्राप्त करने वाला सर्वर नहीं)

1) https://curl.haxx.se/ca/cacert.pem पर नवीनतम cacert.pem डाउनलोड करें

2) निम्न पंक्ति को php.ini में जोड़ें (यदि यह होस्टिंग साझा किया गया है और आपके पास php.ini तक पहुंच नहीं है तो आप इसे public_html में .user.ini में जोड़ सकते हैं)

curl.cainfo=/path/to/downloaded/cacert.pem

3) डिफ़ॉल्ट रूप से, फास्टसीजीआई प्रक्रिया हर 300 सेकंड में नई फाइलों को पार्स करेगी (यदि आवश्यक हो तो आप यहाँ सुझाए गए कुछ फाइलों को जोड़कर आवृत्ति बदल सकते हैं https://ss88.uk/blog/fast-cgi-and-user-ini -फ़ाइलें- the-new-htaccess / )

यह विफल हो रहा है क्योंकि कर्ल सर्वर द्वारा प्रदान किए गए प्रमाणपत्र को सत्यापित करने में असमर्थ है।

यह काम करने के लिए दो विकल्प हैं:

  1. -k विकल्प के साथ कर्ल का उपयोग करें जो असुरक्षित कनेक्शन बनाने के लिए कर्ल की अनुमति देता है, जो कर्ल प्रमाणपत्र प्रमाणन नहीं करता है।

  2. मूल सीए (सर्वर प्रमाणपत्र पर हस्ताक्षर करने के लिए सीए) etc/ssl/certs/ca-certificates.crt

आपको विकल्प 2 का उपयोग विकल्प के रूप में करना चाहिए जो सुनिश्चित करता है कि आप सुरक्षित FTP सर्वर से जुड़ रहे हैं।

मैं कर्ल स्क्रिप्ट में एक लाइन कोड जोड़कर इस समस्या का समाधान किया है:

 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

चेतावनी : यह अनुरोध पूर्ण असुरक्षित बना देता है (@YSU द्वारा उत्तर देखें)!

Git Extensions v3.48 को स्थापित करने के बाद यह समस्या थी। फिर से mysysgit स्थापित करने की कोशिश की लेकिन एक ही समस्या अंत में, को अक्षम करना पड़ा (कृपया सुरक्षा निहितार्थ पर विचार करें!) Git SSL सत्यापन के साथ:

 git config --global http.sslVerify false 

लेकिन अगर आपके पास एक डोमेन प्रमाण पत्र है तो इसे बेहतर बनाएं (Win7)

 C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt 

मेरे मामले में यह मेरे सर्टिफिकेट की स्थापना के साथ एक समस्या है जो मैं कर्ल के साथ उपभोग करने की कोशिश कर रहा था। मैं इंटरमीडिएट और रूट प्रमाणपत्र को अपने डोमेन प्रमाण पत्र में बंडल / जोड़ना विफल रहा । पहली बार यह स्पष्ट नहीं था कि यह समस्या थी क्योंकि क्रोम ने इसे काम किया और इंटरमीडिएट और रूट प्रमाणपत्र छोड़ने के बावजूद प्रमाणपत्र स्वीकार किया।

प्रमाणपत्र बंडल करने के बाद, सब कुछ अपेक्षित रूप में काम किया। मैंने इस तरह बंडल किया

 $ cat intermediate.crt >> domain.crt 

और सभी मध्यवर्ती और मूल प्रमाणपत्र के लिए दोहराया।

हम हाल में इस त्रुटि में चले गए बाहर निकलता है यह रूट प्रमाणपत्र से संबंधित था जिसे CA स्टोर निर्देशिका में ठीक से स्थापित नहीं किया गया था। मैं एक कर्ल आदेश का उपयोग कर रहा था, जहां मैं सीए डायरे को सीधे निर्दिष्ट कर रहा था curl --cacert /etc/test/server.pem --capath /etc/test ... यह कमांड हर बार कर्ल के साथ असफल रही है : (60) SSL प्रमाणपत्र समस्या: स्थानीय जारीकर्ता प्रमाण पत्र प्राप्त करने में असमर्थ

strace curl ... का उपयोग करने के बाद strace curl ... , यह निर्धारित किया गया था कि कर्ल मूल प्रमाणपत्र फ़ाइल को 60ff2731.0 के नाम से देख रहा था, जो कि एक openssl हैश नामांकन संधारणा पर आधारित है। इसलिए मुझे इस आदेश को जड़ प्रमाणपत्र को प्रभावी ढंग से आयात करने के लिए मिल गया है:

ln -s rootcert.pem `openssl x509 -हैश-noout -in rootcert.pem`.0

जो एक सॉफ्टलिंक बनाता है

60ff2731.0 -> rootcert.pem

कर्ल के तहत, server.pem cert पढ़ें, रूट प्रमाणपत्र फ़ाइल (rootcert.pem) का नाम निर्धारित किया है, इसे अपने हैश नाम में कनवर्ट किया, फिर एक ओएस फ़ाइल लुकअप किया, लेकिन उसे नहीं मिला।

तो, ले जाना, स्ट्रेज का उपयोग करें, जब कर्ल त्रुटि को अस्पष्ट बनाते समय कर्ल चलाते हैं (बहुत जरूरी मदद होती है), और फिर openssl नामकरण सम्मेलन का उपयोग करके रूट प्रमाण को ठीक से स्थापित करना सुनिश्चित करें

यह सबसे संभावित सर्वर से गुम होने का प्रमाण है।

Root-> मध्यवर्ती> सर्वर

एक सर्वर को सर्वर और इंटरमीडिएट को कम से कम भेजना चाहिए

समस्या को डीबग करने के लिए openssl s_client -showcerts -starttls ftp -crlf -connect abc:21 का उपयोग करें।

यदि केवल एक प्रमाण वापस किया गया है (या तो हस्ताक्षर किया गया है, या जारी किया गया है), तो आपको या तो चुनना होगा:

  1. सर्वर तय है
  2. विश्वास है कि cert और इसे अपने सीए प्रमाणपत्र की दुकान में जोड़ें (सर्वोत्तम विचार नहीं)
  3. ट्रस्ट अक्षम करें, जैसे curl -k (बहुत बुरा विचार)

यदि सर्वर ने एक से अधिक, लौटा दिया है, लेकिन स्व हस्ताक्षरित (रूट) प्रमाण सहित नहीं:

  1. सीए (रूट) प्रमाणपत्र को इस श्रृंखला के लिए आपके सीए स्टोर में स्थापित करें, जैसे कि जारीकर्ता के Google। ( केवल अगर आपको विश्वास है कि CA)
  2. सर्वर को सीए को श्रृंखला के भाग के रूप में भेजने के लिए तय किया गया है
  3. श्रृंखला में एक निश्चित विश्वास रखें
  4. विश्वास को अक्षम करें

यदि सर्वर रूट सीए प्रमाण पत्र वापस कर चुका है, तो यह आपके सीए स्टोर में नहीं है, आपके विकल्प हैं:

  1. इसे जोड़ें (विश्वास)
  2. विश्वास को अक्षम करें

मैंने समय सीमा समाप्त / निरस्त सीरेटों को नजरअंदाज किया है क्योंकि इसमें कोई संदेश नहीं दिखा था। लेकिन आप openssl x509 -text साथ certs की जांच कर सकते हैं

यह देखते हुए कि आप किसी होम संस्करण ( https://www.cerberusftp.com/support/help/installing-a-certificate/ ) FTP सर्वर से कनेक्ट हो रहे हैं, मैं कहने जा रहा हूं कि यह स्वयं हस्ताक्षरित है

कृपया अधिक विवरण पोस्ट करें, जैसे कि openssl से आउटपुट।

खिड़कियों पर मुझे यह समस्या थी कर्ल mysysgit द्वारा स्थापित किया गया था, इसलिए डाउनलोड और नवीनतम संस्करण को मेरी समस्या तय की।

अन्यथा ये आपके सीए प्रमाणपत्र अपडेट करने के तरीके पर अच्छे निर्देश हैं जो आप कोशिश कर सकते हैं।

-k

(SSL) यह विकल्प स्पष्ट रूप से "असुरक्षित" SSL कनेक्शन और स्थानान्तरण करने की अनुमति देता है। कर्ल 7.10 से शुरू, डिफ़ॉल्ट रूप से स्थापित सीए प्रमाणपत्र बंडल का उपयोग करके सभी SSL कनेक्शन सुरक्षित बनाए जाने का प्रयास किया जाएगा। यह सभी कनेक्शन को विफल करने के लिए "असुरक्षित" माना जाता है, जब तक कि -k / – असुरक्षित प्रयोग नहीं किया जाता है।

man.cx/curl

हाँ, आपको एक सीए प्रमाणपत्र भी जोड़ना होगा। स्पष्ट दृश्य के लिए नोड। जे में कोड स्निपेट जोड़ना

 var fs = require(fs) var path = require('path') var https = require('https') var port = process.env.PORT || 8080; var app = express(); https.createServer({ key: fs.readFileSync(path.join(__dirname, './path to your private key/privkey.pem')), cert: fs.readFileSync(path.join(__dirname, './path to your certificate/cert.pem')), ca: fs.readFileSync(path.join(__dirname, './path to your CA file/chain.pem'))}, app).listen(port) 

सरल समाधान: ~/.sdkman/etc/config में बदलें sdkman_insecure_ssl=true

कदम:
नैनो ~/.sdkman/etc/config
sdkman_insecure_ssl=false sdkman_insecure_ssl=true को sdkman_insecure_ssl=true
सुरषित और बहार