Куда положить сертификаты cacert.Пем для локона?
Я пытаюсь обновить rvm на сервере Debian:
rvm get stable
но я получил следующую ошибку:
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here : http://curl.haxx.se/docs/sslcerts.html
Я установил эти серверы около 5 месяцев назад, и все работало нормально, но кажется, что что-то изменилось в сертификате https://rvm.io
поэтому мне удалось загрузить новый сертификат пакета (cacert.Пэм в моем каталоге пользователя) :
wget http://curl.haxx.se/ca/cacert.pem
и попробуйте другую команду как официальный док!--13--> говорит, но с возможностью использования файла сертификата:
curl --cacert ./cacert.pem -L https://get.rvm.io | bash -s stable # update to stable
дела пошли немного вперед. К сожалению, позже rvm снова запустится во время процесса установки, и я снова получил ту же ошибку.
поэтому мне было интересно, куда поставить мой cacert.файл pem для замены theone, используемого cURL ?
я попробовал также другие методы : создание .файл curlrc, содержащий cacert = ~ / cacert.УГР но я получил ошибку. : CAfile: cacert.УГР CApath:/etc/ssl / certs
поэтому я попытался скопировать мой cacert.pem in / usr / share / ca-сертификаты / cacert.org и сделал ссылку SYM в файле /etc/ssl и сертификаты ссылки в /usr/доли/ЦС-сертификаты/cacert.орг/cacert.УГР
но, когда я
rvm get stable
я получил ошибку :
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here : http://curl.haxx.se/docs/sslcerts.html
Я также попробовал это ниже, без другого результата, хотя:
sudo update-ca-certificates -f
поэтому мне интересно, где поставить мой cacert.файл pem ?
1 ответов
ок, мне удалось заставить его работать, но я не очень доволен своим решением.
первая ошибка, которую я делал, что инструкция по .файл curlrc был неправильным. Мы должны использовать этот файл так же, как мы указываем параметры для команды "curl". Поэтому я удалил "знак равенства":
cacert /home/user_me/cacert.pem
С этим я смог заставить первую часть команды работать:
\curl -L https://get.rvm.io | bash -s stable
часть bash все еще терпела неудачу, потому что rvm снова использовал curl в root режим.
поэтому я скопировал мой .curlrc а также в /root.
и это сработало ! Я мог бы даже вызвать стандартную команду rvm:
rvm get stable
но это немного сложно, и я бы предпочел, чтобы завиток использовал мой cacert.PEM файл без всех этих .файлы curlrc.
погуглив еще, я нашел некоторую полезную информацию здесь и здесь. Первая ссылка имеет небольшую ошибку : Когда Я прочитал man-страницу команды "sudo update-ca-certificates-fresh", я понял, что парень помещал свой файл в неправильное место.
вы должны поместить свой сертификат в / usr / share / ca-сертификаты папка вместо/usr/local/share / ca-certificates , а затем добавьте строку для вашего сертификата в файл конфигурации /etc/ca-сертификаты.conf (например, " my_ca.ЭЛТ.)" Затем вы можете запустить " sudo update-ca-certificates -- fresh" команда.
Примечание: Если вы копируете свой сертификат в / usr / local/share / ca-сертификаты вместо этого вам больше не нужно изменять /etc/ca-сертификаты.conf файл конфигурации или выполнить команду" sudo update-ca-certificates --fresh".
однако в моем случае для первого решения (/usr/share / ca-certificates) я получил ошибку при запуске команды "sudo update-ca-certificates --fresh". В качестве второго решения я попытался просто поместить свой сертификат в/usr/local/share / ca-сертификаты. Но это не сработало.
поэтому я сдался и сохранил свои два .файлы curlrc.
поэтому, если бы кто-нибудь мог указать, что я делаю неправильно, я был бы очень благодарен.