2012-11-01 13 views
7

Próbuję zaktualizować RVM na serwerze Debian:Gdzie umieścić certyfikaty cacert.pem dla cURL?

rvm get stable 

ale mam błąd folowing:

curl: (60) SSL certificate problem: unable to get local issuer certificate 
More details here : http://curl.haxx.se/docs/sslcerts.html 

I zainstalowano serwery około 5 miesięcy temu i wszystko działa dobrze, ale wydaje się, że coś się zmieniło na świadectwie https://rvm.io

Więc udało mi się pobrać nowy certyfikat bundle (cacert.pem w moim katalogu użytkownika):

wget http://curl.haxx.se/ca/cacert.pem 

I spróbować innego polecenia jako official doc mówi, ale z opcją do pliku certyfikatu użyć:

\curl --cacert ./cacert.pem -L https://get.rvm.io | bash -s stable # update to stable 

miejsca przeniósł nieco do przodu. Niestety później, rvm ponownie się zwinął podczas procesu instalacji i ponownie otrzymałem ten sam błąd.

Zastanawiam się, gdzie umieścić plik cacert.pem, który zastąpi używany przez cURL?

Próbowałem również inne techniki: tworząc plik zawierający .curlrc CAcert = ~/cacert.pem ale mam błąd: CAfile: cacert.pem CApath:/etc/ssl/certs

Próbowałem skopiować mój cacert.pem w /usr/share/ca-certificates/cacert.org i utworzyć łącze sym w/etc/ssl/certs wskazujące na/usr/share/ca-certificates/cacert .org/cacert.pem

Ale, kiedy

rvm get stable 

mam błąd:

curl: (60) SSL certificate problem: unable to get local issuer certificate 
More details here : http://curl.haxx.se/docs/sslcerts.html 

Próbowałem też to poniżej, bez innego wyniku mimo:

sudo update-ca-certificates -f 

Więc zastanawiam się, gdzie umieścić mój plik cacert.pem?

Odpowiedz

4

OK, udało mi się sprawić, że działa, ale nie jestem zadowolony z mojego rozwiązania.

Pierwszym błędem, który robiłem, było to, że instrukcja w pliku .curlrc była niepoprawna. Powinniśmy użyć tego pliku w taki sam sposób, w jaki określamy opcje do polecenia "curl". Więc usunąłem „znak równości”:

cacert /home/user_me/cacert.pem 

Dzięki temu udało mi się zrobić pierwszą część polecenia do pracy:

\curl -L https://get.rvm.io | bash -s stable 

Część bash wciąż niepowodzeniem, ponieważ RVM używał zwiń ponownie w trybie root.

Skopiowałem więc .curlrc plik również do folderu /root.

I zadziałało! mógłbym nawet nazwać standardowego polecenia RVM:

rvm get stable 

Ale to jest trochę skomplikowane, a wolałbym, że curl używać mój plik cacert.pem bez tych wszystkich .curlrc plików.

Aby uzyskać więcej informacji, znalazłem przydatne informacje: here i here. Pierwsza wzmianka ma mały błąd: Kiedy przeczytałem stronę man polecenia "sudo update-ca-certificates - fresh", zdałem sobie sprawę, że facet umieszcza swój plik w niewłaściwym miejscu.

Trzeba umieścić swój certyfikat do /usr/share/CA-certyfikaty folderu zamiast/usr/share/CA-certyfikatów/lokalnych, a następnie dołączyć linię dla certyfikatu do pliku konfiguracyjnego /etc /ca-certificates.conf (np. "my_ca.crt"). Następnie możesz uruchomić polecenie "sudo update-ca-certificates - fresh".

Uwaga: Jeśli skopiujesz swój certyfikat do /usr/local/share/CA-certyfikatów Zamiast wtedy nie trzeba już zmodyfikować plik konfiguracyjny /etc/ca-certificates.conf ani uruchomić Komenda "sudo update-ca-certificates - fresh".

Jednak w moim przypadku dla pierwszego rozwiązania (/ usr/share/ca-certyfikatów) wystąpił błąd podczas uruchamiania polecenia "sudo update-ca-certificates - fresh". Jako drugie rozwiązanie próbowałem po prostu umieścić mój certyfikat w/usr/local/share/ca-certificates. Ale to nie zadziałało.

Więc poddałem się i zachowałem moje dwa pliki .curlrc.

Więc jeśli ktoś mógłby wskazać, co robiłem źle, byłbym bardzo wdzięczny.

+1

także: 'curl -k -L https://get.rvm.io | bash -s stable' –

+1

Pewnie, ale celem przy korzystaniu z certyfikatu jest zapewnienie bezpieczeństwa. Jeśli użyjesz parametru "-k". Pozwolisz na niezabezpieczone połączenie SSL. Wyodrębnij ze strony podręcznika: ** - k, --insecure (SSL) Ta opcja jawnie zezwala na curl na wykonywanie "niezabezpieczonych" połączeń i transferów SSL. ** – Douglas

+1

Tak, ale jeśli wszystko, na czym ci zależy, to robienie tego (dotyczy większość ludzi, myślę), -k jest opcją. –

Powiązane problemy