Подтвердить что ты не робот

Как установить путь ca-bundle для OpenSSL в рубине

Я столкнулся с проблемой в ruby, где сертификат SSL не может быть проверен OpenSSL. Я думаю, что это вызвано тем, что ca-bundle.pem не известен script. Есть ли возможность вручную настроить путь ca-bundle.pem?

4b9b3361

Ответ 1

OpenSSL использует переменную среды SSL_CERT_FILE. Вы можете установить его в рубине script, используя что-то вроде перед первым require, которое вытаскивает OpenSSL:

ENV['SSL_CERT_FILE'] = '/path/to/ca-bundle.pem'

или, если хотите, вы можете установить переменную среды SSL_CERT_FILE в среде ОС, настройке веб-сервера и т.д. в зависимости от вашей ситуации.

Ответ 2

Вы можете сделать это следующим образом:

SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt

Ответ 3

Все потому, что SSL_CERT_FILE имеет неправильное значение, его значение может не существовать. Таким образом, вы должны установить его значение в файл сертификата как ENV['SSL_CERT_FILE]='path/to/ca-bundle.p'. Если вы используете Rails, вы можете поместить его в инициализатор. Если вам нужен драгоценный камень, который делает все для вас, используйте https://github.com/stevegraham/certified.