HTTPS এবং SSL3_GET_SERVER_CERTIFICATE: শংসাপত্র যাচাইকরণ ব্যর্থ হয়েছে, সিএ ঠিক আছে


208

আমি উন্নয়নের জন্য এক্সএএমপিপি ব্যবহার করছি । সম্প্রতি আমি আমার xampp এর ইনস্টলেশনটি পুরানো সংস্করণ থেকে 1.7.3 এ আপগ্রেড করেছি।

এখন যখন আমি এইচটিটিপিএস সক্ষম ওয়েবসাইটগুলি কার্ল করি তখন আমি নিম্নলিখিত ব্যতিক্রমগুলি পাই

মারাত্মক ত্রুটি: সিউর রিসোর্স সহ 'রিকোস্টকোড়_অ্যাক্সপশন' না থাকা ব্যতিক্রম 'রিসোর্স আইডি # 55; সিআরএল ত্রুটি: এসএসএল শংসাপত্রের সমস্যা, সিএ সার্ট ঠিক আছে কিনা তা যাচাই করুন। বিশদ: ত্রুটি: 14090086: এসএসএল রুটিনগুলি: SSL3_GET_SERVER_CERTIFICATE: শংসাপত্র যাচাইকরণ ব্যর্থ হয়েছে (60) '

প্রত্যেকে এই সমস্যাটি সমাধানের জন্য পিএইচপি কোড থেকে কিছু নির্দিষ্ট কার্ল বিকল্প ব্যবহার করার পরামর্শ দেয়। আমি মনে করি এটি এমন হওয়া উচিত নয়। কারণ আমার এক্সএএমপিপি-র পুরানো সংস্করণে আমার কোনও সমস্যা হয়নি এবং কেবল নতুন সংস্করণ ইনস্টল করার পরে ঘটেছে।

আমার পিএইচপি ইনস্টলেশন, অ্যাপাচি ইত্যাদিতে কী সেটিংস পরিবর্তন করতে পারে তা নির্ধারণ করতে আমার সহায়তা দরকার।

উত্তর:


145

কার্ল স্বীকৃত সিএ-এর একটি তালিকা অন্তর্ভুক্ত করত, তবে আর কোনও সিএ শংসাপত্র বান্ডিল করে না। সুতরাং ডিফল্টরূপে এটি সমস্ত এসএসএল শংসাপত্রগুলি যাচাইযোগ্য নয় হিসাবে প্রত্যাখ্যান করবে।

আপনাকে এটিতে আপনার সিএর সার্টিফিকেট এবং পয়েন্ট কার্ল নিতে হবে। সার্ভার এসএসএল শংসাপত্রগুলিতে সিআরএলএসের বিশদে আরও বিশদ ।


4
কার্ল ঘটছে অ্যামাজন ওয়েব পরিষেবাদি পিএইচপি লাইব্রেরিতে। আমি লাইব্রেরির কোড সম্পাদনা না করে কীভাবে এটি ঠিক করব বুঝতে পারিনি didn't
জোসনিধীন

41
তারপরে শংসাপত্র যাচাইকরণ বন্ধ করুন ( CURLOPT_SSL_VERIFYPEER-> মিথ্যা)। আপনি যে সাইটের সাথে এসএসএল করার চেষ্টা করছেন সেটির সিএ শংসাপত্রটি যুক্ত করুন, অথবা আপনি সিএ যাচাইকরণ অক্ষম করুন। এগুলি কেবল দুটি বিকল্প উপলব্ধ।
মার্চ বি

78
শুধু FYI - সেটিং CURLOPT_SSL_VERIFYPEERথেকে falseSSL ব্যবহার উদ্দেশ্য নষ্ট।
পর্যন্ত

13
@ যতক্ষণ না এটি এসএসএলের অর্ধেক উদ্দেশ্যকে পরাভূত করে ? আপনি এখনও আপনার এবং আপনার পিয়ারের মধ্যে গোপনীয়তা পান: আপনার কাছে আপনার পিয়ারের সত্যতা নেই।
মার্ক ফক্স

10
সত্যতা ব্যতীত, আপনি যে ডেটা পাঠাচ্ছেন তা এনক্রিপ্ট করার কী অর্থ? আপনি যদি এমআইটিএম হয়ে থাকেন তবে ডেটা যেভাবেই আপোস করা হবে
hdgarrood

290

এটি উইন্ডোজের একটি খুব সাধারণ সমস্যা। আপনার ঠিক সেট cacert.pemকরতে হবে curl.cainfo

পিএইচপি 5.3.7 থেকে আপনি করতে পারেন:

  1. https://curl.haxx.se/ca/cacert.pem ডাউনলোড করুন এবং এটি কোথাও সংরক্ষণ করুন।
  2. আপডেট php.ini- যোগ করুন curl.cainfo = "PATH_TO / cacert.pem"

অন্যথায় প্রতিটি সিআরএল রিসোর্সের জন্য আপনাকে নিম্নলিখিতগুলি করতে হবে:

curl_setopt ($ch, CURLOPT_CAINFO, "PATH_TO/cacert.pem");

2
এটি ওএস এক্স-এর XAMPP- এ আমার জন্য কাজ করেছিল It এটি একটি সমস্যার সমাধান করেছে যেখানে স্থানীয় শংসাপত্রটি সনাক্ত করতে অক্ষম হওয়ার কারণে ওয়ার্ডপ্রেস প্লাগইন আপডেট হবে না।
জোনাথন নিকল

8
অন্য কারও জন্য অ্যাপাচি ব্যবহার করে উইন্ডোজে এই সমস্যাটি সমাধান করার চেষ্টা করার জন্য, আমাকে আমার পিএইচপি কোডে পুরো পথটি (যেমন সি: AT PATH_TO \ cacert.pem) সেট করতে হয়েছিল। আইআইএস-এ, আপেক্ষিক পথটি ঠিকঠাক কাজ করেছে বলে মনে হয়েছিল।
HT203

যদি cacert.pem একই ডিরেক্টরিতে থাকে তবে curl_setopt ($ ch, CURLOPT_CAINFO, dirname ( FILE )। '/Cacert.pem'); কাজ করবে
মুজফফাররা

7
WampServer এর সাথে ব্যবহার করার সময় 2., আপনাকে অবশ্যই দুটি পৃথক php.iniফাইলে ভেরিয়েবল যুক্ত করতে হবে । দেখুন stackoverflow.com/a/25706713/1101095
Nate

বিস্ময়কর / বিড়ম্বনার বিষয় হ'ল আপনি কোনও অতিরিক্ত বিকল্প উল্লেখ না করেই কার্ল.হএক্সএক্সএক্স / সিএসিএ / কেসিআরটি.পিএম ডাউনলোড করতে পারেন । Curl.haxx.se এর শংসাপত্রটি নিজেই কার্লটিতে ব্যাকড হয়?
কিবোলেক

84

সতর্কতা: এটি আপনার সম্পূর্ণ কোডবেসটিকে নিরাপত্তাহীনতার সাথে রেন্ডার করে সুরক্ষিত সমস্যাগুলি প্রবর্তন করতে পারে যা এসএসএল এর বিরুদ্ধে সুরক্ষার জন্য তৈরি করা হয়েছিল। এটি প্রতিটি প্রস্তাবিত অনুশীলনের বিরুদ্ধে যায়।

তবে সত্যিই একটি সহজ সমাধান যা আমার পক্ষে কাজ করেছিল তা হ'ল:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

ফোন করার আগে:

curl_exec():

পিএইচপি ফাইলের মধ্যে।

আমি বিশ্বাস করি যে এটি এসএসএল শংসাপত্রগুলির সমস্ত যাচাইকরণ অক্ষম করে।


65
... এবং শংসাপত্রগুলির যাচাইকরণ অক্ষম করে আপনি সম্ভাব্য এমআইটিএম আক্রমণগুলির জন্য দরজা উন্মুক্ত রেখেছেন, যা অন্যথায় এসএসএল / টিএলএস থেকে রক্ষা করা। এটি করবেন না!
ব্রুনো

12
হা. উত্তরে আমার আরও মনোযোগ আকর্ষণ করা উচিত ছিল। আপনি যদি কোনও গুরুত্বপূর্ণ বিষয়ে কাজ না করে থাকেন তবেই এটি করুন। আমি ব্যক্তিগতভাবে প্রোগ্রাম করা ওয়েবসাইটগুলিতে অ্যাক্সেস পেতে আমি লোকালহোস্টে এটি ব্যবহার করি।
ক্রিস ডাট্রো

3
আমার কাছ থেকে ডাউনওয়েট করুন আপনার কোডটি কাজ করতে এটি একটি নোংরা ফিক্স, তবে কোনও সমাধান নয়। By Курицын দ্বারা প্রদত্ত উত্তরগুলি আরও ভাল।
ইলিজা

2
@ ব্রুনো এটি হেল্পার স্ক্রিপ্ট, পরীক্ষা, বিশ্বাসযোগ্য অ্যাপ্লিকেশন, ইন্ট্রনেট, ..... এর জন্য সঠিক সমাধান, ..... যে কেউ এসএসএল সম্পর্কে একটি লিটল জানেন, জানেন যে কোন ক্ষেত্রে শংসাপত্রের বৈধতা বাদ দেওয়া যেতে পারে। সুতরাং এই উত্তরের সমস্ত 'স্মার্ট' মন্তব্য এবং 'এটি করবেন না' এর মতো বিষয়গুলি কেবল ননসেন্স !!
কেনিয়াকর্ন কেটসম্বুট

5
... " এসএসএল সম্পর্কে একটি লিটল জানেন এমন প্রত্যেক ব্যক্তি [...] " ... এবং আপনি অবাক হবেন যে কতজন লোক এসএসএল / টিএলএসের বেসিকগুলি সম্পর্কে কিছুটা জানতে পেরেও বিরক্ত করেন না এবং আসছেন কেবল তাদের ত্রুটি বার্তার জন্য একটি দ্রুত ফিক্স অনুলিপি / কাস্ট করতে এখানে।
ব্রুনো

53

সূত্র: http://ademar.name/blog/2006/04/curl-ssl-cerર્ટate-problem-v.html

কার্ল: এসএসএল শংসাপত্রের সমস্যা, সিএ সার্টটি ঠিক আছে কিনা তা যাচাই করুন

07 এপ্রিল 2006

কার্ল দিয়ে সুরক্ষিত ইউআরএল খোলার সময় আপনি নিম্নলিখিত ত্রুটিটি পেতে পারেন:

এসএসএল শংসাপত্রের সমস্যা, সিএ সার্টটি ঠিক আছে কিনা তা যাচাই করুন

ত্রুটি কেন এবং এটি সম্পর্কে আপনার কী করা উচিত তা আমি ব্যাখ্যা করব।

ত্রুটি থেকে মুক্তি পাওয়ার সহজ উপায়টি আপনার স্ক্রিপ্টে নিম্নলিখিত দুটি লাইন যুক্ত করা হবে। এই সমাধানটি একটি সুরক্ষা ঝুঁকি পোষণ করে।

//WARNING: this would prevent curl from detecting a 'man in the middle' attack
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); 

এই দুটি পরামিতি কী করে তা দেখুন। ম্যানুয়ালটি উদ্ধৃত করা হচ্ছে।

সিআরএল পিয়ার শংসাপত্রে একটি সাধারণ নামের অস্তিত্ব পরীক্ষা করতে CURLOPT_SSL_VERIFYHOST : 1। 2 একটি সাধারণ নামের অস্তিত্ব পরীক্ষা করতে এবং এটি সরবরাহ করা হোস্টনামের সাথে মেলে কিনা তা যাচাই করে নিন।

CURLOPT_SSL_VERIFYPEER : পিএআর এর শংসাপত্র যাচাই করা থেকে CURL থামাতে মিথ্যা। এর বিরুদ্ধে যাচাইয়ের জন্য বিকল্প শংসাপত্রগুলি CURLOPT_CAINFO বিকল্পের সাথে নির্দিষ্ট করা যেতে পারে বা একটি সার্টিফিকেট ডিরেক্টরি CURLOPT_CAPATH বিকল্পের সাথে নির্দিষ্ট করা যেতে পারে। CURLOPT_SSL_VERIFYHOST এর ক্ষেত্রে সত্য বা মিথ্যা প্রয়োজন হতে পারে যদি CURLOPT_SSL_VERIFYPEER অক্ষম থাকে (এটি ডিফল্ট 2 হয়)। CURLOPT_SSL_VERIFYHOST 2 এ সেট করা (এটি পূর্বনির্ধারিত মান) গ্যারান্টি দেয় যে আপনাকে যে শংসাপত্র উপস্থাপন করা হচ্ছে তা দূরবর্তী সংস্থান অ্যাক্সেস করতে আপনি যে ইউআরএন ব্যবহার করছেন তার সাথে মিল রয়েছে 'সাধারণ নাম'। এটি স্বাস্থ্যকর চেক তবে এটি আপনার প্রোগ্রামটি ক্ষয়িষ্ণু হওয়ার গ্যারান্টি দেয় না।

'মাঝখানে মানুষ' লিখুন

পরিবর্তে আপনার প্রোগ্রামটি অন্য সার্ভারের সাথে কথা বলে ভুল পথে চালিত হতে পারে। এটি ডিএনএস বা আরপ বিষের মতো একাধিক প্রক্রিয়ার মাধ্যমে অর্জন করা যেতে পারে (এটি অন্য দিনের গল্প)) অনুপ্রবেশকারী আপনার প্রোগ্রামটি প্রত্যাশিত একই 'কমন নাম' দিয়ে একটি শংসাপত্রে স্ব-স্বাক্ষর করতে পারে। যোগাযোগটি এখনও এনক্রিপ্ট করা হবে তবে আপনি আপনার গোপনীয়তা একজন ভ্রান্ত ব্যক্তিকে দিচ্ছেন। এই ধরণের আক্রমণকে 'মাঝের মানুষ' বলা হয়

'মাঝখানে মানুষ' পরাজিত

আচ্ছা, আমাদের কাছে যে শংসাপত্র উপস্থাপন করা হচ্ছে তা সত্যের পক্ষে ভাল যাচাই করতে হবে। আমরা যুক্তিসঙ্গত * বিশ্বাসের সাথে এটির তুলনা করে এটি করি।

যদি রিমোট রিসোর্সটি মূল সিএর মতো ভেরিজাইন, জিও ট্রাস্ট এট আল এর একটি দ্বারা প্রদত্ত শংসাপত্রের দ্বারা সুরক্ষিত থাকে তবে আপনি মজিলার সিএ শংসাপত্র বান্ডেলের সাথে নিরাপদে তুলনা করতে পারেন যা আপনি http://curl.haxx.se/docs/caextract থেকে পেতে পারেন .html

cacert.pemআপনার সার্ভারের কোথাও ফাইলটি সংরক্ষণ করুন এবং আপনার স্ক্রিপ্টে নিম্নলিখিত বিকল্পগুলি সেট করুন।

curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, TRUE); 
curl_setopt ($ch, CURLOPT_CAINFO, "pathto/cacert.pem");

তথ্য ক্রেডিট উপরে সবার জন্য যায়: http://ademar.name/blog/2006/04/curl-ssl-certificate-problem-v.html


38
আপনার তথ্যের উত্সকে ক্রেডিট করার জন্য এটি সাধারণত নম্র হিসাবে বিবেচিত হয় এবং কেবল এখানে অনুলিপি করা ও কাস্ট করার চেয়ে প্রশ্নের সাথে সম্পর্কিত কিছু অংশ উদ্ধৃত করে!
ড্যান হার্ড

1
দুঃখিত, আমি দূরে ছিলাম, হ্যাঁ আমি এর জন্য ড্যানকে প্রশংসিত করেছি এবং পোস্টটি আপডেট করেছি
দীপক ওবেরয়

6
অন্তত দীপক এটিকে গবেষণা করার চেষ্টা করেছিলেন। @ উদারহার্ড এত দানহীন, আপনি কোথা থেকে কোডটি নিয়েছেন তা সন্ধানের জন্য কেবল গবেষণাটি করেছেন? এই কোডটির অ্যাট্রিবিউশনের অধিকারটি কী ছিল? অন্যের ভুল খুঁজতে নিজের সময় নষ্ট না করে নিজেরাই কাউকে সাহায্য করার চেষ্টা করুন। যুদ্ধ করবেন না, ভাগ!
জিটিডোরভ

17

উপরের সমাধানগুলি দুর্দান্ত, তবে আপনি যদি ওয়্যাম্প সার্ভার ব্যবহার করছেন তবে আপনি curl.cainfoভেরিয়েবলটি সেট করে php.iniকাজ করতে পারবেন না।

অবশেষে আমি দেখতে পেলাম যে ওয়্যাম্প সার্ভারের দুটি php.iniফাইল রয়েছে:

C:\wamp\bin\apache\Apachex.x.x\bin
C:\wamp\bin\php\phpx.x.xx

প্রথমটি যখন ওয়েব ব্রাউজারের মাধ্যমে পিএইচপি ফাইলগুলি আহ্বান করা হয় তখন দ্বিতীয়টি ব্যবহৃত হয় যখন কমান্ড লাইনের মাধ্যমে অথবা যখন একটি কমান্ড প্রেরণ করা হয় তখন দ্বিতীয়টি ব্যবহৃত হয় shell_exec()

টি এল; ডিআর

যদি ওয়্যাম্প সার্ভার ব্যবহার করে থাকেন তবে আপনাকে অবশ্যই দুটি ফাইলের মধ্যে curl.cainfoলাইন যুক্ত করতে হবে । php.ini


6

পবিত্র যে সমস্ত ভালবাসার জন্য ...

আমার ক্ষেত্রে, আমাকে openssl.cafileপিএইচপি কনফিগার ভেরিয়েবলটি পিইএম ফাইলের পথে সেট করতে হয়েছিল।

আমি বিশ্বাস করি এটি সত্য যে অনেকগুলি সিস্টেম রয়েছে যেখানে পিএইচপি'রcurl.cainfo কনফিগারেশনে সেট করা ঠিক যা প্রয়োজন তা ঠিক আছে তবে পরিবেশে আমি কাজ করছি যা ইবোরাস / লারাভেল ডকার কনটেইনার, যা ডেবিয়ান 8 (জেসি) এবং পিএইচপি ব্যবহার করে 5.6, ভেরিয়েবলটি সেট করা কৌতুকটি করেনি।

আমি লক্ষ্য করেছি যে আউটপুটটিতে php -iসেই নির্দিষ্ট কনফিগারেশন সেটিং সম্পর্কে কিছু উল্লেখ করা হয়নি তবে এর কয়েকটি লাইন রয়েছে openssl। একটি openssl.capathএবং openssl.cafileবিকল্প উভয়ই আছে তবে পিএইচপি এর মাধ্যমে দ্বিতীয়টি অনুমোদিত কার্ল সেট করে শেষ পর্যন্ত এইচটিটিপিএস ইউআরএল দিয়ে ঠিক থাকতে পারে।


ধন্যবাদ! কার্ল.কেনফো সেট করা আমার পক্ষেও কার্যকর হয়নি, তবে ওপেনসএসএল.ফাইল সেট করে! আমি এক্সএএমপিপি এবং পিএইচপি 7.1.1 এর সাথে উইন্ডোজ 7 এ আছি।
হাঁটুজিলোস

@ knezmigs- এ আপনি কীভাবে ওপেনএসএল.সি.ফাইল স্থাপন করবেন? আপনি কোথায় ডাউনলোড করেছেন এবং আপনি কীভাবে এটি সক্রিয় করবেন?
ক্রাইস

আচ্ছা, কিছুক্ষণ হয়ে গেছে তবে আমি মনে করি এটি এর মতো কিছু: পিএইচপিএইচটিতে curl.cainfo = "C: \ xampp \ cacert \ cacert.pem" এবং openssl.cafile = "C: am xampp \ cacert pe cacert.pem"। ini, যখন আমি মনে করি আমি এখানে একটি উত্তর থেকে পেম ফাইল পেয়েছি।
হাঁটুজিলোস

1
"সত্য যে সমস্ত ভালবাসার ..." জন্য। এটি আমার উবুন্টু 18.08 / অ্যাপাচি / পিএইচপি 7.2 সেটআপের জন্য কাজ করেছে। যদি কার্ল ত্রুটিটি সঠিক ফাইলটির দিকে ইঙ্গিত করে তবে অবশ্যই এটি ওপেনসেলস ত্রুটি
জেটিজি

4

কখনও কখনও আপনি যে অ্যাপ্লিকেশনটির সাথে যোগাযোগের চেষ্টা করছেন তাতে স্ব স্বাক্ষরিত শংসাপত্র থাকলে, http://curl.haxx.se/ca/cacert.pem থেকে স্বাভাবিক cacert.pem সমস্যার সমাধান করে না।

আপনি যদি পরিষেবাটি শেষ পয়েন্ট ইউআরএল সম্পর্কে নিশ্চিত হন তবে এটি ব্রাউজারের মাধ্যমে হিট করুন, শংসাপত্রটি ম্যানুয়ালি "এক্স 509 শংসাপত্র সহ চেইন (পিইএম)" ফর্ম্যাটে সংরক্ষণ করুন। এর সাথে এই শংসাপত্র ফাইলটি নির্দেশ করুন

curl_setopt ($ch, CURLOPT_CAINFO, "pathto/{downloaded certificate chain file}");   

4

আমাজন এএমআই লিনাক্সে আমার একই ত্রুটি রয়েছে।

আমি সেট করে এটি সমাধান curl.cainfo উপর /etc/php.d/curl.ini

https://gist.github.com/reinaldomendes/97fb2ce8a606ec813c4b

যোগ অক্টোবর 2018

অ্যামাজন লিনাক্স ভি 1 এ এই ফাইলটি সম্পাদনা করুন

vi /etc/php.d/20-curl.ini

এই লাইন যুক্ত করতে

curl.cainfo="/etc/ssl/certs/ca-bundle.crt"

পারফেক্ট, ধন্যবাদ! আমি উত্তরটি তৈরির পরিবর্তে আমার কাছে সমস্যার সমাধান করার জন্য ঠিক কী যুক্ত করার জন্য আমি প্রশ্নটি আপডেট করেছি।
টিম

3

CURLOPT_CAINFO- এর জন্য কার্ল বিকল্পগুলি সেট করার সময় দয়া করে একক উদ্ধৃতি ব্যবহার করতে ভুলবেন না, ডাবল উদ্ধৃতি ব্যবহার করা কেবল অন্য ত্রুটির কারণ হতে পারে। সুতরাং আপনার বিকল্পটি দেখতে হবে:

curl_setopt ($ch, CURLOPT_CAINFO, 'c:\wamp\www\mywebfolder\cacert.pem');

অতিরিক্ত হিসাবে, আপনার php.ini ফাইল সেটিংটিতে এইভাবে লেখা উচিত: (আমার ডাবল উদ্ধৃতিটি লক্ষ্য করুন)

curl.cainfo = "C:\wamp\www\mywebfolder"

আমি এটি সরাসরি বলার লাইনের নীচে রেখেছি: extension=php_curl.dll

(শুধুমাত্র সংঘবদ্ধ উদ্দেশ্যে, আপনি এটি আপনার মধ্যে যে কোনও জায়গায় রেখে দিতে পারেন php.ini, আমি কেবল এটিকে অন্য কার্লের রেফারেন্সের কাছে রেখেছি যাতে আমি কীওয়ার্ড কার্ল ব্যবহার করে অনুসন্ধান করতে পারি তখন আমি দুটি অঞ্চলে কার্লের রেফারেন্স খুঁজে পাই find)


1
আমি আশা করি php.ini এর মূল ফোল্ডারের পরিবর্তে পেম ফাইলটির দিকে ইঙ্গিত করা উচিত
dejjub-AIS

2

Www.googleapis.com থেকে একটি পৃষ্ঠা পাওয়ার জন্য গুজলএইচটিপি (ম্যাকের উপর পিএইচপি + অ্যাপাচি) পাওয়ার চেষ্টা করার সময় আমি এখানেই শেষ হয়েছি।

এটি যে কাউকে সহায়তা করে সে ক্ষেত্রে আমার চূড়ান্ত সমাধানটি এখানে ছিল।

যে কোনও ডোমেন আপনাকে এই ত্রুটি দিচ্ছে তার জন্য শংসাপত্র শৃঙ্খলা দেখুন। আমার জন্য এটি গুগলাপিস.কম ছিল

openssl s_client -host www.googleapis.com -port 443

আপনি এই জাতীয় কিছু ফিরে পাবেন:

Certificate chain
 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=*.googleapis.com
   i:/C=US/O=Google Inc/CN=Google Internet Authority G2
 1 s:/C=US/O=Google Inc/CN=Google Internet Authority G2
   i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
 2 s:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
   i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority

দ্রষ্টব্য: আমি বিষয়টি স্থির করার পরে আমি এটি ক্যাপচার করেছি, আপনার চেইন আউটপুটটি দেখতে অন্যরকম হতে পারে।

তারপরে আপনাকে পিএইচপি-তে অনুমতিপ্রাপ্ত শংসাপত্রগুলি দেখতে হবে। একটি পৃষ্ঠায় phpinfo () চালান।

<?php echo phpinfo();

তারপরে পৃষ্ঠা আউটপুট থেকে লোড হওয়া শংসাপত্রের ফাইলটি সন্ধান করুন:

openssl.cafile  /usr/local/php5/ssl/certs/cacert.pem

এটির জন্য সঠিক শংসাপত্র (গুলি) যুক্ত করে এই ফাইলটি ঠিক করতে হবে।

sudo nano /usr/local/php5/ssl/certs/cacert.pem

আপনাকে মূলত এই ফাইলটির শেষে সঠিক শংসাপত্র "স্বাক্ষর" যুক্ত করতে হবে।

আপনি তাদের মধ্যে কিছু এখানে পেতে পারেন: আপনার যদি প্রয়োজন হয় তবে চেইনে অন্যদের জন্য আপনার গুগল / অনুসন্ধান করতে হবে।

তারা এ জাতীয় চেহারা:

উদাহরণ শংসাপত্র চিত্র

( দ্রষ্টব্য: এটি এমন একটি চিত্র যাতে লোকেরা কেবল স্ট্যাকওভারফ্লো থেকে শংসাপত্রগুলি অনুলিপি / কাস্ট করে না )

একবার এই ফাইলে সঠিক শংসাপত্রগুলি আসার পরে, অ্যাপাচি পুনরায় চালু করুন এবং পরীক্ষা করুন।


0

আপনি ca-certificatesপ্যাকেজটি পুনরায় ইনস্টল করার চেষ্টা করতে পারেন , বা এখানে বর্ণিত হিসাবে প্রশ্নে শংসাপত্রকে স্পষ্টভাবে অনুমতি দিন ।


-5

সমাধান খুব সহজ! এই লাইনটি আগে রাখুন curl_exec:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

আমার জন্য এটি কাজ করে।


7
কখনও, কখনও আপনি যত্ন না হয় তবে নিষ্ক্রিয় পিয়ার যাচাইকরণ যদি না সময় তথ্য মাঝ পথে আপোস করা হয়।
rdlowrey

একমত। আপনি যদি কোনও সুরক্ষিত অ্যাপ্লিকেশন চান তবে আপনার পিয়ার যাচাইকরণের প্রয়োজন।
ব্র্যাডেন

2
"কখনই না, পিয়ার যাচাইকরণ অক্ষম করুন" আপনি ডিফল্ট ব্রাউজারের কার্যকারিতা চাই না LE এছাড়াও, কেন এটিকে এতটা বাদ দেওয়া হচ্ছে? এটিই একমাত্র উত্তর যা সংক্ষিপ্ত, মিষ্টি, বিন্দুতে এবং কার্যকর।
অ্যাডাম এফ

@ অ্যাডএফএফ এফআইআই, ব্রাউজারগুলি পিয়ার শংসাপত্রটি ডিফল্টরূপে যাচাই করে না, কেবলমাত্র একটি সতর্কতা সহ সেগুলি আপনাকে নিজেই ত্রুটিগুলি অতিক্রম করতে বিকল্প দেয়।
ব্রুনো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.