এসএসএল সংযোগটি = = 1 টি ত্রুটিযুক্ত = 0 রাষ্ট্রের = SSLv3 সার্ভার শংসাপত্র পড়ার বি: শংসাপত্র যাচাইকরণ ব্যর্থ হয়েছে


281

আমি তৃতীয় পক্ষের লগইনের জন্য অথথলিক-কানেক্ট ব্যবহার করছি । যথাযথ মাইগ্রেশন চালানোর পরে, টুইটার / গুগল / ইয়াহু লগইনগুলি বেশ কার্যকর মনে হচ্ছে তবে ফেসবুক লগইন ব্যতিক্রম ছুঁড়েছে:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

দেব লগ দেখায়

OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed):
  app/controllers/users_controller.rb:37:in `update'

সুপারিশ করুন..


2
: এই সাহায্যে আসে stackoverflow.com/q/3977303/382818
Zabba

উত্তর:


138

রেল 3 এর জন্য জিকুয়েরি জেনারেটরটি ব্যবহার করার চেষ্টা করার সময় আমি একই ধরণের সমস্যার মধ্যে পড়েছিলাম

আমি এটি এর মতো সমাধান করেছি:

  1. সিআরএল শংসাপত্র কর্তৃপক্ষ (সিএ) বান্ডেল পান। আপনি এটি দিয়ে এটি করতে পারেন:

    • sudo port install curl-ca-bundle [আপনি যদি ম্যাকপোর্টগুলি ব্যবহার করছেন]
    • অথবা কেবল এটি সরাসরি টানুন wget http://curl.haxx.se/ca/cacert.pem
  2. রুবি কোডটি SSL শংসাপত্র যাচাই করার চেষ্টা করছে সম্পাদন: SSL_CERT_FILE=/opt/local/etc/certs/cacert.pem rails generate jquery:install। আপনার ক্ষেত্রে, আপনি এটি অন্যথায় পরিবেশের পরিবর্তনশীল হিসাবে সেট করতে চান যে কোথাও সার্ভার এটি তুলেছে বা ENV['SSL_CERT_FILE'] = /path/to/your/new/cacert.pemআপনার পরিবেশ.rb ফাইলে এমন কিছু যুক্ত করতে চায় ।

আপনি ওএস-এ কেবল সিএ ফাইলগুলি ইনস্টল করতে পারেন (আমি এটি চেষ্টা করি নি) - এখানে দীর্ঘ নির্দেশনা রয়েছে - এটি একই ধরণের কাজ করা উচিত, তবে আমি ব্যক্তিগতভাবে এটি চেষ্টা করি নি।

মূলত, আপনি যে বিষয়টি হিট করছেন তা হ'ল কিছু ওয়েব পরিষেবা একটি সিএর বিরুদ্ধে স্বাক্ষরিত শংসাপত্রের সাথে প্রতিক্রিয়া জানায় যা ওপেনএসএসএল যাচাই করতে পারে না।


1
রুবি নেট :: আইএমএপি রুবি স্ক্রিপ্ট থেকে আমার জিমেইল অ্যাকাউন্টের সাথে সংযোগ করার চেষ্টা করার সময় এটি আমার পক্ষে কাজ করেছে han ধন্যবাদ।
জিগনেশ গোহেল

4
হ্যাঁ, এটি রুবি -১.৯.৩ এ সূক্ষ্মভাবে কাজ করে। আমি এটি আমার ব্যাশ কনফিগারেশনে যুক্ত করেছি। export SSL_CERT_FILE=/usr/local/etc/openssl/certs/cert.pem
andersjanmyr

5
আমার কাছে / ইউএসআর / স্থানীয় / ইত্যাদি / ওপেনসেল নেই, তাই আমি sudo curl http://curl.haxx.se/ca/cacert.pem >> /usr/local/etc/cacert.pemতারপরে দৌড়েছি export SSL_CERT_FILE=/usr/local/etc/cacert.pem
লিলিথ রিভার

4
আমার ম্যাকের উপর বিকাশ করে আমি কেবল SSL_CERT_FILE=/usr/local/etc/openssl/cert.pemআমার অ্যাপ্লিকেশনটির .envফাইল এবং ভয়েলা জুড়েছি - সব খুশি।
ডেভ সাগ

8
আমি কার্ল শংসাপত্র ডাউনলোড করতে উইজেট ব্যবহার করার বিদ্রূপের প্রশংসা করি।
ট্রে

135

আপনি যদি ওএস এক্সে আরভিএম ব্যবহার করে থাকেন তবে আপনার সম্ভবত এটি চালানো দরকার:

rvm osx-ssl-certs update all

এখানে আরও তথ্য: http://rvm.io/support/fixing-broken-ssl-cerર્ટates

এবং এখানে সম্পূর্ণ ব্যাখ্যা: https://github.com/wayneeseguin/rvm/blob/master/help/osx-ssl-certs.md


হালনাগাদ

রুবি ২.২-এ, এটি সমাধানের জন্য আপনাকে রুবিকে উত্স থেকে পুনরায় ইনস্টল করতে হতে পারে। এখানে কীভাবে ( 2.2.3আপনার রুবি সংস্করণটি প্রতিস্থাপন করুন ):

rvm reinstall 2.2.3 --disable-binary

Https://stackoverflow.com/a/32363597/4353 এবং ইয়ান কনরকে ক্রেডিট ।


2
বিকল্পগুলির সাথে এখানে আরও অনেক বিস্তৃত লেখার ব্যবস্থা রয়েছে: Railsapps.github.io/openssl-certificate-verify-failed.html
পিটার পি।

ত্রুটি: আরভিএম আপডেট সরানো হয়েছে। পরিবর্তে 'আরভিএম গেট' এবং আরভিএম 'রুবিজেমস' সিএলআই এপিআই দেখুন
ইয়াং

@ user432506 আপনি কীভাবে এই ত্রুটিটি পেয়েছেন? আমি সর্বশেষ স্থিতিশীল আরভিএম ব্যবহার করছি এবং এটি এখনও কার্যকর হয়।
htanata

4
এটি কিছুক্ষণ কাজ করবে, তারপরে আমার জন্য ব্যর্থ হবে। আমার জন্য যা কাজ করছিল তা চলছিল rvm reinstall 2.2.0 --disable-binaryতবে তারপরে আপনাকে ইনস্টল করে নতুন করে শুরু করতে হবে।
ইয়ান কনার

2
এটি একটি বিশাল জীবনকাল ছিল এবং এটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
সিরাজিস

129

উইন্ডোজে আপনি কীভাবে এটি ঠিক করতে পারবেন তা এখানে: https://gist.github.com/867550 (ফ্লেচার নিকোল তৈরি করেছেন)

উদ্ধৃতাংশ:

ম্যানুয়াল ওয়ে (বোরিং)

Http://curl.haxx.se/ca/cacert.pemcacert.pem থেকে ফাইলটি ডাউনলোড করুন । এই ফাইলটি এতে সংরক্ষণ করুনC:\RailsInstaller\cacert.pem

এখন রুবিকে আপনার শংসাপত্র কর্তৃপক্ষের বান্ডিলটি সেট করে সচেতন করুন SSL_CERT_FILE। আপনার বর্তমান কমান্ড প্রম্পট সেশনে এটি সেট করতে, টাইপ করুন:

set SSL_CERT_FILE=C:\RailsInstaller\cacert.pem

এটি স্থায়ী সেটিং করার জন্য এটি আপনার কন্ট্রোল প্যানেলে যুক্ত করুন


6
ধন্যবাদ. এটি ব্যতিক্রমীভাবে দরকারী এবং খুব সহজ।
জন

উপরের সমাধানটি আমাকে সাহায্য করে নি। এই Windows এর জন্য উত্তম পথপ্রদর্শক হয় stackoverflow.com/questions/5720484/...
Sprachprofi

@ স্প্র্যাচপ্রফি আপনার সাথে যে সমাধানটি সংযুক্ত করেছেন সেগুলি কেবলমাত্র একবারে 1 টি রেল প্রকল্পের জন্য কাজ করবে (আপনি সরাসরি সেই সার্টের দিকে নির্দেশ করছেন)। আমি যে সংক্ষেপে লিঙ্ক করেছি (ফ্ল্যাচার নিকোল তৈরি করেছেন) এটি শংসাপত্রের সন্ধানকারী প্রতিটি প্রকল্প / রত্নকে আবরণ করার অনুমতি দেবে।
রায়ানজোনস

31

রুবি বিশ্বাসের জন্য কোনও মূল শংসাপত্র খুঁজে পাচ্ছে না।

সমাধানের জন্য এই ব্লগ পোস্টটি একবার দেখুন: " রুবি ১.৯ এবং এসএসএল ত্রুটি "।

সমাধানটি হ'ল curl-ca-bundleপোর্টটি ইনস্টল করা যাতে ফায়ারফক্সের ব্যবহৃত একই মূল শংসাপত্র রয়েছে:

sudo port install curl-ca-bundle

এবং আপনার httpsঅবজেক্টটি এটি ব্যবহার করতে বলুন :

https.ca_file = '/opt/local/share/curl/curl-ca-bundle.crt'

মনে রাখবেন যে আপনি যদি উবুন্টুতে আপনার কোডটি চালাতে চান তবে আপনাকে ca_pathডিফল্ট শংসাপত্রের অবস্থানের পরিবর্তে বৈশিষ্ট্যটি সেট করতে হবে /etc/ssl/certs


8
এটি উইন্ডোজেও ঘটবে বলে মনে হচ্ছে, সেই ক্ষেত্রে প্রস্তাবিত সমাধানটি কাজ করবে না।
বব আমান

24

ওএসএক্স-এ আপনি এই ত্রুটিটি পাওয়ার কারণটি হ'ল rvm- ইনস্টল রুবি।

আপনি যদি ওএসএক্স এ এই সমস্যাটি চালান তবে আপনি এটির একটি বিস্তৃত ব্যাখ্যা এই ব্লগ পোস্টে খুঁজে পেতে পারেন:

http://toadle.me/2015/04/16/fixing-failing-ssl-verification-with-rvm.html

সংক্ষিপ্ত সংস্করণটি হ'ল, রুবির কয়েকটি সংস্করণের জন্য, আরভিএম প্রাক-সংকলিত বাইনারিগুলি ডাউনলোড করে, যা ভুল জায়গায় শংসাপত্রের সন্ধান করে। আরভিএমকে উত্সটি ডাউনলোড করতে এবং আপনার নিজের মেশিনে সংকলন করার জন্য জোর করে আপনি নিশ্চিত করেছেন যে শংসাপত্রের অবস্থানের জন্য কনফিগারেশনটি সঠিক is

এটি করার আদেশটি হ'ল:

rvm install 2.2.0 --disable-binary

যদি আপনার কাছে ইতিমধ্যে প্রশ্নে থাকা সংস্করণ রয়েছে তবে আপনি এটি দিয়ে এটি পুনরায় ইনস্টল করতে পারেন:

rvm reinstall 2.2.0 --disable-binary

(স্পষ্টতই, আপনার রুবি সংস্করণ প্রয়োজন অনুযায়ী বিকল্প করুন)।


এটি আমার পক্ষে কাজ করেছে। আপনি যে ব্লগ পোস্টের দিকে ইঙ্গিত করছেন তাও দরকারী, ধন্যবাদ!
ক্রিশ্চিয়ান

2
এটি এল ক্যাপিটেনে আমার জন্য কাজ করেছিল। আমি আরভিএম (আরভিএম ইমপ্লোড) লাগিয়েছি। এর সাথে আবার ইনস্টল করা হয়েছে \curl -sSL https://get.rvm.io | bash -s stable --autolibs=homebrewএবং rvm install <ruby-version> --disable-binary এক পর্যায়ে আমি এটিও করেছি rvm get headকারণ এগুলি কিছু রক্তপাতের প্রবণতা।
rylanb

কেবলমাত্র এই সমাধানটি আমার পক্ষে কাজ করেছিল, কারণ প্রাথমিকভাবে আমার কাছে এল ক্যাপিটেনে রুবি ২.০.০ ছিল এবং কিছু কারণে পুরানো সংস্করণটি সঠিকভাবেও কার্যকর হয়নি SSL_CERT_FILE। পরে rvm install 2.2.0 --disable-binary, সমস্যাটি বাছাই করা হয়েছে।
ল্যামিসন

20

সমস্যাটি হ'ল রুবি বিশ্বাসের জন্য কোনও মূল শংসাপত্র খুঁজে পাচ্ছেন না। 1.9 হিসাবে রুবি এটি পরীক্ষা করে। আপনাকে নিশ্চিত করতে হবে যে আপনার সিস্টেমে একটি পিএম ফাইল আকারে কার্ল শংসাপত্র রয়েছে। আপনার এটিও নিশ্চিত করতে হবে যে শংসাপত্রটি রুবীর কাছে প্রত্যাশা করে এমন স্থানে রয়েছে। আপনি এই শংসাপত্রটি এখানে পেতে পারেন ...

http://curl.haxx.se/ca/cacert.pem

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

আমার ক্ষেত্রে সিস্টেমটি শংসাপত্রের ফাইলটি সন্ধান করছিল

/Users/stewart.matheson/.rvm/usr/ssl/cert.pem

তবে ম্যাকোসএক্স সিস্টেমটি এতে একটি শংসাপত্র আশা করবে

/System/Library/OpenSSL/cert.pem

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


2
আমার জন্য উবুন্টু 12.04-এ, সার্টিফিকেট পাথ যা কাজ করে~/.rvm/usr/ssl/cert.pem
নজরুল হুসেন

সিস্টেম যেখানে শংসাপত্রের সন্ধান করছে সেখানে কীভাবে আপনি কাজ করতে ডিআরটিস ব্যবহার করবেন?
pingu

@ পিংপু সঠিক কমান্ডটি মনে করতে পারে না মূলত আপনি ড্রস চালান এবং আপনি এটি "পরিদর্শন" করতে চান এমন কোনও রুবি প্রক্রিয়াটি চালানোর জন্য বলছেন। এটির আউটপুটটি খুব ভার্বোজ কিন্তু মূলত আপনি প্রতিটি সিস্টেম কল রুবী করছেন তা দেখতে সক্ষম হবেন। কলগুলির মধ্যে একটি হ'ল একটি পঠিত ফাইল কল যা উপস্থিত নেই এমন কোনও ফাইলের দিকে ইঙ্গিত করবে। এখানে শংসাপত্রটি সরান বা একটি লিঙ্ক তৈরি করুন এবং আপনার যাওয়া ভাল।
স্টিয়ার্ট

রুবি cacert.pemওএস এক্স-তে অন্বেষণ করা উচিত নয় OS ওএস এক্স ব্যবহার করে না cacert.pem। সিস্টেম এবং ব্যবহারকারীর শংসাপত্রগুলি কীচেইনে সংরক্ষণ করা হয়। রুবি ওএস এক্স
jww

এই কাজ করতে সবচেয়ে ভালো উপায় কি? আপনি একটি উদাহরণ পোস্ট করতে পারেন?
স্টিয়ার্ট

19

নতুন প্রত্যয়িত মণি এটি ঠিক করার জন্য ডিজাইন করা হয়েছে:

https://github.com/stevegraham/certified


রুবি 2.0.0p481 (2014-05-08) [i386-mingw32] এর সাথে কাজ করে
ইভমোরভ

1
R.১.৯, রুবি -২.১.৫ নিয়ে আমার পক্ষে কাজ করছেন না। আমি এটিকে জেমফাইলে যুক্ত করেছি bundle, স্পষ্টভাবে require "certified"কেবল নিশ্চিত করার জন্য যুক্ত করেছি , এবং কোনও কিছুই পরিবর্তন হয় না। আমি কী মিস করছি?
আইজাক বিটেশ

রুবি cacert.pemওএস এক্স-তে অন্বেষণ করা উচিত নয় OS ওএস এক্স ব্যবহার করে না cacert.pem। সিস্টেম এবং ব্যবহারকারীর শংসাপত্রগুলি কীচেইনে সংরক্ষণ করা হয়। রুবি ওএস এক্স-তে কীচেনের সাথে সংহত করা উচিত Open ওপেনএসএসএল কখনও কখনও একটি বিতরণ করে নিcacert.pem । কোনও সফ্টওয়্যার কেন এটির জন্য ওপেনএসএসএল থেকে পিছিয়ে দেবে তা আমার কাছে পরিষ্কার নয়।
jww

18

আপনার রত্নখচিত ফাইলটিতে কেবল মণি 'প্রত্যয়িত' যুক্ত করুন এবং বান্ডেল ইনস্টল করুন।

  1. মণি ' প্রত্যয়িত '
  2. বান্ডিল ইনস্টল

এটি নিশ্চিত করেছে যে এটি এল ক্যাপিটনে সহায়তা করেছিল। ধন্যবাদ!
এমসিএমএলএক্সএক্সএক্সএক্সআইআইই

এটি রেলস এবং ডেবিয়ানের সাথে পুরোপুরি কাজ করে :) বড় বড় ধন্যবাদ!
সিজমন রট

17

সর্বশেষতম ম্যাকপোর্ট সহ ম্যাক ওএস এক্স লায়নটিতে:

sudo port install curl-ca-bundle  
export SSL_CERT_FILE=/opt/local/share/curl/curl-ca-bundle.crt  

তারপরে, ব্যর্থ চাকরীটি পুনরায় চালু করুন।

দ্রষ্টব্য, 12 ই মে এরিক জি উত্তর দেওয়ার পর থেকে শংসাপত্রের ফাইলের অবস্থানটি পরিবর্তিত হয়েছে বলে মনে হচ্ছে।


সমস্ত অনুসন্ধান এবং প্রচুর প্রচেষ্টার পরেও, এই সমস্যাটিই কেবল সমাধান করেছিল। ধন্যবাদ!
শাওনওয়াল

1
শীতল, যে এটি স্থির। তবে যতক্ষণ না export SSL_CERT_FILE=/usr/local/etc/openssl/cacert.pem
ওপেনসেল হোমব্রিউয়ের

14

একটি লাইনার একটি অ্যাডমিন প্রম্পটে উইন্ডোজের জন্য এটি ঠিক করে দেয়

choco install wget(প্রথমে চকোলেটি.অর্গ দেখুন )

wget http://curl.haxx.se/ca/cacert.pem -O C:\cacert.pem && setx /M SSL_CERT_FILE "C:\cacert.pem"

বা কেবল এটি করুন:

gem sources -r https://rubygems.org/
gem sources -a http://rubygems.org/

মিলানির পদ্ধতি:

gem sources -r https://rubygems.org
gem sources -a http://rubygems.org 
gem update --system
gem sources -r http://rubygems.org
gem sources -a https://rubygems.org

gem install [NAME_OF_GEM]

1
ছোট উন্নতি - আপনাকে কেবল রুবি আপডেট করতে হবে এবং তারপরে আপনি https উত্সকে আবার যুক্ত করতে পারেন - এটি কেবল আমার জন্য একটি কবজির মতো কাজ করেছে: রত্ন উত্স -r রুবিজেমস.org => রত্ন উত্স -a রুবিজেমস.org => রত্ন আপডেট - সিস্টেম => মণি উত্স -r রুবিজেমস.org => রত্ন উত্স -a রুবিজেমস.org => রত্ন ইনস্টল করুন [NAME_OF_GEM]
মিলানও

13

ভাল এটা আমার জন্য কাজ করে

rvm pkg install openssl
rvm reinstall 1.9.2 --with-openssl-dir=$rvm_path/usr

আমার উবুন্টু 12.04 এর ওপেনসেল বাস্তবায়নে কিছু ভুল


3
এই কাজ, কিন্তু আমি এই সাথে ফিনিস ছিল: curl -O http://curl.haxx.se/ca/cacert.pem, mv cacert.pem cert.pem,mv cert.pem $rvm_path/usr/ssl
Raf

আমার জন্য কাজ করেছেন, ম্যাক ওএস এক্স ইয়োসেমাইট। ধন্যবাদ!
এনিভয়েড

12

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

require 'openssl'
puts OpenSSL::X509::DEFAULT_CERT_FILE

এটি জানায় যে আপনার ওপেনসেলটি যেখানে সার্ট ফাইলটি সন্ধান করছে। আমার নাম লুইস নয়, আমার ছিল C:/Users/Luis/Code/luislavena/knap-build/var/knapsack/software/x86-windows/openssl/1.0.0l/ssl/cert.pem। প্রতিটি নিজস্ব পরিবেশের উপর নির্ভর করে পথটি পৃথক হতে পারে (উদাহরণস্বরূপ openknapsackপরিবর্তে luislavena)।

set SSL_CERT_FILE=C:\foo\bar\baz\cert.pemকনসোল দিয়েও পথটি পরিবর্তন হয়নি , সুতরাং ... আমি C:\Users\Luis\Code\luislavena\knap-build\var\knapsack\software\x86-windows\openssl\1.0.0l\ssl আমার স্থানীয় ডিস্কে ডিরেক্টরিটি তৈরি করেছি এবং এতে একটি সার্টিফাইট ফাইল রেখেছি।

খোঁড়া যেমন, এটি অবশ্যই কাজ করবে।


2
উজ্জ্বল। হ্যাকি, তবে এটিই ছিল আমার সমস্যাটির সমাধান।
ড্যানিয়েল ম্যাগলিওলা

ডিবাগ করার দুর্দান্ত উপায় ... আমার জন্য ব্যবহারকারী ছিলেন "জাস্টিন"। গুগলিং শো দেখায় এটি রুবিআইনস্টলারের কাছে একটি পরিচিত সমস্যা বলে মনে হচ্ছে। দুর্ভাগ্যক্রমে, নিজেই সেই ডিরেক্টরিটি (+ পেম ফাইল) তৈরি করেছিলাম, আমার জন্য সমস্যাটি সমাধান করেনি
ওয়াউটার

12

আমি ইনস্টল curl-ca-bundleকরার চেষ্টা করেছি brew, তবে প্যাকেজটি আর পাওয়া যায় না:

$ brew install curl-ca-bundle
Error: No available formula for curl-ca-bundle 
Searching formulae...
Searching taps...

ম্যাক নিয়ে আমার যে সমাধানটি কাজ করেছিল তা হ'ল:

 $ cd /usr/local/etc/openssl/certs/
 $ sudo curl -O http://curl.haxx.se/ca/cacert.pem

আপনার ~/.bash_profile(বা ~/.zshrczsh এর জন্য) এই লাইনটি যুক্ত করুন :

export SSL_CERT_FILE=/usr/local/etc/openssl/certs/cacert.pem

তারপরে আপনার টার্মিনালটি আপডেট করুন:

$ source ~/.bash_profile

1
এটি আমার পক্ষে কাজ করেছে - তবে পথটি ভুল। হওয়া উচিত:export SSL_CERT_FILE=/usr/local/etc/openssl/certs/cacert.pem
dnlmzw

2
এটি একটি দুর্দান্ত সমাধান, এর সরলতার কারণে। এছাড়াও, এতে যুক্ত শংসাপত্রের উল্লেখ করে ~/.bash_profile, যখন আরও আপডেটের প্রয়োজন হয় তখন কী যুক্ত করা হয়েছিল (এবং, গুরুত্বপূর্ণভাবে যেখানে ছিল) তার একটি অনুস্মারক রেখে যায়।
অক্সবুস

এটি আমার পক্ষে কাজ করেছে। @dnlmzw আমার জন্য পথটি ভাল ছিল তবে অবশ্যই এটি আপনার সেটআপের উপর নির্ভর করে। ধন্যবাদ!
theartofbeing

আমার রত্ন উত্সগুলিতে স্ব-স্বাক্ষরিত শংসাপত্র ব্যবহার করে এমন একটি ব্যক্তিগত রত্ন সার্ভার URL যুক্ত করার চেষ্টা করার সময় আমার পক্ষে কাজ করেনি। ওএসএক্স 10.11.6 + আরবেনভ
ষাট

12

ডিবাগিং উদ্দেশ্যে অন্য বিকল্প এখানে।

এটি কোনও উত্পাদন পরিবেশে কখনই ব্যবহার করবেন না তা নিশ্চিত হন, কারণ এটি এসএসএলকে প্রথম স্থানে ব্যবহারের সুবিধাগুলি উপেক্ষা করবে। আপনার স্থানীয় বিকাশের পরিবেশে এটি করা সর্বদা বৈধ।

require 'openssl'
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

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

10
এটি এসএসএল সুরক্ষা সম্পূর্ণরূপে সরিয়ে দেয়নি, এটি এটি সম্পূর্ণরূপে সরিয়ে দেয়। এটি কখনও করবেন না।
ড্রব্রাইন

15
ডিবাগিংয়ের জন্য এটি যথেষ্ট
রিক্যডাক্ক

1
এটি এখন একটি সতর্কতা তৈরি করে 1.9
ইভান

2
এটি প্রকৃত ইন্টারনেটের মাধ্যমে উত্পাদন কাজের জন্য একটি খারাপ সমাধান, তবে এটি দৃhat়রূপে সত্য নয় যে "আপনি সম্ভবত এসএসএলও ব্যবহার করবেন না"। তারের উপরে এনক্রিপ্ট করা ট্র্যাফিক পরিষ্কারের ট্র্যাফিকের চেয়ে ভাল। হ্যাঁ, আপনি মধ্য-মধ্যের আক্রমণগুলির সম্ভাবনা রয়েছেন, তবে এগুলি উত্থিত হওয়ার সাথে সাথে সরলপথের ট্র্যাফিকের উপর কেবল শ্রুতিমধুরীর চেয়ে দাঁড়িয়ে থাকা কমপক্ষে এক দশক কঠিন।
মার্ক রিড

10

রুবি প্রকল্পে কাজ করার সময় আমার একই সমস্যা ছিল। আমি উইন্ডোজ 7 64 বিট ব্যবহার করছি।

আমি এর দ্বারা সমাধান করেছি:

  1. Http://curl.haxx.se/ca/cacert.pem থেকে cacert.pem ফাইলটি ডাউনলোড করা ।
  2. সেই ফাইলটি সি: / রবিকার্টিফিটস / কেসিআরটি.পিএম এ সংরক্ষিত হয়েছে
  3. তারপরে আমার পরিবেশগত পরিবর্তনশীল "SSL_CERT_FILE" "সি: \ রুবি সার্টিফিকেটস \ cacert.pem" এ সেট করুন

উত্স: https://gist.github.com/fnichol/867550


এটি উইন্ডোজ হওয়ায় ব্যাকস্লেশগুলি পরিবেশের পরিবর্তনশীলের মান হিসাবে ব্যবহার করা উচিত।
খ্রিস্টান বাউমান

এই একমাত্র সমাধান যা আমার জন্য "বান্ডিল" ঠিক করার কাজ করেছিল, রুবিজেমস এসএসএল ত্রুটি ঠিক করার পরে
ডোনবেকার

7

আমার পক্ষে সবচেয়ে সহজ উত্তরটি ছিল এটি

sudo apt-get install openssl ca-certificates

ও ভয়েলা !!!


1
আশা করি আমি একাধিকবার ভোট দিতে পারলাম কারণ আপনি আমাকে এতটা সময় সাশ্রয় করেছেন!
স্টিফেন

1
@ স্টেফেন - আমি আশা করি আপনিও এটি করতে পারেন :-)। এটি আমার অনেক সময় সাশ্রয় করেছে, তাই আমি ভেবেছিলাম আমি এটি এখানে পোস্ট করব এবং এটি অন্য কারও পক্ষেও সহায়তা করতে পারে।
প্রতীক বোথরা

7

হোমব্রিউ সহ ওএস এক্স 10.8.x:

brew install curl-ca-bundle
brew list curl-ca-bundle
cp /usr/local/Cellar/curl-ca-bundle/1.87/share/ca-bundle.crt /usr/local/etc/openssl/cert.pem

1
আমার জন্য 10.9 তেও কাজ করে।
সামি সামহুরী

1
ওএস এক্স ১০.৯.১। অসাধারণ!
রোজারিওপ্রডোজ

এই বোবা সমস্যাগুলি সমাধান করার জন্য যখন এলোমেলো সমাধানগুলি সন্ধান করতে হয় তখন কিছু মারাত্মকভাবে ভেঙে যায়। এই সমস্ত উত্তর পুরোপুরি আলাদা কিছু করে এবং এগুলির সমস্ত কিছু লোককে এক পর্যায়ে সহায়তা করেছিল বলে মনে হয়েছিল। ডব্লিউটিএফ?
সার্জার্গ

13
কার্ল-সিএ-বান্ডিলটি ব্রিউ থেকে পুনর্নির্মাণ করা হয়েছিল
ফাএ

4

তারপরে, যেমন এই ব্লগ পোস্টটি পরামর্শ দেয়,

" নেট কীভাবে নিরাময় করবেন :: এইচটিটিপি'র ঝুঁকিপূর্ণ ডিফল্ট এইচটিটিপিএস আচরণ "

আপনি সেই always_verify_ssl_certificatesমণিটি ইনস্টল করতে চাইতে পারেন যা আপনাকে একটি ডিফল্ট মান সেট করতে দেয় ca_file


4

এটি আমার পক্ষে কাজ করেছে। আপনি যদি আরভিএম এবং মিশ্রণ ব্যবহার করেন:

rvm remove 1.9.3
brew install openssl
rvm install 1.9.3 --with-openssl-dir=`brew --prefix openssl`

4

আমি এই ইস্যুতে দৌড়েছি এবং এর প্রস্তাবিত ফিক্সটি rvm osx-ssl-certs update all হয়নি যদিও আমি ওএসএক্সের একজন আরভিএম ব্যবহারকারী not

আমার জন্য ঠিক করা কাজটি ওপেনসেলের সর্বশেষ সংস্করণটি পুনরায় ইনস্টল করছিল:

brew update
brew remove openssl
brew install openssl

4

টার্মিনালে এটি চালিয়ে আমি এই সমস্যাটি সমাধান করেছি। ফুল কাজের মধ্যে থাকবেন উপর উপলব্ধ এখানে

rvm install 2.2.0 --disable-binary

3

ওএসএক্স সমাধান:

সর্বশেষতম আরভিএম স্থিতিশীল সংস্করণ ইনস্টল করুন

rvm get stable

শংসাপত্রগুলি স্বয়ংক্রিয়ভাবে সমাধান করতে rvm কমান্ড ব্যবহার করুন

rvm osx-ssl-certs update all

1
আমি এটি চেষ্টা করেছিলাম এবং এটি আমার পক্ষে কার্যকর হয়নি। : এখানে আমার সমাধান stackoverflow.com/a/16741712/62
Liron Yahdav

আরভিএম এর মাধ্যমে রুবি ২.০.০ ইনস্টল করার পরে আমার পক্ষে কাজ করেছেন।
ক্রিস পিটার্স

3

আপনি যদি স্থানীয়ভাবে আপনার রেল অ্যাপ চালাচ্ছেন তবে কেবল প্রয়োগ.আরবি এর নীচে এই লাইনটি যুক্ত করুন।

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

এর পরে আপনি কোনও সমস্যা ছাড়াই অ্যাপটি ব্যবহার করতে পারেন। আপনি এটিকে হ্যাক বলতে পারেন তবে এটি প্রস্তাবিত নয়। আপনার যখন স্থানীয়ভাবে চালানো দরকার তখনই ব্যবহার করুন


2

আপনি যদি চিতাবাঘে বিশেষত সমস্যা বোধ করেন তবে আমি যা করেছি তা এখানে রয়েছে Here

আমার সার্টটি পুরানো ছিল এবং আপডেট করার প্রয়োজন ছিল। আমি এটি ডাউনলোড করেছি:

http://curl.haxx.se/ca/cacert.pem

তারপরে আমার শংসাপত্রটি প্রতিস্থাপন করুন যা এখানে চিতাবাঘে পাওয়া গেছে:

/usr/share/curl/curl-ca-bundle.crt

আপনার যা কিছু এতে অ্যাক্সেস রয়েছে তা পুনরায় লোড করুন এবং আপনার ভাল হওয়া উচিত!


2

কেবলমাত্র আমার জন্য যা কাজ করা হয়েছিল তার জন্য নির্দেশাবলী কিছুটা আলাদা ছিল বলে আমি ভেবেছিলাম যে আমি আমার 2 সেন্ট যুক্ত করেছি:

আমি ওএস এক্স লায়ন এবং ম্যাকপোর্ট এবং আরভিএম ব্যবহার করছি

আমি কার্ল-সিএ-বান্ডিল ইনস্টল করেছি:

sudo port install curl-ca-bundle

তারপরে আমি আমার ওমনিউথ কনফিগারটিকে এটি হিসাবে সমন্বিত করেছি:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :google_oauth2, APP_CONFIG['CONSUMER_KEY'], APP_CONFIG['CONSUMER_SECRET'],
           :scope => 'https://www.google.com/m8/feeds https://www.googleapis.com/auth/userinfo.profile',
           :ssl => {:ca_path => "/share/curl/curl-ca-bundle.crt"}
end

আপনি পারা (এবং সম্ভবত উচিত) সমগ্র সিএ চিড়িয়াখানা (ত্যাগ ca-bundle.crt) এবং ব্যবহার Google ইন্টারনেট কর্তৃপক্ষ G2 মধ্যে :ssl => {:ca_path => "/share/curl/curl-ca-bundle.crt"}। গুগলে সংযোগ প্রত্যয়িত করার জন্য কেবল এটিই দরকার।
jww

2

আপনার যদি / usr / লোকাল / ইত্যাদি / ওপেনএসএলতে সার্টি.পি.এম.তে নির্দেশ করে একটি প্রতীকী লিঙ্ক থাকে তবে এটি করার চেষ্টা করুন:

ruby -ropenssl -e "p OpenSSL::X509::DEFAULT_CERT_FILE" (should be /usr/local/etc/openssl)
cd /usr/local/etc/openssl
wget http://curl.haxx.se/ca/cacert.pem
ln -s cacert.pem 77ee3751.0 (77ee3751.0 is my symbolic link, should depend on the openssl version)

2

আমার জন্য যা কাজ করেছে তা হ'ল উত্তরের সংমিশ্রণ, যথা:

# Reinstall OpenSSL
brew update
brew remove openssl
brew install openssl
# Download CURL CA bundle
cd /usr/local/etc/openssl/certs
wget http://curl.haxx.se/ca/cacert.pem
/usr/local/opt/openssl/bin/c_rehash
# Reinstall Ruby from source
rvm reinstall 2.2.3 --disable-binary

1

আমি বেশ কয়েক দিন ধরে সমস্যায় পড়েছিলাম এবং আশেপাশে হ্যাক করছি। এই লিঙ্কটি আমার পক্ষে অত্যন্ত সহায়ক বলে প্রমাণিত হয়েছিল। এটি আমাকে ম্যাক ওএস এক্স 9 এ এসএসএলের সফল আপগ্রেড করতে সহায়তা করেছে।


1

কখনও কখনও এটি ম্যাক ওএসএক্স-এ সর্বদা আরভিএমের সমস্যা নয় , আপনি .rvm মুছে ফেললে, সমস্যাটি এখনও (স্বতঃস্ফূর্তভাবে সময়সীমা থেকে ডেটা ব্যাকআপ করার সময়) আপনি এইভাবে চেষ্টা করতে পারেন।

1.brew update
2.brew install openssl

1

gem 'certified', '~> 1.0'আমার সাথে যুক্ত করা এবং আমার জন্য এই সমস্যার সমাধান Gemfileচলছে runningbundle

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