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