Я использую OpenUri для чтения файла JSON с сервера HTTPS. Он работает нормально пару дней назад, но сегодня утром я получил:OpenUri и OpenSSL не могут получить сертификат локального эмитента
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed
The server presented a certificate that could not be verified:
error code 20: unable to get local issuer certificate
Я думаю, что сервер просто обновил свой сертификат SSL, поэтому я интересно, если это это связано? В противном случае моя система потеряла корневые сертификаты?
Я запускаю Mac OS 10.11.2, Ruby 2.3.0 и OpenSSL 1.0.2e, установленный с Homebrew, и я использую RVM.
Если сервер изменился, либо он либо не имеет требуемого нового корневого ЦС, либо сервер не смог обслужить полную цепочку сертификатов. Возможно также, что у вас есть новый OpenSSL, но этот рубин связан с старым с Mac (т. Е. 0.9.8). Слишком мало деталей, чтобы помочь вам здесь больше, но если сервер является общедоступным, вы можете добавить URL-адрес к своему вопросу, чтобы можно было посмотреть. –
Спасибо @SteffenUllrich Мне уже пришлось перестроить рубин, чтобы связать его с новым OpenSLL. Сервер - это kimonolabs.com, если вы хотите изучить его больше. –