Куда положить сертификаты 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.

поэтому, если бы кто-нибудь мог указать, что я делаю неправильно, я был бы очень благодарен.