के साथ POST अनुरोध मैं PHP ए का उपयोग कर साइट ए से साइट बी पर कुछ डेटा पोस्ट करने जा रहा हूं। साइट ए में एक वाणिज्यिक एसएसएल प्रमाणपत्र है। साइट बी के पास एक स्व-हस्ताक्षरित प्रमाणपत्र होगा। क्या यह करने योग्य है? यदि नहीं, तो PHP (या अपाचे) में कोई कॉन्फ़िगरेशन विकल्प हैं जिन्हें मैं प्रतिबंधों को बाईपास करने के लिए सेट कर सकता हूं?एक स्व-हस्ताक्षरित प्रमाणपत्र
उत्तर
संभवतः आप सर्वर ए पर कर्ल का उपयोग करेंगे? सर्टिफिकेट सत्यापन अक्षम करने के लिए कर्ल में कुछ विकल्प हैं, जो स्वयं-हस्ताक्षरित कैर्ट के माध्यम से अनुमति देंगे। लिंक अभी भी एन्क्रिप्टेड किया जाएगा, लेकिन आप उस सर्वर बी पर भरोसा करने में सक्षम नहीं होगा वास्तव में सर्वर बी है:
curlopt_ssl_verifypeer (checking the CA auth chain)
curlopt_ssl_verifyhost (hostname/certname match checks)
उदाहरण PHP कोड:
$ch = curl_init("https://example.com/example/path");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$response = curl_exec($ch);
क्या कोई * विशिष्ट * स्वयं-हस्ताक्षरित प्रमाणपत्र स्वीकार करने के लिए PHP (या सामान्य रूप से क्लाइंट) को कॉन्फ़िगर करने का कोई तरीका है? मैं कल्पना करता हूं कि यह बिल्कुल प्रमाणित नहीं होने की तुलना में अधिक सुरक्षित होगा। –
यह करने योग्य है। PHP में, यदि आप पोस्ट करने के लिए curl का उपयोग कर रहे हैं, तो आपको केवल CURLOPT_SSL_VERIFYPEER
और CURLOPT_SSL_VERIFYHOST
को गलत पर सेट करने की आवश्यकता है, इसलिए यह विफल नहीं होता क्योंकि प्रमाणपत्र स्वयं हस्ताक्षरित है।
आप ब्राउज़र पूछ रहे हैं, तो डेटा पोस्ट करने के लिए, उपयोगकर्ता को प्रमाणपत्र के बारे में सामान्य चेतावनियां मिलेंगी जो विश्वसनीय नहीं हैं।
यदि आप अपने PHP कोड से POST करने के लिए कर्ल का उपयोग कर रहे हैं, तो आप curl के SSL चेक को अक्षम करना चाहेंगे। एक related question के अनुसार,
आप
FALSE
कोCURLOPT_SSL_VERIFYPEER
औरCURLOPT_SSL_VERIFYHOST
सेट करना होगा। यह> दो मुख्य चेक अक्षम करना चाहिए। वे दोनों की आवश्यकता नहीं हो सकती है, लेकिन कम से कम आपको जाना चाहिए।
- 1. एक X509 प्रमाणपत्र WCF
- 2. प्रमाणपत्र
- 3. प्रमाणपत्र
- 4. एक ही प्रमाणपत्र फ़ाइल में एकाधिक एपीएनएस प्रमाणपत्र
- 5. अद्यतन प्रमाणपत्र जब पिछले प्रमाणपत्र 2033
- 6. HTTPS प्रमाणपत्र
- 7. सर्वर प्रमाणपत्र
- 8. X509 प्रमाणपत्र
- 9. हस्ताक्षरित प्रमाणपत्र
- 10. पोर्ट प्रमाणपत्र
- 11. प्रमाणपत्र प्राधिकरण
- 12. प्रमाणपत्र स्टोर
- 13. एमडीएम प्रमाणपत्र
- 14. एक प्रमाणपत्र के साथ क्लिकऑन पर हस्ताक्षर?
- 15. HttpWebRequest को एक विश्वसनीय CA प्रमाणपत्र (क्लाइंट प्रमाणपत्र नहीं) कैसे जोड़ें?
- 16. openssl के साथ टीएसए (टाइमस्टैम्पिंग) प्रमाणपत्र बनाएं - प्रमाणपत्र में एक विस्तारित KeyUsage जोड़ें
- 17. डिफ़ॉल्ट प्रमाणपत्र और डिफ़ॉल्ट नेटवर्क प्रमाणपत्र का उपयोग
- 18. मेकर्ट के साथ प्रमाणपत्र प्राधिकरण प्रमाणपत्र कैसे बनाएं?
- 19. जावा कीस्टोर में आयातित प्रमाणपत्र, JVM नए प्रमाणपत्र
- 20. सार्वजनिक कुंजी प्रमाणपत्र
- 21. एसएसएल प्रमाणपत्र - मतभेद
- 22. स्वयं हस्ताक्षरित प्रमाणपत्र
- 23. सीएनएन एसएसएल प्रमाणपत्र
- 24. नोडजित्सु एसएसएल प्रमाणपत्र
- 25. कोड हस्ताक्षर प्रमाणपत्र
- 26. सीए प्रमाणपत्र फ़ाइल
- 27. आईपी आधारित एसएसएल प्रमाणपत्र
- 28. एसएसएल प्रमाणपत्र श्रृंखला सत्यापन
- 29. openssl: त्रुटि "प्रमाणपत्र श्रृंखला में आत्म हस्ताक्षरित प्रमाणपत्र"
- 30. एसएसएल प्रमाणपत्र आयात करने में त्रुटि: X.50 9 प्रमाणपत्र
यदि ऐसा करने योग्य है तो आप इसे पहले क्यों नहीं देखते? – samayo
क्योंकि एप्लिकेशन पूर्ण नहीं हुआ है और साइट बी अभी भी स्थापित नहीं है और न ही यह मेरे नियंत्रण में है – Aaron