Я столкнулся с проблемой в ruby, когда сертификат SSL не может быть проверен OpenSSL. Я думаю, это вызвано тем, что скрипт не знает ca-bundle.pem. Есть ли возможность настроить путь к ca-bundle.pem вручную?
Как установить путь ca-bundle для OpenSSL в ruby
Ответы (3)
OpenSSL использует переменную среды SSL_CERT_FILE
. Вы можете установить его в своем ruby-скрипте, используя что-то вроде первого require
, который использует OpenSSL:
ENV['SSL_CERT_FILE'] = '/path/to/ca-bundle.pem'
или, если хотите, вы можете установить переменную среды SSL_CERT_FILE
в среде вашей ОС, конфигурации веб-сервера и т. д. в зависимости от вашей ситуации.
Вы можете сделать это следующим образом:
SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
Это все потому, что SSL_CERT_FILE
имеет неправильное значение, значение, которое у него может не существовать. Итак, вы должны установить его значение в файле сертификата как ENV['SSL_CERT_FILE]='path/to/ca-bundle.p'
. Если вы используете Rails, вы можете поместить его в инициализатор. Если вам нужен гем, который сделает все за вас, используйте https://github.com/stevegraham/certified. .