मैं एक एपीआई का परीक्षण कर रहा हूं जो curl_exec
PHP फ़ंक्शन और सीए प्रमाणपत्र का उपयोग करता है लेकिन कुछ गलत हो रहा है और मैं थोड़ा खो गया हूं।एसएसएल पीयर सर्टिफिकेट या एसएसएच रिमोट कुंजी ठीक नहीं था
मैंने अपने अपाचे वर्चुअलहोस्ट पर SSL कॉन्फ़िगर किया है और ठीक दिखता है (https:://[myVHost]
... काम करता है)।
SSL peer certificate or SSH remote key was not OK
मैं बहुत एसएसएल के साथ अनुभव नहीं कर रहा हूँ तो मुझे लगता है कि के कारण के बारे में कुछ विचार है:
हालांकि एपीआई कर्ल कॉल मुझे वापस इस संदेश देते हैं।
अद्यतन:
इस कोड को मैं अपने cURL अनुरोध में उपयोग कर रहा हूँ, मैं 2 लाइनों टिप्पणी की है और बदलता है उनके मूल्य और इस तरह से यह काम कर रहा है में ('यह करें' लाइन पर देखने के) है, लेकिन यह सिर्फ एक arround काम है ...
$opts[CURLOPT_URL] = $url;
$opts[CURLOPT_RETURNTRANSFER] = true;
$opts[CURLOPT_CONNECTTIMEOUT] = 50;
$opts[CURLOPT_TIMEOUT] = 100;
$headers = array(
'Accept: application/json',
"User-Agent: APIXXX-PHP-Client");
$opts[CURLOPT_HTTPHEADER] = $headers;
$opts[CURLOPT_USERPWD] = $env->getApiKey() . ':';
if (certificatePresent()) {
// $opts[CURLOPT_SSL_VERIFYPEER] = true;
// $opts[CURLOPT_SSL_VERIFYHOST] = 2;
// TODO: SET IT BACK
$opts[CURLOPT_SSL_VERIFYPEER] = 0;
$opts[CURLOPT_SSL_VERIFYHOST] = 0;
$opts[CURLOPT_CAINFO] = $path
}
curl_setopt_array($curl, $opts);
$response = curl_exec($curl);
हमें अनुरोध करने के लिए उपयोग किए जा रहे पूर्ण और पूर्ण कोड की आवश्यकता है, जिसमें कर्ल विकल्पों के सभी * सेट शामिल हैं। साथ ही, क्या यह एक स्व-हस्ताक्षरित प्रमाण पत्र है? – Charles
जानकारी जोड़ा गया ''स्वयं हस्ताक्षरित प्रमाणपत्र' प्रश्न के बारे में मुझे नहीं पता: प्रमाणपत्र एपीआई के साथ प्रदान करता है ... – WonderLand
आपने रूट कारण सफलतापूर्वक पहचाना है:' CURLOPT_SSL_VERIFYHOST' होने पर 2. 2 पर सेट होने पर , कर्ल सत्यापित करेगा कि प्रमाणपत्र मान्य है, और यह एक सीए द्वारा जारी किया गया है कि यह भरोसा करता है। यदि रिमोट सर्टिफिकेट स्वयं हस्ताक्षरित है या अन्यथा सीए द्वारा जारी नहीं किया गया है, तो यह भरोसा करता है, यह आपको बताएगा और आपको दिया गया एक त्रुटि देगा। यदि आपको किसी तृतीय-पक्ष से प्रमाणपत्र प्राप्त हुआ है, तो आपको उस पर हस्ताक्षर करने वाले सीए पर भरोसा करने के लिए कर्ल को मनाने की आवश्यकता है। आप कहते हैं कि आपको सीए प्रमाण दिया गया था, है ना? आपने इसके साथ क्या किया है? – Charles