Проблемы с SSL-зависимыми гемами OAuth2 & ActiveMerchant - PullRequest
2 голосов
/ 19 марта 2011


Мое приложение использует драгоценный камень OAuth2 (0.1.1) для подключения к Facebook и драгоценный камень ActiveMerchant (1.12.0) для подключения к PayPal. В текущем дистрибутиве Rails / Ruby (3.0.5, 1.9.2) оба этих гема выдают следующий OpenSSL :: SSL :: SSLError при использовании:

  • SSL_connect возвращено = 1 errno = 0 состояние = SSLv3 прочитанный сертификат сервера B: сбой проверки сертификата

Я немного покопался и нашел два патча. Первый включает в себя подключение к моей папке инициализаторов как «faraday.rb» (http://bit.ly/hZqNwQ). OAuth2 (Facebook) сторона вещей работает с этим патчем. Однако код ActiveMerchant (PayPal) по-прежнему выдает ту же ошибку SSL_connect.

Вторым патчем, который я пробовал (безуспешно), является гем 'Always_verify_ssl_certificates' (http://bit.ly/dXmuUh). Я сделал следующие вещи: (1) гем 'Always_verify_ssl_certificates' в Gemfile (2) требует 'Always_verify_ssl_certificates' файл ApplicationController, однако OAuth2 (Facebook) и ActiveMerchant (PayPal) генерируют следующую ошибку TypeError:

  • неверный аргумент (NilClass)! (ожидаемый вид OpenSSL :: SSL :: SSLContext)

Ссылки на мой код Facebook OAuth2 AuthorizeController и мой ActiveMerchant PayPal (PaymentsController в том виде, в каком они сейчас находятся, приведены в комментариях ниже. Это после того, как вы следовали руководству OAuth2 2010 года от Майкла Блея и руководству Cody Fauser ActiveMerchant 2008 года. оценил! Я очень запутался в этом пункте.

Ответы [ 2 ]

0 голосов
/ 05 апреля 2011

Нет необходимости. После некоторого болезненного поиска в Google, исправление в ApplicationController приводит к следующему. Надеюсь, это кому-нибудь поможет! OpenSSL :: SSL :: VERIFY_PEER = OpenSSL :: SSL :: VERIFY_NONE

0 голосов
/ 04 апреля 2011

Вы пробовали более простой патч для Фарадея: Простой патч Фарадея

...