Рейтинг:2

Сертификаты ЦС не распознаны

флаг ru

Я пытался установить сертификаты ЦС, потому что получаю ошибки при попытке использовать инициализация rosdep который вызывает «raw.githubusercontent.com». Если я сделаю тот же вызов с wget Я получу ту же ошибку:

ОШИБКА: не удается проверить сертификат raw.githubusercontent.com, выданный «CN=DigiCert SHA2 High Assurance Server CA, OU=www.digicert.com, O=DigiCert Inc, C=US»:
  Не удалось локально проверить полномочия эмитента.

Я установил ca-сертификаты. Я также пробовал это при новой установке, и все работало нормально. Однако я не могу переустановить на машине, на которой я сейчас нахожусь, есть ли способ решить эту проблему другим способом?

Рейтинг:1
флаг ru

В конце добавив эту env var в мой ~.bashrc файл заставил работать вызовы ROS:

экспортировать SSL_CERT_DIR=/etc/ssl/certs
Рейтинг:1
флаг cn

у меня нет опыта с росдеп но можете ли вы попытаться обновить свои сертификаты с помощью;

sudo update-ca-сертификаты -f

Если это не сработает, и вы уверены росдеп использует wget Вы можете попробовать добавить эту строку в свой ~/.wgetrc

check_certificate = выкл.

Впоследствии он должен игнорировать ошибки сертификата. Это может быть проблема GitHub, поэтому не могу комментировать это. Я могу получить файлы из raw.githubusercontent.com без проблем, т.к.

Joel Holmes avatar
флаг ru
Хотя это решает мою проблему с wget, но не решает общую проблему с сертификатами. 1. rosdep не использует wget 2. По-прежнему проблема безопасности заключается в том, что сертификат не проверяется для всех вызовов wget. Я надеялся найти более широкое решение и использовал wget в качестве примера.
bw3u avatar
флаг cn
Я не могу воспроизвести вашу проблему. Я могу выполнить `sudo rosdep init`, а также `обновить rosdep`. Какая версия `ca-certificates` установлена ​​в вашей системе?
Joel Holmes avatar
флаг ru
``sudo dpkg -s ca-сертификаты | grep Версия Версия: 20210119~20.04.1```
bw3u avatar
флаг cn
Хм, кажется, вы используете последнюю версию. Вы пробовали переустановить `ca-certificates`? Если нет, попробуйте переустановить с помощью `sudo apt-get install --reinstall ca-certificates`, после чего вы можете подтвердить, что сертификаты `DigiCert` находятся в `/etc/ssl/certs`.Вот вывод из моей системы: [https://pastebin.ubuntu.com/p/jcCG29xt6w/](https://pastebin.ubuntu.com/p/jcCG29xt6w/)
Joel Holmes avatar
флаг ru
Да, я тоже пробовал это и вижу несколько сертификатов с DigiCert в каталоге. ```ls /etc/ssl/certs/ | grep DigiCert DigiCert_Assured_ID_Root_CA.pem DigiCert_Assured_ID_Root_G2.pem DigiCert_Assured_ID_Root_G3.pem DigiCert_Global_Root_CA.pem DigiCert_Global_Root_G2.pem DigiCert_Global_Root_G3.pem DigiCert_High_Assurance_EV_Root_CA.pem DigiCert_Trusted_Root_G4.pem ```
bw3u avatar
флаг cn
Можете ли вы попробовать wget с параметром `--ca-directory=/etc/ssl/certs`?
Joel Holmes avatar
флаг ru
Большой! Так что это сработало. Теперь есть ли настройка env, в которой я ошибаюсь, чтобы другие службы не искали там сертификаты?
bw3u avatar
флаг cn
Afaik для этого нет env var. `update-ca-certificates --fresh` должен помочь. Вы можете попробовать добавить `ca_directory=/etc/ssl/certs` в ваш wgetrc в вашем домашнем каталоге, а также в `/etc/wgetrc`. Может быть, какое-то приложение, которое вы установили до этого, что-то сломало, вы можете его проверить?

Ответить или комментировать

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