मैंने इस समस्या का भी सामना किया है। मैंने इस सूत्र को पढ़ा है और अधिकांश उत्तर सूचनात्मक हैं, लेकिन मेरे लिए जटिल हैं। मैं नेटवर्किंग विषयों में अनुभवी नहीं हूं इसलिए यह उत्तर मेरे जैसे लोगों के लिए है।
मेरे मामले में, यह त्रुटि इसलिए हो रही थी क्योंकि मैंने अपने आवेदन में उपयोग किए जा रहे प्रमाणपत्र के बगल में मध्यवर्ती और मूल प्रमाणपत्र शामिल नहीं किए थे।
यहाँ मुझे SSL प्रमाणपत्र आपूर्तिकर्ता से क्या मिला है:
- abc.crt
- abc.pem
- abc-bunde.crt
में abc.crt
फ़ाइल, वहाँ केवल एक ही प्रमाण पत्र था:
-----BEGIN CERTIFICATE-----
/*certificate content here*/
-----END CERTIFICATE-----
यदि मैंने इसे इस प्रारूप में आपूर्ति की है, तो ब्राउज़र किसी भी त्रुटि (फ़ायरफ़ॉक्स) को नहीं दिखाएगा लेकिन curl: (60) SSL certificate : unable to get local issuer certificate
जब मैंने कर्ल अनुरोध किया तो मुझे त्रुटि मिलेगी ।
इस त्रुटि को ठीक करने के लिए, अपनी abc-bunde.crt
फ़ाइल की जाँच करें । आप सबसे अधिक कुछ इस तरह से देखेंगे:
-----BEGIN CERTIFICATE-----
/*additional certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*other certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*different certificate content here*/
-----END CERTIFICATE-----
ये आपके इंटरमीडिएट और रूट सर्टिफिकेट हैं। त्रुटि इसलिए हो रही है क्योंकि वे SSL प्रमाणपत्र में गायब हैं जो आप अपने आवेदन में आपूर्ति कर रहे हैं।
त्रुटि को ठीक करने के लिए, इन दोनों फ़ाइलों की सामग्री को इस प्रारूप में संयोजित करें:
-----BEGIN CERTIFICATE-----
/*certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*additional certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*other certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*different certificate content here*/
-----END CERTIFICATE-----
ध्यान दें कि प्रमाणपत्र के बीच या फ़ाइल के प्रारंभ में कोई रिक्त स्थान नहीं हैं। एक बार जब आप अपने आवेदन के लिए इस संयुक्त प्रमाण पत्र की आपूर्ति करते हैं, तो आपकी समस्या ठीक होनी चाहिए।