Как устранить проблемы сертификата CA с Завихрением в Ubuntu 14.04?

Я использую Ubuntu 14.04. Когда я использую завихрение, я получаю следующую ошибку:

curl: (77) error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath:

Из того, что я собираюсь из поиска с помощью Google, местоположение CAfile, которое он ищет, не корректно для Ubuntu (и он не существует на моем компьютере), /etc/ssl/certs/ca-certificates.crt надлежащее местоположение.

Большинство решений, включенных, устанавливая переменную среды CURL_CA_BUNDLE к надлежащему местоположению или добавлению cacert=/etc/ssl/certs/ca-certificates.crt к (недавно созданный) .curlrc файл в моем корневом каталоге. Я попробовал обоих, и ни один полностью не решает проблему. завихрение находит это местоположение, но оно все еще не работает, давая ошибку:

curl: (60) SSL certificate problem: self signed certificate in certificate chain

Я также пытался удалить и переустановить завихрение в Ubuntu и обновить мои сертификаты CA с $ sudo update-ca-certificates --fresh который обновил сертификаты, но все еще не совершал ошибку 60, уходят.

Я не настолько хорошо осведомлен о сертификатах CA и сомнении, я намеренно добавил некоторых сам подписанный сертификат в прошлом. Возможно, случайно я не знаю.

Кто-либо знает, как зафиксировать это? Существует ли способ на самом деле запуститься новый со всех моих сертификатов? Или кто-либо даже знает, как я иду о выяснении, где это сам сертификат со знаком, и затем как удалить его?

PS: Я не хочу использовать-k (иначе - небезопасный) флаг. Я хочу получить эту работу надежно.

13
задан 9 July 2015 в 15:37

4 ответа

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

я должен был установить capath=/etc/ssl/certs/ в моем .curlrc файл.

Этот получил завихрение, работающее над командной строкой. Чтобы далее заставить завихрение работать в R (где я сначала встретился с проблемой), я также должен был иметь cacert=/etc/ssl/certs/ca-certificates.crt в моем .curlrc файл, как попробовано прежде, иначе это продолжало искать /etc/pki/tls/certs/ca-bundle.crt

, я все еще понятия не имею, почему я видел ошибку о самоподписанных сертификатах.

На основе некоторых других случайных результатов я также загрузил сертификат с Вихревого веб-сайта с:

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

в тот же certs каталог. При указывании cafile это работало также. В конце я отложил его к ca-certificates.crt, и это все еще работает.

я не понимаю точно, почему это работало или что продолжается, но это разрешено.

10
ответ дан 23 November 2019 в 03:19

ключ cafile не работает на меня (завихрение 7.45.0), но cacert (от - cacert опция) делает. Мой файл .curlrc :

capath=/etc/ssl/certs/
cacert=/etc/ssl/certs/ca-certificates.crt
8
ответ дан 23 November 2019 в 03:19

После исследования для несколько раз я заставил это работать, и ответ закончил тем, что был скорее простым. Сделайте пошагово

Step:1 Open terminal ctrl+alt+t
Step:2 cd /etc/ssl/certs/
Step:3 sudo wget http://curl.haxx.se/ca/cacert.pem 

, Шаг 3 загрузит pem файл в эти сертификаты папка

  Step 4: Check if .curlrc file is available in your home folder or not. 

, .curlrc является скрытым файлом. проверьте ctrl+h в корневом каталоге. если не там затем на терминальном типе

Step 5:  nano ~/.curlrc 
Step 6: Now paste the below lines in the open file
        capath=/etc/ssl/certs/
        cacert=/etc/ssl/certs/ca-certificates.crt
Step 7: Now save the file and do your things using curl command.

N.B Здесь я использовал нано редактора, но можно использовать любого редактора.

0
ответ дан 23 November 2019 в 03:19

Мы столкнулись с той же проблемой с одной из наших программ C++ в Ubuntu 14.04.5. .curlrc метод не вступал в силу.

Это было решено путем загрузки ca-certificates.crt на/etc/ssl/certs/ca-certificates.crt и создания ca-bundle.crt символьной ссылки в соответствии с/etc/pki/tls/certs/каталогом.

Надеюсь, это поможет!

0
ответ дан 23 November 2019 в 03:19

Другие вопросы по тегам:

Похожие вопросы: